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
360
未来は現在からの継続
YAPC::Hakodate での登壇資料
kii310
October 04, 2024
Tweet
Share
More Decks by kii310
See All by kii310
ディスパッチについて
kii310
1
13
再帰関数は無名関数にできるか?
kii310
2
120
アーキテクチャの一番最初の話
kii310
1
41
カリー化と部分適用
kii310
3
81
抽象に依存する
kii310
1
89
抽象に依存する 〜概論編〜
kii310
2
73
純粋関数からDI
kii310
2
190
初心忘るべからず
kii310
1
180
オブジェクトと関数で再現するクラス
kii310
0
30
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Testing 201, or: Great Expectations
jmmastey
42
7.4k
Building an army of robots
kneath
304
45k
The World Runs on Bad Software
bkeepers
PRO
67
11k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
12
1.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
25k
How STYLIGHT went responsive
nonsquared
99
5.4k
The Invisible Side of Design
smashingmag
299
50k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
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 ܧଓϞφυ తޮՌ
·ͱΊ ܧଓ͠ͱ͍͏֓೦ɺෆ֬ఆͳཁૉΛѻ͏͜ͱ͕Ͱ͖Δ ͦ͜ʹύλʔϯϚονͳͲͷٕज़͕͋Γɺ ϓϩάϥϛϯάͷ໘ന͞ΛൃݟͰ͖·͢
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ