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
未来は現在からの継続
Search
kii310
October 04, 2024
3
450
未来は現在からの継続
YAPC::Hakodate での登壇資料
kii310
October 04, 2024
Tweet
Share
More Decks by kii310
See All by kii310
ディスパッチについて
kii310
1
17
再帰関数は無名関数にできるか?
kii310
2
150
アーキテクチャの一番最初の話
kii310
1
42
カリー化と部分適用
kii310
3
90
抽象に依存する
kii310
1
95
抽象に依存する 〜概論編〜
kii310
2
85
純粋関数からDI
kii310
2
200
初心忘るべからず
kii310
1
220
オブジェクトと関数で再現するクラス
kii310
0
32
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
2.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Writing Fast Ruby
sferik
629
62k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
For a Future-Friendly Web
brad_frost
180
10k
Why Our Code Smells
bkeepers
PRO
340
57k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Transcript
LJJ ະདྷݱࡏ͔Βͷܧଓ
w LJJͱ͍͍·͢ w ଔͷจܥେֶੜ w 5ZQF4DSJQUͰόοΫΤϯυ ࣗݾհ 9ΞΧϯτ
͜ͷηογϣϯͰɺ ʮܧଓ͠ʯؔܕϓϩάϥϛϯάͷ֓೦Λઆ໌͠ ϓϩάϥϛϯάͷ໘ന͞Λ͑·͢
ಛʹɺ ॳ৺ऀֶੜɺؔܕϓϩάϥϛϯάʹڵຯͷ͋Δํ ʹฉ͍ͯ΄͍͠༰ͱͳ͍ͬͯ·͢
ࠓճͷ:"1$ͷςʔϚɺ 0QFOUIF'VUVSF ͭ·Γະདྷ
ະདྷΛΔͨΊʹɺ ݱࡏΛΕ͍͍
ͳͥͳΒɺ ະདྷݱࡏ͔Βͷܧଓ ͔ͩΒ
ࠓճͷൃද༰ ʰؔܕϓϩάϥϛϯάͷجૅʱ Λେมࢀߟʹ͍͍͍ͤͯͨͩͯ͞·͢ IUUQTXXXSJDDPKQCPPLQSPHSBNNJOHEFUBJM
ҙ ొ͢Δ֓೦ίʔυ࣮Ͱେม͍ʹ͍͘ͷͰ͢ ͋͘·Ͱϓϩάϥϛϯάͷ໘ന͞ͱͯ͠հ͠·͢
w ܧଓ͠ w ύλʔϯϚον
ʮܧଓ͠ʯ໊લͷ௨ΓʮܧଓʯΛ͠·͢ ܧଓͱԿͰ͠ΐ͏͔ʁ ܧଓ͠ͱԿͰ͠ΐ͏͔ʁ
ʮܧଓ͠ʯ໊લͷ௨ΓʮܧଓʯΛ͠·͢ ܧଓͱԿͰ͠ΐ͏͔ʁ ܧଓ͠ͱԿͰ͠ΐ͏͔ʁ ͍ͬͯΔਓ͍·͔͢ʁ
ܧଓͱ l͋Δ࣌ͷܭࢉʹଓ͘શͯͷܭࢉz ʰؔܕϓϩάϥϛϯάͷجૅʱΑΓҾ༻
ྫ͑ɺ BEEؔͱEPVCMFؔͰܭࢉΛߦ͏ͱ͖
͜ͷܭࢉ࣍ͷΑ͏ʹղ͞ΕΔʢݫີͰͳ͍ʣ
͜ͷܭࢉ࣍ͷΑ͏ʹղ͞ΕΔʢݫີͰͳ͍ʣ ֤ܭࢉͷஈ֊ʹ͓͍ͯɺͦͷޙͷܭࢉ͕ܧଓͱͳΔ
͜ͷܭࢉ࣍ͷΑ͏ʹղ͞ΕΔʢݫີͰͳ͍ʣ BEEؔΛܭࢉͨ࣌͠ɺEPVCMF͕ؔܧଓͱͳΔ
ܧଓ͠ $POUJOVBUJPO1BTTJOH4UZMF ͱ lܧଓΛؔʹͯ͠ܭࢉ͢Δख๏z ʰؔܕϓϩάϥϛϯάͷجૅʱΑΓҾ༻
ࠓ·Ͱͷॻ͖ํͰɺ ܧଓ͢Δॲཧͱͦͷલ͕ผʑʹ͔Ε͍ͯΔ ͭ·Γɺޙʹଓ͘ॲཧ͕͔ΕؔΛϦϨʔͷΑ͏ʹ͍͚ͯ͠Δ ͔͠͠ɺ͋Δ࣌ͰͷܧଓΛݺͼग़͠ͱʹڭ͑ͯ͋͛Ε ͦͷޙॲཧ͕Ͱ͖Δͣ
BEEؔͷܧଓEPVCMFؔ BEEؔʹEPVCMFؔΛͤɺॲཧ͕ଓ͘
BEEؔΛܧଓ͠ʹͨ͠ͷ BEEؔʹܧଓ͢ΔؔΛҾͰ͍ͯ͠Δ
ܧଓ͠ʹ͢Δͱɺ௨ৗͷ߹ͱൺͯɺॲཧ͕ٯʹͳΔ
ܧଓ͠ʹ͢Δͱɺ௨ৗͷ߹ͱൺͯɺॲཧ͕ٯʹͳΔ ϓϩάϥϜ্ͷॻ͖ํ͕ɺॲཧͷॱ൪ͱಉ͡ʹͳΔ
͔͠͠ɺܧଓ͢ΔؔΛͯ͠Կ͕Ͱ͖Δͷ͔ʁ
ݱࡏͷॲཧ݁Ռ͔Βɺܧଓ͢ΔॲཧΛબͿ͜ͱ͕Ͱ͖Δ
ܕͷྻ͔ΒɺҎ্ͷΛ୳ؔ͢ ̎छྨͷܧଓΛ͍ͯ͠Δ తͷ͕ݟ͔ͭΓɺ ͔ؔΒग़͢Δޭܧଓ తͷ͕ݟ͔ͭΒͣɺ ؔΛ࠶ؼ͢Δࣦഊܧଓ
ݺͼग़͢ࡍ࣍ͷΑ͏ʹ͢Δ
͜ͷΑ͏ʹܧଓΛ͢͜ͱɺ ॲཧΛذͰ͖Δ
ബʑײͯͨ͡ͱࢥ͍·͕͢ɺ ೝෛՙ͕ͱͯͭͳ͍
ബʑײͯͨ͡ͱࢥ͍·͕͢ɺ ೝෛՙ͕ͱͯͭͳ͍ ۀͰ͏ͷ͓͢͢Ί͠·ͤΜ
࠶ؼΛߦ͏ࡍɺ ؔͷݺͼग़͠ελοΫʹҙ ඌ࠶ؼ͕࠷దԽ͞ΕΔ͔֬ೝ
ͪͳΈʹɺ1SPNJTFͷίʔϧόοΫؔͳͲܧଓΈ͍ͨͳͷ IUUQTRJJUBDPNTIJJUFNTBCCGDEBGCBDBTZODBXBJU ࢀߟ
ܧଓ͠ͰؔΛදݱ͢Δ͜ͱͰɺ ॲཧΛذͤ͞Δ͜ͱ͕Ͱ͖Δ ॲཧ" ޭ ࣦഊ
ॲཧ͕ذ͢ΔͷΛɺՄೳੑͱଊ͑Δͱ ͷఆ·͍ͬͯͳ͍ͷΛՄೳੑͷ·· ܭࢉ͢Δ͜ͱͰ͖ΔͩΖ͏͔ʁ "PS# Մೳੑ̎ Մೳੑ̍
ඇܾఆੑܭࢉʹΑΓՄೳͱͳΔ "PS# Մೳੑ̎ Մೳੑ̍
ඇܾఆੑܭࢉʹΑΓՄೳͱͳΔ "PS# Մೳੑ̎ Մೳੑ̍ ʮܭࢉ͕ܾఆ͠ͳ͍ʯͱ͍͏ͷ Ұͭͷʹఆ·Βͳ͍͜ͱ
ͭ·Γ ̍ʴʢ̎PS̏ʣʹ̏PS̐ ͱ͍͏͜ͱ "PS# Մೳੑ̎ Մೳੑ̍
͜ͷܭࢉͰɺ ̎ΛબΜͩܧଓͱ ̏ΛબΜͩܧଓ ͕ى͜Γ͏Δ "PS# Մೳੑ̎ Մೳੑ̍ ̍ʴʢ̎PS̏ʣʹ̏PS̐
ύλʔϯϚονʹ͍ͭͯ
ύλʔϯϚονͷઆ໌Λ͢Δͷɺ ܧଓ͠ʹ͓͍ͯܧଓͷذͰ ύλʔϯϚονΛ͏ͨΊ
PS ྆ํͷՄೳੑ͕͋ΔBNCͱ͍͏ܕͰද͠·͢ ͨͩͷܕ "PS# Մೳੑ̎ Մೳੑ̍ ̍ʴʢ̎PS̏ʣʹ̏PS̐
/VNCFS "NC < > "PS# Մೳੑ̎ Մೳੑ̍ ̍ʴʢ̎PS̏ʣʹ̏PS̐
/VNCFS "NC < > "PS# Մೳੑ̎ Մೳੑ̍ ̍ʴʢ̎PS̏ʣʹ̏PS̐
͜ͷ࣌ɺύλʔϯϚονͰܕʹ߹Θͤͯ ͠ࢉͷॲཧɺ ಛʹϥοϐϯά͞Εͨܕ͔ΒΛऔΓग़͢ॲཧΛذ͢Δ
ύλʔϯϚονͱɺ ͱͯΞότʹઆ໌͢Δͱ ܕΛͱʹෳͷ݅ذ͕Ͱ͖Δػೳ
ؔܕϓϩάϥϛϯάʹ͓͚Δ݅ذ
ύλʔϯϚονͬͯ001ʢσβΠϯύλʔϯʣͷ͋Εʹࣅͯͳ͍ʁ
ଟॏσΟεύον
ଟॏσΟεύονͱɺ lෳͷΠϯελϯεͷಈతͳܕใʹج͍ͮͯɺ ࣮ࡍʹݺͼग़͢ϝιουΛΓସ͑Δz IUUQTVGDQQOFUTUVEZDTIBSQTQ@NVMUJQMFEJTQBUDIIUNM Ҿ༻
σΟεύονʢEJTQBUDIʣͷҙຯɺૹ Πϝʔδɺܕ෦ߏʹ߹ΘͤͯॲཧΛৼΓ͚Δײ͡
ܕͱจࣈྻͷ͠ࢉ ͷͱจࣈྻͷzUISFFz Λͯ͠ɺ zUISFFzͱ͍͏จࣈྻʹ͢Δ
ܕͱจࣈྻͷ͠ࢉ ϙΠϯτ૬खʹ ࣗͷύλʔϯΛ ༻ҙ͓ͤͯ͘͞
ͭ·Γ '1Ͱ001Ͱ ಉ֓͡೦͕͋ͬͨΓ͢Δ
ͭ·Γ '1Ͱ001Ͱ ಉ֓͡೦͕͋ͬͨΓ͢Δ ڞ௨Λݟ͚ͭΒΕΔͱ ָ͍͠
͓·͚
ࢲͷࣝෆͰઆ໌Ͱ͖ͳ͍͚ΕͲɺ ʮܧଓ͠ʯ͔Β͕ΔΛհ͠·͢
ୈҰڃܧଓ DBMMDD ܧଓϞφυ తޮՌ
·ͱΊ ܧଓ͠ͱ͍͏֓೦ɺෆ֬ఆͳཁૉΛѻ͏͜ͱ͕Ͱ͖Δ ͦ͜ʹύλʔϯϚονͳͲͷٕज़͕͋Γɺ ϓϩάϥϛϯάͷ໘ന͞ΛൃݟͰ͖·͢
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ