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
1. 在沙箱中開發
Search
hatelove
January 23, 2013
Programming
12
3k
1. 在沙箱中開發
讀書會報告,
書籍:Ship It! A Practical Guide to Successful Software Projects (軟件項目成功之道)
章節:在沙箱中開發
hatelove
January 23, 2013
Tweet
Share
More Decks by hatelove
See All by hatelove
BDD in .NET - TDD 在實務上的最後一塊拼圖
hatelove
4
2.8k
OO training 基本原則整理
hatelove
2
5.2k
OO training homework 3 review and summary
hatelove
1
11k
OO training homework 2 review and summary
hatelove
1
4.6k
OO training homework 1 review and summary
hatelove
1
8k
Object Oriented Training - Session 4
hatelove
1
5.1k
Object Oriented Training - Session 3
hatelove
1
11k
Object Oriented Training - Session 2
hatelove
1
4.8k
Object Oriented Training - Session 1
hatelove
1
8.3k
Other Decks in Programming
See All in Programming
PLoP 2024: The evolution of the microservice architecture pattern language
cer
PRO
0
2.2k
C++でシェーダを書く
fadis
6
3.8k
2024/11/8 関西Kaggler会 2024 #3 / Kaggle Kernel で Gemma 2 × vLLM を動かす。
kohecchi
4
480
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
プロジェクト新規参入者のリードタイム短縮の観点から見る、品質の高いコードとアーキテクチャを保つメリット
d_endo
1
1.1k
現場で役立つモデリング 超入門
masuda220
PRO
14
3.1k
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
160
Googleのテストサイズを活用したテスト環境の構築
toms74209200
0
300
カラム追加で増えるActiveRecordのメモリサイズ イメージできますか?
asayamakk
4
1.9k
Ethereum_.pdf
nekomatu
0
350
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
14
1.9k
JaSST 24 九州:ワークショップ(は除く)実践!マインドマップを活用したソフトウェアテスト+活用事例
satohiroyuki
0
310
Featured
See All Featured
Building Adaptive Systems
keathley
38
2.3k
Building Your Own Lightsaber
phodgson
102
6.1k
For a Future-Friendly Web
brad_frost
175
9.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
231
17k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Being A Developer After 40
akosma
86
590k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
505
140k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.2k
GraphQLとの向き合い方2022年版
quramy
43
13k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
92
16k
Transcript
在沙箱中開發 • Joey Chen • 2013/1/23 Ship It! A Practical
Guide to Successful Software Projects
多久不曾碰到成功的專案了? Ship It! A Practical Guide to Successful Software Projects
磨斧頭的故事 Ship It! A Practical Guide to Successful Software Projects
從前從前,有兩個伐木工 Ship It! A Practical Guide to Successful Software Projects
Joey跟Kevin都靠伐木維生 Ship It! A Practical Guide to Successful Software Projects
剛開始,Joey拎著斧頭就往 最茂盛的森林前進 Ship It! A Practical Guide to Successful Software
Projects
Kevin則是拿出磨刀石, 一邊哼著歌,一邊磨斧頭 Ship It! A Practical Guide to Successful Software
Projects
Joey提著一捆一捆木材回來時, 笑著Kevin蠢 Ship It! A Practical Guide to Successful Software
Projects
Joey: 等你磨完斧頭, 我搞不好已經是富翁了 Ship It! A Practical Guide to Successful
Software Projects
Kevin笑笑的不回答 Ship It! A Practical Guide to Successful Software Projects
一個月後… Ship It! A Practical Guide to Successful Software Projects
Kevin每天都輕輕鬆鬆鬆 砍了20捆柴 Ship It! A Practical Guide to Successful Software
Projects
Joey則是一天比一天累 Ship It! A Practical Guide to Successful Software Projects
Joey原本一天10捆柴 現在一天3捆柴 Ship It! A Practical Guide to Successful Software
Projects
你獲得了什麼? Ship It! A Practical Guide to Successful Software Projects
習慣性優秀 Ship It! A Practical Guide to Successful Software Projects
一流的產品 只是好習慣的副產品 Ship It! A Practical Guide to Successful Software
Projects
有意識的搜尋好習慣 Ship It! A Practical Guide to Successful Software Projects
並加入日常生活中 Ship It! A Practical Guide to Successful Software Projects
沒有銀彈! Ship It! A Practical Guide to Successful Software Projects
依據自身的情況 做出正確的選擇 Ship It! A Practical Guide to Successful Software
Projects
這本書在講啥? Ship It! A Practical Guide to Successful Software Projects
Ship It! A Practical Guide to Successful Software Projects
蝦咪係Agile? 能吃嗎? Ship It! A Practical Guide to Successful Software
Projects
Individuals and interactions over processes and tools Ship It! A
Practical Guide to Successful Software Projects
人跟互動 勝於 過程和工具 Ship It! A Practical Guide to Successful
Software Projects
Working software over comprehensive documentation Ship It! A Practical Guide
to Successful Software Projects
能動的產品 勝於 一堆狗屁文件 Ship It! A Practical Guide to Successful
Software Projects
Customer collaboration over contract negotiation Ship It! A Practical Guide
to Successful Software Projects
跟客戶合作 勝於 跟客戶談判 Ship It! A Practical Guide to Successful
Software Projects
Responding to change over following a plan Ship It! A
Practical Guide to Successful Software Projects
擁抱變化 勝於 詳細規劃 Ship It! A Practical Guide to Successful
Software Projects
CMMI ?! Ship It! A Practical Guide to Successful Software
Projects
CMMI ?! Ship It! A Practical Guide to Successful Software
Projects
沙箱? 殺小……朋友? Ship It! A Practical Guide to Successful Software
Projects
Joey的悲慘世界 Ship It! A Practical Guide to Successful Software Projects
Joey上班時 收到Brandon的email Ship It! A Practical Guide to Successful Software
Projects
Brandon: 我改了一些code Ship It! A Practical Guide to Successful Software
Projects
Joey把Brandon的code 從N槽copy回本機 Ship It! A Practical Guide to Successful Software
Projects
經過一個小時 總算在本機編譯成功了 Ship It! A Practical Guide to Successful Software
Projects
Joey回過神來想 自己到底寫到哪了 已經寫了三天的功能 眼看就要完成了 Ship It! A Practical Guide to
Successful Software Projects
Joey打開Visual Studio 發現… Ship It! A Practical Guide to Successful
Software Projects
WTF !!!!!! Ship It! A Practical Guide to Successful Software
Projects
我的code不見了! Ship It! A Practical Guide to Successful Software Projects
狗娘養的 被剛剛的code 蓋掉了!!! Ship It! A Practical Guide to Successful
Software Projects
想出去抽根煙了… Ship It! A Practical Guide to Successful Software Projects
思考一下人生的意義 Ship It! A Practical Guide to Successful Software Projects
這時, Product的Jessie 詢問一個bug的現況 Ship It! A Practical Guide to Successful
Software Projects
更!完全忘了這件事 Ship It! A Practical Guide to Successful Software Projects
Joey答應Jessie 下班前一定改好 這個bug Ship It! A Practical Guide to Successful
Software Projects
但是Jessie仍站在 Joey後面 而且她非常的火 Ship It! A Practical Guide to Successful
Software Projects
快下班前 Joey總算把bug 修復完畢了 Ship It! A Practical Guide to Successful
Software Projects
送出前才發現 機器上的程式碼版本 不是最新的 Ship It! A Practical Guide to Successful
Software Projects
Ship It! A Practical Guide to Successful Software Projects
這不是肯德基!! 這不是肯德基!! Ship It! A Practical Guide to Successful Software
Projects
大家都開始下班 Joey叫老婆先回家 晚上的大餐取消 Ship It! A Practical Guide to Successful
Software Projects
經過一個小時 搜尋跟比較 Ship It! A Practical Guide to Successful Software
Projects
在N槽上找到一個 20120708_cms 的folder Ship It! A Practical Guide to Successful
Software Projects
就是它了!這78… Ship It! A Practical Guide to Successful Software Projects
抓回來之後 他X的又build不起來 Ship It! A Practical Guide to Successful Software
Projects
又一個多小時 總算建置成功了… Ship It! A Practical Guide to Successful Software
Projects
又一個多小時 總算改完code了… Ship It! A Practical Guide to Successful Software
Projects
X!兩點了! 上FB打卡一下好了 Ship It! A Practical Guide to Successful Software
Projects
Joey心裡想… Ship It! A Practical Guide to Successful Software Projects
工作到凌晨兩點 我實在太認真了… Ship It! A Practical Guide to Successful Software
Projects
辛苦沒關係 只要專案可以成功 一切都是值得的! Ship It! A Practical Guide to Successful
Software Projects
但,Joey的老婆 可不這麼想! Ship It! A Practical Guide to Successful Software
Projects
第二天... Ship It! A Practical Guide to Successful Software Projects
Jessie發現 Ship It! A Practical Guide to Successful Software Projects
Joey改完的程式 把上個月Ian修好的 bug又弄壞了 Ship It! A Practical Guide to Successful
Software Projects
還增加了 2個新的bug Ship It! A Practical Guide to Successful Software
Projects
誰想跟我換? Ship It! A Practical Guide to Successful Software Projects
你獲得了什麼? Ship It! A Practical Guide to Successful Software Projects
少年Kevin的 奇幻漂流 Ship It! A Practical Guide to Successful Software
Projects
Kevin上班時 收到了Titan的email Ship It! A Practical Guide to Successful Software
Projects
Titan: 我改了一些code Ship It! A Practical Guide to Successful Software
Projects
此時Kevin上去SVN 把Titan的程式碼 update回本機端 Ship It! A Practical Guide to Successful
Software Projects
此時小烏龜該該叫了 Ship It! A Practical Guide to Successful Software Projects
單兵注意 前方發現程式碼衝突 單兵該如何處置 Ship It! A Practical Guide to Successful
Software Projects
Kevin透過工具 快速比對與merge 並迅速通過編譯 Ship It! A Practical Guide to Successful
Software Projects
接著 Kevin用加藤鷹的手勢 迅速按下ctrl+R, A 執行專案的測試程式 Ship It! A Practical Guide
to Successful Software Projects
通過測試了… Ship It! A Practical Guide to Successful Software Projects
Kevin優雅地 在Visual Studio上 簽入所有異動的程式 Ship It! A Practical Guide to
Successful Software Projects
不急不徐地加上 commit comment Ship It! A Practical Guide to Successful
Software Projects
連上CI server 按下「馬上建構」 Ship It! A Practical Guide to Successful
Software Projects
親切的管家 告知美好的建構結果 Ship It! A Practical Guide to Successful Software
Projects
這時,Product的 Jessie又來了 Ship It! A Practical Guide to Successful Software
Projects
張牙舞爪問著 上週的bug修好了沒 Ship It! A Practical Guide to Successful Software
Projects
Kevin也一樣 已經不記得Jessie 在講什麼東西 Ship It! A Practical Guide to Successful
Software Projects
這時Kevin上去 ticket tracking上 按照Jessie說的線索 搜尋了一下 Ship It! A Practical Guide
to Successful Software Projects
發現這個ticket 已經在禮拜一上到pp了 並且狀態已經為verify Ship It! A Practical Guide to Successful
Software Projects
這一次release 就可以把這一版程式 deploy到production Ship It! A Practical Guide to Successful
Software Projects
Jessie高興地拍拍屁股走了 並上去backyard 給了Kevin一個bravo Ship It! A Practical Guide to Successful
Software Projects
而當時Kevin是怎麼 修正這個bug的呢? Ship It! A Practical Guide to Successful Software
Projects
先確認是否簽出中 通知相關人員 避免蓋版問題 Ship It! A Practical Guide to Successful
Software Projects
上去SVN 取得基準的修改版本 輕鬆的fix bug Ship It! A Practical Guide to
Successful Software Projects
因為之前Ian哥 已經寫好測試專案了 Ship It! A Practical Guide to Successful Software
Projects
所以Kevin改完後 只要執行測試 Ship It! A Practical Guide to Successful Software
Projects
Kevin就可以確保 沒有影響到 Ian的程式執行結果 Ship It! A Practical Guide to Successful
Software Projects
這一天結束了 Kevin準時的下班 跑去跟新交往的女朋友 共進晚餐 Ship It! A Practical Guide to
Successful Software Projects
這時Joey的老婆 則在FB上幹橋 自己的老公是個工作狂 Ship It! A Practical Guide to Successful
Software Projects
Ship It! A Practical Guide to Successful Software Projects
Anti-Pattern Ship It! A Practical Guide to Successful Software Projects
• 網路磁碟機 • 資料夾名稱 –日期 –v1, v2 –new, new2 –.backup
Ship It! A Practical Guide to Successful Software Projects
程式只在server上 才可以執行與偵錯 Ship It! A Practical Guide to Successful Software
Projects
大家都連上去 alpha, beta 改程式跟執行程式 Ship It! A Practical Guide to
Successful Software Projects
So… Ship It! A Practical Guide to Successful Software Projects
Sandbox: 隔離每個人的 開發環境 Ship It! A Practical Guide to Successful
Software Projects
每個人可以在本機 獨立開發 不會影響別人 Ship It! A Practical Guide to Successful
Software Projects
共享的程式碼 唯一基準: 版本庫上的程式碼 Ship It! A Practical Guide to Successful
Software Projects
沒有在版本庫上 就代表不存在 Ship It! A Practical Guide to Successful Software
Projects
有一個機器當基準 持續整合團隊 最新的程式碼 Ship It! A Practical Guide to Successful
Software Projects
並隨時驗證 整合是否出現問題 Ship It! A Practical Guide to Successful Software
Projects
持續簽入 你的穩定產出 Ship It! A Practical Guide to Successful Software
Projects
如何取得要佈署的檔案? Ship It! A Practical Guide to Successful Software Projects
CI的產出 Ship It! A Practical Guide to Successful Software Projects
結論 Ship It! A Practical Guide to Successful Software Projects
Vision Ship It! A Practical Guide to Successful Software Projects
Ship It! A Practical Guide to Successful Software Projects
單鍵執行 Ship It! A Practical Guide to Successful Software Projects
一模模 一樣樣 Ship It! A Practical Guide to Successful Software
Projects
整合的問題 一天內發現並解決 Ship It! A Practical Guide to Successful Software
Projects
修過的bug 不可能再度發生 一樣的錯誤 Ship It! A Practical Guide to Successful
Software Projects
Q & A Ship It! A Practical Guide to Successful
Software Projects