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
1.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Why abstract class is evil? 〜Abstract classはなぜ邪悪か?〜
Symfony meetup kansai 第1回
https://symfony-kansai.connpass.com/event/128538/
発表スライド
Hiromi Hishida
May 22, 2019
More Decks by Hiromi Hishida
See All by Hiromi Hishida
symfony/aiとlaravel/boost
77web
0
120
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
1.2k
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
1.4k
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
460
エンジニアのための 法規制への取り組み方 #healthtechmeetup
77web
9
2.9k
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
7
1.7k
「それはhowなんよ〜」のガイドライン #orestudy
77web
11
3.4k
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
2k
Beyond ORM
77web
11
2.6k
Other Decks in Programming
See All in Programming
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.6k
どこまでゆるくて許されるのか
tk3fftk
0
470
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
180
Claude Team Plan導入・ガイド
tk3fftk
0
130
えっ!!コードを読まずに開発を!?
hananouchi
0
180
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
110
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
8
3.9k
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
350
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.4k
フィードバックで育てるAI開発
kotaminato
1
110
Featured
See All Featured
Believing is Seeing
oripsolob
1
170
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
2
320
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.3k
New Earth Scene 8
popppiees
3
2.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
390
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
Product Roadmaps are Hard
iamctodd
55
12k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
800
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