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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kudo Chien
October 01, 2016
Programming
3
500
程式設計師的自我修養
TechCCU 2016
Kudo Chien
October 01, 2016
Tweet
Share
More Decks by Kudo Chien
See All by Kudo Chien
阿迪仔, 你為什麼不寫 Unit Test @ TestCorner#14
kudochien
1
150
工程師的生涯規劃,從 React Native 開始
kudochien
11
1.2k
React Ecosystem
kudochien
0
210
如果下半輩子只想 DEBUG 怎麼辦?
kudochien
12
2.7k
如果下半輩子只想成功怎麼辦?
kudochien
2
290
flowstatd
kudochien
1
350
Other Decks in Programming
See All in Programming
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
960
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
400
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
960
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.1k
The free-lunch guide to idea circularity
hollycummins
0
200
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
850
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
200
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
150
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
550
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
590
エラーログのマスキングの仕組みづくりに役立ったASTの話
kumoichi
0
220
ロボットのための工場に灯りは要らない
watany
10
2.9k
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
350
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
76
WENDY [Excerpt]
tessaabrams
9
36k
GitHub's CSS Performance
jonrohan
1032
470k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
The Spectacular Lies of Maps
axbom
PRO
1
620
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
140
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.9k
Building the Perfect Custom Keyboard
takai
2
710
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Transcript
程式設計師的 ⾃自我修養
[email protected]
github.com/Kudo . @kudochien .
[email protected]
ABOUT ME ▸ CCUCSIE 2002
- 2008, BS + MS (GAIS Lab) ▸ CNA 2002 - 2008 ▸ Trend Micro, startups… ▸ TechCCU 2014 / 2015 ▸ 打雜⼯工,⼈人⽣生立志解 Bugs ▸ 今年年是 CloudMosa 偽前端⼯工程師
序 TECHCCU 2014
序 TECHCCU 2015 ⼯工程師的⽣生涯規劃 從 REACT NATIVE 開始
TEXT Balance CC From: https://www.flickr.com/photos/54027476@N07/5000518184/
CC From: https://www.flickr.com/photos/drb62/2623135401/ CC From: https://www.flickr.com/photos/anned/8700093610/ CC From: https://www.flickr.com/photos/maf04/5966652501 美感
追根究底 快速學習
美感 CC From: https://www.flickr.com/photos/maf04/5966652501
CC From: https://www.flickr.com/photos/iamshinji/3063220244/ Code level beauty
BREAK COMMON CODE
美感 DESIGN PATTERNS ▸ Factory ▸ Singleton ▸ Decorator ▸
Adapter ▸ Strategy ▸ Composite ▸ …
⼤大話設計模式 程杰
美感 SOLID ▸ SRP ▸ Single responsibility principle ▸ OCP
▸ Open/close Principle ▸ LSP ▸ Liskov substitution principle ▸ ISP ▸ Interface segregation principle ▸ DIP ▸ Dependency inversion principle
Beautiful Code 美麗程式
FUNCTIONAL PROGRAMING
美感 TEST ▸ Unit test ▸ Functional test ▸ Integration
test
美感 UNIT TEST ▸ 寫出好測試的程式 ▸ Dependency Injection (DI) ▸
Mock object ▸ Case: USB pendrive test program
CC From: https://www.flickr.com/photos/75487768@N04/16577863294/ Architecture level beauty
TEXT All in one controller From: https://www.flickr.com/photos/127130111@N06/15843976929/
ALL PROBLEMS IN COMPUTER SCIENCE CAN BE SOLVED BY ANOTHER
LEVEL OF INDIRECTION. David John Wheeler 美感
美感 MVC (MODEL VIEW CONTROLLER) From: https://en.wikipedia.org/wiki/Model-view-controller
美感 MVVM (MODEL VIEW VIEW-MODEL) From: https://en.wikipedia.org/wiki/Model-view-viewmodel
美感 MVP (MODEL VIEW PRESENTER) From: https://en.wikipedia.org/wiki/Model–view–presenter
MVW WHATEVER Ref: https://plus.google.com/+AngularJS/posts/aZNVhj355G2
美感 FLUX From: https://facebook.github.io/react/blog/2014/07/30/flux-actions-and-the-dispatcher.html
美感 MODEL 的分層 - DDD (DOMAIN-DRIVEN DESIGN) From: https://github.com/zkavtaskin/Domain-Driven-Design-Example
美感 THE EVOLUTION OF A SOFTWARE ENGINEER ▸ https://medium.com/@webseanhickey/the-evolution-of-a- software-engineer-db854689243
▸ 獨孤求敗 ▸ 劍器資料
追根究底 CC From: https://www.flickr.com/photos/drb62/2623135401/
程式設計師的⾃自我 修養-連結、載入、 程式庫 俞甲⼦子、⽯石凡、潘愛⺠民
跟 BUG 正⾯面對決
追根究底 是否曾經遇過這樣的狀狀況 !? ▸ 把⼀一⾏行行拿掉程式就正常了了 ▸ 先做 A 再做 B
就不會 crash 了了 ▸ 降低 thread 的數量量就可以了了 ▸ 不要跑 Daemon mode 就可以了了
追根究底 DEBUG CASE - I ▸ 程式不正常,好像沒有在跑 ▸ 看 Debug
log ▸ 沒 Debug log ▸ Process Monitor by SysInternals ▸ IE Protected Mode
追根究底 DEBUG CASE - II ▸ 使⽤用⼿手機瀏覽器開了了多個分⾴頁之後,⼿手指滑動會很慢、耗電 量量⾼高、⼿手機變燙 ▸ Profiling
▸ CPU / RAM / Power Consumption ▸ Gesture Recognizer ▸ Reverse Engineering
PROFILING AS SINGLE TRUTH
追根究底 充滿好奇⼼心 ▸ 好奇別⼈人的 Bug 怎麼解的 ▸ 好奇⼈人家的技術是怎麼做到的 ▸ 好奇為什什麼⼈人家的程式就是比較快、比較省記憶體
快速有深度 的學習 CC From: https://www.flickr.com/photos/anned/8700093610/
愛上看CODE ▸ Thinker ⼤大⼤大的⽂文章 ‣ 讀 code 和讀⽂章應該差不多 ‣ http://www.codemud.net/~thinker/GinGin_CGI.py/show_id_doc/498
‣ 閱讀程式碼的⼼理層⾯ ‣ http://www.codemud.net/~thinker/GinGin_CGI.py/show_id_doc/497
快速有深度的學習 擁抱新技術 !? ▸ ROR 開發速度很快 ▸ NodeJS 執⾏行行速度很快 ▸
Swift 是⼀一個很棒的程式語⾔言 ▸ AngularJS, ReactJS ▸ NoSQL MongoDB ▸ 不要⼈人云亦云 ▸ 要知道⾃自⼰己要的是什什麼 ▸ 深度研究
快速有深度的學習 依程式語⾔言特性因地制宜 ▸ ElasticSearch reindex ▸ ⽤用 NodeJS 超痛苦 ▸
先天 asynchronous 特性 ▸ 改⽤用 Python 好多了了
REACT IS NOT ONLY VDOM
快速有深度的學習 跟上 FRONTEND 技術變化 ▸ JavaScript ▸ jQuery ▸ BackboneJS
▸ AngularJS ▸ ReactJS ▸ VueJS ▸ AngularJS2 ▸ CSS ▸ CSS ▸ SASS ▸ CSS Modules
快速有深度的學習 * WEEKLY ▸ CodeTengu Weekly ▸ Android Weekly ▸
iOSGoodies ▸ Python Weekly ▸ CSS Weekly ▸ egghead.io ▸ Livecoding.tv
CONTRIBUTION To open source projects
快速有深度的學習TEXT FLOWSTATD ▸ https://speakerdeck.com/kudochien/flowstatd
快速有深度的學習TEXT 如果下半輩⼦子只想 DEBUG 怎麼辦 ▸ https://speakerdeck.com/kudochien/ru-guo-xia-ban-bei-zi-zhi-xiang-debug-zen-mo-ban
快速有深度的學習TEXT ⼯工程師的⽣生涯規劃,從 REACT NATIVE 開始 ▸ https://speakerdeck.com/kudochien/gong-cheng-shi-de-sheng-ya-gui-hua-cong-react-native-kai-shi
CC From: https://www.flickr.com/photos/drb62/2623135401/ CC From: https://www.flickr.com/photos/anned/8700093610/ CC From: https://www.flickr.com/photos/maf04/5966652501 美感
追根究底 快速學習
@kudochien on twitter
REFERENCES ▸ iOS Architecture Patterns ▸ Demystifying MVC, MVP, MVVM
and VIPER ▸ Flux ▸ https://facebook.github.io/flux/ 裡⾯面這段影片值得⼀一看 ▸ Contribution ▸ Check React Native - https://github.com/facebook/ react-native