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初心者がgoroutineで挑んだFTPプロキシ
Search
ryu
July 13, 2019
Programming
0
2k
Go初心者がgoroutineで挑んだFTPプロキシ
Slide for 2019 Go Conference in Fukuoka
ryu
July 13, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
270
Discover Metal 4
rei315
2
130
すべてのコンテキストを、 ユーザー価値に変える
applism118
3
1.2k
WebViewの現在地 - SwiftUI時代のWebKit - / The Current State Of WebView
marcy731
0
110
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
2
630
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
1
9.3k
AI駆動のマルチエージェントによる業務フロー自動化の設計と実践
h_okkah
0
100
PicoRuby on Rails
makicamel
2
130
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
920
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
52
33k
AIプログラマーDevinは PHPerの夢を見るか?
shinyasaita
1
210
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
80
26k
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
How STYLIGHT went responsive
nonsquared
100
5.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
For a Future-Friendly Web
brad_frost
179
9.8k
Fireside Chat
paigeccino
37
3.5k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Visualization
eitanlees
146
16k
A Modern Web Designer's Workflow
chriscoyier
694
190k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
The Cult of Friendly URLs
andyhume
79
6.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Transcript
(Pॳ৺ऀ͕ ༄ɹ২(.01FQBCP *OD (PSPVUJOFͰΜͩ '51QSPYZ։ൃ
༄ɹ২!IFBU (.0ϖύϘΠϯϑϥΤϯδχΞ ϦϡɹδϯγΫ
झຯंͱ༡Ϳࣄ
None
ೖࣾલ࡞ͬͨͷ
ϩϦϙοϓʁ ʮࠃ࠷େڃͷϨϯλϧαʔόʔαʔϏεʯ
ϩϦϙοϓʂ ݄։࢝ ϨϯλϧαʔόαʔϏε ສਓҎ্ͷ͓٬͞Μ ສҎ্ͷαΠτެ։
ϩϦϙοϓʂͰ͏'51 '51ͷଓ࣌8FCαʔόͷ1VCMJD*1ଓ )PTUVTFSTMPMJQPQKQ *1 )PTUVTFSTMPMJQPQKQ *1 )PTUVTFSTMPMJQPQKQ *1 VTFSTMPMJQPQKQ
$PNNVOJDBUJPO %BUBUSBOTGFS $MJFOU
ϩϦϙοϓʂͰ͏'51 8FCαʔόͷσʔλΛҠઃ͢Δͱ σʔλҠઃ $MJFOU
ϩϦϙοϓʂͰ͏'51 8FCαʔόͷσʔλΛҠઃ͢Δͱ 8FCαʔόΛҠઃͨ͠ΒଓઌมΘΔ $PNNVOJDBUJPO %BUBUSBOTGFS VTFSTMPMJQPQKQ $MJFOU
ͳͥ'51ΛQSPYZ͢Δʁ Ϣʔβͷརศੑ αʔό൪߸ΛѲ͢Δඞཁͳ͍ Ϧιʔεཧ ଞͷ8FCαʔόʹҠઃͯ͠ɺϢʔβʹଓઌมߋͷ௨͕ෆཁ ηΩϡϦςΟʔ 8FCαʔόͷ1VCMJD*1ग़དྷΔ͚ͩด͍ͨ͡ υϝΠϯʹߏΘͣ'514͕༻Մೳ
Q'51հ 6TFS*%Λ,FZͱͯ͠ଓઌΛ୳͢ ΫϥΠΞϯτ͔ΒɺQ'51ࣗମ͕'51αʔόͷΑ͏ʹݟ͑Δ $MJFOU Q'51 $PNNBOE
Q'51հ ̍ηογϣϯ͋ͨΓ̏ͭͷ(PSPVUJOF͕ੜ 64&3\*%^ $NESFBEFS 3FTQPOTFSFBEFS $MJFOUIBOEMFS $POOFDU 3FTQPOTF 3FTQPOTF $PNNBOE
$PNNBOE 3FTQPOTF 3FTQPOTF CVpP $PNNVOJDBUJPO
,FZGFBUVSF $MJFOUͱ'514FSWFSͷύέοτΛಡΉ(PSPVUJOF࣮ߦ
ॳΧφϦΞϦϦʔε
ॳΧφϦΞϦϦʔεࣦഊ
Կ͕ͩͬͨͷ͔ Q'51'51αʔό͔Βͷ3FTQPOTFΛͦͷ··ฦ͢ $NESFBEFS 3FTQPOTFSFBEFS $PNNBOE $PNNBOE 3FTQPOTF 3FTQPOTF CVpP $PNNVOJDBUJPO
σʔλసૹ͕ σʔλଓΫϥΠΞϯτͱ'51αʔό͕ʹଓ͢ΔΈͩͬͨ %BUB$POOFDUUP 1"47SFTQPOTF 1"47SFTQPOTF $MJFOU Q'51
'51αʔό͕ 1SJWBUF*1Λฦͯ͠ଓ͢ΔͨΊ
ਅ໘͗͢Δύλʔϯ ݩଓ*1ͱσʔλଓ*1͕ҧ͏߹ΤϥʔʹͳΔΫϥΠΞϯτ $MJFOU Q'51 &SSPS
͗͢Δύλʔϯ উखʹଓઌͷ*1ΛΓସ͑ΔΫϥΠΞϯτ $MJFOU Q'51 AAߦ͜͏??
ղܾࡦʁ σʔλసૹ1SPYZ͢Δ సૹϞʔυʹΑͬͯ-JTUFOFS%JBMFSΛઃఆͯ͠σʔλΛதܧ %BUB$POOFDUUP 1"47SFTQPOTF 1"47SFTQPOTF $MJFOU
Q'51 %BUB$POOFDUUP
(PSPVUJOF͕૿͑ͨ σʔλసૹΛॲཧ͢ΔͨΊɺ(PSPVUJOFΛՃ 1"47 $NESFBEFS 3FTQPOTFSFBEFS $MJFOUIBOEMFS $POOFDU $MJFOUˠ0SJHJO 0SJHJOˡ$MJFOU %BUBIBOEMFS
1"47 $POOFDU 4FUMJTUFOFS
͓͔͛ͰֶΜٕͩज़ 8SJUFDPOOFDUJPOʹ&P'ΛૹΔํ๏ "DUJWFసૹϞʔυͷͨΊɺTPDLFUSFVTFઃఆํ๏
Ͳ͔͜-FBLͯ͠Δʁ "MMPDBUFETPDLFU͕૿Ճͬ͠ͺͳ͠
1"47 $POOFDU 1"47 $POOFDU 4FUMJTUFOFS -FBLΛ୳ͦ͏ -FBLͲ͜Ͱ͠ΐ͏
$NESFBEFS 3FTQPOTFSFBEFS $MJFOUIBOEMFS $MJFOUˠ0SJHJO 0SJHJOˡ$MJFOU %BUBIBOEMFS
1"47 $POOFDU 1"47 $POOFDU 4FUMJTUFOFS -FBLΛ୳ͦ͏ $MJFOUIBOEMFS
$MJFOUˠ0SJHJO 0SJHJOˡ$MJFOU $NESFBEFS %BUBIBOEMFS 3FTQPOTFSFBEFS
-FBLΛ୳ͦ͏ ෛՙςετ͢Ε-FBLൃੜ͕Θ͔Γ͍͢
-FBLΛ୳ͦ͏ -FBLͨ࣌͠ͷϩά͔ΒॴΛಛఆ $PNNBOESFBE͕-FBL͢Δ߹ͷϩά ਖ਼ৗʹऴྃ͢Δ߹ͷϩά
-FBLΛࢭΊΖʂ
-FBLΛࢭΊΖʂ -JNJUDMJFOUDPNNBOEVOUJMHFUSFTQPOTF ϨεϙϯεΛฦ͢લʹ࣍ͷίϚϯυΛ'51αʔόʹඈ͢ࣄ͕Ͱ͖ͨ ͜ΕʹΑͬͯ'51αʔόͷॲཧ͕ϋϯάʹͳΓɺ)BOEMFS͕σουϩοΫঢ়ଶʹͳΔ
-FBLΛࢭΊΖʂ 'PSMPPQˠ$IBOOFMXBJU 4MFFQͳͲͳ͠ͰGPSMPPQ͠ͳ͕Βঢ়ଶΛͭίʔυɺ ϦιʔεΛٵ͍ࠐΜͰ͠·͏ͷͰϋϯάͷݪҼʹͳΔ
-FBLΛࢭΊΖʂ $PNNBOEMJOFDIFDL ΫϥΠΞϯτ͕ਖ਼͘͠ͳ͍ίϚϯυΛૹΔ͕࣌͋ͬͨ ͜͏͍͏ίϚϯυΛ'51αʔόʹૹͬͯ͠·͏ͱɺॲཧͰ͖ͣϋϯάʹͳΔ
#FGPSF /PX ൺֱ
̎ඖͷΧφϦΞ
̍ϲ݄Ҏ্ͳ͘८ߤத ରΞΧϯτ ΞΧϯτ ಉ࣌ଓ ࠷େDPOOFDUJPOT ̍ଓ DPOOFDUJPOT
·ͩ·ͩमਖ਼த ࠓ#VH-FBLͳͲ͕ݟ͚ͭΒΕΔͷͰɺ13ఏग़͠ͳ͕ΒରԠத
సૹϞʔυผ࣮ Q'51UP'51αʔόͷసૹϞʔυݸผઃఆՄೳ ͜ΕʹΑͬͯɺҎԼͷ̐ͭͷଓέʔε͕ग़དྷΔ "DUJWF5P"DUJWF4FUEJBMFSGPSDMJFOU MJTUFOFSGPSPSJHJO "DUJWF5P1BTTJWF4FUEJBMFSGPSDMJFOUBOEPSJHJO 1BTTJWF5P"DUJWF4FUMJTUFOFSGPSDMJFOUBOEPSJHJO 1BTTJWF501BTTJWF4FUMJTUFOFSGPSDMJFOU EJBMFSGPSPSJHJO
·ͱΊ
։ൃॳ৺ऀͰɺ ӡ༻Ͱ͑Δ'511SPYZ։ൃʹࢀՃͰ͖·ͨ͠ʂ
ܰͯ͘ɺ؆୯ͳ ฒྻॲཧͷ։ൃํ๏͕͔͋ͬͨΒ
(PSPVUJOFศརͰͨ͠ʂ
͔͠͠ɺ Ͳ͔͜-FBL͕ൃੜ͍ͯ͠Δͷ͔͠Ε·ͤΜ
͍ɺ-FBLඞͣ͋Γ·͢ʂ
ࠓݟ͑ͳ͍͕ രʹͳͬͯདྷΔ͔͠Ε·ͤΜ
ͪΌΜͱ%FCVHͯ͠ɺ (PSPVUJOFɺόϯόϯ͍·͠ΐʂ
͋Γ͕ͱ͏͍͟͝·ͨ͠