Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
軟體工作日常:成為工具人吧!
Search
Ching Yi Chan
April 30, 2018
1
230
軟體工作日常:成為工具人吧!
Ching Yi Chan
April 30, 2018
Tweet
Share
More Decks by Ching Yi Chan
See All by Ching Yi Chan
[coscup] Reading and modifying the source code of the dbt adapter
qrtt1
0
110
twjug-lite-17 結束了幾個月的 Java Web 培訓 站在人蔘迷途的我
qrtt1
0
76
[twjug-lite] 迷你研發部 [1]
qrtt1
0
1.1k
寫個好懂的程式
qrtt1
1
590
OAuth 2.0 Authorization Code Flow
qrtt1
0
250
types of knowledge
qrtt1
1
1.3k
twjug 小活動
qrtt1
0
430
TWJUG 2019
qrtt1
0
190
Learning Concepts
qrtt1
0
200
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
9
440
Documentation Writing (for coders)
carmenintech
67
4.6k
Rails Girls Zürich Keynote
gr2m
94
13k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Code Review Best Practice
trishagee
67
18k
The Language of Interfaces
destraynor
156
24k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Building an army of robots
kneath
303
45k
RailsConf 2023
tenderlove
29
1k
Transcript
軟體⼯工作的⽇日常 ϓމʈՈɛы! qrtt1/ / alan 啟⌌痙㮳 ū 程沛科技
砒䷐テ粕ㄌ⻌,CXC䎛ℜ 哋䴒54'&GX1RUテ粕ㄌ
ணd Ң݊ɓࡈɝБٙʈࢪ 㞵㊤EQFG⻌⃮⻌㉸ⓛ≧ 竮㏒EQFG䎛↡熝⛋⨉㓲䥥槜呇⃫叞Ⰱ悲! 䎛↡熝掄熝⯻$7) 㞵㊤䥥⑈苌肪㽳同腩⻩礌⇆⯷䥥㎦⭤
啟⌌痙㮳 http://bit.ly/2JAGaXc
Ыٙʃଡ଼ɰϞЎࡐk 掄ⅼℎ腩䥥⇄剋創剫! 䨀䥥征䠀䠃╼䥥桬䥝勦!
ЎࡐνОλಏՑЎࡐλಏಏճk 亂䛧懀臶桬䥝㤐综榽䥥苌聅⅀㤐䎛↡熝槡缙䅾聆哨聴䠉テ
⃡⋬啟⌌碉㔬⃡⋬KUUWG苌 不禈⼒㔴㠗テ䥥祚䙨䎛 Ўࡐλಏ Ⅽ⋬啟⌌EQYQTM⃡⋬KUUWG苌 不禈⼒㔴㠗テ䥥祚䙨䎛苋 ⃪⋬啟⌌EQYQTM⃡⋬KUUWG苌 不禈⼒㔴㠗テ䥥祚䙨䎛苋
⌨崎KUUWGビ䃦㰻劊
Ўࡐঐᖢ֛ٙڭܵٙϓ̌ଟ 啟⌌㊤㎦㧤㧪幫甙 啟⌌㧤䠀䛧⌨ 啟⌌㧤ㄗ⻰⹊䧬撌䠀 啟⌌䵢竅㓡砵Ⱂ㓡Ⅷ 啟⌌䥥椠睦⚩缙䠀Ⅷ 啟⌌㉸ㄗ彴彴⚜䧬䢦 㧪ⅼ⛙苌⅀㧪㚱≼䠘㌈䠀䛧⌨
༶͜ʈՈ̘ৰɛᗳБމٙʔᆽ֛ 年⚀㨍⌻⻮䥥Ⅼ㎦苌兝六㤐⻮䥥苌年倱㩽⛐⇆櫱䄍
https://openwt.com/sites/default/files/devops.png ழක೯͛նಂ &GX1RU缨熿
https://openwt.com/sites/default/files/devops.png ழක೯͛նಂ &GX1RU缨熿 ō 䠃➢HGCVWTG㚱礌 ō ⻌屰㬝㧙 ō 桬KUUWG峯嶷⛥櫦⻇∽們亡 ō
≾洸⼮⬒✫㚱ⓛ4QQV%CWUGⓧ㩱
https://openwt.com/sites/default/files/devops.png ழක೯͛նಂ &GX1RU缨熿 ō ≠䠉䔩㨍㚈┗俜糺 ō 聜嬭䥝∩䔩㨍亂䛧
https://openwt.com/sites/default/files/devops.png ழක೯͛նಂ &GX1RU缨熿 ō ׇ㳺䅷甙⻩礌㇛剏禵粕
https://openwt.com/sites/default/files/devops.png ழක೯͛նಂ &GX1RU缨熿 ō 聜嬭⢏䄍嵇 ō 㡕⛩䄍嵇 GG ō
⛐碉⚸㌈䄍嵇 3#
https://openwt.com/sites/default/files/devops.png ழක೯͛նಂ &GX1RU缨熿 ō 䥝∩⃡⋬㢑䔩㨍 聆ㄙ㤐㗨㔴◦痙䥥䔩㨍
https://openwt.com/sites/default/files/devops.png ழක೯͛նಂ &GX1RU缨熿 ō 揉紶㢑䔩㨍┑䧏㳺䥥䞑 ⭤⃫珯
https://openwt.com/sites/default/files/devops.png ழක೯͛նಂ &GX1RU缨熿 ō 筒聴⃫䥥⛥䴏ׇ夶䛧 'Z俜糺崎嶠㡕 'Z&$㠦楽 'Z傓惐⃮聆
https://openwt.com/sites/default/files/devops.png ழක೯͛նಂ &GX1RU缨熿 ō 簬䄍⛥䴏磕⌝崶∑㧮甒 ⍆㆘䖡㐬 'Z㠩叞 'Z㠗⑆ 忛昃䥥聋ㆇ
縂昃䥥聋ㆇ
Ⴉᗆਖ਼ࣩܔໄʈՈ 䎛↡熝槡缙聅ⅼテ❃獑
*%&ঐൖމਖ਼ࣩܔໄʈՈk
䠉+&'㔴桬#⻩礌苌 䠃䠀#LCT珯 ⑮㔴桬$⻩礌苌 䠃䠀$LCT㵵珯 竅砒苌㕫#$⻩礌䥥NKD 䧏日⃬䥥㔡㧪LCT㵵 综寞┑:>>5GTXGTU> >RTQF ☤縬┆聅熝⌻
൳εɛʈʧɝd൳࢙̈፹ ㏔㏔P⋬啟⌌
ਖ਼ࣩܔໄٙʈՈ • Java 專案建置⼯工具的演進 • Ant • Maven • Gradle
(QT,CXC
Ant • 使⽤用⼿手冊:https://ant.apache.org/manual/index.html • 動機: • Java 應⽤用程式賣點是跨平台的 • Java
缺少跨平台的專案建置⼯工具 `
Ant • 寫個 build file 吧: https://ant.apache.org/manual/using.html#buildfile • XML 結構
• project • target • task `
Ant • 缺點 • 沒有標準化流程 (優點:可以寫得很 free style) • 沒有相依性管理理⼯工具
• 直到 Apache Ivy 出現 ` https://issues.apache.org/jira/projects/IVY/issues/IVY-614?filter=allissues `
http://www.codedata.com.tw/java/understanding-gradle-1-ant/ 罜帹)TCFNG猺猻巼⛅䥥磢桴#RCEJG#PV
Maven • https://maven.apache.org/what-is-maven.html • 起源於開發 Apache Turbine 專案時對於 Ant 的反思。
• 標準化的專案建置流程 • 輕巧的 XML 設定 (相對於 Ant) • Maven By Examples http://books.sonatype.com/mvnex-book/reference/ simple-project-sect-simple-core.html ` 㚉墇⹙劳㨱㡺
Maven http://books.sonatype.com/mvnex-book/reference/simple-project-sect-simple-core.html `
Maven • 優點 • 標準化專案結構 • archetype:generate • 缺點 •
學習曲線比 ant ⾼高 • 內建功能缺乏條件式建置專案的能⼒力力,得花較⼤大的功夫編譯 出給不同情境使⽤用的結果 `
罜帹)TCFNG猺猻巼⛅䥥磢桴#RCEJG/CXGP http://www.codedata.com.tw/java/understanding-gradle-2-maven/
Gradle • https://gradle.org/ • 捨棄 XML 格式,使⽤用 Groovy DSL 開發
• 有標準化流程,但有能彈性擴充 • ⽀支援相依性管理理 • 沒有充份地學習,所以⼤大部分的⼈人不知道⾃自⼰己在寫什什麼 创熿
Gradle • 優點 • 有 ant 的彈性與 maven 的標準化流程 •
缺點 • 隱藏的學習曲線過⾼高
罜帹)TCFNG猺猻)TCFNG群㔬ㇰ http://www.codedata.com.tw/java/understanding-gradle-3-getting- started/
https://www.youtube.com/watch?v=CQqtyWNjDnY
https://speakerdeck.com/qrtt1/learning-how-to-learn-gradle
ਖ਼ࣩܔໄᔊʷəʘܝ 肪㧪↷]䄍嵇珮紶揉珮傎聴_テ∽㉸⌻
۰ዚjՑᔖୋɓd 4ZT"ENJOᕎᔖə ⇄䛧5[U#FOKP苌嗇⠫玐玐玐 ㉿㹅ℬ砒苌⛋缙5[U#FOKP腩綇苌⼒㤐㓲⇄䛧Ⅷ
http://bit.ly/2JDDkkz
4ZT"ENJO • 安裝新 Server • 應⽤用程式部署 • 應⽤用程式故障分析與排除 • 資料庫管理理
(DBA 相關⼯工作)
൳εɛʈʧɝd൳࢙̈፹ ㏔㏔P⋬啟⌌
ழක೯ ʔ̥݊ࠅҪ̴ᇜ̈ԸఱБə ㉿ⓛ䠀┑㹜ↂ苌㓲⋲揞缙亂
ሔሔ฿ׂ %QPHKIWTCVKQP/CPCIGOGPV %QPVKPWQWU+PVGITCVKQP%QPVKPWQWU&GNKXGT[ &GX1RU;QWDWKNFKV[QWFGRNQ[KV 5KVG4GNKCDKNKV['PIKPGGTKPI54' CPUKDNG LGPMKPUCPUKDNG CPUKDNGOG! HNWGPVF'.-ITCHCPCOQPKV
ଡ଼࿒ண֛၍ଣ %QPHKIWTCVKQP/CPCIGOGPV CPUKDNGRWRRGVUCNV GVEF \QQMGGRGT FPU 系統 軟體
ܵᚃΥ %QPVKPWQWU+PVGITCVKQP%QPVKPWQWU&GNKXGT[ ,GPMKPU6TCXKU%+%KTENG%+&TQPGKQ CPUKDNG 汷苌缙㧪↛⻌䄍嵇礌≬ 6GUV%CUG 痞㩽㽳㧪%+⻇⅀⛐⇆⌻&GNKXGT[#WVQOCVKQP
%FW0QT &GX1RU;QWDWKNFKV[QWFGRNQ[KV 㪱Ⰺ⃡劅+6↛⨉給Ⰺ 4&⋲㧪㠰㙘桬䥝 +6⋲⅀槡缙㠰㙘亂䛧KPHTCUVTWEVWTG ↷⋲㽛ׇ⨉⃡群ⅳ䧙䛧缷槡㼣 &GX㣯䥞+6ロ磻㗠┑↡熝苌+6㣯䥞4&槡缙↡熝 痞㩽㽳⌻職傎聴苌⛐叞⃮叞䛧缷䎛∶+6揉紶苮㤐縂Ⅷ㉩⯻磢桴 ㋯熝年⃫ׇ㢑䔩⚩㋌珮⚩㹄䮛❃獑 耯⦿綹䔩⅀㤐⃡㴄䥥缙㼣
ၣ१̙ቦʈ 5KVG4GNKCDKNKV['PIKPGGTKPI54' HNWGPVF'.-ITCHCPCOQPKV 俜糺䖡㐬簬㚈㤐⃡ⓨ䥥⫛䯯
ࣨː฿ׂ #WVQOCVKQP +PHTCUVTWEVWTGCUCEQFG ≧⍘䧬⃬⃡䛟⨉䥥EQFG
༶͜ʈՈ̘ৰɛᗳБމٙʔᆽ֛ 年⚀㨍⌻⻮䥥Ⅼ㎦苌兝六㤐⻮䥥苌年倱㩽⛐⇆櫱䄍 年㓱㩽⛐⇆倐䴮
2" https://www.facebook.com/qrtt1 chingyichan.tw at gmail.com 聯聯絡⽅方式