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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
kii310
October 04, 2024
530
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
未来は現在からの継続
YAPC::Hakodate での登壇資料
kii310
October 04, 2024
More Decks by kii310
See All by kii310
カリー化と部分適用(更新) / currying_and_partial_application_in_TypeScript
kii310
0
110
ディスパッチについて
kii310
1
45
再帰関数は無名関数にできるか?
kii310
2
170
アーキテクチャの一番最初の話
kii310
1
68
カリー化と部分適用
kii310
3
120
抽象に依存する
kii310
1
130
抽象に依存する 〜概論編〜
kii310
2
120
純粋関数からDI
kii310
2
230
初心忘るべからず
kii310
1
270
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.6k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
970
Building Adaptive Systems
keathley
44
3k
Google's AI Overviews - The New Search
badams
0
1k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Why Our Code Smells
bkeepers
PRO
340
58k
Speed Design
sergeychernyshev
33
1.8k
Embracing the Ebb and Flow
colly
88
5.1k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
250
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
330
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
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 ܧଓϞφυ తޮՌ
·ͱΊ ܧଓ͠ͱ͍͏֓೦ɺෆ֬ఆͳཁૉΛѻ͏͜ͱ͕Ͱ͖Δ ͦ͜ʹύλʔϯϚονͳͲͷٕज़͕͋Γɺ ϓϩάϥϛϯάͷ໘ന͞ΛൃݟͰ͖·͢
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ