Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
echoサーバーを書いてI/Oと仲良くなる話
Search
kariyayo
April 07, 2017
Programming
880
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
echoサーバーを書いてI/Oと仲良くなる話
kariyayo
April 07, 2017
More Decks by kariyayo
See All by kariyayo
MobX の話
kariyayo
0
390
SpringはどうやってDIしているのか? #jjug_ccc
kariyayo
4
3.7k
Apexで複数環境のLambda関数をデプロイする話 #jawsug
kariyayo
1
2k
近況報告といろいろ作るのが楽しい話 #yokohama_north
kariyayo
0
920
目指せ3つ星インデックス #yokohama_north
kariyayo
2
890
Spring Boot と Swagger #渋谷java
kariyayo
4
5.8k
Gradleを使えるようになるために
kariyayo
0
120
Other Decks in Programming
See All in Programming
Agents on Rails - Rails at Scale 2026
irinanazarova
0
180
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
1
12k
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
200
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
250
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
220
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
120
Jetpack Compose メカニズム
skydoves
0
470
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.2k
Heart of Swift Concurrency
koher
0
960
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.1k
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
300
アクセシビリティから考える情報設計
high_g_engineer
0
390
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
55
8.3k
Building an army of robots
kneath
307
46k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Optimising Largest Contentful Paint
csswizardry
37
4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Paper Plane
katiecoart
PRO
4
53k
Deep Space Network (abreviated)
tonyrice
0
320
Optimizing for Happiness
mojombo
378
71k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
280
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Fireside Chat
paigeccino
43
4k
Transcript
FDIPαʔόʔΛॻ͍ͯ *0ͱྑ͘ͳΔ 2017/3/25 Yokohama North Meetup ˌ5 #yokohama_north bati (@bati11_)
*0ͷ
*0ͷ • งғؾ͔͠௫Ίͯͳͯͪ͘ΌΜͱ͔ͬͯͳ͔ͬͨ • άάΔͱ৭ʑग़ͯ͘Δ • ৭ʑग़ͯ͘Δ͚Ͳɺେମ6/*9ωοτϫʔΫϓϩάϥϛϯάΛ ࢀরͯ͠Δ • IUUQTXXXBNB[PODPKQ6/*9ωοτϫʔΫϓϩάϥϛϯά7PMωοτϫʔ
Ϋ"1*ιέοτͱ95*8ϦνϟʔυεςΟʔϰϯεEQ • ಡΜͰΈͨ • ϒϩάʹ·ͱΊͨ • IUUQCBUJCMPHIBUFOBCMPHDPNFOUSZ
*0ͷ • ͭͷ*0Ϟσϧ • ϒϩοΩϯά*0 • ϊϯϒϩοΩϯά*0 • *0ଟॏ •
γάφϧۦಈ*0 • ඇಉظ*0
*0ͷ • ͭͷ*0Ϟσϧ • ϒϩοΩϯά*0 • ϊϯϒϩοΩϯά*0 • *0ଟॏ •
γάφϧۦಈ*0 • ඇಉظ*0 今回は話しない
*0ͷ • σʔλಡΈࠐΈ࣌ͷ*0ɺͭͷεςοϓ͔ΒΔ • σʔλΛͭ • Χʔωϧ͔ΒϢʔβʔϓϩάϥϜσʔλΛίϐʔ ͢Δ
σʔλͪ Χʔωϧ͔Β Ϣʔβʔ σʔλΛίϐʔ ىಈ ௨ ىಈ ྃ ϒϩοΫ ݕࠪ
४උྃ ىಈ ྃ ϒϩοΫ ϒϩοΫ ϒϩοΩϯά *0 ϊϯ ϒϩοΩϯά *0 *0ଟॏ ඇಉظ*0 ݕࠪ ྃ ݕࠪ ݕࠪ ݕࠪ ϒϩοΫ ݕࠪ
• ಉظ*0ૢ࡞ͱඇಉظ*0ૢ࡞ͷ *0ͷ ಉظI/Oૢ࡞Ͱɺ͜ΕΛཁٻͨ͠ϓϩηε ཁٻͨ͠I/Oૢ࡞͕ྃ͢Δ·ͰϒϩοΫ͢Δ ඇಉظI/Oૢ࡞Ͱɺ͜ΕΛཁٻͨ͠ϓϩηε ϒϩοΫ͠ͳ͍ UNIXωοτϫʔΩϯάϓϩάϥϛϯά ୈ2൛ Vol.1
σʔλͪ Χʔωϧ͔Β Ϣʔβʔ σʔλΛίϐʔ ىಈ ௨ ىಈ ྃ ϒϩοΫ ݕࠪ
४උྃ ىಈ ྃ ϒϩοΫ ϒϩοΫ ϒϩοΩϯά *0 ϊϯ ϒϩοΩϯά *0 *0ଟॏ ඇಉظ*0 ݕࠪ ྃ ݕࠪ ݕࠪ ݕࠪ ϒϩοΫ ݕࠪ 同期I/O操作
σʔλͪ Χʔωϧ͔Β Ϣʔβʔ σʔλΛίϐʔ ىಈ ௨ ىಈ ྃ ϒϩοΫ ݕࠪ
४උྃ ىಈ ྃ ϒϩοΫ ϒϩοΫ ϒϩοΩϯά *0 ϊϯ ϒϩοΩϯά *0 *0ଟॏ ඇಉظ*0 ݕࠪ ྃ ݕࠪ ݕࠪ ݕࠪ ϒϩοΫ ݕࠪ 非同期I/O操作
FDIPαʔόʔ
FDIPαʔόʔ • ΫϥΠΞϯτ͔ΒೖྗΛड͚͚ͯɺͦͷ··ฦ͢ αʔόʔ • ίʔυIUUQTHJUIVCDPNCBUJPSFOPFDIPTFSWFSCMPCNBTUFSTSD TJOHMF@FDIP@TFSWFSD • σϞ
σʔλͪ Χʔωϧ͔Β Ϣʔβʔ σʔλΛίϐʔ ىಈ ௨ ىಈ ྃ ϒϩοΫ ݕࠪ
४උྃ ىಈ ྃ ϒϩοΫ ϒϩοΫ ϒϩοΩϯά *0 ϊϯ ϒϩοΩϯά *0 *0ଟॏ ඇಉظ*0 ݕࠪ ྃ ݕࠪ ݕࠪ ݕࠪ ϒϩοΫ ݕࠪ
FDIPαʔόʔ • SFBEͰϒϩοΫͯ͠Δ • ҎԼͷͭͷํ๏Ͱରࡦͯ͠ΈΔ • ϒϩοΩϯά*0ͷ··Ϛϧνϓϩηεʹ͢Δ • ϊϯϒϩοΩϯά*0Λ͏ •
*0ଟॏΛ͏
ϒϩοΩϯά*0ͷ·· Ϛϧνϓϩηεʹ͢Δ
ϒϩοΩϯά*0ͷ··Ϛϧνϓϩηεʹ͢Δ • GPSLΛͬͯϚϧνϓϩηεʢϚϧνεϨουͰ ͍͍͚Ͳ$ݴޠͰϚϧνεϨου͔Βͳ͍ʣ • αʔόʔͷϓϩηεͭͰɺͭͷΫϥΠΞϯτʹ ରԠ͢Δ • ίʔυIUUQTHJUIVCDPNCBUJPSFOPFDIPTFSWFSCMPCNBTUFSTSD GPSL@FDIP@TFSWFSD
• σϞ
σʔλͪ Χʔωϧ͔Β Ϣʔβʔ σʔλΛίϐʔ ىಈ ௨ ىಈ ྃ ϒϩοΫ ݕࠪ
४උྃ ىಈ ྃ ϒϩοΫ ϒϩοΫ ϒϩοΩϯά *0 ϊϯ ϒϩοΩϯά *0 *0ଟॏ ඇಉظ*0 ݕࠪ ྃ ݕࠪ ݕࠪ ݕࠪ ϒϩοΫ ݕࠪ
ϊϯϒϩοΩϯά*0Λ͏
ϊϯϒϩοΩϯά*0Λ͏ • ιέοτΛϊϯϒϩοΩϯάʹ͓ͯ͘͠ • σʔλಡΈࠐΈ࣌ʹɺσʔλ͕౸ୡ͍ͯ͠ͳ͍߹ϒ ϩοΫͤͣʹ͙͢ʹΤϥʔ͕ฦͬͯ͘Δ • αʔόʔͷϓϩηεͭͰɺෳͷΫϥΠΞϯτʹରԠ ͢Δ •
ίʔυIUUQTHJUIVCDPNCBUJPSFOPFDIPTFSWFSCMPCNBTUFSTSD OPO@CMPDLJOH@FDIP@TFSWFSD • σϞ
σʔλͪ Χʔωϧ͔Β Ϣʔβʔ σʔλΛίϐʔ ىಈ ௨ ىಈ ྃ ϒϩοΫ ݕࠪ
४උྃ ىಈ ྃ ϒϩοΫ ϒϩοΫ ϒϩοΩϯά *0 ϊϯ ϒϩοΩϯά *0 *0ଟॏ ඇಉظ*0 ݕࠪ ྃ ݕࠪ ݕࠪ ݕࠪ ϒϩοΫ ݕࠪ
ϊϯϒϩοΩϯά*0Λ͏ • ιέοτΛཧ͢Δͷਏ͍ • ϒϩοΫ͠ͳ͍ͷͰɺσʔλΛͬͯΔ͚ͩͳͷʹ ϓϩάϥϜ͕ϧʔϓ͠ଓ͚ͯ͠·͍$16͕ແବʹͳ Δ • ϓϩηεͰಈ͍͍ͯΔͷͰɺଞͷ*0ͳͲͰϒϩο Ϋ͠ͳ͍Α͏ʹ͠ͳ͍͚ͯ͘ͳ͍
*0ଟॏΛ͏
*0ଟॏΛ͏ • ෳͷιέοτʹରͯ͠σʔλΛͭ • σʔλͷ౸ୡ͕͋ͬͨΒΧʔωϧ͔Βͷ௨Λड͚औΓɺ ͦͷޙσʔλͷಡΈऔΓΛߦ͏ • αʔόʔͷϓϩηεͭͰɺෳͷΫϥΠΞϯτʹରԠ ͢Δ •
ίʔυIUUQTHJUIVCDPNCBUJPSFOPFDIPTFSWFSCMPCNBTUFSTSD FQPMM@FDIP@TFSWFSD • σϞ
σʔλͪ Χʔωϧ͔Β Ϣʔβʔ σʔλΛίϐʔ ىಈ ௨ ىಈ ྃ ϒϩοΫ ݕࠪ
४උྃ ىಈ ྃ ϒϩοΫ ϒϩοΫ ϒϩοΩϯά *0 ϊϯ ϒϩοΩϯά *0 *0ଟॏ ඇಉظ*0 ݕࠪ ྃ ݕࠪ ݕࠪ ݕࠪ ϒϩοΫ ݕࠪ
*0ଟॏΛ͏ • *0ଟॏͷγεςϜίʔϧFQPMMҎ֎ʹز͔ͭ͋ ΔʢTFMFDUQPMMͳͲʣ • FQPMM-JOVYґଘɻϓϥοτϑΥʔϜґଘΛٵऩ͠ ͨϥΠϒϥϦͱͯ͠MJCFW͕͋Δ
*0ଟॏΛ͏ • ϓϩηεͰಈ͍͍ͯΔͷͰɺଞͷ*0ͳͲͰϒϩο Ϋ͠ͳ͍Α͏ʹ͠ͳ͍͚ͯ͘ͳ͍ • FQPMM͔Β௨͕དྷͯಡΈࠐΈͰϒϩοΫ͢Δ Մೳੑ͋Γ • ॻ͖ࠐΈ࣌ͷϒϩοΫ •
ϑΝΠϧಡΈࠐΈଞͷ௨৴ʹΑΔϒϩοΫ
ੈͷதͷαʔόʔ
ੈͷதͷαʔόʔ • /PEFKTݩʑMJCFW MJCFJPʢεϨουΛͬͯඇ ಉظ*0ͷΑ͏ʹৼͬͯ͘ΕΔϥΠϒϥϦʣΛͬ ͯͯɺMJCVWมΘͬͨ • ଞͷαʔόʔʁ • ࢀߟࢿྉ
• ϚϧνίΞ࣌ͷαʔόϓϩάϥϛϯάͱ )BTLFMMIUUQXXXJJKBEKQDPNQBOZEFWFMPQNFOUUFDI UFDIXFFLQEGUX@@IBTLFMMQEG
·ͱΊ
·ͱΊ • 6/*9ωοτϫʔΫϓϩάϥϛϯάɺࡉ͘ॻ͍ͯ͋ͬ ͯྑ͔ͬͨʢ*0ͷຊͷҰ෦Ͱ͢ʣ • ωοτϫʔΫͷࣝͱϓϩάϥϛϯάɺͰผ ډ͍ͯ͠Δײ͚֮ͩͬͨͲɺίʔυॻ͍ͨΒྑ͘ ͳΕͨ