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
2.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Go初心者がgoroutineで挑んだFTPプロキシ
Slide for 2019 Go Conference in Fukuoka
ryu
July 13, 2019
Other Decks in Programming
See All in Programming
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
1
410
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
280
不幸な GC
chencmd
0
870
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.9k
typoなんかねぇよ
raspython3
0
660
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
620
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
230
FDEとは、何者なのか?
masapyon1212
0
120
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
150
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
2
980
信頼性の目標を誰も求めてない
shubox
0
480
Building an Out-of-Order CPU
latte72
0
500
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
920
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
370
The Language of Interfaces
destraynor
162
27k
Mobile First: as difficult as doing things right
swwweet
225
10k
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ɺόϯόϯ͍·͠ΐʂ
͋Γ͕ͱ͏͍͟͝·ͨ͠