Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
軟體工作日常:成為工具人吧!
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ching Yi Chan
April 30, 2018
330
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
軟體工作日常:成為工具人吧!
Ching Yi Chan
April 30, 2018
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
200
twjug-lite-17 結束了幾個月的 Java Web 培訓 站在人蔘迷途的我
qrtt1
0
160
[twjug-lite] 迷你研發部 [1]
qrtt1
0
1.2k
寫個好懂的程式
qrtt1
1
680
OAuth 2.0 Authorization Code Flow
qrtt1
0
350
types of knowledge
qrtt1
1
1.5k
twjug 小活動
qrtt1
0
530
TWJUG 2019
qrtt1
0
260
Learning Concepts
qrtt1
0
310
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Google's AI Overviews - The New Search
badams
0
1.6k
Making the Leap to Tech Lead
cromwellryan
135
10k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
880
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
450
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
590
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
510
BBQ
matthewcrist
89
10k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Producing Creativity
orderedlist
PRO
348
41k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
780
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 聯聯絡⽅方式