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
Cで理解するソケットプログラミング
Search
Gin
November 21, 2020
Technology
0
420
Cで理解するソケットプログラミング
Gin
November 21, 2020
Tweet
Share
More Decks by Gin
See All by Gin
論理と感覚
gin2525
0
190
try to scraping with linebot
gin2525
1
210
Other Decks in Technology
See All in Technology
技術広報経験0のEMがエンジニアブランディングをはじめてみた
coconala_engineer
1
130
継続的テストモデルを実現するためにスリーアミーゴスを用いた10Xでのシフトレフトの事例
nihonbuson
3
150
検証からプロダクトへ: シームレスなLLM開発の ためのしくみ作り
nunukim
1
150
関数型DDDの理論と実践:「決定を遅らせる」を先につくり、 ビジネスの機動力と価値をあげる
knih
2
470
Autopsy of a Cascading Outage from a MySQL Crashing Bug
jfg956
0
200
オブジェクト指向CSSが叶えたかったことと、CSSのいま / The aims of Object-oriented CSS and the current state of CSS usage
shinkufencer
11
3.5k
私のRSpecの書き方 / How I write RSpec
tmtms
4
820
2023 Japan AWS Jr.Championsに選出されての振り返りとこれから
hiropy877
1
130
なんで私に登壇依頼が?! ~頼られるエンジニアになるためには~ /
mixi_engineers
PRO
2
200
10分でわかるfreeeのQA
freee
0
220
#51 “Empowering Azure Storage with RDMA”
cafenero_777
3
210
長文から長文を生成するLLMツールをオープンソースで作ってみた。
tomohisa
2
140
Featured
See All Featured
The Invisible Side of Design
smashingmag
293
49k
Debugging Ruby Performance
tmm1
68
11k
Building Applications with DynamoDB
mza
88
5.6k
Building Adaptive Systems
keathley
29
1.8k
RailsConf 2023
tenderlove
0
510
For a Future-Friendly Web
brad_frost
170
8.9k
Statistics for Hackers
jakevdp
789
220k
Clear Off the Table
cherdarchuk
82
310k
How to train your dragon (web standard)
notwaldorf
71
5.1k
Into the Great Unknown - MozCon
thekraken
10
830
Understanding Cognitive Biases in Performance Measurement
bluesmoon
6
950
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Transcript
২ాୋ༐ $Ͱཧղ͢Δ ιέοτϓϩάϥϛϯά ͏Ұɺ$ΛΖ͏
w ২ాɹୋ༐ ΤμɹλΧΦ w ֶੜ w $ॳ৺ऀ w ετϩϯάθϩେ͖
w 5XJUUFS!HJODP IUUQTUXJUUFSDPNHJODP w ;FOOॻ͖͍ͨ ࣗݾհ
ࠓճͷಈػ
$ݴޠͬͯ ͔ͬ͜Α͘ͳ͍Ͱ͔͢ʁ
͍ ࣮͕খ͍͞ ࢝ͷݴޠ ͍͠ ͜Μͳͷ உͷࢠ େ͖Ͱ͠ΐ
04ͷ։ൃ ݴޠͷ։ൃ ϨΠϠʔٕज़ɹ XBOOBCF BIBDLFS
6/*9ͱͷؔ࿈ੑ
$ݴޠʹ6/*9ͷ͕ࠟࢁ
ࠓճͦΕΒΛབྷΊͯɺ $ݴޠΛɻ
ରऀ ᶃ $Λͪΐͬͱ৮ͬͨ͜ͱ͋Δ ᶄ ଞͷݴޠ৮ͬͨ͜ͱ͋Δ ᶅ $ͷงғؾ͕Γ͍ͨ
ࠓͷඪ
$ݴޠͬΆ͞ΛഽͰײ͡Δ͜ͱ
ຊͷϓϩάϥϜ Ұ ϙΠϯλΉ͍ͣΜ͕ͩ ೋ ߏମʁΠϯελϯεΈ͍ͨͳΜͰ͠ΐʁ ࡾ ʮશͯϑΝΠϧͰ͋Δʯ ࢛ ϑΝΠϧσΟεΫϦϓλͬͯͳΜͩΑ ޒ
*1ΞυϨεʁύιίϯॅॴͰ͠ΐʁ ϙʔτ൪߸ͬͯͳΜͰඞཁͳΜͩΑ ࣣ ιέοτϓϩάϥϛϯάͬͯͳΜͩΑ ീ ιέοτϓϩάϥϛϯάͬͯͲ͏ͬͯ͢ΔΜͩΑ ͓͍ɺฒྻԽ͠ͳ͍ͱ͍ʹͳΒΜͧ
Ұ෦ɹϙΠϯλΉ͍͕ͣͩ
ॴḨɺϝϞϦΞυϨεͰ͢ɻ ͘͠ߟ͑ͳ͍Ͱ͍ͩ͘͞ɻ
ίʔυΛݟͯΈΔɻ TBNQMFDIBQUFSD
ʮ͜Εɺ͍ͭ͏ΜͩΑʯ
ؔʹ͢ͱ͖ͷྫ ʢ࣮ҾɹʂʹɹԾҾʣ TBNQMFDIBQUFSD
$Ͱɺೖؔʹ࣌͢ɺ σʔλΛίϐʔ͢Δɻ TBNQMFDIBQUFSD
ೋ෦ɹ ߏମʁΠϯελϯεͩΖʁ
֓ͶɺͦͷཧղͰ ຊߨ࠲Ͱͳ͍Ͱ͢ɻ
ܧঝ͕Ͱ͖ͳ͍ ϝιουͷఆٛ໘
ίʔυΛݟͯΈΔ TBNQMFDIBQUFSD
ࡾɹʮશͯϑΝΠϧͰ͋Δʯ
ϓϩάϥϜ ֎෦ͷϦιʔεΛ༻͢Δ
ϓϩάϥϜ͔ΒݟΔͱ શͯʮϑΝΠϧʯͰ͋Δɻ
ͦΕ͕ɺΩʔϘʔυͩΖ͏͕ ը໘ͩΖ͏͕ɺ ʮϑΝΠϧʯʹݟ͍͑ͯΔɻ
ͭ·ΓɺϓϩάϥϜ͔Β ֎෦ϦιʔεʹΞΫηε͢Δͱ͖ɺ ͦͷ࣮Λҙࣝ͠ͳͯ͘ྑ͍ɻ
࢛෦ɹ ϑΝΠϧσΟεΫϦϓλͬͯͳΜͩΑ
ϑΝΠϧ σʔλετϦʔϜ ϓϩάϥϜ
ϑΝΠϧσΟεΫϓλ ֎෦ϦιʔεΛ൪߸ͱରԠ͚ͮΔ ͱ͍͏֓೦
ϑΝΠϧσΟεΫϓλ ൪߸ Ϧιʔε ΩʔϘʔυ ը໘ ϩάϑΝΠϧ ʜ
ʜ
ඪ४ೖྗ TUEJO ඪ४ग़ྗ TUEPVU ൪߸ Ϧιʔε ΩʔϘʔυ ը໘
ϩάϑΝΠϧ ʜ ʜ ඪ४ೖྗ TUEJO ඪ४ग़ྗ TUEPVU
ϓϩάϥϜίʔυΛΈͯΈΑ͏ TBNQMFDIBQUFSD
ϓϩάϥϜ͔ΒݟΔͱ શͯʮϑΝΠϧʯͰ͋Δɻ
ޒ෦ɹ *1ΞυϨεʁύιίϯͷॅॴͰ͠ΐʁ
͍ɻͦ͏Ͱ͢ɻ
ωοτϫʔΫʹ͓͚Δ Λϊʔυϗετ ͱ͍ͬͨΓ͢Δ
ݱࡏ*1Wঢ়ଶͳͷͰɺ /"5ʢ/"15ʣ͕ඞਢɻ
ٖࣅతʹʮύιίϯͷॅॴʯ Λ࣮ݱ͍ͯ͠Δ
෦ɹ ϙʔτ൪߸ͬͯͳΜͰඞཁͳΜͩΑ
ͭͷϗετͰಈ͍͍ͯΔ ΞϓϦέʔγϣϯෳ͋Δ
ϗετΞυϨε
ͰɺͲ͏ͬͯ04 ΞϓϦΛࣝผ͢Δʁ
ωοτϫʔΫʹ͓͚Δղܾखஈ ϙʔτ൪߸Ͱ͋Δ
04 8FC TFSWFS .BJM TFSWFS %/4
ϙʔτ൪߸
ࣣ෦ɹ ιέοτϓϩάϥϛϯάͬͯͳΜͩΑ
௨৴ʹؔ͢ΔϓϩάϥϜ
ιέοτϥΠϒϥϦιέοτ"1*
ιέοτϓϩάϥϛϯά
8FCϑϨʔϜϫʔΫ ͜ΕΒΛύοέʔδԽͯ͠ Ӆṭ͍ͯ͠Δɻ
ݪ࢝తͳ௨৴ϓϩάϥϜ
શͯʮϑΝΠϧʯͰ͋Δɻ
͔͠͠ɺ௨৴ྫ֎ͩ
ιέοτগ͠ෳࡶ
ϑΝΠϧʢϩʔΧϧʣͷ߹ 0QFO 3FBE 8SJUF $MPTF
ιέοτͷ߹ #JOE -JTUFO "DDFQU 3FBE XJSUF $MPTF TPDLFU
ീ෦ɹ ιέοτϓϩάϥϛϯά ɹɹͬͯͲ͏ͬͯΔΜͩΑ
ίʔυ͕গ͘͠ͳΔͨΊɺ ෦తʹݟ͍͖ͯ·͠ΐ͏ɻ
͜͜ʂ #JOE -JTUFO "DDFQU 3FBE XJSUF $MPTF TPDLFU TBNQMFDIBQUFSTFWFSDߦ
04 8FC TFSWFS .BJM TFSWFS %/4
ιέοτ
͜͜ʂ #JOE -JTUFO "DDFQU 3FBE XJSUF $MPTF TPDLFU TBNQMFDIBQUFSTFWFSDdߦ
8FC TFSWFS ͷ ϓϩάϥϜ 04 ͷϓϩάϥϜ ʮ൪͏Ͷʙʯ
͜͜ʂ #JOE -JTUFO "DDFQU 3FBE XJSUF $MPTF TPDLFU TBNQMFDIBQUFSTFWFSDߦ
ͷ ϓϩάϥϜ ωοτϫʔΫ MJTUFO ͜͜Λઃఆͯ͠ɺ ଓͪΛ։࢝͢Δ
͜͜ʂ #JOE -JTUFO "DDFQU 3FBE XJSUF $MPTF TPDLFU TBNQMFDIBQUFSTFWFSDʙߦ
ͷ ϓϩάϥϜ ωοτϫʔΫ ͍ͬͯΔΫϥΠΞϯτ ௨৴ΛҰͭͣͭड͚ೖΕΔ
ͷ ϓϩάϥϜ ωοτϫʔΫ ͦΕͧΕʹσΟεΫϦϓλ ΛׂΓৼΔ
ͷϓϩάϥϜ 3PPQ\ ^ ιέοτ σΟεΫϦϓλ ΫϥΠΞϯτຖͷ σΟεΫϦϓλ
͜͜ʂ #JOE -JTUFO "DDFQU 3FBE XJSUF $MPTF TPDLFU TBNQMFDIBQUFSTFWFSDߦҎ߱
αʔό͕Ͱ͖·ͨ͠ɻ ͋ͱΫϥΠΞϯτͰ͢ɻ
ΫϥΠΞϯτ $POOFDU 3FBE XJSUF $MPTF TPDLFU
͜͜ʂ ΫϥΠΞϯτ $POOFDU 3FBE XJSUF $MPTF TPDLFU TBNQMFDIBQUFSDMJFOUDߦ
͜͜ʂ ΫϥΠΞϯτ $POOFDU 3FBE XJSUF $MPTF TPDLFU TBNQMFDIBQUFSTFWFSDdߦ
͜͜ʂ ΫϥΠΞϯτ $POOFDU 3FBE XJSUF $MPTF TPDLFU TBNQMFDIBQUFSTFWFSDdߦ
͜͜ʂ ΫϥΠΞϯτ $POOFDU 3FBE XJSUF $MPTF TPDLFU TBNQMFDIBQUFSTFWFSD ߦ
͜͜Ͱɺ͕͋Γ·͢ɻ
ࠓͷαʔόಉ࣌ʹ ҰਓͷΫϥΠΞϯτ͔͠ ૬ख͕Ͱ͖ͳ͍
࠷ऴ෦ɹ ͓͍ɺฒྻԽ͠ͳ͍ͱ ɹɹɹɹɹ͍ʹͳΒͳ͍ͧɻ
͜Ε·ͰͷϓϩάϥϜ શͯγϯάϧεϨουͳ ϓϩάϥϜͰͨ͠
γϯάϧεϨουͳϓϩάϥϜ શͯͷॲཧ͕ྻ͕ߦΘΕΔ TBNQMFDIBQUFSD
όάɿϝΠϯεϨουͷ͍ӽ͠ TBNQMFDIBQUFSD TBNQMFDIBQUFSD
εϨουʹԿ͔ҾΛ͍ͨ͠ TBNQMFDIBQUFSD
ΫϥΠΞϯτͷσΟεΫϦϓλΛ εϨουʹͯ͠ɺฒྻԽʂ TBNQMFDIBQUFSTFSWFSD
όάɿεϨουηʔϑͰͳ͍ TBNQMFDIBQUFSD
εϨου εϨου CFFST
εϨου εϨου CFFST CFFST
εϨου εϨου CFFST CFFST CFFST CFFST
มΛϩοΫΞϯϩοΫ͢Δ ʢഉଞ੍ޚʣ TBNQMFDIBQUFSD
ຊͷϓϩάϥϜ Ұ ϙΠϯλΉ͍ͣΜ͕ͩ ೋ ߏମʁΠϯελϯεΈ͍ͨͳΜͰ͠ΐʁ ࡾ ʮશͯϑΝΠϧͰ͋Δʯ ࢛ ϑΝΠϧσΟεΫϦϓλͬͯͳΜͩΑ ޒ
*1ΞυϨεʁύιίϯॅॴͰ͠ΐʁ ϙʔτ൪߸ͬͯͳΜͰඞཁͳΜͩΑ ࣣ ιέοτϓϩάϥϛϯάͬͯͳΜͩΑ ീ ιέοτϓϩάϥϛϯάͬͯͲ͏ͬͯ͢ΔΜͩΑ ͓͍ɺฒྻԽ͠ͳ͍ͱ͍ʹͳΒΜͧ
$ݴޠͷงғؾ ͕Θ͔Γ·͔ͨ͠ʁ
04ͷ։ൃ ݴޠͷ։ൃ ϨΠϠʔٕज़ɹ ήʔϜ։ൃʢ$ ʣ XBOOBCF BIBDLFS
ຊ͓͖߹͍͖ ͋Γ͕ͱ͏͍͟͝·ͨ͠
২ాୋ༐ $Ͱཧղ͢Δ ιέοτϓϩάϥϛϯά ͏Ұɺ$ΛΖ͏