Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Liveterm

KOBA789
April 07, 2012

 Liveterm

LT slide about liveterm sharing the terminal with the speaker note.

KOBA789

April 07, 2012
Tweet

More Decks by KOBA789

Other Decks in Programming

Transcript

  1. Liveterm
    KOBA789
    1
    12೥4݄7೔౔༵೔
    *%,0#"Ͱ͢ΑΖ͓͘͠ئ͍͠·͢ɻ

    View full-size slide

  2. about me
    koba789.com
    2
    12೥4݄7೔౔༵೔
    Ұ෦Ͱ͸ා͍ͱ͔νϟϥ͍ͱ͔ݴΘΕͯ·͕͢ɺ࣮ࡍ͸ී௨ͷߴߍੜͰ͢͠ɺࣗݾ঺հ͸ཁΒͳ͍ͱ
    ࢥ͍·͕͢ɺඞཁͰ͋Ε͹LPCBDPNΛݟ͍ͯͩ͘͞ɻ

    View full-size slide

  3. black frame
    3
    12೥4݄7೔౔༵೔
    ͯ͞ɺຊ୊Ͱ͢ɻΈͳ͞ΜίʔσΟϯά͸޷͖Ͱ͔͢ɻࢲ͸େ޷͖Ͱ͢ɻ࠷ۙɺ෼ؒҎ্ίʔυΛ
    ॻ͍͍ͯͳ͍ͱېஅ঱ঢ়͕ग़ΔΑ͏ʹͳΓ·ͨ͠ɻͦΜͳίʔσΟϯά΋ͻͱΓͰ͸ͭ·Βͳ͍͜ͱ
    ΋ଟ͍΋ͷͰɺͦΜͳͱ͖ʹΩϟϓνϟΛىಈ͓ͯ͠΋ΉΖʹੜ์ૹΛ࢝ΊͪΌͬͨΓ͢Δਓ΋ଟ͍
    ͱࢥ͍·͢ɻϥΠϒίʔσΟϯάָ͍ͬͯ͠ΜͰ͢ΑɻͰ΋ɺແବʹωοτϫʔΫͷଳҬ৯͏͠ɺΩϟ
    ϓνϟॏ͍͠ɺ഑৴ը໘ͩͱจࣈ௵Εͯݟ͑ͳ͍͠ɺ͍Ζ͍Ζෆຬͳ͜ͱ΋͋Δͱࢥ͍·͢ɻͦ͜
    Ͱɻ

    View full-size slide

  4. would you like to share
    your terminal?
    4
    12೥4݄7೔౔༵೔
    λʔϛφϧΛڞ༗Ͱ͖ͨΒૉఢͩͱࢥ͍·ͤΜ͔ɻͯ͞ɺͲΕ͘Β͍ૉఢͳͷ͔͸Έͳ͞Μͷ໨Ͱ͝
    ֬ೝ͍͖ͨͩ·͠ΐ͏ɻ

    View full-size slide

  5. pronama14.koba789.com
    demo
    5
    12೥4݄7೔౔༵೔
    ࠓ೔͸ϞόΠϧͬΆ͍ۭؾͩͬͨΒ͍͠ΜͰ͕͢ɺΨϯແࢹͯ͠·ͨ͠ɻͰ΋͖ͬ͞0QFSB.PCJMF
    ͰݟͨΒͳΜ͔ಈ͍ͨͷͰɺؾʹͳΔਓ͸͓खݩͷ୺຤Ͱݟ͍ͯͩ͘͞ɻ

    View full-size slide

  6. black frame
    6
    12೥4݄7೔౔༵೔
    ͯ͞ɺ͍͔͕ͩͬͨͰ͠ΐ͏͔ɻจࣈ΋௵Εͣɺ஗Ԇ΋ͳ͘ɺշదʹϥΠϒίʔσΟϯά͢Δ͜ͱ͕
    Ͱ͖·ͨ͠ɻͻͱ௨Γָ͠Μͩͱ͜ΖͰɺ

    View full-size slide

  7. technical overview
    7
    12೥4݄7೔౔༵೔
    λω໌͔͠ͷ͓࣌ؒͰ͢ɻத৺ͱͳΔٕज़ͱͯ͠͸࠷ۙ࿩୊ͷͪ͜Βɺ

    View full-size slide

  8. Node.js
    Socket.io
    8
    12೥4݄7೔౔༵೔
    /PEFKTͱ4PDLFUJPɻ·͊ɺఆ൪Ͱ͢Ͷɻ

    View full-size slide

  9. architecture
    9
    12೥4݄7೔౔༵೔
    ࣍ʹߏ଄ͷํΛݟ͍͖ͯ·͠ΐ͏ɻͪ͜Β͸গʑτϦοΩʔͰ͢ɻ

    View full-size slide

  10. browser
    server
    (Node.js)
    master
    terminal
    4PDLFUJP
    caster
    file server
    10
    12೥4݄7೔౔༵೔
    ਤʹද͢ͱ୯७Ͱ͕͢ɺ͜ͷΑ͏ʹͳ͍ͬͯ·͢ɻΩϟελʔ͕ૹ৴ͨ͠γʔέϯείʔυΛαʔόʔ
    ͕ड͚औΓɺαʔόʔ্ʹ͋ΔϔουϨεͷλʔϛφϧΤϛϡϨʔλɺNBTUFSUFSNJOBMʹॻ͖ࠐΈ·
    ͢ɻͦͯͦ͠Εͱಉ࣌ʹϒϥ΢βʹରͯ͠΋ͦͷγʔέϯείʔυΛҰ੪ૹ৴͠·͢ɻNBTUFS
    UFSNJOBMɺҰݟ͢ΔͱແବͳΑ͏ʹݟ͑·͕͢ɺ࣮͸͜Ε͕ϛιͰɺ৽نʹࢹௌऀ͕૿͑ͨ࣌ʹॏཁ
    Ͱ͢ɻ<$>λʔϛφϧͷγʔέϯείʔυͱ͍͏ͷ͸͍ΘΏΔࠩ෼ૹ৴ͳͷͰɺ৽ن઀ଓ௚ޙ͸ਖ਼ৗʹ
    ը໘ΛදࣔͰ͖·ͤΜɻͦ͜ͰɺNBTUFSUFSNJOBMͷঢ়ଶɺ͢ͳΘͪεφοϓγϣοτΛૹΓ͚ͭ·
    ͢ɻ<$>͢Δͱɺ࠷৽ͷλʔϛφϧͷঢ়ଶΛ్த͔ΒͰ΋෮ݩͰ͖Δͱ͍͏Θ͚Ͱ͢ɻ

    View full-size slide

  11. browser
    server
    (Node.js)
    master
    terminal
    4PDLFUJP
    caster
    file server
    browser
    10
    12೥4݄7೔౔༵೔
    ਤʹද͢ͱ୯७Ͱ͕͢ɺ͜ͷΑ͏ʹͳ͍ͬͯ·͢ɻΩϟελʔ͕ૹ৴ͨ͠γʔέϯείʔυΛαʔόʔ
    ͕ड͚औΓɺαʔόʔ্ʹ͋ΔϔουϨεͷλʔϛφϧΤϛϡϨʔλɺNBTUFSUFSNJOBMʹॻ͖ࠐΈ·
    ͢ɻͦͯͦ͠Εͱಉ࣌ʹϒϥ΢βʹରͯ͠΋ͦͷγʔέϯείʔυΛҰ੪ૹ৴͠·͢ɻNBTUFS
    UFSNJOBMɺҰݟ͢ΔͱແବͳΑ͏ʹݟ͑·͕͢ɺ࣮͸͜Ε͕ϛιͰɺ৽نʹࢹௌऀ͕૿͑ͨ࣌ʹॏཁ
    Ͱ͢ɻ<$>λʔϛφϧͷγʔέϯείʔυͱ͍͏ͷ͸͍ΘΏΔࠩ෼ૹ৴ͳͷͰɺ৽ن઀ଓ௚ޙ͸ਖ਼ৗʹ
    ը໘ΛදࣔͰ͖·ͤΜɻͦ͜ͰɺNBTUFSUFSNJOBMͷঢ়ଶɺ͢ͳΘͪεφοϓγϣοτΛૹΓ͚ͭ·
    ͢ɻ<$>͢Δͱɺ࠷৽ͷλʔϛφϧͷঢ়ଶΛ్த͔ΒͰ΋෮ݩͰ͖Δͱ͍͏Θ͚Ͱ͢ɻ

    View full-size slide

  12. browser
    server
    (Node.js)
    master
    terminal
    4PDLFUJP
    caster
    file server
    browser
    TOBQTIPU
    10
    12೥4݄7೔౔༵೔
    ਤʹද͢ͱ୯७Ͱ͕͢ɺ͜ͷΑ͏ʹͳ͍ͬͯ·͢ɻΩϟελʔ͕ૹ৴ͨ͠γʔέϯείʔυΛαʔόʔ
    ͕ड͚औΓɺαʔόʔ্ʹ͋ΔϔουϨεͷλʔϛφϧΤϛϡϨʔλɺNBTUFSUFSNJOBMʹॻ͖ࠐΈ·
    ͢ɻͦͯͦ͠Εͱಉ࣌ʹϒϥ΢βʹରͯ͠΋ͦͷγʔέϯείʔυΛҰ੪ૹ৴͠·͢ɻNBTUFS
    UFSNJOBMɺҰݟ͢ΔͱແବͳΑ͏ʹݟ͑·͕͢ɺ࣮͸͜Ε͕ϛιͰɺ৽نʹࢹௌऀ͕૿͑ͨ࣌ʹॏཁ
    Ͱ͢ɻ<$>λʔϛφϧͷγʔέϯείʔυͱ͍͏ͷ͸͍ΘΏΔࠩ෼ૹ৴ͳͷͰɺ৽ن઀ଓ௚ޙ͸ਖ਼ৗʹ
    ը໘ΛදࣔͰ͖·ͤΜɻͦ͜ͰɺNBTUFSUFSNJOBMͷঢ়ଶɺ͢ͳΘͪεφοϓγϣοτΛૹΓ͚ͭ·
    ͢ɻ<$>͢Δͱɺ࠷৽ͷλʔϛφϧͷঢ়ଶΛ్த͔ΒͰ΋෮ݩͰ͖Δͱ͍͏Θ͚Ͱ͢ɻ

    View full-size slide

  13. pty
    iTerm server
    UUZ 4PDLFUJP
    Node.js
    QUZKT
    11
    12೥4݄7೔౔༵೔
    ࣍ʹΩϟελʔ಺෦ͷߏ଄Ͱ͢ɻ͜Ε͸ൺֱత୯७ͰɺQUZ͔Βͱ͖ͬͯͨσʔλΛJ5FSNʹॻ͖ग़
    ͭͭ͠ɺTFSWFSʹ΋TPDLFUJPͰૹͬͯΔ͚ͩͰ͢ɻ΋ͪΖΜɺJ5FSN͔ΒͷΩʔೖྗ͸QUZʹॻ
    ͖ࠐΈ·͢ɻ

    View full-size slide

  14. black frame
    12
    12೥4݄7೔౔༵೔
    ͯ͞ɺ͜͜·Ͱฉ͘ͱΈͳ͞Μ΋࢖ͬͯΈͨ͘ͳΔͱࢥ͍·͢ɻ

    View full-size slide

  15. for public
    13
    12೥4݄7೔౔༵೔
    ͱ͍͏Θ͚Ͱɺ-JWFUFSN͸഑৴ܥͷ΢ΣϒαʔϏεͱͯ͠ެ։༧ఆͰ͢ɻ

    View full-size slide

  16. comment
    voice streaming
    etc...
    14
    12೥4݄7೔౔༵೔
    ΍͸Γίϝϯτͱ͔Ի੠ετϦʔϛϯάͱ͔ඞཁͳͷͰɺͦΕΒ΋࣮૷༧ఆͰ͢ɻ

    View full-size slide

  17. coming soon
    15
    12೥4݄7೔౔༵೔
    Ի੠ετϦʔϛϯά·Ͱ͸׬੒ͯ͠࢒Δ͸αΠτσβΠϯ͚ͩͳͷͰɺ΋͏͠͹Β͓͘଴ͪԼ͍͞ɻ

    View full-size slide

  18. thx
    16
    12೥4݄7೔౔༵೔
    ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻͱऴΘΓ͍ͨͷͰ͕͢ɺ࠷ޙʹ΋͏Ұͭݴ͓͔ͬͯͳ͚Ε͹ͳΒͳ
    ͍͜ͱ͕͋Γ·͢ɻͦΕ͸ɺ

    View full-size slide

  19. EP/05VTF
    /PEFKT
    17
    12೥4݄7೔౔༵೔
    ܾͯ͠/PEFKTΛ࢖ͬͯ͸͍͚ͳ͍ͱ͍͏͜ͱͰ͢ɻ͜ͷ-5ʹΠϯεύΠΞ͞Ε͍ͯܰϊϦͰ৮Δ
    ͱී௨ʹࣗ෼ͷ଍Λܸͪൈ͖·͢ɻ/PEFKTʹ৮Δͷ͸μʔΫαΠυʹඈͼࠐΈ͍ͨํ͚͓ͩئ͍͠
    ·͢ɻ

    View full-size slide