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
3
500
未来は現在からの継続
YAPC::Hakodate での登壇資料
kii310
October 04, 2024
Tweet
Share
More Decks by kii310
See All by kii310
カリー化と部分適用(更新) / currying_and_partial_application_in_TypeScript
kii310
0
98
ディスパッチについて
kii310
1
32
再帰関数は無名関数にできるか?
kii310
2
160
アーキテクチャの一番最初の話
kii310
1
60
カリー化と部分適用
kii310
3
100
抽象に依存する
kii310
1
120
抽象に依存する 〜概論編〜
kii310
2
100
純粋関数からDI
kii310
2
210
初心忘るべからず
kii310
1
240
Featured
See All Featured
Optimizing for Happiness
mojombo
379
71k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
56
It's Worth the Effort
3n
188
29k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
65
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Facilitating Awesome Meetings
lara
57
6.8k
RailsConf 2023
tenderlove
30
1.4k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
260
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
110
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
150
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
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 ܧଓϞφυ తޮՌ
·ͱΊ ܧଓ͠ͱ͍͏֓೦ɺෆ֬ఆͳཁૉΛѻ͏͜ͱ͕Ͱ͖Δ ͦ͜ʹύλʔϯϚονͳͲͷٕज़͕͋Γɺ ϓϩάϥϛϯάͷ໘ന͞ΛൃݟͰ͖·͢
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ