学習する組織の作り方

 学習する組織の作り方

EOF2019 で発表した学習する組織の作り方の話です。

D76231a2114896dfcc7b79ac69558b79?s=128

Yosuke Furukawa

October 31, 2019
Tweet

Transcript

  1. ֶश͢Δ૊৫ͷ࡞Γํ 2019/10/31 @ EOF2019

  2. ϦΫϧʔτςΫϊϩδʔζ ITEຊ෦HRE෦ASG ݹ઒ཅհʢϑϧΧϫϤ΢εέʣ 2 ▪໾৬ ࣗݾ঺հ Application Solution GroupͷάϧʔϓϚωʔδϟ γχΞιϑτ΢ΣΞΤϯδχΞ

    ͓ࣸਅ ໌Δ͍ද৘ͷ΋ͷ ϓϥΠϕʔτ΋Մ ▪GMͱͯ͠΍ͬͯΔ͜ͱ ϝϯόʔͷΩϟϦΞ։ൃ ϓϩδΣΫτΞαΠϯ શࣾݚमɾR-ISUCONɾϋοΧιϯͳͲ ▪γχΞͱͯ͠΍ͬͯΔ͜ͱ R&D - React/Redux/Node.jsΛ࢖ͬͨϘΠϥʔϓϨʔτ - Consumer Driven Contract πʔϧ agreed࡞੒ - ৽نٕज़։ൃ
  3. Twitter: @yosuke_furukawa Github: yosuke-furukawa

  4. None
  5. +4$POG+1 UJDLFUͦΖͦΖϚδ ͰചΓ੾Ε·͢ʂʂʂ

  6. Q. 
 ϦΫϧʔτςΫϊϩδʔζͬ ͯԿ΍ͬͯΔձࣾͳΜͰ͢ ͔ʁ

  7. A. ϦΫϧʔτͷࣾ಺՝୊Λ
 ٕज़Ͱղܾ͢Δձࣾ

  8. ͲΜͳ͜ͱΛ΍ͬͯΔ͔ʁ • Πϯϑϥߏங • ηΩϡϦςΟ૬ஊ • ΞϓϦέʔγϣϯ։ൃ • ػցֶश/෼ੳ •

    ։ൃϓϩηε࡞੒ • ׂͱͳΜͰ΋΍ͬͯΔ
  9. ͲΜͳ͜ͱΛ΍ͬͯΔ͔ʁ • Πϯϑϥߏங • ηΩϡϦςΟ૬ஊ • ΞϓϦέʔγϣϯ։ൃ • ػցֶश/෼ੳ •

    ։ൃϓϩηε࡞੒ • ׂͱͳΜͰ΋΍ͬͯΔ "4(͕ओʹ୲౰ ΢Σϒൺ཰ߴ͍
  10. ʮΞϓϦέʔγϣϯ։ൃʯ ͱݴͬͯ΋ࠓ͸UI͕ͲΜͲΜ Ϧονʹͳ͍ͬͯΔ࣌୅

  11. None
  12. ΞϓϦέʔγϣϯͷUIͷཁ͕݅ Ϧονʹ • UI͸Ϣʔβʔ͕৮Δͱ͜ΖͳͷͰʮϓϥϯφʔɾϓϩμΫτΦʔ φʔͷࢥ͍ʯ͕ೖΓ΍͍͢ • ϞόΠϧɺλϒϨοτɺPCͳͲෳ਺ͷ؀ڥͰಈ࡞ͤ͞Δཁ͕݅૿ ͑ͨ • ϞόΠϧʹ͓͍ͯ͸UI͸γϯϓϧ͕ͩɺೖྗͰ͖Δࣄ͕গͳ͍

    ෼ɺཁ݅͸ϦονʹͳΓ΍͍͢ • ύϑΥʔϚϯε΍SEOɺηΩϡϦςΟͳͲඇػೳཁ݅Ͱߟ͑ͳ͍ ͱ͍͚ͳ͍͜ͱ΋૿͍͑ͯΔ
  13. Ұੲલ͸

  14. HTML CSS JS(jQuery) ΢ΣϒΛߏ੒͢Δݴޠ ͜ͷลΓͷ͋Δఔ౓ͷ஌͕ࣝ͋Ε͹ 6*͸࡞Εͨ

  15. Ͱ΋ࠓ͸

  16. DOM Cookie DevTools ϒϥ΢βΛߏ੒͢Δ಺༰ CSSOM window navigator Headers

  17. DNS URL HTTP(S) ωοτϫʔΫ WebSocket TCP TLS HTTP/3 QUIC

  18. Cache Critical- Rendering Path Metrics Tools ύϑΥʔϚϯε Memory CPU I/O

  19. XSS CSRF SQL Injection ηΩϡϦςΟ DoS TLS/SSL

  20. React Angular Redux JS Frameworks Vue.js Polymer

  21. Mobile Tablet PC Runtime Environment Chrome Safari Firefox IE Edge

  22. HTML CSS JS DOM Cookie DevTools CSSOM window navigator Headers

    DNS URL HTTP(S) WebSocket TCP TLS React Redux Memory CPU I/O DoS TLS/SSL
  23. େมͰ͢Ͷ

  24. Ͱ΋ɺ͜Ε͕(ϦΫϧʔτͷ)
 ΢ΣϒΤϯδχΞ
 ʹͳΔɺͱ͍͏͜ͱ

  25. ΢Σϒͷϑϩϯτ͚ͩͰ͜Ε ͚ͩͷ஌͕ࣝඞཁɺόοΫΤ ϯυ΋ؚΊΔͱ΄΅ແݶͷ࣌ ͕ؒඞཁ

  26. ແݶͷதͰ༗ݶͷॲཧΛ͢Δ ͷʹඞཁͳͷ͸ϚϯύϫʔͰ ղܾ͢ΔͷͰ͸ͳ͘ɺ ଉΛٵ͏Α͏ʹֶश͢Δ
 Ϟνϕʔγϣϯ

  27. ͦΜͳંʹग़ձͬͨຊ

  28. ֶश͢Δ૊৫ • ʮֶश͢Δʯͱ͸ʮੜ͖Δ͜ͱͱಉٛʯͱݴ ͍੾ͬͨຊ • ʮଉΛٵ͏Α͏ʹֶश͢Δʯͱ͍͏ࣄΛࢥͬ ͍ͯͨࣗ෼ͷߟ͑ํͱϚονͨ͠ • த਎ΛΑ͘ಡΉͱ͍͍ࣄ͕ͨ͘͞Μॻ͍ͯ͋ Δɻ

  29. ֶश͢Δ૊৫ • 5ͭͷσΟγϓϦϯ • 1. ࣗݾϚελϦʔ • 2. ڞ༗Ϗδϣϯ •

    3. γεςϜࢥߟ • 4. ϝϯλϧϞσϧ • 5. νʔϜֶश
  30. ֶश͢Δ૊৫ • 5ͭͷσΟγϓϦϯ • 1. ࣗݾϚελϦʔ • 2. ڞ༗Ϗδϣϯ •

    3. γεςϜࢥߟ • 4. ϝϯλϧϞσϧ • 5. νʔϜֶश ख़ୡ͢Δࣄɺઈ͑ͣ౒ྗͯ͠ೳྗΛߴΊΔ͜ͱ ੒͠਱͛ΔϏδϣϯΛෳ਺ͷਓʹڞ༗͢Δ͜ͱ ੈͷதͷγεςϜͷෳࡶ͞ʹ޲͖߹͍ɺཧղΛ ਂΊΔ͜ͱ ࣗ෼ͷ΍ΓํΛ͍ٙଓ͚ɺվળΛଓ͚Δ ͜ΕΒΛνʔϜͰڞ༗͠ɺΈΜͳͰߟ࡯ɺ୳ٻΛ ߦ͍ɺ಺ল͍ͯ͘͠
  31. ֶश͢Δ૊৫ • 5ͭͷσΟγϓϦϯ • 1. ࣗݾϚελϦʔ • 2. ڞ༗Ϗδϣϯ •

    3. γεςϜࢥߟ • 4. ϝϯλϧϞσϧ • 5. νʔϜֶश ख़ୡ͢Δࣄɺઈ͑ͣ౒ྗͯ͠ೳྗΛߴΊΔ͜ͱ ੒͠਱͛ΔϏδϣϯΛෳ਺ͷਓʹڞ༗͢Δ͜ͱ ੈͷதͷγεςϜͷෳࡶ͞ʹ޲͖߹͍ɺཧղΛ ਂΊΔ͜ͱ ࣗ෼ͷ΍ΓํΛ͍ٙଓ͚ɺվળΛଓ͚Δ ͜ΕΒΛνʔϜͰڞ༗͠ɺΈΜͳͰߟ࡯ɺ୳ٻΛ ߦ͍ɺ಺ল͍ͯ͘͠
  32. ͜ΕΛࣗ෼ͳΓʹղऍͯ͠ɺ ࢼߦࡨޡ͠ͳ͕Β ৭ʑࢼ͍ͯ͠Δ࠷த ڞ༗ϏδϣϯɺࣗݾϚελϦʔɺνʔϜֶशʹ͍ͭͯ঺հ

  33. ڞ༗Ϗδϣϯ

  34. ϏδϣϯΛग़ͯ͠ڞ༗͢Δ͜ ͱ

  35. ๻͕ݴ͍ଓ͚ͯͨ͜ͱɿ ਖ਼͍͠΋ͷΛਖ਼͘͠࡞Δ

  36. ਖ਼͠͞ʹ͸2࣠͋Δ validation ͱ verification

  37. validation => value ͔Βདྷͯ Δ value ͭ·ΓՁ஋͕͋Δ͜ͱ

  38. verification => very ͔Β͖ ͯΔ very ͸ "ͱͯ΋" Ͱ͸ͳ͘ ʮਖ਼͘͠ʯͱ͍͏ҙຯ

    ਖ਼͋͘͠Δ΂͖͔࢟Ͳ͏͔Λ ࢦ͢
  39. ͜Εཱ͕྆͢Δঢ়ଶ͕ཧ૝ͷ ঢ়ଶɺՁ஋͕͋Δ͜ͱΛਖ਼͠ ͋͘Δ΂͖࢟Ͱ࡞Δ͜ͱ

  40. ྫ͑͹: ച্΋্͛ͭͭɺςε τ΍ϨϏϡʔΛͯ͠੡඼ͷΫ ΦϦςΟ΋อͭɺͦΜͳঢ়ଶ

  41. Ұݟໃ६ͯ͠ΔΑ͏͕ͩɺ ͜ΕΛཱ྆ͤ͞Δͷ͕ٕज़ྗ ͩͱ͍͏࿩Λͯ͠ϝϯόʔΛ ಋ͍ͯΔɻ

  42. ͳͷͰϝϯόʔʹ͸ʮৗʹٕ ज़ྗͷݚᮎΛͭͭ͠ɺ͋͘· ͰϏδωεϑΝʔετͰ΍ Δʯͱ͍͏͜ͱΛҙࣝͤͯ͞ ͍Δɻ

  43. ࣗݾϚελϦʔ

  44. ࣗ෼͕ݚᮎΛ͢Δ͜ͱ ͔͠͠ɺݚᮎͯ͠΋ଞऀ͔Β ݟΔͱ෼͔Γʹ͍͘

  45. ࣗ෼͕ݚᮎΛ͢Δ͜ͱ ͔͠͠ɺݚᮎͯ͠΋ଞऀ͔Β ݟΔͱ෼͔Γʹ͍͘ ීஈ͔ΒΞ΢τϓοτΛ৺͕͚ΔΑ ͏ʹ࢓૊ΈͰղܾ

  46. ଉΛు͍ͨΒٵΘͳ͍ͱ͍͚ ͳ͘ͳΔ Ξ΢τϓοτ͢ΔͱΠϯϓο τ͠ͳ͍ͱ͍͚ͳ͘ͳΔ

  47. ྫ: ࣾ಺ϒϩά, Demo Day

  48. ຖिάϧʔϓձͰຖճ࡞ͬͨ ΋ͷΛσϞͤͯ͞Δɻ LTΈ͍ͨʹԿͰ΋ྑ͍͔Βຖ ि࡞ͬͨ΋ͷΛ঺հ͢ΔΑ͏ ʹ͍ͯ͠Δɻ

  49. ݁Ռͱͯ͠ • ϝϯόʔ͔ΒͷΞ΢τϓοτ͕૿͑ͨʢ΋ͪΖ Μʣ • ͦΕ͚ͩ͡Όͳͯ͘Gձͷؔ৺͕ߴ͘ͳͬͨɻ • ਐḿใࠂͰ͸ԼΛ޲͍ͯΔϝϯόʔ΋ը໘ΛݟΔ Α͏ʹͳͬͨɻ •

    άϧʔϓձ͕ᮣୡʹͳͬͨɻ
  50. νʔϜֶश

  51. νʔϜͰݚᮎ͢Δ

  52. ΍ͬͯΔ͜ͱ: ࣾ಺ISUCON, εϐʔυϋοΧ ιϯ

  53. R-ISUCON ✕

  54. R-ISUCON ϦΫϧʔτͳΓͷ໰୊Λ࡞ͬͯϦΫϧʔτͳΓ ͷύϑΥʔϚϯε໰୊Λղ͘ ✕

  55. R-ISUCONୈҰճ໨ͷ໰୊ • ϦΫϧʔτͰΑ͋͘Δձٞࣨ༧໿γεςϜ

  56. R-ISUCONୈҰճ໨ͷ໰୊ • ϦΫϧʔτͰΑ͋͘Δձٞࣨ༧໿γεςϜ • ϦΫϧʔτͰ͸ձ͕ٞࣨ1Q͔ͣͭ͠औΕͣɺ ͔͠΋ΫΦʔλʔͷ։࢝೔ʹෛՙ͕ूத͢Δ • ෛՙ͕ूதͨ݁͠Ռࢮ͵

  57. R-ISUCONୈҰճ໨ͷ໰୊ • ϦΫϧʔτͰΑ͋͘Δձٞࣨ༧໿γεςϜ • ϦΫϧʔτͰ͸ձ͕ٞࣨ1Q͔ͣͭ͠औΕͣɺ ͔͠΋ΫΦʔλʔͷ։࢝೔ʹෛՙ͕ूத͢Δ • ෛՙ͕ूதͨ݁͠Ռࢮ͵ ϦΫϧʔτͬΆ͍ɻɻɻ

  58. R-ISUCONୈҰճ໨ͷ໰୊ • ຊՈISUCONͱ͸ҧͬͯϑϩϯτΤϯυνϡʔ χϯάͷཁૉ΋ೖΕͨ • CSS/JSΛ͋͑ͯॏͨ͘͠Γɻ • ΩϟογϡΛޮ͔ͤͨΓɺը૾ѹॖͨ͠Γ͠ ͳ͍ͱείΞ͕ग़ͳ͍Α͏ʹͨ͠ɻ

  59. R-ISUCON΍ͬͯΈͯ • ύϑΥʔϚϯε্ɺ࣮ࡍʹϦΫϧʔτͰى͖ͨো ֐΍໰୊Λϕʔεʹຖճ৽͍͠ISUCONͷ໰୊Λ ࡞͍ͬͯΔɻ • ڭҭతͳଆ໘΋ڧ͍͕ɺো֐ৼΓฦΓతͳଆ໘΋ ڧ͍ɻ • ϦΫϧʔτશମͰ࣮ࢪ͢Δ͜ͱͰϦΫϧʔτશମ

    ͷαʔϏε͕Α͘ͳΔ͜ͱΛૂ͍ͬͯΔɻ
  60. R-ISUCON΍ͬͯΈͯ • ύϑΥʔϚϯε্ɺ࣮ࡍʹϦΫϧʔτͰى͖ͨো ֐΍໰୊Λϕʔεʹຖճ৽͍͠ISUCONͷ໰୊Λ ࡞͍ͬͯΔɻ • ڭҭతͳଆ໘΋ڧ͍͕ɺো֐ৼΓฦΓతͳଆ໘΋ ڧ͍ɻ • ϦΫϧʔτશମͰ࣮ࢪ͢Δ͜ͱͰϦΫϧʔτશମ

    ͷαʔϏε͕Α͘ͳΔ͜ͱΛૂ͍ͬͯΔɻ ϦΫϧʔτͷαʔϏεΛྑ͘͢Ε͹೔ຊͷ 8FCશମͷ͏ͪ਺͕ྑ͘ͳΔɻ
  61. εϐʔυϋοΧιϯ • Ծ૝ͷαʔϏεͰ͸ͳ͘ɺ࣮ࡍͷϖʔδΛج ʹϑϩϯτΤϯυ͚ͩͰͲ͜·Ͱߴ଎ԽͰ͖ Δ͔Λߦ͏ɻ

  62. εϐʔυϋοΧιϯ • ࣮ࡍͷαʔϏεͰ͸੍໿΋ଟ͍͔Β΍Εͳ͍͜ͱ ΋ଟ͍ • ͔͠͠ɺ੍໿Λ֎ͨ͠ঢ়ଶͰͲ͜·Ͱܰ͘ͳΔ ͔ɺͲ͜·ͰLook & Feel͕มΘΔ͔Λ·ͣ͸ମݧ ͤͯ͋͛͞Δ

    • ͜ΕʹΑͬͯɺ࠷ऴΰʔϧΛݟਾ͑ͨঢ়ଶͰվળ ׆ಈ͕Ͱ͖Δ
  63. εϐʔυϋοΧιϯ • ࣮ࡍͷαʔϏεͰ͸੍໿΋ଟ͍͔Β΍Εͳ͍͜ͱ ΋ଟ͍ • ͔͠͠ɺ੍໿Λ֎ͨ͠ঢ়ଶͰͲ͜·Ͱܰ͘ͳΔ ͔ɺͲ͜·ͰLook & Feel͕มΘΔ͔Λ·ͣ͸ମݧ ͤͯ͋͛͞Δ

    • ͜ΕʹΑͬͯɺ࠷ऴΰʔϧΛݟਾ͑ͨঢ়ଶͰվળ ׆ಈ͕Ͱ͖Δ μΠΤοτͱҰॹͰ࠷ॳʹཧ૝ͷ࢟ΛΠϝʔδͰ͖ ΔΑ͏ʹ͔ͯ͠Βվળ͢Δͱΰʔϧ͠΍͍͢
  64. εϐʔυϋοΧιϯ • ࣮ࡍʹόΠτݕࡧΞϓϦ΍௞ି෺݅ݕࡧΞϓ ϦͰ΋ޮՌ͕ग़͍ͯΔɻ •

  65. ଞʹ΋

  66. PIGICON • Programming and Intelligence: Greatest Improvement CONtest • ػցֶश

    x ISUCON • Ԡ౴ੑೳͱֶशਫ਼౓྆ํΛڝ͏ίϯςετ
  67. PIGICON • Ϣʔβʔʹ࣭໰ͯ͠ɺͦͷ಺༰ΛجʹϢʔβʔ ͕ߟ͑ͯΔ΋ͷΛਪଌ͢Δ • ࣭໰ճ਺͕গͳ͚Ε͹গͳ͍΄ͲείΞ͸ߴ͍ • ͨͩؒ͠ҧ͍Λ௚͢ʹ͸໰͍߹Θ͕ͤଟ͘ͳΔ • Ԡ౴ੑೳΛ͋͛Α͏ͱੑೳΛ্͛Δͱࠓ౓͸ਫ਼

    ౓͕௿͘ͳΔ
  68. IMOCON • Iikanji ni MOdel CONtest • Kaggle Έ͍ͨͳػցֶशͷਫ਼౓ͷΈΛڝ͏ί ϯςετ

    • ·ͩ͜Ε͔Β΍ΔίϯςετͳͷͰৄࡉ͸໌ ͔͞Εͯͳ͍ɻ
  69. ৭ʑ૿͖͑ͯͨ

  70. ϋοΧιϯܗࣜͰΠϕϯτʹ͠ ͯ੝Γ্͛Δ • ΈΜͳʹֶΜͰ΄͍͜͠ͱ͸ίϯςετܗࣜʹͯ͠ʢ xxxCON Λ࡞ͬͯʣ։࠵ͱ͍͏ྲྀΕ͕૿͑ͨɻ • ݁Ռͱͯ͠৭ΜͳόϥΤςΟͷڝٕ͕૿͑ͯɺΈΜͳҰ૚ڝٕΛ ͢ΔΑ͏ʹͳͬͨɻ •

    ࣗൃతʹֶश͍ͯ͘͠૊৫ʹͳ͖ͬͯͨɻ • ࣮ࡍͷΞϓϦέʔγϣϯʹ΋׆͔ͤΔΑ͏ʹͳ͖ͬͯͨɻ
 

  71. ৼΓฦͬͯ

  72. ৼΓฦͬͯ • ࣗ෼ͳΓͷϚωδϝϯτελΠϧΛ௥ٻͨ݁͠Ռɺ΄΅Τ ϯδχΞίϛϡχςΟͷษڧձͷελΠϧͱҰॹͩͬͨࣄ ʹؾ͍ͮͨ • ཁ͸େࣄͳ͜ͱ͸ษڧձ͔ΒֶΜͩɻ • σϞσΠͰৗʹଉΛు͔ͤΔͷ͸ษڧձͷొஃͷϚω͝ͱ •

    ϋοΧιϯͰ୹ظؒʹνʔϜͰֶश͢Δͱ͔΋΋ΖΤϯδ χΞίϛϡχςΟͷ΍Γํ
  73. ৼΓฦͬͯ • ࣗ෼ͳΓͷϚωδϝϯτελΠϧΛ௥ٻͨ݁͠Ռɺ΄΅Τ ϯδχΞίϛϡχςΟͷษڧձͷελΠϧͱҰॹͩͬͨࣄ ʹؾ͍ͮͨ • ཁ͸େࣄͳ͜ͱ͸ษڧձ͔ΒֶΜͩɻ • σϞσΠͰৗʹଉΛు͔ͤΔͷ͸ษڧձͷొஃͷϚω͝ͱ •

    ϋοΧιϯͰ୹ظؒʹνʔϜͰֶश͢Δͱ͔΋΋ΖΤϯδ χΞίϛϡχςΟͷ΍Γํ ͣʔͬͱ΍͖ͬͯͨΤϯδχΞίϛϡχςΟͰ ΍͖ͬͯͨ͜ͱΛࣾ಺Ͱద༻ͨ͠ɻ݁Ռɺࠓ͸ Ұఆͷ੒Ռ͕ग़ͯΔɻ
  74. ֶश͢Δ૊৫Λ࡞Δͷʹ৺͕͚ ͯΔ͜ͱ • ࣗ෼ͳΓͷڞ༗ϏδϣϯΛݴ͏ʮਖ਼͍͠΋ͷΛਖ਼͘͠࡞Δʯ • ͦͷ্Ͱϝϯόʔʹ͸ࣗݾݚᮎͱͱ΋ʹɺDemo Day΍ࣾ಺ ϒϩάͳͲৗʹൃ৴ͤ͞Δ࢓૊ΈΛ࡞Δ
 ʮৗʹଉΛు͔ͤͯٵΘͳ͍ͱ͍͚ͳ͘͢Δʯ •

    ϋοΧιϯ΍ISUCONͳͲͷऔΓ૊ΈΛੵۃతʹ౪Έɺੵۃ తʹࢼ͢ɻʮνʔϜֶशͰେࣄͳ͜ͱ͸ΤϯδχΞίϛϡχ ςΟ͔ΒֶΜͩɻʯ
  75. ֶश͢Δ૊৫Λ࡞Δͷʹ৺͕͚ ͯΔ͜ͱ • ࣗ෼ͳΓͷڞ༗ϏδϣϯΛݴ͏ʮਖ਼͍͠΋ͷΛਖ਼͘͠࡞Δʯ • ͦͷ্Ͱϝϯόʔʹ͸ࣗݾݚᮎͱͱ΋ʹɺDemo Day΍ࣾ಺ ϒϩάͳͲৗʹൃ৴ͤ͞Δ࢓૊ΈΛ࡞Δ
 ʮৗʹଉΛు͔ͤͯٵΘͳ͍ͱ͍͚ͳ͘͢Δʯ •

    ϋοΧιϯ΍ISUCONͳͲͷऔΓ૊ΈΛੵۃతʹ౪Έɺੵۃ తʹࢼ͢ɻʮνʔϜֶशͰେࣄͳ͜ͱ͸ΤϯδχΞίϛϡχ ςΟ͔ΒֶΜͩɻʯ ࠓ͸·ͩಓ൒͹ɺֶश͢Δ౔୆͕Ͱ͖͖ͯͨͩ ͚ɺ͔͜͜ΒՁ஋ = ϏδωεΛ্͍͛ͯ͘ඞཁ ΋͋Δ
  76. ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ JSConf.jp ΋ੋඇདྷ͍ͯͩ͘͞ɻ