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
590
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
時の流れが許せない
koba789
0
47
ついに生産が終わったけどZ80でまだまだ遊びたい
koba789
5
4.2k
ISUCONの練習を楽しくたくさんやる方法
koba789
2
1.3k
Z80をRustで動かすまで年が越せない
koba789
0
190
ISUCON練習環境を最も簡単に用意する方法
koba789
2
3.2k
音をアレする
koba789
0
900
メガネとBluetooth Low Energyでお喋りする
koba789
0
1.6k
Rustでon-diskなB+Treeを作ったときの細かな話
koba789
11
1.8k
音の出るCPUを作っている途中
koba789
5
4.7k
Other Decks in Programming
See All in Programming
Bytecode Manipulation 으로 생산성 높이기
bigstark
2
380
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
340
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
380
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
300
XP, Testing and ninja testing
m_seki
3
190
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.9k
5つのアンチパターンから学ぶLT設計
narihara
1
110
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
390
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
240
0626 Findy Product Manager LT Night_高田スライド_speaker deck用
mana_takada
0
110
関数型まつりレポート for JuliaTokai #22
antimon2
0
150
童醫院敏捷轉型的實踐經驗
cclai999
0
190
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
670
Thoughts on Productivity
jonyablonski
69
4.7k
Documentation Writing (for coders)
carmenintech
72
4.9k
Typedesign – Prime Four
hannesfritz
42
2.7k
A Modern Web Designer's Workflow
chriscoyier
694
190k
Scaling GitHub
holman
459
140k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Building Applications with DynamoDB
mza
95
6.5k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
210
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
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ʹ৮ΔͷμʔΫαΠυʹඈͼࠐΈ͍ͨํ͚͓ͩئ͍͠ ·͢ɻ