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
sardine_bird
November 04, 2021
Programming
0
330
デザインパターン勉強法
サポーターズ 秋の終わりのLT会での登壇に使用。
https://talent.supporterz.jp/events/d618540f-6eaa-4972-9a6a-9538d453ecf4/
sardine_bird
November 04, 2021
Tweet
Share
More Decks by sardine_bird
See All by sardine_bird
エンジニア面談自己紹介
sardine_bird
0
240
Linux初心者に3時間でLinuxを教えるときに考えたこと
sardine_bird
1
120
Dockerネットワーク入門
sardine_bird
1
78
Other Decks in Programming
See All in Programming
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
130
Duckdb-Wasmでローカルダッシュボードを作ってみた
nkforwork
0
140
C++でシェーダを書く
fadis
6
4.1k
CSC509 Lecture 11
javiergs
PRO
0
180
イマのCSSでできる インタラクション最前線 + CSS最新情報
clockmaker
5
3k
EMになってからチームの成果を最大化するために取り組んだこと/ Maximize team performance as EM
nashiusagi
0
100
Remix on Hono on Cloudflare Workers
yusukebe
1
320
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
260
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
120
Welcome JSConf.jp 2024
yosuke_furukawa
PRO
0
320
flutterkaigi_2024.pdf
kyoheig3
0
190
カンファレンスの「アレ」Webでなんとかしませんか? / Conference “thing” Why don't you do something about it on the Web?
dero1to
1
120
Featured
See All Featured
Practical Orchestrator
shlominoach
186
10k
RailsConf 2023
tenderlove
29
910
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Designing for Performance
lara
604
68k
How STYLIGHT went responsive
nonsquared
95
5.2k
Music & Morning Musume
bryan
46
6.2k
For a Future-Friendly Web
brad_frost
175
9.4k
A better future with KSS
kneath
238
17k
What's in a price? How to price your products and services
michaelherold
243
12k
Faster Mobile Websites
deanohume
305
30k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Transcript
デザインパターン勉強法 サポーターズ LT会 2021104 (ヘビク)イワシ
自己紹介 - 大学生 - 長期インターンでシステムエンジニアとして勤務中 - Python - 機械学習 -
業務自動化のための Webアプリ作成 - 大学の中でちょっとサーバ管理 - Linux - Docker - Apache - Python, Ruby, JavaScript, Cが書ける - プログラミング全般は始めてから1年半くらい - twitterによく生息 (ヘビク)イワシ twitter: @sardine_bird
デザインパターンとは - 様々なプログラムで再利用できる汎用的な設計パターン - 最も有名なものはGoF(The Gang Of Four) - GoFのデザインパターンは23種類
- Abstract Factory - Builder - Factory Method - Prototype - Singleton - Adapter - Bridge - Composite - Decorator - Facade - Flywight - Proxy - Chain of Responsibility - Command - Interpreter - Iterator - Mediator - Memento - Observer - State - Strategy - Template Method - Visitor
デザインパターンをなぜ学ぶのか - デザインパターンはエンジニア達がこれまでの設計の苦労を何度も繰り返さない (車輪の再発明をしない)ために考えられたもの - デザインパターンを知らずに設計をするのは、説明書を読まずに家具を組み立てて いるのと変わらない - 結論:楽をするために学ぶ
デザインパターン勉強法 書く、ひたすら書く。 デザインパターンに則ってコードを書きまくって身につけるしかない。 「身についた」=「設計をするときに自然と適切なパターンを使いこなせる」
デザインパターン勉強法 リファクタリング・グルーのデザインパターン https://refactoring.guru/design-patterns
デザインパターン勉強法 1. GitHubで”design patterns”を検索 a. https://github.com/search?q=design+patterns 2. 気に入ったリポジトリをfork 3. 自分が書きやすいように変更
a. https://github.com/sardine-bird/design-patterns-python 4. 毎日デザインパターンを実装する a. 1日1つで良いから続ける
デザインパターン勉強法 本も読もう 以下、個人的なおすすめ本