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
230
Linux初心者に3時間でLinuxを教えるときに考えたこと
sardine_bird
1
120
Dockerネットワーク入門
sardine_bird
1
76
Other Decks in Programming
See All in Programming
What’s New in Compose Multiplatform - A Live Tour (droidcon London 2024)
zsmb
1
350
約9000個の自動テストの 時間を50分->10分に短縮 Flakyテストを1%以下に抑えた話
hatsu38
23
11k
Kaigi on Rails 2024 - Rails APIモードのためのシンプルで効果的なCSRF対策 / kaigionrails-2024-csrf
corocn
5
3.4k
Nuxtベースの「WXT」でChrome拡張を作成する | Vue Fes 2024 ランチセッション
moshi1121
1
530
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
7
2.8k
OpenTelemetryでRailsのパフォーマンス分析を始めてみよう(KoR2024)
ymtdzzz
4
1.6k
ECSのサービス間通信 4つの方法を比較する 〜Canary,Blue/Greenも添えて〜
tkikuc
11
2.3k
macOS でできる リアルタイム動画像処理
biacco42
7
2k
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
0
160
Progressive Web Apps für Desktop und Mobile mit Angular (Hands-on)
christianliebel
PRO
0
110
Importmapを使ったJavaScriptの 読み込みとブラウザアドオンの影響
swamp09
4
1.3k
Go言語でターミナルフレンドリーなAIコマンド、afaを作った/fukuokago20_afa
monochromegane
2
140
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
19
1.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
7
150
Learning to Love Humans: Emotional Interface Design
aarron
272
40k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Why You Should Never Use an ORM
jnunemaker
PRO
53
9k
The Language of Interfaces
destraynor
154
24k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
The World Runs on Bad Software
bkeepers
PRO
65
11k
BBQ
matthewcrist
85
9.3k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
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つで良いから続ける
デザインパターン勉強法 本も読もう 以下、個人的なおすすめ本