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
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
140
工程師的生涯規劃,從 React Native 開始
kudochien
11
1.2k
React Ecosystem
kudochien
0
210
如果下半輩子只想 DEBUG 怎麼辦?
kudochien
12
2.7k
如果下半輩子只想成功怎麼辦?
kudochien
2
280
flowstatd
kudochien
1
340
Other Decks in Programming
See All in Programming
はじめてのカスタムエージェント【GitHub Copilot Agent Mode編】
satoshi256kbyte
0
160
JETLS.jl ─ A New Language Server for Julia
abap34
2
470
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
320
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
7
4.3k
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
170
[AI Engineering Summit Tokyo 2025] LLMは計画業務のゲームチェンジャーか? 最適化業務における活⽤の可能性と限界
terryu16
2
290
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
120
PC-6001でPSG曲を鳴らすまでを全部NetBSD上の Makefile に押し込んでみた / osc2025hiroshima
tsutsui
0
210
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
1.1k
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
1.5k
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
180
Vibe codingでおすすめの言語と開発手法
uyuki234
0
170
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.1k
Speed Design
sergeychernyshev
33
1.5k
Statistics for Hackers
jakevdp
799
230k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
46
Rails Girls Zürich Keynote
gr2m
95
14k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
51k
KATA
mclloyd
PRO
33
15k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
210
The Cult of Friendly URLs
andyhume
79
6.8k
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
The Curious Case for Waylosing
cassininazir
0
200
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