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
Kudo Chien
October 01, 2016
Programming
550
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
程式設計師的自我修養
TechCCU 2016
Kudo Chien
October 01, 2016
More Decks by Kudo Chien
See All by Kudo Chien
阿迪仔, 你為什麼不寫 Unit Test @ TestCorner#14
kudochien
1
170
工程師的生涯規劃,從 React Native 開始
kudochien
11
1.3k
React Ecosystem
kudochien
0
220
如果下半輩子只想 DEBUG 怎麼辦?
kudochien
12
2.7k
如果下半輩子只想成功怎麼辦?
kudochien
2
320
flowstatd
kudochien
1
390
Other Decks in Programming
See All in Programming
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
170
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
470
AIが無かった頃の素敵な出会いの話
codmoninc
1
430
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
260
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
220
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
280
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
170
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
590
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
260
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
500
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
400
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
270
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
7k
Navigating Weather and Climate Data
rabernat
0
470
Become a Pro
speakerdeck
PRO
31
6.2k
WENDY [Excerpt]
tessaabrams
11
39k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
700
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
410
We Are The Robots
honzajavorek
0
300
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
790
Why Our Code Smells
bkeepers
PRO
340
58k
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