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
350
デザインパターン勉強法
サポーターズ 秋の終わりの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
250
Linux初心者に3時間でLinuxを教えるときに考えたこと
sardine_bird
1
130
Dockerネットワーク入門
sardine_bird
1
83
Other Decks in Programming
See All in Programming
Pythonでもちょっとリッチな見た目のアプリを設計してみる
ueponx
1
480
Software Architecture
hschwentner
6
2.1k
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
7
2.5k
WebDriver BiDiとは何なのか
yotahada3
1
140
Linux && Docker 研修/Linux && Docker training
forrep
23
4.5k
ファインディの テックブログ爆誕までの軌跡
starfish719
2
1.1k
Compose でデザインと実装の差異を減らすための取り組み
oidy
1
300
Amazon ECS とマイクロサービスから考えるシステム構成
hiyanger
2
490
AHC041解説
terryu16
0
590
GAEログのコスト削減
mot_techtalk
0
110
最近のVS Codeで気になるニュース 2025/01
74th
1
250
2,500万ユーザーを支えるSREチームの6年間のスクラムのカイゼン
honmarkhunt
6
5.1k
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
630
Building Adaptive Systems
keathley
40
2.4k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Designing for Performance
lara
604
68k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
We Have a Design System, Now What?
morganepeng
51
7.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Faster Mobile Websites
deanohume
306
31k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Raft: Consensus for Rubyists
vanstee
137
6.8k
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つで良いから続ける
デザインパターン勉強法 本も読もう 以下、個人的なおすすめ本