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
210
軟體工作日常:成為工具人吧!
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
93
twjug-lite-17 結束了幾個月的 Java Web 培訓 站在人蔘迷途的我
qrtt1
0
66
[twjug-lite] 迷你研發部 [1]
qrtt1
0
1.1k
寫個好懂的程式
qrtt1
1
560
OAuth 2.0 Authorization Code Flow
qrtt1
0
240
types of knowledge
qrtt1
1
1.2k
twjug 小活動
qrtt1
0
400
TWJUG 2019
qrtt1
0
180
Learning Concepts
qrtt1
0
170
Featured
See All Featured
A Philosophy of Restraint
colly
203
16k
Side Projects
sachag
452
42k
Code Reviewing Like a Champion
maltzj
520
39k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Agile that works and the tools we love
rasmusluckow
327
21k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
The Invisible Side of Design
smashingmag
298
50k
Statistics for Hackers
jakevdp
796
220k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
For a Future-Friendly Web
brad_frost
175
9.4k
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 聯聯絡⽅方式