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
GitHub's CSS Performance
jonrohan
1030
460k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Producing Creativity
orderedlist
PRO
341
39k
BBQ
matthewcrist
85
9.3k
What's new in Ruby 2.0
geeforr
343
31k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.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 聯聯絡⽅方式