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
Masayuki Mizuno
August 21, 2024
0
250
継続オペレータの話
Masayuki Mizuno
August 21, 2024
Tweet
Share
More Decks by Masayuki Mizuno
See All by Masayuki Mizuno
Omotesando.rb #110
fetburner
0
170
Continuation is to be continued
fetburner
1
1.7k
callccの実装を読む
fetburner
0
190
RubyでSlackのbotを作ろう
fetburner
0
180
Rubyでリストモナドを使う
fetburner
0
190
次世代のプロファイラVernierを試す
fetburner
0
130
数値計算とメモリ最適化
fetburner
0
260
3/14なので円周率を計算する
fetburner
0
430
ネットワーク機器の中の OCaml
fetburner
1
750
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
920
The Curious Case for Waylosing
cassininazir
0
240
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
180
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
Speed Design
sergeychernyshev
33
1.5k
Transcript
©2024 Wantedly, Inc. ܧଓΦϖϨʔλͷ Shibuya.rb[:20240821] Aug 21, 2024 - Masayuki
Mizuno
©2024 Wantedly, Inc. ࠓ͢͜ͱ
©2024 Wantedly, Inc. ࠓ͢͜ͱ Ϟνϕʔγϣϯ w ඇܾఆੑܭࢉͰͷίʔϧόοΫࠈ 3VCZʹ࣮͞Ε͍ͯΔܧଓΦϖϨʔλͷհ
w DBMMDDͷհ DBMMDDҎ֎ͷܧଓΦϖϨʔλͷհ w TIJGUSFTFUͷհ w DBMMDDʹΑΔTIJGUSFTFUͷ࣮ w TIJGUSFTFUΛ༻͍ͨඇܾఆܭࢉͷ࣮
©2024 Wantedly, Inc. Ϟνϕʔγϣϯ
©2024 Wantedly, Inc. Ϟνϕʔγϣϯ doʙendͰωετΛਂͤͣ͘ίʔυยΛΓग़͍ͨ͠ HaskellͷϦετϞφυతͳίʔυΛRubyͰॻ͘ͱίʔϧόοΫࠈʹͳͬͯ͠·͏
©2024 Wantedly, Inc. ϝλϓϩͰͷղܾ ੍ޚߏͷ࠶ൃ໌͕ඞཁ Ifจ͕ཉ͚͠ΕDSL͕ղऍͰ͖ΔͷΛ৽͘͠༻ҙ͠ͳ͚ΕͳΒͳ͍
©2024 Wantedly, Inc. ܧଓΦϖϨʔλͰͷղܾ ੍ޚߏͷ࠶ൃ໌ෆཁ ωετΛਂͤͣ͘ίʔυยΛΓग़ͯ͠ϧʔϓ͍ͯ͠Δ
©2024 Wantedly, Inc. 3VCZʹ࣮͞Ε͍ͯΔܧଓΦϖϨʔλͷհ
©2024 Wantedly, Inc. Rubyʹ࣮͞Ε͍ͯΔܧଓΦϖϨʔλ: call/cc ܧଓʢͦΕҎ߱ͷܭࢉʣΛશͯΓग़ͯ͠ଋറ͢Δ setjmpతͳΠϝʔδ https://docs.ruby-lang.org/ja/latest/class/Continuation.html ΑΓ
©2024 Wantedly, Inc. ܧଓΦϖϨʔλͰͷղܾ࠶ܝ call/ccͰΓग़ͨ͠ίʔυยΛԿݺͼग़͍ͯ͠Δ call/ccͰߦ͖ͬͨΓͬͯ͜ͳ͍ͷͰɺΓઌcall/ccͰొ͍ͯ͠Δ
©2024 Wantedly, Inc. call/ccͷ ඞཁҎ্ʹେ͖ͳίʔυยΛΓग़ͯ͠͠·͏ endҎ߱ͷίʔυΓग़ͯ͠͠·͏ͷͰɺదͳॴͰଧͪࢭΊʹ͢ΔͨΊʹcall/cc͕2ճඞཁ
©2024 Wantedly, Inc. DBMMDDҎ֎ͷܧଓΦϖϨʔλͷհ
©2024 Wantedly, Inc. call/ccҎ֎ͷܧଓΦϖϨʔλ: shift/reset shift͔Βreset·ͰͷؒͷίʔυยΛΓग़͢ ߦ͖ͬͨΓͬͯ͜ͳ͍call/ccͱҧ͍ɺresetʹ౸ୡͨ͠Β͖ͬͯͯ͘ΕΔ
©2024 Wantedly, Inc. call/ccʹΑΔshift/resetͷ࣮ άϩʔόϧมͱcall/ccͰshift/reset࣮Մೳ ΓઌΛ͓֮͑ͯͨ͘Ίͷάϩʔόϧมඞཁ https://okmij.org/ftp/continuations/shift-reset.scm ͷScheme࣮ΛRubyʹҊͨ͠ͷ
©2024 Wantedly, Inc. shift/resetΛ༻͍ͨඇܾఆੑܭࢉͷ࣮ ૂͬͨίʔυย͚ͩऔΓग़ͤΔͷͰɺ࣮͕γϯϓϧ resetͰͬͯ͘ΕΔͷͰɺflat_map͕ͦͷ··͑Δ
©2024 Wantedly, Inc. ·ͱΊ
©2024 Wantedly, Inc. ·ͱΊ 3VCZʹ࣮͞Ε͍ͯΔܧଓΦϖϨʔλͷհ w DBMMDDΛ͑ɺͦΕҎ߱શ෦ͷίʔυยΛΓग़ͤΔ DBMMDDҎ֎ͷܧଓΦϖϨʔλͷհ
w TIJGUSFTFUͷհ w TIJGUʙSFTFUͷؒͷίʔυยΛΓग़ͤΔ w DBMMDDʹΑΔTIJGUSFTFUͷ࣮ w TIJGUSFTFUΛ༻͍ͨඇܾఆܭࢉͷ࣮ w ಛఆ۠ؒͷίʔυยΛΓग़ͤΔͷͰɺ࣮͕γϯϓϧʹ w DBMMDDͳΜ͔ΑΓTIJGUSFTFUͷํΛQSJNJUJWFͱ࣮ͯͯ͘͠͠Ε·ͤΜ͔Ͷʜ