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
GolangでSSHプロキシサーバを実装した
Search
tsurubee
October 04, 2018
Programming
2
2.3k
GolangでSSHプロキシサーバを実装した
https://blog.tsurubee.tech/entry/2018/09/01/181634
tsurubee
October 04, 2018
Tweet
Share
More Decks by tsurubee
See All by tsurubee
言語モデルによるAI創薬の進展 / Advancements in AI-Driven Drug Discovery Using Language Models
tsurubee
2
340
AIトップカンファレンスからみるData-Centric AIの研究動向 / Research Trends in Data-Centric AI: Insights from Top AI Conferences
tsurubee
3
2.4k
DeepCrysTet: A Deep Learning Approach Using Tetrahedral Mesh for Predicting Properties of Crystalline Materials
tsurubee
0
960
3次元メッシュで表現した結晶構造を用いた材料物性の予測に向けた深層学習モデルの設計 / Design of Deep Learning Model for Predicting Material Properties Using Crystal Structure Represented by Three-Dimensional Mesh
tsurubee
1
2.2k
分散システムの性能異常に対する機械学習の解釈性に基づく原因診断手法 / A Method for Diagnosing the Causes of Performance Issues in Distributed Systems Based on the Interpretability of Machine Learning
tsurubee
0
1.4k
機械学習の解釈性に関する研究動向とシステム運用への応用 / A Survey on Interpretable Machine Learning and Its Application for System Operation
tsurubee
0
340
機械学習モデルの局所的な解釈に着目したシステムにおける異常の原因診断手法の構想
tsurubee
0
7.8k
アニーリングマシンを活用したエッジAIにおける 生成モデルの学習効率化のためのアーキテクチャ
tsurubee
0
1.5k
さくらインターネット研究所で研究に再挑戦した私の半年間の取り組み
tsurubee
1
3k
Other Decks in Programming
See All in Programming
DevDay2025-OracleDatabase-kernel-addressing-history
oracle4engineer
PRO
4
1.4k
イベントソーシングとAIの親和性ー物語とLLMに理解できるデータ
tomohisa
0
150
“技術カンファレンスで何か変わる?” ──RubyKaigi後の自分とチームを振り返る
ssagara00
0
190
iOSアプリ開発もLLMで自動運転する
hiragram
5
1.6k
LRパーサーはいいぞ
ydah
7
1.5k
TypeScript Language Service Plugin で CSS Modules の開発体験を改善する
mizdra
PRO
3
1.4k
rbs-traceを使ってWEARで型生成を試してみた After RubyKaigi 2025〜ZOZO、ファインディ、ピクシブ〜 / tried rbs-trace on WEAR
oyamakei
0
370
TypeScript エンジニアが Android 開発の世界に飛び込んだ話
yuisakamoto
6
660
Road to Ruby for A Linguistics Nerd
hayat01sh1da
PRO
0
400
型安全なDrag and Dropの設計を考える
yudppp
5
580
リアーキテクチャの現場で向き合う 既存サービスの読み解きと設計判断
ymiyamu
1
160
Rubyの!メソッドをちゃんと理解する
alstrocrack
2
400
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
23
1.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
630
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Agile that works and the tools we love
rasmusluckow
329
21k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
105
19k
How to Ace a Technical Interview
jacobian
276
23k
How to train your dragon (web standard)
notwaldorf
91
6k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
How GitHub (no longer) Works
holman
314
140k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Transcript
!UTVSVCFF(.01FQBCP *OD 'VLVPLBHP (PMBOHͰ44)ϓϩΩγαʔό Λ࣮ͨ͠
ࣗݾհ (.0ϖύϘגࣜձࣾ ϗεςΟϯάࣄۀ෦ ΠϯϑϥνʔϜ ాതจ !UTVSVCFF (PMBOH݄͔Β ࢝Ί·ͨ͠ʂ
ࠓ͢͜ͱ w44)ϓϩτίϧͷ֓ཁ w44)ϓϩΩγαʔόΛ։ൃͨ͠എܠ w44)ϓϩΩγαʔόͷ࣮ʹ͍ͭͯ
w4FDVSF4IFMMͷུশ wΫϥΠΞϯτrαʔόؒʹ͓͚Δ௨৴ͷ҆શੑΛ֬อ͢Δ ͨΊͷϓϩτίϧ 44)$MJFOU 44)4FSWFS &ODSZQU %FDSZQU ಁաతͳ҉߸ܦ࿏Λఏڙͯ͘͠ΕΔ
44)ɿ֓ཁ
44)ɿಁաతͳ௨৴ ಁաతʜ࣮ࡍʹଘࡏ͢ΔͷΛଘࡏ͠ͳ͍Α͏ʹݟͤΔ 44)ϢʔβԿҙࣝͤͣͱ௨৴͕҆શʹ҉߸Խɾ ෮߸Խ͞Ε͍ͯΔ ͢ͳΘͪɺ44)Λී௨ʹར༻͢Δ্ͰͦͷΈΛ ϓϩτίϧϨϕϧͰཧղ͢Δඞཁͳ͍
ಁաతͳ௨৴Λఏڙͯ͘͠ΕΔϓϩτίϧʹҙਤతʹ ׂͬͯೖͬͯɺͦͷڍಈΛࣗ༝ʹίϯτϩʔϧ͢Δ
$MJFOU 4FSWFS wϩάΛऔಘ͍ͨ͠ʢ౷ܭతʹղੳɾϦΞϧλΠϜҟৗݕ FUDʣ UDQEQɺ1SPYZ42- wϑοΫΛΈࠐΜͰৼΔ͍Λಈతʹίϯτϩʔϧ͍ͨ͠ QGUQɺTTIS ྫ͑ɾɾ ύέοτͷಡΈࠐΈ ϓϩτίϧͷղऍ
QBDLFU IPPLTDSJQU ϑοΫʹΑΔϩδοΫͷ ֦ுಈత੍ޚ ϓϩτίϧͷॲཧʹׂͬͯೖΔ
TTISͱ͍͏44)ϓϩΩγαʔόΛ࡞ͬͯ·͢ʂ IUUQTCMPHUTVSVCFFUFDIFOUSZ
ͳͥTTISΛ࡞ͬͨͷ͔ʁ
Ϧιʔεϓʔϧ wֹ݄ԁ͔Βར༻Ͱ͖Δʂ wͷཧαʔόͷϦιʔεΛෳͷϢʔβʹఏڙ͢Δʢڞ༻αʔόʣ UTVSVCFF Ϩϯλϧαʔόʔ EFW ෳͷϢʔβͷίϯςϯπ͕ ϩʔΧϧετϨʔδʹ ஔ͞Ε͍ͯΔ TTI
TTI TTI TTI TTI TTIUTVSVCFF!TTI TTIEFW!TTI Ϣʔβ༻Ͱ͖Δαʔό͕ TTIͩͱ͍ͬͯΔඞཁ͕͋Δ ϢʔβͱͦͷϢʔβ͕༻͢Δαʔόͷඥ͚͕ଘࡏ͢Δ
αʔόఏڙऀଆͷطଘͷ՝ TTIUTVSVCFF!TTI Ϧιʔεϓʔϧ 44)$MJFOU TTI TTI TTI TTI TTI w༻αʔό͕มΘͬͨࡍʹϢʔβʹ௨͕ඞཁ
wαʔόཧऀͷ߹Ͱࣗ༝ʹϢʔβ͕͏αʔόΛมߋͰ͖ͳ͍ Ϣʔβ UTVSVCFFTTIʹ ҙࣝతʹଓ͍ͯ͠Δ UTVSVCFFͷίϯςϯπΛ TTIʹҠઃ͍ͨ͠
ϢʔβͱαʔόͷஔΛ࠷దԽ͠ɺ ͞Βʹշదͳαʔόڥͷఏڙ ϢʔβͷίϯςϯπҠઃͷোนΛ ۃݶ·ͰԼ͛Δ
wϢʔβ໊ϕʔεͰಈతʹଓઌΛܾఆͰ͖Δ wϑοΫʹΑΓϩδοΫΛࣗ༝ʹΈࠐΊΔFUD TTISɿϢʔβ͕ଓઌΛҙࣝ͠ͳ͍ϓϩΩγαʔό IUUQTHJUIVCDPNUTVSVCFFTTIS
TTIUTVSVCFF!TTIS Ϧιʔεϓʔϧ 44)ΫϥΠΞϯτ TTIS 1MVHHBCMF )PPLT Ϣʔβ TTISಋೖޙͷੈք
TTIUTVSVCFF!TTIS Ϧιʔεϓʔϧ 44)ΫϥΠΞϯτ TTIS 1MVHHBCMF )PPLT Ϣʔβ TTISಋೖޙͷੈք Ϣʔβ໊
TTIUTVSVCFF!TTIS Ϧιʔεϓʔϧ 44)ΫϥΠΞϯτ TTIS 1MVHHBCMF )PPLT Ϣʔβ TTISಋೖޙͷੈք Ϣʔβ໊ ଓઌϗετ
Ϣʔβͱଓઌϗετͷඥ͚Λ%#ͰҰݩཧ
TTIUTVSVCFF!TTIS Ϧιʔεϓʔϧ 44)ΫϥΠΞϯτ TTIS 1MVHHBCMF )PPLT Ϣʔβ TTISಋೖޙͷੈք Ϣʔβ໊ ଓઌϗετ
Ϣʔβͱଓઌϗετͷඥ͚Λ%#ͰҰݩཧ 44)ΛϓϩΩγ
TTIUTVSVCFF!TTIS Ϧιʔεϓʔϧ 44)ΫϥΠΞϯτ Ϣʔβ໊ ଓઌϗετ TTIS 1MVHHBCMF )PPLT 44)ΛϓϩΩγ Ϣʔβͱଓઌϗετͷඥ͚Λ%#ͰҰݩཧ
Ϣʔβ TTISಋೖޙͷੈք %#ͷ6QEBUFʹΑΓࣗಈͰϢʔβͷଓઌ͕ΓସΘΔ
TTISΛͬͯΈΔͱʜ $ ssh
[email protected]
-p 2222
[email protected]
's password: [tsurubee@host-tsurubee ~]$
$ ssh
[email protected]
-p 2222
[email protected]
's password: [dev@host-dev ~]$ ࣮ߦ͢ΔίϚϯυʮϢʔβ໊ʯҎ֎ಉ͕ͩ͡ɺ ҧ͏αʔόʹ44)ϩάΠϯ͞ΕΔ
TTISͷ࣮ʹ͍ͭͯ
·ͣɺϓϩτίϧΛΔͨΊʹ3'$ΛಡΉ w3'$ɿ44)"VUIFOUJDBUJPO1SPUPDPM Ϣʔβೝূʢύεϫʔυೝূެ։伴ೝূʣ w3'$ɿ44)5SBOTQPSU-BZFS1SPUPDPM τϥϯεϙʔτ w3'$ɿ44)$POOFDUJPO1SPUPDPM νϟωϧ੍ޚϙʔτϑΥϫʔσΟϯά 44)ɺෳͷಠཱͨ͠ϓϩτίϧͰߏ͞ΕΔ
44)ϓϩτίϧͷ֊ߏ $MJFOU 4FSWFS 44)$0// 3'$ 44)"65) 3'$ 44)53"/4 3'$ ௨৴ͷ҉߸Խ
ηογϣϯ伴ͷަ Ϣʔβೝূ νϟωϧͷଟॏԽ *OUFSOFU wϓϩτίϧͷશମ૾ͷѲॲཧͷྲྀΕΛ௫Ή͜ͱ͕େ w44)ϓϩΩγαʔόΫϥΠΞϯταʔόͷؒʹׂͬͯೖͬͯɺ ҉߸Խ͞ΕͨτϥϯεϙʔτΛհ͢Δඞཁ͕͋Δ
44)ηογϣϯཱ֬·ͰͷྲྀΕ 5$1ίωΫγϣϯͷཱ֬ ύϥϝʔλωΰγΤʔγϣϯ ηογϣϯ伴ަ ϗετೝূʢαʔόೝূʣ
Ϣʔβೝূ 44)ηογϣϯͷཱ֬
TTISͷॲཧͷྲྀΕ $MJFOU TTIS 44)ϦΫΤετ
TTISͷॲཧͷྲྀΕ $MJFOU TTIS 44)ϦΫΤετ τϥϯεϙʔτͷ҉߸Խ ύϥϝʔλωΰγΤʔγϣϯ %)伴ަ
TTISͷॲཧͷྲྀΕ $MJFOU TTIS 44)ϦΫΤετ τϥϯεϙʔτͷ҉߸Խ ύϥϝʔλωΰγΤʔγϣϯ %)伴ަ 'JOE6QTUSFBN)PPL
TTISͷॲཧͷྲྀΕ $MJFOU TTIS 44)ϦΫΤετ τϥϯεϙʔτͷ҉߸Խ ύϥϝʔλωΰγΤʔγϣϯ %)伴ަ 'JOE6QTUSFBN)PPL 4FSWFS
TTISͷॲཧͷྲྀΕ $MJFOU TTIS 44)ϦΫΤετ τϥϯεϙʔτͷ҉߸Խ ύϥϝʔλωΰγΤʔγϣϯ %)伴ަ 'JOE6QTUSFBN)PPL 4FSWFS τϥϯεϙʔτͷ҉߸Խ
҉߸Խ͞ΕͨτϥϯεϙʔτͷίωΫγϣϯཱ֬
TTISͷॲཧͷྲྀΕ 4FSWFS $MJFOU TTIS 44)ϦΫΤετ τϥϯεϙʔτͷ҉߸Խ τϥϯεϙʔτͷ҉߸Խ 'JOE6QTUSFBN)PPL ϢʔβೝূʹΑΔΫϥΠΞϯτͷਖ਼ੑ֬ೝ ҉߸Խ͞ΕͨτϥϯεϙʔτͷίωΫγϣϯཱ֬
ύϥϝʔλωΰγΤʔγϣϯ %)伴ަ
TTISͷॲཧͷྲྀΕ 4FSWFS $MJFOU TTIS 44)ϦΫΤετ τϥϯεϙʔτͷ҉߸Խ τϥϯεϙʔτͷ҉߸Խ 'JOE6QTUSFBN)PPL ϢʔβೝূʹΑΔΫϥΠΞϯτͷਖ਼ੑ֬ೝ ҉߸Խ͞ΕͨτϥϯεϙʔτͷίωΫγϣϯཱ֬
ύϥϝʔλωΰγΤʔγϣϯ %)伴ަ ೝূΛͲ͏Δ͔ ͕ʂ
Ϣʔβೝূͷ࣮ʹ ۤ͠Μͩɾɾ
ϓϩΩγΛհͨ͠Ϣʔβೝূ TTISೝূϝοηʔδͷύέοτΛͦͷ··αʔόʹ͠ɺ αʔό͔ΒͷϨεϙϯεΛͦͷ··ΫϥΠΞϯτʹฦ͢ 4FSWFS $MJFOU TTIS ೝূϦΫΤετ ೝূϨεϙϯε
ϓϩΩγΛհͨ͠Ϣʔβೝূ TTISೝূϝοηʔδͷύέοτΛͦͷ··αʔόʹ͠ɺ αʔό͔ΒͷϨεϙϯεΛͦͷ··ΫϥΠΞϯτʹฦ͢ 4FSWFS $MJFOU TTIS ύεϫʔυೝূ ⭕ ೝূϦΫΤετ ೝূϨεϙϯε
ϓϩΩγΛհͨ͠Ϣʔβೝূ TTISೝূϝοηʔδͷύέοτΛͦͷ··αʔόʹ͠ɺ αʔό͔ΒͷϨεϙϯεΛͦͷ··ΫϥΠΞϯτʹฦ͢ 4FSWFS $MJFOU TTIS ύεϫʔυೝূ ެ։伴ೝূ ⭕ ❌
ೝূϦΫΤετ ೝূϨεϙϯε
ެ։伴ೝূɿηογϣϯ*% $MJFOUTTISؒͱTTIS4FSWFSؒҟͳΔηογϣϯ*%Λ͍࣋ͬͯΔ 4FSWFS $MJFOU TTIS ηογϣϯ*%YYY ηογϣϯ*%ZZZ ஈ֊ͷެ։伴ೝূ͕ඞཁ τϥϯεϙʔτͷ҉߸Խ 伴ަ࣌ʹηογϣϯ͝ͱʹ
Ұҙͳηογϣϯ*%͕ੜ͞ Εɺσδλϧॺ໊ʹΘΕΔ
ެ։伴ೝূɿTTISͷ߹ 4FSWFS $MJFOU TTIS ެ։伴ͷొ֬ೝ ʢ$IFDL1VCMJD,FZ)PPLʣ LFZ" LFZ# ൿີ伴ʹΑΔॺ໊ ʢ'FUDI1SJWBUF,FZ)PPLʣ
w$MJFOUTTISؒͱTTIS4FSWFSؒผͷΩʔϖΞͰެ։伴ೝূΛߦ͏ wެ։伴ͷొ֬ೝൿີ伴ʹΑΔॺ໊ϑοΫʹΑΓࣗ༝ʹ֦ுͰ͖Δ
·ͱΊ wಁաతͳ௨৴Λఏڙͯ͘͠ΕΔϓϩτίϧʹҙਤతʹׂͬͯ ೖΔ͜ͱͰɺͦͷڍಈΛࣗ༝ʹίϯτϩʔϧͰ͖Δ wTTISʹΑͬͯϢʔβ͕ଓઌΛҙࣝͤͣɺϢʔβ໊ϕʔεͰ ಈతʹଓઌΛಛఆͰ͖ΔΑ͏ʹͳΔ wϓϩΩγΛհͨ͠ެ։伴ೝূηογϣϯ*%ͷؔͰஈ֊ ʹެ։伴ೝূΛ͢Δඞཁ͕͋Δ
͝ਗ਼ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ʂʂ