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
610
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
メモリが足らない2026
koba789
3
1.1k
直接メモリアクセス
koba789
0
510
人工衛星のファームウェアをRustで書く理由
koba789
16
9.8k
令和最新版手のひらコンピュータ
koba789
14
9.2k
時の流れが許せない
koba789
0
270
ついに生産が終わったけどZ80でまだまだ遊びたい
koba789
5
4.7k
ISUCONの練習を楽しくたくさんやる方法
koba789
2
1.5k
Z80をRustで動かすまで年が越せない
koba789
0
390
ISUCON練習環境を最も簡単に用意する方法
koba789
2
3.3k
Other Decks in Programming
See All in Programming
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
210
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
580
ロボットのための工場に灯りは要らない
watany
11
3k
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
270
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
290
Fundamentals of Software Engineering In the Age of AI
therealdanvega
2
260
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
260
SourceGeneratorのマーカー属性問題について
htkym
0
200
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
150
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
220
CSC307 Lecture 15
javiergs
PRO
0
260
エラーログのマスキングの仕組みづくりに役立ったASTの話
kumoichi
0
240
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
980
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
180
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
52k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Leo the Paperboy
mayatellez
4
1.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
210
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
110
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Design in an AI World
tapps
0
170
Joys of Absence: A Defence of Solitary Play
codingconduct
1
310
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ʹ৮ΔͷμʔΫαΠυʹඈͼࠐΈ͍ͨํ͚͓ͩئ͍͠ ·͢ɻ