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
3ヶ月間Scalaと付き 合って感じた事 ……という発表を想定していたのですが
Search
cedretaber
April 26, 2016
Technology
3
3.1k
3ヶ月間Scalaと付き 合って感じた事 ……という発表を想定していたのですが
本題のタイトルは『何故「可変な状態を持たないものにAkkaのActorを使うのはアンチパターン」なのか』です。
cedretaber
April 26, 2016
Tweet
Share
More Decks by cedretaber
See All by cedretaber
関数型初心者におすすめしたい "OCaml"
cedretaber
1
880
猫とたはむれる
cedretaber
2
860
Other Decks in Technology
See All in Technology
飲食店予約台帳を支えるインタラクティブ UI 設計と実装
siropaca
7
1.7k
RSNA2024振り返り
nanachi
0
570
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
1.3k
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
目の前の仕事と向き合うことで成長できる - 仕事とスキルを広げる / Every little bit counts
soudai
24
7k
プロセス改善による品質向上事例
tomasagi
2
2.5k
地方拠点で エンジニアリングマネージャーってできるの? 〜地方という制約を楽しむオーナーシップとコミュニティ作り〜
1coin
1
220
一度 Expo の採用を断念したけど、 再度 Expo の導入を検討している話
ichiki1023
1
160
エンジニアが加速させるプロダクトディスカバリー 〜最速で価値ある機能を見つける方法〜 / product discovery accelerated by engineers
rince
2
240
現場で役立つAPIデザイン
nagix
33
12k
次世代KYC活動報告 / 20250219-BizDay17-KYC-nextgen
oidfj
0
250
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
970
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Being A Developer After 40
akosma
89
590k
Docker and Python
trallard
44
3.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The World Runs on Bad Software
bkeepers
PRO
67
11k
A designer walks into a library…
pauljervisheath
205
24k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Site-Speed That Sticks
csswizardry
4
380
What's in a price? How to price your products and services
michaelherold
244
12k
Transcript
ϲ݄ؒ4DBMBͱ͖ ߹ͬͯײͨ͡ࣄ ʜʜͱ͍͏ൃදΛఆ͍ͯͨ͠ͷͰ͕͢
ฐٕࣾज़ϒϩάʹ͍ͭͯ w 0QU5FDIOPMPHJFT.BHB[JOF w ΤϯδχΞͱ͔ਓࣄͷਓͱ͔ ͕ॻ͍ͯ·͢ w 4DBMBத৺͕ͩɺΠϯϑϥ +BWB4DSJQUͷهࣄ͋Δ͔ w
ݟͯͶʂ w ࢲهࣄॻ͖·ͨ͠
IUUQUFDI NBHB[JOFPQUOFKQ
None
Ͱɺ w هࣄΛॻ͘
ͰɺͰɺ w ιοίʔౖΒΕΔ
Կ͕ѱ͔ͬͨͷʁ w ͜ͷลΓ͕શͯ
ͳͷͰɺ
ԿނʮՄมͳঢ়ଶΛ࣋ͨͳ͍ ͷʹ"LLBͷ"DUPSΛ͏ ͷΞϯνύλʔϯʯͳͷ͔
݁ w ίετʹݟ߹͏Ϧλʔϯ͕ಘ͍͔Β
ίετͱ w ઃܭͷෳࡶ͞ w ҆શੑͷԼ w ύϑΥʔϚϯε
"DUPSͷࢮ׆ͷ
"DUPSͷࢮ׆ͷ w "DUPSࢮ͵ࣄ͋Δʢগͳ͘ͱͦΕΛલఏʹઃ ܭ͢Δ͖ʣ w ࢮΜͩ"DUPSΛͲ͏͢Δ͔ w ʮͱΓ͋͑ͣ͜͏͓͚ͯ͠ྑ͍ʯແ͍
4VQFSWJTPS w FSMBOHʹ͋ΔΑ͏ͳͭ w ϫʔΧʢࢠΞΫλʔʣͷࢹ࠶ىಈ͕Ͱ͖Δ w ྫ֎ʹରԠͯ͠ॲཧΛهड़Ͱ͖Δ w ࠶ىಈʹؔͯ͠ઓུʢετϥςδʔʣΛܾΊΔࣄ͕Ͱ͖Δ w
༧Ί͍͍͢ઓུʢ0OF'PS0OFʣΦϓγϣϯ ʢ3FTUBSU 3FTVNF Dʣ͕༻ҙ͞Ε͍ͯΔ w ࡞Δ͖γεςϜʹର͢Δਂ͍ཧղ͕ෆՄܽ
ϝʔϧϘοΫεͷ༰ྔ
ϝʔϧϘοΫεͷ༰ྔ w "DUPSͷϝʔϧϘοΫε͕͍ͬͺ͍ʹͳΔࣄ͋Δ w ϝʔϧϘοΫεͷ༰ྔͲΕ͘Β͍͕ద͔ w ϝʔϧϘοΫε͕ຬഋʹͳͬͨΒͲ͏͢Δ͔ w "LLBͰΈࠐΈͷϝʔϧϘοΫε࣮͕͋Δ w
࡞Δ͖γεςϜʹର͢Δਂ͍ཧղ͕ SZ
ΈࠐΈϝʔϧϘοΫε ʢҰ෦ʣ w 6OCPVOEFE.BJMCPY w 4JOHMF$POTVNFS0OMZ6OCPVOEFE.BJMCPY w /PO#MPDLJOH#PVOEFE.BJMCPY w 6OCPVOEFE$POUSPM"XBSF.BJMCPY
w D
ʢܕʣ҆શੑͷԼ w ݱঢ়ɺ"LLBͷ"DUPSͰͲΜͳܕͷมͰϝοηʔδ ͱͯ͠ૹΔࣄ͕Ͱ͖Δ w ૹΔଆͷܕͱड͚औΔଆͷܕ͕ϛεϚον͍ͯ͠ΔͱɺԆʑ ड͚औΒΕΔѼͷͳ͍ϝοηʔδΛૹΓ͚ͭͮΔࣄʹͳΔ w ͨͩ͠ɺকདྷతʹ"LLBʹܕ͕ಋೖ͞ΕΔ͔ʁʢBLLB UZQFEʣ
w "LLBʹܕΛಋೖ͢ΔϥΠϒϥϦ͋ΔʢUZQFEBDUPSTʣ
ύϑΥʔϚϯε w "LLB"DUPSΛ͏ͱɺී௨ʹ'VUVSFΛ͏ΑΓѹ తʹ͍ w ͜ΕઃܭʹΑΔͷͰɺ୯७ʹࣈ͚ͩݟΔΘ ͚ʹߦ͔ͳ͍͕ʜʜɻ
ͱΓ͋͑ͣϕϯνऔͬͯΈͨ
None
݁Ռ 'VUVSF "DUPS
ͰͲ͏ͯ͠"LLBΛ͏ͷʁ w ʮมԽ͠ಘΔঢ়ଶʯΛฒߦʹѻ͏ࡍɺ͜ΕҎ্ͳ͍ ఔ៉ྷʹઃܭͰ͖Δ w σουϩοΫͷڪා͔Βղ์͞ΕΔ w ॲཧಉ͕࢜ૄ݁߹ʹͳΔɻϝϯςφϯεੑ͕ߴ·Γɺ Մੑ্͕Δ w
ܭࢉػΛ·͍ͨͰॲཧ͕ॻ͚Δ
"LLBΛ͏ࡍʹҙ͖͢ࣄ ฑʁ w ʮຊʹඞཁͳͷʯ͕Կ͔ΛͪΌΜͱҙࣝ͠Α͏ w ࡞ΔલʹΑ͘ߟ͑Α͏ɻͲ͕͜٧·ΔʁɹͲ͕͜స ͚ಘΔʁɹ"DUPSಉ࢜ͷώΤϥϧΩʔʁ w "LLBΛ͏Μͩͱ͍͏ؾ߹
ͦͦ4DBMB"LLBͰྑ͍ͷ ͔ʁ w &SMBOHͷํ͕͍͍߹͋ΔͷͰʁ w (Pݴޠͱ͔)BTLFMMͱ͔3VTUͱ͔ͰܰྔεϨο υ͋ΔΑ w %ݴޠͰΞΫλʔϞσϧઃܭͰ͖Δͧʂ