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

プロセスくるくる

 プロセスくるくる

4beb5e6225cfac0e02f2bb604dd78696?s=128

Taisuke Miyazaki

March 30, 2019
Tweet

Transcript

  1. ϓϩηε͘Δ͘Δ

  2. ࣗݾ঺հ ໊લ: ٶ࡚ ହี Twitter: @imishinist ձࣾ: גࣜձࣾ LIFULL ޷͖ͳݴޠ:

    Go, C, C++ ޷͖ͳϙέϞϯ: ΤʔϑΟ ߴઐ: ٱཹถߴઐ
  3. ߴઐ࣌୅ʹ ෦಺Ͱ࢖͏ΦϯϥΠϯδϟοδͷγεςϜΛ࡞͍ͬͯͨ ͦͷͱ͖ʹɺ@Pelkira͔Β͋Δ͓ئ͍Λ͞ΕΔ

  4. ATCODERΈ͍ͨʹ ΠϯλϥΫςΟϒͳճ౴ͷ࢓૊Έ࡞Εͳ͍ʁ

  5. ৭ʑߟ͕͑ͨ໰୊ΛղܾͰ͖ͣஅ೦

  6. ઌ೔ ٱཹถߴઐͷ༏लͳޙഐ @gedorinku ͱ࿩͍ͯͨ͠ͱ͖ ΠϯλϥΫςΟϒͳ΍ͭ೉͍͠ͱ͍͏࿩Ͱ੝Γ্͕Δ

  7. ݁ߏ͋Ε͔Β஌ࣝ΋૿͑ͨ͠ Ͱ͖ΔͷͰ͸ʁʁʁʁʁʁʁʁʁʁʁ

  8. ΍Γ͍ͨ͜ͱ ΠϯλϥΫςΟϒͳճ౴ͷ࢓૊ΈΛ࡞Δ

  9. ੍໿ ໰୊Λղ͘ଆͷϓϩάϥϜ͸มߋͰ͖ͳ͍ ໰୊Λग़୊͢ΔଆͷϓϩάϥϜ΋جຊతʹ͸มߋͰ͖ͳ͍ ೚ҙͷϓϩάϥϜ͕࣮ߦ͞ΕΔ

  10. ۩ମతʹͲ͏΍ͬͨΒͰ͖ͦ͏͔ ग़୊ଆͷνΣοΫϓϩάϥϜʢϓϩηεAʣ
 ճ౴ଆͷϓϩάϥϜʢϓϩηεBʣ ϓϩηεAͷग़ྗˠϓϩηεBͷೖྗʹ ϓϩηεBͷग़ྗˠϓϩηεAͷೖྗ ϓϩηεAͷऴྃεςʔλείʔυͰɺਖ਼ղ͔൑அ

  11. GOͰॻ͍ͯΈͨ ͕ɺಈ͔ͳ͍ ͦ΋ͦ΋ϓϩηε͔Βग़ྗ͢Β͞Εͳ͍

  12. όοϑΝϦϯά Cͷඪ४ϥΠϒϥϦ(printf)͸ɺग़ྗΛόοϑΝϦϯά͢Δ ߴઐ࣌୅΋ಉ͡໰୊ʹɻɻɻ ϓϩάϥϜʹखΛՃ͑ΒΕͳ͍ͱ͍͏੍໿ʹΑΓɺϓϩάϥϜΛ௚઀มߋͤͣʹ΍ ΔͻͭΑ͏͕͋Δ

  13. όοϑΝϦϯάͱ͸ ؔ਺ͷ಺෦ͰσʔλΛͨΊ͓ͯ͘͜ͱΛόοϑΝϦϯάͱ͍͏ σʔλΛຖճಡΈॻ͖͢ΔΑΓɺ·ͱ·ͬͯಡΈॻ͖ͨ͠΄͏͕ޮ཰͕͍͍

  14. όοϑΝϦϯάͷछྨ ϥΠϯόοϑΝϦϯά
 Ұߦ͝ͱʹόοϑΝΛϑϥογϡ͢Δ ϒϩοΫόοϑΝϦϯά
 ಛఆͷόΠτ਺͝ͱʹόοϑΝΛϑϥογϡ͢Δ(4096ͱ͔ʁ)

  15. όοϑΝϦϯά ϓϩηεؒͷೖग़ྗΛܨ͛ΔͱɺϒϩοΫόοϑΝϦϯάʹͳΓɺҰߦ͝ͱʹॲཧ Ͱ͖ͳ͍ ͨͩ͠ɺ୺຤΁ͷೖग़ྗ͸ɺϥΠϯόοϑΝϦϯάʹͳΔ

  16. ௚઀΍ΓͱΓ͢Δͷ͕ͩΊͳΒ
 ୺຤Λհͯ͠ೖग़ྗ͢Ε͹͍͍͡Όͳ͍

  17. krkr ϓϩηεB ϓϩηεA pty
 master pty
 slave

  18. ༏উ

  19. Ͱ͸ͳ͍

  20. ग़ྗ͕͓͔͍͠

  21. ECHO ୺຤΁ͷೖྗ͸ɺࣗಈతʹग़ྗ͞ΕΔ ϓϩηεB΁ͷೖྗ΋ग़ྗͱͯ͠ೝࣝ͞ΕΔ

  22. krkr ϓϩηεB ϓϩηεA pty
 master pty
 slave ϓϩηεBͷ΁ͷೖྗ ೖग़ྗ͕ϓϩηεA΁౉͞ΕΔ

  23. ECHO ͏·͘ɺ୺຤ͷϑϥάΛઃఆ͢Δ͜ͱͰɺը໘ʹग़͞ͳ͍Α͏ʹͰ͖Δ

  24. ༨ஊ stty -echo; cat - (stty ίϚϯυ)
 ద౰ʹೖྗͯ͠ɺEnterԡͨ͠λΠϛϯάͰग़ྗ͞ΕΔ ͜ͷลΛ͏·͘΍Δ͜ͱͰɺvimͱ͔emacsΈ͍ͨͳΤσΟλ΋࡞ΕΔ

  25. CݴޠͰ࡞Δ͜ͱʹͨ͠

  26. ༏উ https://github.com/imishinist/krkr

  27. ·ͱΊ ແཧ͡ΌͶʁͬͯࢥ͏੍໿Ͱ΋ؤுΕ͹ҙ֎ͱͳΜͱ͔ͳΔ Ͱ͖ͳ͔ͬͨ͜ͱ͕Ͱ͖ΔΑ͏ʹͳΔͷ͸ָ͍͠ ָ͘͠ੜ͖Α͏ɻ