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
Sotuken
Search
Ryu
December 05, 2019
Technology
0
960
Sotuken
卒業研究発表に利用したスライド
Ryu
December 05, 2019
Tweet
Share
More Decks by Ryu
See All by Ryu
フレームワークの気持ちになりたかった
s17001
0
340
PHPでも記号プログラミング
s17001
0
100
Quine雑日記
s17001
0
1.3k
eve hackers champloo
s17001
0
970
記号プログラミングの集大成
s17001
0
5.9k
JSで読み取れる記号を吐くコード
s17001
2
280
making pokemondex !
s17001
0
68
create thinkingface
s17001
0
1.7k
Other Decks in Technology
See All in Technology
強化されたAmazon Location Serviceによる新機能と開発者体験
dayjournal
3
220
25分で解説する「最小権限の原則」を実現するための AWS「ポリシー」大全 / 20250625-aws-summit-aws-policy
opelab
9
1.2k
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
110
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.3k
GitHub Copilot の概要
tomokusaba
1
140
PHP開発者のためのSOLID原則再入門 #phpcon / PHP Conference Japan 2025
shogogg
4
850
OpenHands🤲にContributeしてみた
kotauchisunsun
1
460
Agentic Workflowという選択肢を考える
tkikuchi1002
1
540
セキュリティの民主化は何故必要なのか_AWS WAF 運用の 10 の苦悩から学ぶ
yoh
1
180
Абьюзим random_bytes(). Фёдор Кулаков, разработчик Lamoda Tech
lamodatech
0
350
Liquid Glass革新とSwiftUI/UIKit進化
fumiyasac0921
0
230
SalesforceArchitectGroupOsaka#20_CNX'25_Report
atomica7sei
0
190
Featured
See All Featured
Fireside Chat
paigeccino
37
3.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Scaling GitHub
holman
459
140k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
670
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
800
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Gamification - CAS2011
davidbonilla
81
5.3k
Raft: Consensus for Rubyists
vanstee
140
7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
KATA
mclloyd
29
14k
Transcript
'SPOU&OE 'SBNFXPSLʹஔ͚Δ ϝλϓϩάϥϛϯάͷ ੑ͓Αͼ׆༻ࣄྫ TҏཾҰ
2 3ZVJDIJJIB !3ZV@@VZ3 *5DPMMFHF0LJOBXB TQFDJBMJTU OFYUZFBSQJYJWJOD XPSLGJEFMJUZXJSFTJOD XSJUJOHJOUFSFTUJOHQSPHSBNTDPEF ҏཾҰ !3ZV@@VZ3
\MJLF< A&$."4DSJQUA A/VYUA A7VFKTA A)BTLFMMA A1PLFNPOA A1SPHSBNJOHA >^ AAA *5ΧϨοδೖͬͯϓϩάϥϛϯά͡Ίͨ -5ͱ͔͢Δͷ͖ ͕ͬͭΓϓϩάϥϛϯάॳΊͯͦΖͦΖ AAA
3 3ZVJDIJJIB !3ZV@@VZ3 *5DPMMFHF0LJOBXB TQFDJBMJTU OFYUZFBSQJYJWJOD XPSLGJEFMJUZXJSFTJOD XSJUJOHJOUFSFTUJOHQSPHSBNTDPEF
4 3ZVJDIJJIB !3ZV@@VZ3 *5DPMMFHF0LJOBXB TQFDJBMJTU OFYUZFBSQJYJWJOD XPSLGJEFMJUZXJSFTJOD XSJUJOHJOUFSFTUJOHQSPHSBNTDPEF ҏཾҰ !3ZV@@VZ3
\MJLF< A&$."4DSJQUA A/VYUA A7VFKTA A)BTLFMMA A1PLFNPOA A1SPHSBNJOHA >^ AAA *5ΧϨοδೖͬͯϓϩάϥϛϯά͡Ίͨ -5ͱ͔͢Δͷ͖ ͕ͬͭΓϓϩάϥϛϯάॳΊͯͦΖͦΖ AAA
5 ҏཾҰ !3ZV@@VZ3 \MJLF< A&$."4DSJQUA A/VYUA A7VFKTA A)BTLFMMA A1PLFNPOA
A1SPHSBNJOHA >^ AAA *5ΧϨοδೖͬͯϓϩάϥϛϯά͡Ίͨ -5ͱ͔͢Δͷ͖ ͕ͬͭΓϓϩάϥϛϯάॳΊͯͦΖͦΖ AAA ҰॹʹϙέϞϯͯ͘͠ΕΔਓઈࢍืूத
6 3ZVJDIJJIB !3ZV@@VZ3 *5DPMMFHF0LJOBXB TQFDJBMJTU OFYUZFBSQJYJWJOD XPSLGJEFMJUZXJSFTJOD XSJUJOHJOUFSFTUJOHQSPHSBNTDPEF ҏཾҰ !3ZV@@VZ3
\MJLF< A&$."4DSJQUA A/VYUA A7VFKTA A)BTLFMMA A1PLFNPOA A1SPHSBNJOHA >^ AAA *5ΧϨοδೖͬͯϓϩάϥϛϯά͡Ίͨ -5ͱ͔͢Δͷ͖ ͕ͬͭΓϓϩάϥϛϯάॳΊͯͦΖͦΖ AAA
ΞδΣϯμ ɾ੍࡞ϓϩμΫτʰ$SBGUPNZʱͷհ N ɾʰ$SBGUPNZʱΛࢧ͑Δٕज़ N ɾࠓճͷৼΓฦΓ༨ஊ N
ΞδΣϯμ ɾ੍࡞ϓϩμΫτʰ$SBGUPNZʱͷհ N ɾʰ$SBGUPNZʱΛࢧ͑Δٕज़ N ɾࠓճͷৼΓฦΓ༨ஊ N
੍࡞ϓϩμΫτ ʰ$SBGUPNZʱͷհ
੍࡞ϓϩμΫτʰ$SBGUPNZʱͷհ ɾσϞ ɾ֓ཁ ɾϓϩμΫτΛ௨ͯ͠ͷૂ͍ ɾ͜ͷઌͷ$SBGUPNZͷల։
ૣͰ͕͢
$SBGUPNZ%&.0
$SBGUPNZ֓ཁ
ͳͥ͜ͷϓϩμΫτ Λ࡞ͬͨͷ͔
੍࡞ͷഎܠཁҼ ɾϓϩάϥϛϯάڭҭͷඞमԽ ɾϓϩάϥϜ࢝ΊΔਓ͕૿͕͑ͨ ɾڭҭ͚ͩͰͳ͘ ༡ΔαʔϏεͷগͳ͞
ϓϩάϥϛϯάڭҭͷඞमԽ
Ҏ߱ͷ ֶशࢦಋཁྖ จ෦ՊֶলެࣜΑΓ
ཁ wɾΑΓஈ֊తʹ wใՊͷΧϦΩϡϥϜ͕ wখதߴͰ·ΕΔ wɾϓϩάϥϛϯάతࢥߟͷҭʹྗ w
ϓϩάϥϛϯάΛ ࢝ΊΔਓ͕૿͑ͨ ʢͪ͜Β͋͘·ͰͷײൣғͷͰ͢ʣ
ೖऀ͕૿͑ͨ wɾϓϩάϥϛϯάೖͷෑډ͕Լ͕ͬͨ w 1SPHBUF QBJ[B FUD wɾݸਓυΩϡϝϯτͷଟ༷Խ w 2JJUB
ݸਓϒϩά wɾϓϩάϥϛϯάڭࣨͷҰൠԽ w
ೖऀ͕૿͑ͨ wɾϓϩάϥϛϯάೖͷෑډ͕Լ͕ͬͨ w 1SPHBUF QBJ[B FUD wɾݸਓυΩϡϝϯτͷଟ༷Խ w 2JJUB
ݸਓϒϩά wɾϓϩάϥϛϯάڭࣨͷҰൠԽ w wใֶՊͰͳֶͯ͘Δڥͷඋ
ೖऀ͕૿͑ͨ wใֶՊͰͳֶͯ͘Δڥͷඋ w
ͦͷҰํ
ೖऀ͕૿͑ͨ wɾϓϩάϥϛϯάೖͷෑډ͕Լ͕ͬͨ w 1SPHBUF QBJ[B FUD wɾݸਓυΩϡϝϯτͷଟ༷Խ w 2JJUB
ݸਓϒϩά wɾϓϩάϥϛϯάڭࣨͷҰൠԽ w
͋͘·ͰಛఆྸҎ্ͷ ਓ͕ؒରʹͳ͍ͬͯΔ
খதߴੜ͚Ͱͳ͍ ݸਓͷײͰ͢
ڭҭͷ͑ͯɺ༡ΔαʔϏεʹ ڝٕੑ͕ཉ͍͠ ʢͪ͜Β͋͘·ͰͷײൣғͷͰ͢ʣ
ॳֶ͚ࣾϓϩάϥϛϯάɺήʔϜ wɾ4LFUDI wɾ$PEF4UVEJP wɾ4NBMSVCZ
ϏδϡΞϧϓϩάϥϛϯάͰ ΩϟϥΛಈ͔͚ͩ͢Ͱ ுΓ߹͍͕ͳ͍ ݸਓͷײͰ͢
ڝٕੑ͕͋Δ ϓϩάϥϛϯάΛ༻͍ͨαʔϏε wɾڝٕϓϩάϥϛϯά "U$PEFS 5PQPEFS FUDʜ
ڝٕϓϩάϥϛϯάͱ wɾ͓ʹԊͬͯɺϓϩάϥϜΛॻ͘ڝٕ wɾΞϧΰϦζϜɺֶͳͲͷ͕ࣝΘΕΔ
ॳֶऀʹϋʔυϧ͕ߴ͗͢Δ ݸਓͷײͰ͢
੍࡞എܠ·ͱΊ
੍࡞എܠ·ͱΊ wɾϓϩάϥϛϯάඞमԽ wɾখதߴͰॳֶऀ͚Ͱڝٕੑͷ͋ΔαʔϏε͕ গͳ͍ wɾطଘαʔϏεͩͱϋʔυϧ͕ߴ͍
$SBGUPNZͰఆͯ͠ ͍Δλʔήοτ
ϝΠϯ খதߴੜ αϒ ϓϩάϥϛϯάॳֶऀ
$SBGUPNZૂ͍
$SBGUPNZૂ͍ ɾݏ͍ʹͤ͞ͳ͍ ɾ͍͠͡Όͳ͍ͱࢥΘͤΔ ϓϩάϥϛϯάΛ
$SBGUPNZࠓޙͷల։
$SBGUPNZࠓޙͷల։ ɾ6* 69ͷվળ ɾΤσΟλ෦ʹ-JOUΛ࣮ ɾউརͳͲͷϥϯΩϯά
ΞδΣϯμ ɾ੍࡞ϓϩμΫτʰ$SBGUPNZʱͷհ N ɾʰ$SBGUPNZʱΛࢧ͑Δٕज़ N ɾࠓճͷৼΓฦΓ༨ஊ N
ͪΐͬͱখ͍͕͠ଓ͖·͢ ઌʹɺ8&#ٕज़ΛטΜͰͳ͍ਓ
ͪΐͬͱখ͍͕͠ଓ͖·͢ ԿݴͬͯΔ͔Θ͔Μͳ͍ͱࢥ͍·͕͢ ʰ͋͊͜Μͳੈք͋ΔΜͩͳ͊ʱ ͱΑ͠ͳʹ
ͪΐͬͱখ͍͕͠ଓ͖·͢ ؾʹͳΔ͕͋Ε ޙ΄Ͳؾܰʹ ࣭͍͚ͯͨͩ͠Δͱ ͏Ε͍͠Ͱ͢
ͪΐͬͱখ͍͕͠ଓ͖·͢ ٕज़ऀ͓Αͼֶੜ
ͪΐͬͱখ͍͕͠ଓ͖·͢ Θ͔Μͳ͍ͱ͜Ζ͋ͬͨΒ ੋඇ࣭͍ͯͩ͘͠͞ ͋ͱϝϞ͙͙ͬͯΕ
ʰ$SBGUPNZʱΛࢧ͑Δٕज़ ɾߏɺઃܭࢥ ɾٕज़બఆ ɾ$SBGUPNZͷίΞͱͳΔ෦
$SBGUPNZ@ٕज़ <AߏA AઃܭࢥA>
$SBGUPNZͷߏ αʔόʔϨεΞʔΩςΫνϟ ʢଟʣ
$SBGUPNZͷߏ (PPHMFΞΧϯτΛ ར༻ͨ͠ೝূ
$SBGUPNZͷߏ ೝূࡁΈϢʔβʔσʔλͱ ඥ͚ͨઓಆσʔλͷอଘ
$SBGUPNZͷߏ 'BB4Λར༻ͨ͠ ϥϯΩϯάͳͲΛฦ͢"1*
͜ͷߏͷϝϦοτ wɾαʔόʔΛ༻ҙ͢Δඞཁ͕ͳ͍ wɾࡉ͔ͳΠϯϑϥͷઃఆΛ͠ͳ͍͍ͯ͘ wɾ͕ϑϩϯταΠυͷίΞػೳͷ࡞ʹྗͰ͖Δ
ࢥతͳ෦ w 'MVY ࣮ࡍ7VFY "UPNJDEFTJHO
ࢥతͳ෦ w 'MVY ࣮ࡍ7VFY "UPNJDEFTJHO wσʔλͷྲྀΕ wཁૉͷΈཱͯํ
ࢥతͳ෦ w 'MVY ࣮ࡍ7VFY "UPNJDEFTJHO wσʔλͷྲྀΕ wཁૉͷΈཱͯํ ׂѪ͠·͢ ͳͥͳΒ͕࣌ؒͳ͍ͷͰ
$SBGUPNZ@ٕज़ Aٕज़બఆA
ٕज़બఆ wɾ/VYU wɾGJSFCBTF wɾ"VUI
ٕज़બఆ wɾ/VYU wɾGJSFCBTF wɾ"VUI
ٕज़બఆ wɾ/VYU wɾGJSFCBTF wɾ"VUI wࣄͰ͍ͬͯͯ׳ΕͯΔ͔Β wαʔόʔ͍ͨ͘ͳ͔ͬͨ wͬͯΈ͔ͨͬͨ
$SBGUPNZ@ٕज़ AίΞػೳA
͜͜෦
͕ઈର Γ͍ͨ͜ͱ
͕ઈରʹ Γ͍ͨ͜ͱ
͕ઈରʹΓ͍ͨ͜ͱ ɾؔܕࣗ࡞தؒݴޠ ɾϝλϓϩάϥϛϯά ɾFWBM
தؒݴޠͬΆ͘ఆౕٛͨ͠
தؒݴޠͬΆ͘ఆౕٛͨ͠
தؒݴޠͬΆ͘ఆౕٛͨ͠ ߦ΄Ͳͷؔఆٛ܈
தؒղऍݴޠͷׂ wɾFWBM࣌ͷ҆શ୲อ wɾHDEؔͳͲجૅؔͷఆٛ wɾ߹ؔͰҠಈɺ߈ܸͳͲͷఆٛ
ϥϜμࣜͬΆؔ͘Ͱॻ͘ϝϦοτ wɾςετͷ͢͠͞ wɾ෭࡞༻ͷແ͞
ςετͷ͢͠͞
2ͳͥؔܕͬΆ͘ॻ͘ͱ ςετ͕͍͢͠ͷ͔
None
None
ग़ྗ݁Ռ͕5SVFͳΒ ͦͷؔਖ਼͍͠
ςετ௨ͯ͠Ε όά͕ग़ʹ͍͘ʂʂʂʂ
෭࡞༻ͷແ͞
෭࡞༻ͷ͋ΔϓϩάϥϜ
None
ݩʹఆ͕ٛͨ͠ ॻ͖Θͬͯ͠·͍ͬͯΔ
෭࡞༻
෭࡞༻ͷແ͍ϓϩάϥϜ
ݫີʹ͜ͷྫਖ਼͘͠ͳ͍
ݩʹఆٛͨ͠ มԽ͠ͳ͍ ݫີʹ͜ͷྫਖ਼͘͠ͳ͍
όά͕ग़ʹ͍͘ʂʂʂʂ
ϝλϓϩάϥϛϯά
ϝλϓϩάϥϛϯά ͍ͬͯ·͔͢ʁ
ϝλϓϩάϥϛϯάͱ wϝλϓϩάϥϛϯά NFUBQSPHSBNNJOH ͱ ϓϩάϥϛϯάٕ๏ͷҰछͰɺϩδοΫ ΛίʔσΟϯά͢ΔͷͰͳ͘ɺ͋Δ ύλʔϯΛͬͨϩδοΫΛੜ͢ΔߴҐ ϩδοΫʹΑͬͯϓϩάϥϛϯάΛߦ͏ํ ๏ɺ·ͨͦͷߴҐϩδοΫΛఆٛ͢Δํ๏ ͷ͜ͱɻओʹରݴޠʹຒΊࠐ·ΕͨϚΫ
ϩݴޠʹΑͬͯߦΘΕΔɻ 8JLJQFEJBΑΓ
؆୯ʹ͢Δͱ
ϝλϓϩάϥϛϯάͱ w ϓϩάϥϜͷίʔυΛ w ੜ͢ΔίʔυΛॻ͘͜ͱ
͖ͬ͞%&.0Ͱݟͤͨ௨ΓͰ͢
FWBMͱʁ
ීஈ͔ΒͬͯΔΑʔͬͯํ!
FWBMͱ
FWBMͱ w Ҿʹ͞ΕͨจࣈྻΛɺ w ࣜ ϓϩάϥϜ ͱͯ͠ධՁ͢Δ
ͭ·Γ
None
จࣈྻͰॻ͍ͨϓϩάϥϜ͕ ಈ͍ͯ͠·͏
ͳʹ͕ѱ͍ͷ
None
None
ެࣜΩϡϝϯτΑΓ
ؓٳ
ͯ͞ɺ͜͜Ͱຊདྷͷ εϥΠυλΠτϧ
'SPOU&OE 'SBNFXPSLʹஔ͚Δ ϝλϓϩάϥϛϯάͷ ੑ͓Αͼ׆༻ࣄྫ TҏཾҰ
7JSUVBM%0.Λ׆༻ͨ͠ ϑϩϯτΤϯυϑϨʔϜ ϫʔΫʹ͓͚Δ ηΩϡΞͳFWBMؔͷར༻ͱ ϝλϓϩάϥϛϯάੑ ͓Αͼ׆༻ࣄྫ TҏཾҰ
͔ͬͨͷͰΧοτ͞Ε·ͨ͠
7JSUVBM%0.Λ׆༻ͨ͠ ϑϩϯτΤϯυϑϨʔϜ ϫʔΫʹ͓͚Δ ηΩϡΞͳFWBMؔͱ ϝλϓϩάϥϛϯάੑ ͓Αͼ׆༻ࣄྫ TҏཾҰ
ϝλϓϩͱ/VYUͷੑ 7JSUVBM%0.Λར༻ͨ͠ϑϨʔϜϫʔΫͳΒԿͰՄ
ੑ wɾҙDPNQPOFOUʹఆٛΛӅณͰ͖Δ wɾෳࡶͳ(6*࣮͍͢͠ wɾQMVHJOԽ͢Δ͜ͱͰҙDPNQPOFOUͰ wͷల։͕Մೳ
$SBGUPNZͰFWBM͕ ߦΘΕΔաఔ
112 KTPOͷੜ (6*ͷΤσΟλ \ग़དྷͨͷKTPO^ ϝλϓϩͷͨΊͷ ࠷ڧͷؔ தؒݴޠ ݴޠ͕ఆٛ͞Ε͍ͯΔ ίϯϙʔωϯτ EVAL
EVAL EVAL ίʔυ͕҆શʹ࣮ߦ͞ΕΔ
113 KTPOͷੜ (6*ͷΤσΟλ \ग़དྷͨͷKTPO^ ϝλϓϩͷͨΊͷ ࠷ڧͷؔ தؒݴޠ ݴޠ͕ఆٛ͞Ε͍ͯΔ ίϯϙʔωϯτ EVAL
EVAL EVAL ίʔυ͕҆શʹ࣮ߦ͞ΕΔ
114 KTPOͷੜ (6*ͷΤσΟλ \ग़དྷͨͷKTPO^ ϞμϯͳϑϩϯτΤϯυ ϑϨʔϜϫʔΫ ͩͱ͜ͷΑ͏ͳ(6*͕࡞Γ͍͢ʂ
115 \ग़དྷͨͷKTPO^ ϝλϓϩͷͨΊͷ ࠷ڧͷؔ தؒݴޠ
116 ݴޠ͕ఆٛ͞Ε͍ͯΔ ίϯϙʔωϯτ EVAL EVAL EVAL ίʔυ͕҆શʹ࣮ߦ͞ΕΔ
117 KTPOͷੜ (6*ͷΤσΟλ \ग़དྷͨͷKTPO^ ϝλϓϩͷͨΊͷ ࠷ڧͷؔ தؒݴޠ ݴޠ͕ఆٛ͞Ε͍ͯΔ ίϯϙʔωϯτ EVAL
EVAL EVAL ίʔυ͕҆શʹ࣮ߦ͞ΕΔ
ΞδΣϯμ ɾ੍࡞ϓϩμΫτʰ$SBGUPNZʱͷհ N ɾʰ$SBGUPNZʱΛࢧ͑Δٕज़ N ɾࠓճͷৼΓฦΓ༨ஊ N
$SBGUPNZʹ͍ͭͯͷ ৼΓฦΓ
;Γ͔͑Γ@$SBGUPNZ ɾϓϩάϥϛϯά֓೦ֶ͕Δ ɾ͔ͨ͠͠ΒϦϦʔε͢Δ͔͠Εͳ͍ ɾϩάΠϯͳͲҰ௨ΓͷػೳͰ͖͍ͯΔ
;Γ͔͑Γ@࡞ۀఔ ɾ(JU)VCͱ5SFMMPͰ͍͍ײ͡ʹཧͰ͖ͨ ɾݟੵΓΑΓૣΊʹͰ͖ͯఱ࠽ ɾ࣮ϑϧεΫϥονͰճ࡞Γͯ͠Δ
"1*,FZͷӅณ +&45Ͱͷςετ ֤छٕٕज़ݕূ
ৼΓฦΓ@ຊԻ ɾϓϩμΫτͰFWBMϝλϓϩ͔ͨͬͨ͠ ɾޙ͚ͰͦΕͬΆ͍ཧ༝͚ͭΕͨ ɾϞμϯͳαʔόϨεΞʔΩςΫνϟͰ͖ͨ
ؓٳ
࠷ޙʹ
༨ஊ