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
『Go言語による並行処理』 を読んで
Search
abemotion
February 07, 2020
Technology
1
1.2k
『Go言語による並行処理』 を読んで
golang.tokyo # 29 の資料です。
https://golangtokyo.connpass.com/event/164955/
abemotion
February 07, 2020
Tweet
Share
More Decks by abemotion
See All by abemotion
Go Modules
abemotion
2
860
gRPC Server with golang
abemotion
2
1.6k
Other Decks in Technology
See All in Technology
AIエージェントを5分で一気におさらい!AIエージェント「構築」元年に備えよう
yakumo
1
140
プロンプトエンジニアリングを超えて:自由と統制のあいだでつくる Platform × Context Engineering
yuriemori
0
170
AI との良い付き合い方を僕らは誰も知らない (WSS 2026 静岡版)
asei
1
240
AWS re:Invent 2025 を振り返る
kazzpapa3
2
110
投資戦略を量産せよ 2 - マケデコセミナー(2025/12/26)
gamella
1
610
2025年 山梨の技術コミュニティを振り返る
yuukis
0
150
形式手法特論:コンパイラの「正しさ」は証明できるか? #burikaigi / BuriKaigi 2026
ytaka23
16
4.4k
2025年のデザインシステムとAI 活用を振り返る
leveragestech
0
710
re:Invent2025 セッションレポ ~Spec-driven development with Kiro~
nrinetcom
PRO
2
170
RALGO : AIを組織に組み込む方法 -アルゴリズム中心組織設計- #RSGT2026 / RALGO: How to Integrate AI into an Organization – Algorithm-Centric Organizational Design
kyonmm
PRO
3
820
#22 CA × atmaCup 3rd 1st Place Solution
yumizu
1
130
AWS re:Inventre:cap ~AmazonNova 2 Omniのワークショップを体験してきた~
nrinetcom
PRO
0
130
Featured
See All Featured
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
100
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
230
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
420
Writing Fast Ruby
sferik
630
62k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
120
Building a Scalable Design System with Sketch
lauravandoore
463
34k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.1k
Are puppies a ranking factor?
jonoalderson
0
2.6k
Transcript
HPMBOHUPLZP ʰ(PݴޠʹΑΔฒߦॲཧʱ ΛಡΜͰ HPMBOHUPLZP !BCFNPUJPO
HPMBOHUPLZP ࣗݾհ !BCFNPUJPO DPDPOBMB 4FSWFS4JEF&OHJOFFS 43&νʔϜ (P3BJMT$BLF1)1 5XJUUFSBCFNPUJPO ςχεొࢁ
HPMBOHUPLZP εΩϧͷϑϦʔϚʔέοτ ݸਓͷࣝɾεΩϧɾܦݧΛؾܰʹചങ ొձһສਓ ίίφϥ๏૬ஊ ίίφϥϛʔπ
HPMBOHUPLZP ৽ϓϩϑΟʔϧϖʔδ ˠɹϚΠΫϩαʔϏεߏͰ։ൃ ɹɹ(PΞοϓσʔτ ɹɹɹɹɹʢEFQˠ(P.PEVMFTʣ ɹɹ(PΞοϓσʔτ
HPMBOHUPLZP γεςϜߏ "1*(BUFXBZ (P ɾ1SPpMF4FSWJDF 3BJMT ͷ ઃܭʙ։ൃ·Ͱ୲ /VYU&YQSFTT (P
3BJMT H31$ H31$ "1*(BUFXBZ 1SPpMF4FSWJDF 1SPpMF8FC
HPMBOHUPLZP γεςϜߏ /VYU&YQSFTT (P H31$ H31$ "1*(BUFXBZ 3BJMT "1*4FSWJDF 1SPpMF8FC
3BJMT 1SPpMF4FSWJDF 3&45 ˠฒߦॲཧΛ͍͍ͨཁ͕݅ग़͖ͯͨ
HPMBOHUPLZP ηογϣϯ༰ ฒߦॲཧಋೖʹ͋ͨͬͯɺʰ(PݴޠʹΑΔฒߦॲཧʱΛ ಡΜͰɺ༰ʹ͍ͭͯҰ෦·ͱΊͯΈ·ͨ͠ʂ ʰ(PݴޠʹΑΔฒߦॲཧʱ *4#/
HPMBOHUPLZP ΞδΣϯμ ͳͥฒߦॲཧ͕͍͠ͷ͔ (PͰͷฒߦॲཧύλʔϯ
HPMBOHUPLZP ͳͥฒߦॲཧ͕͍͠ͷ͔
HPMBOHUPLZP ͳͥฒߦॲཧ͕͍͠ͷ͔ ڝ߹ঢ়ଶ ΞτϛοΫੑ ϝϞϦΞΫηεಉظ σουϩοΫ Ϧιʔεރׇ ฒߦॲཧͷ҆શੑΛݟۃΊΔ
HPMBOHUPLZP ڝ߹ঢ়ଶ ͭҎ্ͷૢ࡞͕ਖ਼͍͠ॱ൪Ͱ࣮ߦ͞Εͳ͚Ε͍͚ͳ͍ͱ͜ΖͰɺ ϓϩάϥϜ͕ॱংΛอূ͢ΔΑ͏ʹॻ͔Ε͍ͯͳ͔ͬͨͱ͖ʹൃੜɻ ڝ߹ঢ়ଶ͍ΘΏΔσʔλڝ߹ɻ ͋Δฒߦॲཧͷૢ࡞͕มΛಡΈࠐ͏ͱ͍ͯ͠Δͱ͖ʹɺ ΄͔ͷฒߦॲཧͷૢ࡞͕ෆ֬ఆͷλΠϛϯάͰಉ͡มʹॻ͖ࠐΈ Λߦ͓͏ͱ͢Δͱى͖Δɻ
HPMBOHUPLZP ڝ߹ঢ়ଶ ൃੜ͢ΔݪҼ ଟ͘ͷ߹ɺσʔλڝ߹ϓϩάϥϜΛྻʹߟ͑ͨͱ͖ʹࠞೖɻ ͋Δίʔυ͕ଞͷίʔυΑΓલʹॻ͍ͯ͋Δ͔ΒɺͦΕ͕ઌʹ ࣮ߦ͞ΕΔͱࢥͬͯ͠·͏ɻ ฒߦॲཧͷίʔυΛॻ͘ͱ͖ɺߟ͑ΒΕΔγφϦΦΛ৻ॏʹ ᢸ͠ͳ͍ͱ͍͚ͳ͍ɻ ֤ૢ࡞͕͔͔࣌ؒͬͯߦΘΕΔͷΛ૾͢Δͱ͔Γ͍͢ɻ
HPMBOHUPLZP ͳͥฒߦॲཧ͕͍͠ͷ͔ ڝ߹ঢ়ଶ ΞτϛοΫੑ ϝϞϦΞΫηεಉظ σουϩοΫ Ϧιʔεރׇ ฒߦॲཧͷ҆શੑΛݟۃΊΔ
HPMBOHUPLZP ΞτϛοΫੑ Կ͔͕ΞτϛοΫੑ͕͋Δͱߟ͑ΒΕΔ߹ɺ ͦΕ͕ૢ࡞͞Ε͍ͯΔಛఆͷίϯςΩετͷதͰׂෆೳɺ ͋Δ͍தஅෆՄͰ͋Δ͜ͱΛҙຯ͢Δɻ ͋Δͷ͕ΞτϛοΫͰ͋ΕɺͦΕΛෳͷฒߦͳίϯςΩετ Ͱ҆શʹѻ͑Δ͜ͱ͕҉ʹอূ͞Ε͍ͯΔɻ ͜ͷੑ࣭ʹΑͬͯཧతʹਖ਼͍͠ϓϩάϥϜΛߏͰ͖ΔΑ͏ʹͳ Δɻ
HPMBOHUPLZP ͳͥฒߦॲཧ͕͍͠ͷ͔ ڝ߹ঢ়ଶ ΞτϛοΫੑ ϝϞϦΞΫηεಉظ σουϩοΫ Ϧιʔεރׇ ฒߦॲཧͷ҆શੑΛݟۃΊΔ
HPMBOHUPLZP ϝϞϦΞΫηεಉظ ϓϩάϥϜͰڞ༗Ϧιʔεʹର͢ΔഉଞతͳΞΫηεॴ ˠΫϦςΟΧϧηΫγϣϯͱݺΕ͍ͯΔ ΫϦςΟΧϧηΫγϣϯΛकΔํ๏ͷ͕ͭϝϞϦΞΫηεಉظ
HPMBOHUPLZP ϝϞϦΞΫηεಉظ
HPMBOHUPLZP ͳͥฒߦॲཧ͕͍͠ͷ͔ ڝ߹ঢ়ଶ ΞτϛοΫੑ ϝϞϦΞΫηεಉظ σουϩοΫ Ϧιʔεރׇ ฒߦॲཧͷ҆શੑΛݟۃΊΔ
HPMBOHUPLZP σουϩοΫ ͯ͢ͷฒߦͳϓϩηε͕͓ޓ͍ͷॲཧΛͪ߹͍ͬͯΔঢ়گɻ ˠϓϩάϥϜ֎෦͔Βͷհೖ͕ͳ͍ݶΓɺܾͯ͠ಈ࡞͢Δঢ়ଶʹͳΒͳ͍ ྫ HPQSJOU4VN B C HPQSJOU4VN
C B ࠷ॳͷؔݺͼग़͠ͰɺBΛϩοΫͯ͠ɺͦͷޙCΛϩοΫ͢Δͱ͢Δɻ ͔͠͠ҰํͰɺճͷؔݺͼग़͠ͰɺCΛϩοΫͯ͠ɺͦͷޙʹBΛϩο Ϋ͠Α͏ͱ͢Δ ˠ྆ํͷΰϧʔνϯ͓ޓ͍ʹແݶʹͪ߹͏
HPMBOHUPLZP DPGGNBO݅ σουϩοΫ͕ൃੜ͢ΔͨΊʹଘࡏ͠ͳ͚Ε͍͚ͳ͍݅ ૬ޓഉଞ ͋Δฒߦϓϩηε͕Ϧιʔεʹରͯ͠ഉଞతͳݖརΛͲͷ࣌ʹ͓͍ͯอ͍࣋ͯ͠Δ ݅ͪ ͋ΔฒߦϓϩηεϦιʔεͷอ࣋ͱՃͷϦιʔεͪΛಉ࣌ʹߦΘͳ͚ΕͳΒͳ͍ ԣऔΓෆՄ ͋ΔฒߦϓϩηεʹΑͬͯอ࣋͞Ε͍ͯΔϦιʔεɺͦͷϓϩηεʹΑͬͯͷΈղ์͞ΕΔ ॥ͪ
͋Δฒߦϓϩηε 1@ ɺଞͷ࿈ͳ͍ͬͯΔ͋Δฒߦϓϩηε 1@ Λͨͳ͚ΕͳΒͳ͍ɻ ͦͯ͠ 1@ 1@ Λ͍ͬͯΔɻ ˠ͜ΕΒͷ๏ଇσουϩοΫͷ༧ʹཱͭɻͲΕ͔ͭͰਅʹͳΒͳ͚Εྑ͍
HPMBOHUPLZP ͳͥฒߦॲཧ͕͍͠ͷ͔ ڝ߹ঢ়ଶ ΞτϛοΫੑ ϝϞϦΞΫηεಉظ σουϩοΫ Ϧιʔεރׇ ฒߦॲཧͷ҆શੑΛݟۃΊΔ
HPMBOHUPLZP Ϧιʔεރׇ ฒߦϓϩηε͕ࣄΛ͢ΔͷʹඞཁͳϦιʔεΛऔಘͰ͖ͳ͍ঢ়گɻ Ϧιʔεރׇ௨ৗɺͭҎ্ͷᩦཉͳฒߦϓϩηε͕ෆެฏʹଞͷϓ ϩηε͕ՄೳͳݶΓࣄΛޮతʹߦ͓͏ͱ͍ͯ͠ΔͷΛ͍͛ͯΔɺ ͘͠·͍ͬͨͤͯ͘͞ͳ͍ͱ͍ͬͨঢ়گΛ҉ʹҙຯ͍ͯ͠Δɻ ϦιʔεރׇΛݟ͚ͭΔٕज़ɺܭଌɻ ݕͯ͠ղܾ͢Δྑ͍ํ๏ͷͭ݁ՌΛϩάग़ྗͯ͠ɺ͕ظ௨ Γʹͳ͍ͬͯΔ͔Λଌఆ͢Δ͜ͱɻ ϦιʔεރׇϓϩάϥϜ͕ඇޮతෆదʹৼͬͯ͠·͏ݪҼͱ
ͳΔɻ
HPMBOHUPLZP ͳͥฒߦॲཧ͕͍͠ͷ͔ ڝ߹ঢ়ଶ ΞτϛοΫੑ ϝϞϦΞΫηεಉظ σουϩοΫ Ϧιʔεރׇ ฒߦॲཧͷ҆શੑΛݟۃΊΔ
HPMBOHUPLZP ฒߦॲཧͷ҆શੑΛݟۃΊΔ ฒߦॲཧؾΛ͚ͭͳ͍ͱ͍͚ͳ͍؍ଟ͍͘͠ɻ ίʔυͷಡΈखʹෳࡶ͞ΛͨΒͯ͠͠·͏ͷͰɺίϝϯτΛ ॻ͘ϙΠϯτ ɾ୭͕ฒߦॲཧΛߦͳ͍ͬͯΔ͔ ɾΛղܾ͢Δʹ͋ͨΓߟ͠ͳ͚Ε͍͚ͳ͍ൣғ͕ͲͷΑ ͏ʹฒߦॲཧʹରԠ͍ͯ͠Δ͔ ɾ୭͕ಉظॲཧΛ୲͍ͬͯΔ͔ ˠಉ྅কདྷͷࣗΛॿ͚ͯ͋͛·͠ΐ͏ɻ
HPMBOHUPLZP ΞδΣϯμ ͳͥฒߦॲཧ͕͍͠ͷ͔ (PͰͷฒߦॲཧύλʔϯ
HPMBOHUPLZP (PͰͷฒߦॲཧύλʔϯ
HPMBOHUPLZP (PͰͷฒߦॲཧύλʔϯ ߆ଋ GPSTFMFDUϧʔϓ ΰϧʔνϯϦʔΫΛආ͚Δ ύΠϓϥΠϯ ϑΝϯΞτɺϑΝϯΠϯ
HPMBOHUPLZP ߆ଋ ΞυϗοΫ߆ଋ ߆ଋΛننଇ ίϛϡχςΟɺ৬ɺίʔυϕʔεʹΑͬͯࢦఆ ˠकΓଓ͚Δͷ͍͠ ଟ͘ͷਓ͕खΛೖΕΔೲظͷഭͬͨ։ൃɺؒҧͬͨίʔυ͕ࠞೖ͠ɺ ͕ى͖Δɻ ϨΩγΧϧ߆ଋ
ίϯύΠϥΛۦͯ͠߆ଋΛڲਖ਼ɻ ϨΩγΧϧείʔϓΛͬͯదͳσʔλͱฒߦॲཧͷϓϦϛςΟϒ͚ͩ Λෳͷϓϩηε͕͑ΔΑ͏ʹެ։͢Δ͜ͱΛࢦ͢ɻ ˠ͜ΕʹΑͬͯޡͬͨॲཧΛॻ͍ͯ͠·͏͜ͱΛෆՄೳʹɻ
HPMBOHUPLZP ϨΩγΧϧ߆ଋ
HPMBOHUPLZP (PͰͷฒߦॲཧύλʔϯ ߆ଋ GPSTFMFDUϧʔϓ ΰϧʔνϯϦʔΫΛආ͚Δ ύΠϓϥΠϯ ϑΝϯΞτɺϑΝϯΠϯ
HPMBOHUPLZP GPSTFMFDUϧʔϓ νϟωϧ͔Β܁Γฦ͠ͷมΛૹग़͢Δ ܁Γฦ͕͠ՄೳͳͷΛνϟωϧ্ͷม ʹมɻ ఀࢭγάφϧΛͭແݶϧʔϓ ֎෦͔Βఀࢭͷ໋ྩ͕དྷΔ·Ͱແݶʹ܁Γ ฦ͢ΰϧʔνϯΛ࡞Δɻ EPOFνϟωϧ͕ด͡ΒΕ͍ͯͳ͚Εɺ TFMFDUจΛൈ͚ͯGPSϧʔϓຊମͷΓͷॲཧΛ
ଓ͚Δɻ
HPMBOHUPLZP (PͰͷฒߦॲཧύλʔϯ ߆ଋ GPSTFMFDUϧʔϓ ΰϧʔνϯϦʔΫΛආ͚Δ ύΠϓϥΠϯ ϑΝϯΞτɺϑΝϯΠϯ
HPMBOHUPLZP ΰϧʔνϯϦʔΫΛආ͚Δ ΰϧʔνϯͷੜίετ͕খ͍͕͞ɺੜ͖͍ͯΔݶΓ($͞Εͣͬ ͯ͠·͏ɻ ˠ࣮֬ʹॲཧ͍ͯ͘͜͠ͱ͕ඞཁ ΰϧʔνϯ͕ऴྃʹࢸΔ·ͰͷྲྀΕ ΰϧʔνϯ͕ॲཧΛྃ͢Δ߹ ճ෮Ͱ͖ͳ͍ΤϥʔʹΑΓॲཧΛଓ͚ΒΕͳ͍߹ ఀࢭ͢ΔΑ͏ʹ໋ྩ͞Εͨ߹ ࠷ॳͷͭͷྲྀΕجຊతʹ࣮ߦ͞ΕΔɻ
ͭΊͷΩϟϯηϧॲཧʹؔͯ͠ɺͷΰϧʔνϯ͕ਖ਼͘͠ճऩ͢Δɻ
HPMBOHUPLZP ΰϧʔνϯϦʔΫΛආ͚Δ
HPMBOHUPLZP (PͰͷฒߦॲཧύλʔϯ ߆ଋ GPSTFMFDUϧʔϓ ΰϧʔνϯϦʔΫΛආ͚Δ ύΠϓϥΠϯ ϑΝϯΞτɺϑΝϯΠϯ
HPMBOHUPLZP ύΠϓϥΠϯ γεςϜͷநԽʹ͑Δಓ۩ͷͭɻ σʔλΛड͚औͬͯɺԿΒ͔ͷॲཧΛߦͳͬͯɺͲ͔͜ʹ͢Ұ࿈ͷ࡞ ۀ ˠ͜ΕΒͷૢ࡞ΛεςʔδͱݺͿ ύΠϓϥΠϯΛ͏͜ͱͰɺ֤εςʔδͰͷݒ೦ࣄ߲ΛΓ͚ΒΕɺ ͜Εଟ͘ͷརΛͨΒ͢ɻ ֤εςʔδΛಠཱͯ͠मਖ਼͢Δ͜ͱ͕Ͱ͖ɺεςʔδಉ࢜ͷΈ߹Θͤ ํΛεςʔδͷमਖ਼ͱಠཱͯ͠มߋ͕Մೳɻ
֤εςʔδͰͷॲཧΛ্ྲྀԼྲྀͷεςʔδͱฒߦʹߦ͑Δɻ
HPMBOHUPLZP ύΠϓϥΠϯ
HPMBOHUPLZP ύΠϓϥΠϯ ύΠϓϥΠϯεςʔδͷੑ࣭ εςʔδड͚औΔͷͱฦ͢ͷ͕ಉ͡ܕͰ͋Δ εςʔδҾ͖ճͤΔΑ͏ʹ۩ମԽ͞Εͯͳ͚ΕͳΒͳ͍ ˠੑ࣭Λຬ͍ͨͯͨ͠ͷͰɺΈ߹ΘͤΔ͜ͱ͕Ͱ͖ͨɻ
HPMBOHUPLZP ύΠϓϥΠϯ
HPMBOHUPLZP (PͰͷฒߦॲཧύλʔϯ ߆ଋ GPSTFMFDUϧʔϓ ΰϧʔνϯϦʔΫΛආ͚Δ ύΠϓϥΠϯ ϑΝϯΞτϑΝϯΠϯ
HPMBOHUPLZP ϑΝϯΞτ ύΠϓϥΠϯͷ͋ΔεςʔδͰಛʹܭࢉྔ͕େ͖͘ͳͬͨ߹ ্ྲྀͷεςʔδɺͦͷܭࢉྔ͕େ͖͍εςʔδͷॲཧ͕ऴΘΔ ͷΛػͯ͠ϒϩοΫ͞Εͯ͠·͏ɻ ˠෳͷΰϧʔνϯΛ্ͬͯྲྀͷεςʔδ͔ΒͷೖྗΛฒྻʹ ΛҾͬுͬͯ͘ΔͨΊʹɺෳͷΰϧʔνϯΛىಈ͢Δϓϩη ε
HPMBOHUPLZP ϑΝϯΞτ εςʔδ͕࣍ͷ݅ͷ྆ํʹ߹க͢Δ߹ʹϑΝϯΞτͷར ༻Λݕ౼ͯ͠ΈΔ ͦͷεςʔδ͕ΑΓલͷܭࢉ݁Ռʹґଘ͍ͯ͠ͳ͍ ࣮ߦ͕࣌ؒʹٴͿ ಛʹॱෆಉੜॏཁɻ ˠͲͷεςʔδ͕ฒߦॲཧʹͳ͍ͬͯΔ͔ɺεςʔδ͕Ͳͷॱ൪ Ͱ࣮ߦ͞ΕΔ͔ɺͲͷॱ൪Ͱ͕ฦ͞ΕΔ͔ʹอূ͕ͳ͍ͨΊ ϑΝϯΞτͤ͞Δखॱɺ֘εςʔδΛෳىಈ͢Δ͚ͩ
HPMBOHUPLZP ϑΝϯΠϯ ෳͷσʔλͷετϦʔϜΛɺ୯ҰͷετϦʔϜʹ౷߹
HPMBOHUPLZP ϑΝϯΞτϑΝϯΠϯ
HPMBOHUPLZP ·ͱΊ ฒߦॲཧʹ͓͍ͯؾΛ͚ͭͳ͍ͱ͍͚ͳ͍؍͕ཧ͞Εͨ DIBOOFMॲཧ͕ͪ͋ΔͨΊɺଞΰϧʔνϯͷ੍ޚॲཧͷฒ ྻԽʹ͑Δ ݱࡏDPOUFYU͕͋ΔͷͰɺEPOFDIBOͱҧ͏ϝϦοτཧ ղ͓ͯ͘͠ඞཁ͋Γ