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
Why abstract class is evil? 〜Abstract classはなぜ邪...
Search
Hiromi Hishida
May 22, 2019
Programming
0
1.4k
Why abstract class is evil? 〜Abstract classはなぜ邪悪か?〜
Symfony meetup kansai 第1回
https://symfony-kansai.connpass.com/event/128538/
発表スライド
Hiromi Hishida
May 22, 2019
Tweet
Share
More Decks by Hiromi Hishida
See All by Hiromi Hishida
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
850
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
370
エンジニアのための 法規制への取り組み方 #healthtechmeetup
77web
8
2.6k
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
7
1.1k
「それはhowなんよ〜」のガイドライン #orestudy
77web
8
3k
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
1.6k
Beyond ORM
77web
11
2.3k
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
9
8.6k
DoctrineとPostgreSQLの便利な機能、どっちも諦めたくない!
77web
0
300
Other Decks in Programming
See All in Programming
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
460
Railsだからできる 例外業務に禍根を残さない 設定設計パターン
ei_ei_eiichi
0
900
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
190
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
230
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
110
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
1
330
はじめてのDSPy - 言語モデルを『プロンプト』ではなく『プログラミング』するための仕組み
masahiro_nishimi
2
480
オープンソースソフトウェアへの解像度🔬
utam0k
15
2.9k
dynamic!
moro
10
8k
Devvox Belgium - Agentic AI Patterns
kdubois
1
120
Claude CodeによるAI駆動開発の実践 〜そこから見えてきたこれからのプログラミング〜
iriikeita
0
240
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
170
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
189
55k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Six Lessons from altMBA
skipperchong
29
4k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
A designer walks into a library…
pauljervisheath
209
24k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
590
Code Reviewing Like a Champion
maltzj
526
40k
Transcript
8IZBCTUSBDUDMBTTJTFWJM நΫϥεͳͥअѱ͔ʁ 4ZNGPOZNFFUVQLBOTBJ
ɾ!XFC ɾϑϦʔϥϯεʢ͙Β͍ʣˠΧϧςοτίϛϡχέʔγϣϯζʢʣ ɾ໊ݹ ɾࣇͷ ɾຊ4ZNGPOZϢʔβʔձ ɾ$PEFS%PKP໊ݹॳνϟϯϐΦϯʢॾࣄ͋ͬͯҾୀʜʣ ɾ*—1)1
ɾӡ༻ܕࠂۀքΛϗϫΠτʹ͢ΔΈΛ࡞ͬͯ·͢ ɾؒืूதʂʢϑϧϦϞʔτɺύʔτλΠϜɺͪΖΜϑϧ λΠϜਖ਼ࣾһܴʣ ɾ4ZNGPOZͬͯ·͢ʂ
BCTUSBDUDMBTTͱ
BCTUSBDUDMBTTͱ w நΫϥε w SFGTநͬͯԿʁCZ!IJEFOPSJHPUP w ܧঝ͞ΕΔલఏͷϕʔεΫϥε
͜ͷτʔΫͷత w BCTUSBDUDMBTTͷअѱ͞ΛΔ w BCTUSBDUDMBTTͷ͍ํΛΔ
ࣄྫ
ཁ݅ᶃ ϢʔβʔཧػೳΛ࡞ͬͯ Ͷɻ৽نొͱใߋ৽͕ཁ ΔΑɻ ߲Ϣʔβʔ໊ɾύεϫʔ υɾϝʔϧΞυϨεͶɻ
࣮ᶃ 4ZNGPOZΛͬͯ࡞ͬͨ Αʂ&OUJUZ࡞ͬͯ'PSN࡞ͬ ͯίϯτϩʔϥʔͰFN QFSTJTU ͢Δͭɻ͔Μͨ ΜͩͶʂ
ཁ݅ᶄ ύεϫʔυฏจอଘ͢͞ ͕ʹϠόΠΑɻ҉߸Խͯ͠ Ͷɻ҉߸ԽํࣜTIBͰ͍ ͍Αɻ
࣮ᶄ ΞΠΞΠαʔɻ ొͱߋ৽྆ํͷΞΫγϣϯ ʹύεϫʔυ҉߸ԽΛॻ͍ͯ ʂ
None
͋ΕΕίϐϖͩͳʜ
ϦϑΝΫλᶃ Α͠ɺొͱߋ৽ʹڞ௨ͷ ॲཧ͕͋Δ͔Β6TFS.BOBHFS ͱ͍͏ʮαʔϏεʯʹ·ͱΊͨ ͥʂ %%%ͩͥʂྲྀߦΓͷϨΠϠʔυ ΞʔΩςΫνϟͱݴ͏͔ͳʂ
None
None
ཁ݅ᶅ ෆਖ਼ϢʔβʔͷΞΧϯτౚ݁ Λ࡞Δ͜ͱʹͳͬͨΑɻ ౚ݁ػೳଞͷϝϯόʔ͕࣮ ͢Δ͔ΒɺΩϛ6TFSΤϯςΟ ςΟʹFOBCMFEϑϥάΛ͠ ͯɺ৽نొ࣌ʹ0/ʹ͠ͱ͍ ͯʂ
࣮ᶅ ΦʔέʔΦʔέʔɻ ॲཧΛ6TFS.BOBHFSʹ·ͱΊ͓͍͔ͯͨΒɺίϯτ ϩʔϥʔ͍͡Βͣʹ6TFS.BOBHFS͚ͩม͑Ε͍ ͍͍͡ΌΜʂ%%%ͩͥʂ
None
ཁ݅ᶆ ِϝʔϧΞυϨεͰͷ͍ͨͣ Βొ͕ଟ͍͔Βɺϝʔϧೝূ ػೳΛՃͯ͠Ͷɻ ొ͚࣌ͩ͡Όͳͯ͘ߋ৽ը໘ ͔ΒϝʔϧΞυϨε͕มߋ͞Ε ͨͱ͖ʹೝূΑΖ͘͠ɻ
࣮ᶆ Α͠Α͠ɺ·ͨ·ͨ6TFS.BOBHFS͚ͩมߋ ͢Ε͍͍Μͩͳʂ ϝʔϧೝূϝʔϧΞυϨεʹมߋ͕͋ͬͨ ߹͚͔ͩͩΒʜ6TFS.BOBHFSIBOEMF ͷ ҾʹʮҎલͷϝʔϧΞυϨεʯͦ͏ɻ ৽نొͷ߹OVMMΛͤ0,ɻ
None
ϦϑΝΫλᶄ ͏ʔΜɻ6TFS.BOBHFSIBOEMF ͕ෳࡶʹ ͳ͖ͬͯͪΌͬͨͳʜɻ Ͱڞ௨ॲཧ͕͋Δ͔Βίϐϖίʔυʹ͢ ΔͷϠμͳɻ ͦ͏ͩʂ͜͏͍͏ͱ͖BCTUSBDUDMBTTʂ ΦϒδΣΫτࢦͬͯศརͩͳʙɻ
None
ཁ݅ᶇ ϝʔϧΞυϨεೝূͳΜ͚ͩͲɺ৽نొ ͷͱ͖ͱϝʔϧΞυϨεมߋͷͱ͖Ͱจ ໘Ϗϛϣʔʹม͑ͯ΄͍͠ΜͩΑͶɻ ৽نొʹʮ͍ͭ͝ར༻͋Γ͕ͱ͏ ͍͟͝·͢ʯͬͯͳΜ͔͓͔͍͠͡Ό Μɻมߋͷͱ͖͚ͩʹͯ͠Αɻ
࣮ᶇ ͏ʔΜɺมߋͷ߹͚͔ͩɻ "CTUSBDU6TFS.BOBHFSIBOEMF ͷϝʔϧೝ ূΈཱͯ෦ʹ JG VTFSHFU*E \ NBJM1BSBN<bTIPX@HSFFUJOH`>USVF ^
͘ɺ͍ۤ͠ʜɻ
ϦϑΝΫλᶅ ࢥ͍ͬͯ"CTUSBDU6TFS.BOBHFSΛΊ ͨʂ ڞ௨෦1BTTXPSE&ODPEFSͱ $POpSNBUJPO.BJM4FOEFSͱͯ͠நग़͠Α ͏ʂ
None
None
ϦϑΝΫλᶅ
͠ʜ w ཁ݅ᶈ"ʜϢʔβʔ͝ͱͷϝʔϧΞυϨεมߋͷճ͑ ͓͍ͯͯɻ w ཁ݅ᶈ#ʜ৽نొ࣌ʹ*1ΞυϨεอଘͰ͖Δʁ w ཁ݅ᶈ$ʜύεϫʔυมߋ࣌มߋ࣌อଘ͍ͨ͠ͳɻ
࠷ॳ͔ΒϦϑΝΫλᶅͷ࣮Λ࡞Δʹɺ Ͳͷ͕࣌λʔχϯάϙΠϯτ͔ͩͬͨʁ
࠷ॳ͔ΒϦϑΝΫλᶅͷ࣮Λ࡞Δʹɺ Ͳͷ͕࣌λʔχϯάϙΠϯτ͔ͩͬͨʁ w ͦͦ6TFS.BOBHFSʮϢʔβʔཧʯͷओޠ͕େ͖͗ͨ͢ ʢϦϑΝΫλᶃʣ w ࠷ॳʹόϦΤʔγϣϯ͕ൃੜͨ͠ͱ͖ʢཁ݅ᶅʣ w ʮૣ͗͢Δ࠷దԽʯͱݴΘΕΔ͔͠Ε·ͤΜ͕ݸਓతʹ ίίո͍͠
w ڞ௨෦Λ"CTUSBDU6TFS.BOBHFSʹ·ͱΊͪΌͬͨͱ͖ʢϦ ϑΝΫλᶄʣ w Α͏͘ຊ ??
ڞ௨ॲཧ͕͋Δˠ"CTUSBDUDMBTTͰڞ௨Խ
ڞ௨ॲཧ͕͋Δˠ"CTUSBDUDMBTTͰڞ௨Խ ˞ͦ͏ࢥ͍ͬͯͨࠒ͕ࢲʹ͋Γ·ͨ͠ʜɻʙલ͔ͳʜɻ
ڞ௨ॲཧ͕͋ΔˠผΫϥεʹग़͢
ڞ௨ॲཧ͕͋ΔˠผΫϥεʹग़͢
ͰɺBCTUSBDUDMBTTͬͯԿ ͷͨΊʹଘࡏ͢Δͷʁ
None
w BCTUSBDUDMBTT༻๏༻ྔΛकͬͯਖ਼͍͘͠·͠ΐ͏ɻཚ ༻μϝθολΠɻ w தͰ݅ذ͢ΔBCTUSBDUDMBTTΛ࡞ͬͯ͠·͍͕ͪͳਓ ɺʮڞ௨ॲཧ͕͋Δ͔ΒBCTUSBDUDMBTTΛ࡞Ζ͏ʂʯͱ ࢥͬͨͱ͖ɺཱͪࢭ·ͬͯϗϯτʹͦΕͰ͍͍͔ߟ͑Α͏ w ୯ʹʮڞ௨ॲཧ͕͋Δʯ͚ͩͳΒผΫϥεΛ࡞ͬͨΓ USBJUͷར༻Ͱेͳ߹͕େ
w ਖ਼ɺ൚༻తͳϥΠϒϥϦͰͳ͘ΞϓϦΛ࡞͍ͬͯΔ։ൃऀ ʹBCTUSBDUDMBTT͕ඞཁͳέʔε͋·Γͳ͍ؾ͕͍ͯ͠Δ
5IBOLZPV