Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
1k
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
390
エンジニアのための 法規制への取り組み方 #healthtechmeetup
77web
8
2.7k
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
7
1.3k
「それはhowなんよ〜」のガイドライン #orestudy
77web
8
3.1k
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
1.7k
Beyond ORM
77web
11
2.4k
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
9
8.7k
DoctrineとPostgreSQLの便利な機能、どっちも諦めたくない!
77web
0
320
Other Decks in Programming
See All in Programming
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
130
エディターってAIで操作できるんだぜ
kis9a
0
730
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
360
sbt 2
xuwei_k
0
300
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
150
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
38
26k
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.4k
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
150
認証・認可の基本を学ぼう前編
kouyuume
0
250
React Native New Architecture 移行実践報告
taminif
1
160
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.3k
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
100
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Why Our Code Smells
bkeepers
PRO
340
57k
Automating Front-end Workflow
addyosmani
1371
200k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
Speed Design
sergeychernyshev
33
1.4k
Writing Fast Ruby
sferik
630
62k
Making Projects Easy
brettharned
120
6.5k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Building Flexible Design Systems
yeseniaperezcruz
330
39k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.7k
Scaling GitHub
holman
464
140k
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