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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kudo Chien
October 01, 2016
Programming
580
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
220
工程師的生涯規劃,從 React Native 開始
kudochien
11
1.3k
React Ecosystem
kudochien
0
250
如果下半輩子只想 DEBUG 怎麼辦?
kudochien
12
2.8k
如果下半輩子只想成功怎麼辦?
kudochien
2
370
flowstatd
kudochien
1
430
Other Decks in Programming
See All in Programming
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
ジョジョの世界をXRで再現する
mofurune
0
180
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
170
sbt 2.0: takeoff
eed3si9n
0
160
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
300
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
160
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
250
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
110
Featured
See All Featured
Marketing to machines
jonoalderson
1
5.9k
Fireside Chat
paigeccino
43
4.1k
RailsConf 2023
tenderlove
30
1.6k
Statistics for Hackers
jakevdp
799
230k
Git: the NoSQL Database
bkeepers
PRO
433
67k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Odyssey Design
rkendrick25
PRO
2
880
Mind Mapping
helmedeiros
1
400
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
520
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
490
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