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
Liveterm
Search
KOBA789
April 07, 2012
Programming
2
570
Liveterm
LT slide about liveterm sharing the terminal with the speaker note.
KOBA789
April 07, 2012
Tweet
Share
More Decks by KOBA789
See All by KOBA789
ついに生産が終わったけどZ80でまだまだ遊びたい
koba789
5
3.8k
ISUCONの練習を楽しくたくさんやる方法
koba789
1
260
Z80をRustで動かすまで年が越せない
koba789
0
150
ISUCON練習環境を最も簡単に用意する方法
koba789
2
3k
音をアレする
koba789
0
770
メガネとBluetooth Low Energyでお喋りする
koba789
0
1.5k
Rustでon-diskなB+Treeを作ったときの細かな話
koba789
11
1.7k
音の出るCPUを作っている途中
koba789
5
4.6k
自宅サーバーでbottlerocketを動かしてk8sクラスタを組む
koba789
1
1.1k
Other Decks in Programming
See All in Programming
Tauriでネイティブアプリを作りたい
tsucchinoko
0
370
CSC509 Lecture 09
javiergs
PRO
0
140
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.7k
Macとオーディオ再生 2024/11/02
yusukeito
0
370
ヤプリ新卒SREの オンボーディング
masaki12
0
130
macOS でできる リアルタイム動画像処理
biacco42
9
2.4k
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
2
670
subpath importsで始めるモック生活
10tera
0
300
距離関数を極める! / SESSIONS 2024
gam0022
0
280
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
910
イベント駆動で成長して委員会
happymana
1
320
初めてDefinitelyTypedにPRを出した話
syumai
0
410
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
How STYLIGHT went responsive
nonsquared
95
5.2k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Building Adaptive Systems
keathley
38
2.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
How to Ace a Technical Interview
jacobian
276
23k
Transcript
Liveterm KOBA789 1 124݄7༵ *%,0#"Ͱ͢ΑΖ͓͘͠ئ͍͠·͢ɻ
about me koba789.com 2 124݄7༵ Ұ෦Ͱා͍ͱ͔νϟϥ͍ͱ͔ݴΘΕͯ·͕͢ɺ࣮ࡍී௨ͷߴߍੜͰ͢͠ɺࣗݾհཁΒͳ͍ͱ ࢥ͍·͕͢ɺඞཁͰ͋ΕLPCBDPNΛݟ͍ͯͩ͘͞ɻ
black frame 3 124݄7༵ ͯ͞ɺຊͰ͢ɻΈͳ͞ΜίʔσΟϯά͖Ͱ͔͢ɻࢲେ͖Ͱ͢ɻ࠷ۙɺؒҎ্ίʔυΛ ॻ͍͍ͯͳ͍ͱېஅঢ়͕ग़ΔΑ͏ʹͳΓ·ͨ͠ɻͦΜͳίʔσΟϯάͻͱΓͰͭ·Βͳ͍͜ͱ ଟ͍ͷͰɺͦΜͳͱ͖ʹΩϟϓνϟΛىಈ͓ͯ͠ΉΖʹੜ์ૹΛ࢝ΊͪΌͬͨΓ͢Δਓଟ͍ ͱࢥ͍·͢ɻϥΠϒίʔσΟϯάָ͍ͬͯ͠ΜͰ͢ΑɻͰɺແବʹωοτϫʔΫͷଳҬ৯͏͠ɺΩϟ ϓνϟॏ͍͠ɺ৴ը໘ͩͱจࣈ௵Εͯݟ͑ͳ͍͠ɺ͍Ζ͍Ζෆຬͳ͜ͱ͋Δͱࢥ͍·͢ɻͦ͜ Ͱɻ
would you like to share your terminal? 4 124݄7༵ λʔϛφϧΛڞ༗Ͱ͖ͨΒૉఢͩͱࢥ͍·ͤΜ͔ɻͯ͞ɺͲΕ͘Β͍ૉఢͳͷ͔Έͳ͞ΜͷͰ͝
֬ೝ͍͖ͨͩ·͠ΐ͏ɻ
pronama14.koba789.com demo 5 124݄7༵ ࠓϞόΠϧͬΆ͍ۭؾͩͬͨΒ͍͠ΜͰ͕͢ɺΨϯແࢹͯ͠·ͨ͠ɻͰ͖ͬ͞0QFSB.PCJMF ͰݟͨΒͳΜ͔ಈ͍ͨͷͰɺؾʹͳΔਓ͓खݩͷͰݟ͍ͯͩ͘͞ɻ
black frame 6 124݄7༵ ͯ͞ɺ͍͔͕ͩͬͨͰ͠ΐ͏͔ɻจࣈ௵ΕͣɺԆͳ͘ɺշదʹϥΠϒίʔσΟϯά͢Δ͜ͱ͕ Ͱ͖·ͨ͠ɻͻͱ௨Γָ͠Μͩͱ͜ΖͰɺ
technical overview 7 124݄7༵ λω໌͔͠ͷ͓࣌ؒͰ͢ɻத৺ͱͳΔٕज़ͱͯ͠࠷ۙͷͪ͜Βɺ
Node.js Socket.io 8 124݄7༵ /PEFKTͱ4PDLFUJPɻ·͊ɺఆ൪Ͱ͢Ͷɻ
architecture 9 124݄7༵ ࣍ʹߏͷํΛݟ͍͖ͯ·͠ΐ͏ɻͪ͜ΒগʑτϦοΩʔͰ͢ɻ
browser server (Node.js) master terminal 4PDLFUJP caster file server 10
124݄7༵ ਤʹද͢ͱ୯७Ͱ͕͢ɺ͜ͷΑ͏ʹͳ͍ͬͯ·͢ɻΩϟελʔ͕ૹ৴ͨ͠γʔέϯείʔυΛαʔόʔ ͕ड͚औΓɺαʔόʔ্ʹ͋ΔϔουϨεͷλʔϛφϧΤϛϡϨʔλɺNBTUFSUFSNJOBMʹॻ͖ࠐΈ· ͢ɻͦͯͦ͠Εͱಉ࣌ʹϒϥβʹରͯͦ͠ͷγʔέϯείʔυΛҰ੪ૹ৴͠·͢ɻNBTUFS UFSNJOBMɺҰݟ͢ΔͱແବͳΑ͏ʹݟ͑·͕͢ɺ࣮͜Ε͕ϛιͰɺ৽نʹࢹௌऀ͕૿͑ͨ࣌ʹॏཁ Ͱ͢ɻ<$>λʔϛφϧͷγʔέϯείʔυͱ͍͏ͷ͍ΘΏΔࠩૹ৴ͳͷͰɺ৽نଓޙਖ਼ৗʹ ը໘ΛදࣔͰ͖·ͤΜɻͦ͜ͰɺNBTUFSUFSNJOBMͷঢ়ଶɺ͢ͳΘͪεφοϓγϣοτΛૹΓ͚ͭ· ͢ɻ<$>͢Δͱɺ࠷৽ͷλʔϛφϧͷঢ়ଶΛ్த͔ΒͰ෮ݩͰ͖Δͱ͍͏Θ͚Ͱ͢ɻ
browser server (Node.js) master terminal 4PDLFUJP caster file server browser
10 124݄7༵ ਤʹද͢ͱ୯७Ͱ͕͢ɺ͜ͷΑ͏ʹͳ͍ͬͯ·͢ɻΩϟελʔ͕ૹ৴ͨ͠γʔέϯείʔυΛαʔόʔ ͕ड͚औΓɺαʔόʔ্ʹ͋ΔϔουϨεͷλʔϛφϧΤϛϡϨʔλɺNBTUFSUFSNJOBMʹॻ͖ࠐΈ· ͢ɻͦͯͦ͠Εͱಉ࣌ʹϒϥβʹରͯͦ͠ͷγʔέϯείʔυΛҰ੪ૹ৴͠·͢ɻNBTUFS UFSNJOBMɺҰݟ͢ΔͱແବͳΑ͏ʹݟ͑·͕͢ɺ࣮͜Ε͕ϛιͰɺ৽نʹࢹௌऀ͕૿͑ͨ࣌ʹॏཁ Ͱ͢ɻ<$>λʔϛφϧͷγʔέϯείʔυͱ͍͏ͷ͍ΘΏΔࠩૹ৴ͳͷͰɺ৽نଓޙਖ਼ৗʹ ը໘ΛදࣔͰ͖·ͤΜɻͦ͜ͰɺNBTUFSUFSNJOBMͷঢ়ଶɺ͢ͳΘͪεφοϓγϣοτΛૹΓ͚ͭ· ͢ɻ<$>͢Δͱɺ࠷৽ͷλʔϛφϧͷঢ়ଶΛ్த͔ΒͰ෮ݩͰ͖Δͱ͍͏Θ͚Ͱ͢ɻ
browser server (Node.js) master terminal 4PDLFUJP caster file server browser
TOBQTIPU 10 124݄7༵ ਤʹද͢ͱ୯७Ͱ͕͢ɺ͜ͷΑ͏ʹͳ͍ͬͯ·͢ɻΩϟελʔ͕ૹ৴ͨ͠γʔέϯείʔυΛαʔόʔ ͕ड͚औΓɺαʔόʔ্ʹ͋ΔϔουϨεͷλʔϛφϧΤϛϡϨʔλɺNBTUFSUFSNJOBMʹॻ͖ࠐΈ· ͢ɻͦͯͦ͠Εͱಉ࣌ʹϒϥβʹରͯͦ͠ͷγʔέϯείʔυΛҰ੪ૹ৴͠·͢ɻNBTUFS UFSNJOBMɺҰݟ͢ΔͱແବͳΑ͏ʹݟ͑·͕͢ɺ࣮͜Ε͕ϛιͰɺ৽نʹࢹௌऀ͕૿͑ͨ࣌ʹॏཁ Ͱ͢ɻ<$>λʔϛφϧͷγʔέϯείʔυͱ͍͏ͷ͍ΘΏΔࠩૹ৴ͳͷͰɺ৽نଓޙਖ਼ৗʹ ը໘ΛදࣔͰ͖·ͤΜɻͦ͜ͰɺNBTUFSUFSNJOBMͷঢ়ଶɺ͢ͳΘͪεφοϓγϣοτΛૹΓ͚ͭ· ͢ɻ<$>͢Δͱɺ࠷৽ͷλʔϛφϧͷঢ়ଶΛ్த͔ΒͰ෮ݩͰ͖Δͱ͍͏Θ͚Ͱ͢ɻ
pty iTerm server UUZ 4PDLFUJP Node.js QUZKT 11 124݄7༵ ࣍ʹΩϟελʔ෦ͷߏͰ͢ɻ͜Εൺֱత୯७ͰɺQUZ͔Βͱ͖ͬͯͨσʔλΛJ5FSNʹॻ͖ग़
ͭͭ͠ɺTFSWFSʹTPDLFUJPͰૹͬͯΔ͚ͩͰ͢ɻͪΖΜɺJ5FSN͔ΒͷΩʔೖྗQUZʹॻ ͖ࠐΈ·͢ɻ
black frame 12 124݄7༵ ͯ͞ɺ͜͜·Ͱฉ͘ͱΈͳ͞ΜͬͯΈͨ͘ͳΔͱࢥ͍·͢ɻ
for public 13 124݄7༵ ͱ͍͏Θ͚Ͱɺ-JWFUFSN৴ܥͷΣϒαʔϏεͱͯ͠ެ։༧ఆͰ͢ɻ
comment voice streaming etc... 14 124݄7༵ Γίϝϯτͱ͔ԻετϦʔϛϯάͱ͔ඞཁͳͷͰɺͦΕΒ࣮༧ఆͰ͢ɻ
coming soon 15 124݄7༵ ԻετϦʔϛϯά·Ͱͯ͠ΔαΠτσβΠϯ͚ͩͳͷͰɺ͏͠Β͓ͪ͘Լ͍͞ɻ
thx 16 124݄7༵ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻͱऴΘΓ͍ͨͷͰ͕͢ɺ࠷ޙʹ͏Ұͭݴ͓͔ͬͯͳ͚ΕͳΒͳ ͍͜ͱ͕͋Γ·͢ɻͦΕɺ
EP/05VTF /PEFKT 17 124݄7༵ ܾͯ͠/PEFKTΛ͍͚ͬͯͳ͍ͱ͍͏͜ͱͰ͢ɻ͜ͷ-5ʹΠϯεύΠΞ͞Ε͍ͯܰϊϦͰ৮Δ ͱී௨ʹࣗͷΛܸͪൈ͖·͢ɻ/PEFKTʹ৮ΔͷμʔΫαΠυʹඈͼࠐΈ͍ͨํ͚͓ͩئ͍͠ ·͢ɻ