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
410
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
330
エンジニアのための 法規制への取り組み方 #healthtechmeetup
77web
6
2.4k
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
6
830
「それはhowなんよ〜」のガイドライン #orestudy
77web
9
2.8k
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
1.3k
Beyond ORM
77web
11
2k
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
8
8.5k
DoctrineとPostgreSQLの便利な機能、どっちも諦めたくない!
77web
0
260
Other Decks in Programming
See All in Programming
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
230
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
270
Deep Dive into ~/.claude/projects
hiragram
10
2k
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
560
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
210
GraphRAGの仕組みまるわかり
tosuri13
8
500
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
20
3.7k
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
580
PipeCDのプラグイン化で目指すところ
warashi
1
200
VS Code Update for GitHub Copilot
74th
1
480
GoのGenericsによるslice操作との付き合い方
syumai
3
690
Result型で“失敗”を型にするPHPコードの書き方
kajitack
4
530
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Being A Developer After 40
akosma
90
590k
What's in a price? How to price your products and services
michaelherold
246
12k
It's Worth the Effort
3n
185
28k
Optimizing for Happiness
mojombo
379
70k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
GitHub's CSS Performance
jonrohan
1031
460k
Adopting Sorbet at Scale
ufuk
77
9.4k
Done Done
chrislema
184
16k
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