Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Liveterm
KOBA789
April 07, 2012
Programming
2
490
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
330
メガネとBluetooth Low Energyでお喋りする
koba789
0
1.2k
Rustでon-diskなB+Treeを作ったときの細かな話
koba789
10
1.1k
音の出るCPUを作っている途中
koba789
5
3.9k
自宅サーバーでbottlerocketを動かしてk8sクラスタを組む
koba789
0
980
へんなOSを自宅で使う
koba789
0
110
Keyboard Firmware in Rust
koba789
0
470
Rust本番投入をあきらめるためのガイドライン
koba789
3
6.7k
Rubyの会社でRustを書くということ
koba789
3
2.5k
Other Decks in Programming
See All in Programming
ipa-medit: Memory search and patch tool for IPA without Jailbreaking/ipa-medit-bh2022-europe
tkmru
0
120
あなたと 「|」 したい・・・
track3jyo
PRO
2
1k
低レイヤーから始める GUI
fadis
18
9.2k
【DevFest & ADS JP 22】チームで導入する
[email protected]
おいしい健康
kako351
0
210
Kyvernoを利用したKubernetesのポリシー制御
kisokazu
0
170
Refactor with using `available` and `deprecated`
417_72ki
3
370
tidy_rpart
bk_18
0
390
Functional Data Engineering - A Blueprint for adopting functional principles in data pipeline
vananth22
0
150
MapLibre GL JS とCSSアニメーションでできること
satoshi7190
0
200
PHPアプリケーションにおけるアーキテクチャメトリクスについて / Architecture Metrics in PHP Applications
isanasan
1
190
ポケモンで学ぶiOS 16弾丸ツアー 🚅
giginet
PRO
1
600
TypeScript 4.9のas const satisfiesが便利
tonkotsuboy_com
9
2.2k
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
320
20k
Mobile First: as difficult as doing things right
swwweet
213
7.8k
Design by the Numbers
sachag
271
18k
Building Applications with DynamoDB
mza
85
4.9k
No one is an island. Learnings from fostering a developers community.
thoeni
12
1.5k
Fireside Chat
paigeccino
16
1.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
7
560
Three Pipe Problems
jasonvnalue
89
8.9k
Fantastic passwords and where to find them - at NoRuKo
philnash
31
1.8k
5 minutes of I Can Smell Your CMS
philhawksworth
198
18k
Embracing the Ebb and Flow
colly
75
3.6k
It's Worth the Effort
3n
177
26k
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ʹ৮ΔͷμʔΫαΠυʹඈͼࠐΈ͍ͨํ͚͓ͩئ͍͠ ·͢ɻ