Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
学習する組織の作り方
Yosuke Furukawa
PRO
October 31, 2019
Technology
24
13k
学習する組織の作り方
EOF2019 で発表した学習する組織の作り方の話です。
Yosuke Furukawa
PRO
October 31, 2019
Tweet
Share
More Decks by Yosuke Furukawa
See All by Yosuke Furukawa
yosuke_furukawa
PRO
58
18k
yosuke_furukawa
PRO
15
5.2k
yosuke_furukawa
PRO
3
2.8k
yosuke_furukawa
PRO
69
23k
yosuke_furukawa
PRO
0
2.2k
yosuke_furukawa
PRO
0
84
yosuke_furukawa
PRO
0
37
yosuke_furukawa
PRO
0
2.1k
yosuke_furukawa
PRO
2
340
Other Decks in Technology
See All in Technology
go5paopao
4
550
kaori_cho
1
320
simosako
1
150
koukyo1994
3
560
ch1aki
2
250
ido_kara_deru
1
150
mot_ai_tech
0
120
takehaya
0
140
inductor
1
140
kaniza
0
120
yuji1484
3
930
kanaugust
PRO
0
160
Featured
See All Featured
jonyablonski
19
1.2k
afnizarnur
176
14k
smashingmag
230
18k
tanoku
258
24k
dougneiner
55
5.4k
marktimemedia
7
400
jrom
116
7.2k
zenorocha
296
40k
moore
125
21k
philnash
9
590
jlugia
217
16k
geoffreycrofte
21
940
Transcript
ֶश͢Δ৫ͷ࡞Γํ 2019/10/31 @ EOF2019
ϦΫϧʔτςΫϊϩδʔζ ITEຊ෦HRE෦ASG ݹཅհʢϑϧΧϫϤεέʣ 2 ▪৬ ࣗݾհ Application Solution GroupͷάϧʔϓϚωʔδϟ γχΞιϑτΣΞΤϯδχΞ
͓ࣸਅ ໌Δ͍දͷͷ ϓϥΠϕʔτՄ ▪GMͱͯͬͯ͠Δ͜ͱ ϝϯόʔͷΩϟϦΞ։ൃ ϓϩδΣΫτΞαΠϯ શࣾݚमɾR-ISUCONɾϋοΧιϯͳͲ ▪γχΞͱͯͬͯ͠Δ͜ͱ R&D - React/Redux/Node.jsΛͬͨϘΠϥʔϓϨʔτ - Consumer Driven Contract πʔϧ agreed࡞ - ৽نٕज़։ൃ
Twitter: @yosuke_furukawa Github: yosuke-furukawa
None
+4$POG+1 UJDLFUͦΖͦΖϚδ ͰചΓΕ·͢ʂʂʂ
Q. ϦΫϧʔτςΫϊϩδʔζͬ ͯԿͬͯΔձࣾͳΜͰ͢ ͔ʁ
A. ϦΫϧʔτͷࣾ՝Λ ٕज़Ͱղܾ͢Δձࣾ
ͲΜͳ͜ͱΛͬͯΔ͔ʁ • Πϯϑϥߏங • ηΩϡϦςΟ૬ஊ • ΞϓϦέʔγϣϯ։ൃ • ػցֶश/ੳ •
։ൃϓϩηε࡞ • ׂͱͳΜͰͬͯΔ
ͲΜͳ͜ͱΛͬͯΔ͔ʁ • Πϯϑϥߏங • ηΩϡϦςΟ૬ஊ • ΞϓϦέʔγϣϯ։ൃ • ػցֶश/ੳ •
։ൃϓϩηε࡞ • ׂͱͳΜͰͬͯΔ "4(͕ओʹ୲ Σϒൺߴ͍
ʮΞϓϦέʔγϣϯ։ൃʯ ͱݴͬͯࠓUI͕ͲΜͲΜ Ϧονʹͳ͍ͬͯΔ࣌
None
ΞϓϦέʔγϣϯͷUIͷཁ͕݅ Ϧονʹ • UIϢʔβʔ͕৮Δͱ͜ΖͳͷͰʮϓϥϯφʔɾϓϩμΫτΦʔ φʔͷࢥ͍ʯ͕ೖΓ͍͢ • ϞόΠϧɺλϒϨοτɺPCͳͲෳͷڥͰಈ࡞ͤ͞Δཁ͕݅૿ ͑ͨ • ϞόΠϧʹ͓͍ͯUIγϯϓϧ͕ͩɺೖྗͰ͖Δࣄ͕গͳ͍
ɺཁ݅ϦονʹͳΓ͍͢ • ύϑΥʔϚϯεSEOɺηΩϡϦςΟͳͲඇػೳཁ݅Ͱߟ͑ͳ͍ ͱ͍͚ͳ͍͜ͱ૿͍͑ͯΔ
Ұੲલ
HTML CSS JS(jQuery) ΣϒΛߏ͢Δݴޠ ͜ͷลΓͷ͋Δఔͷ͕ࣝ͋Ε 6*࡞Εͨ
Ͱࠓ
DOM Cookie DevTools ϒϥβΛߏ͢Δ༰ CSSOM window navigator Headers
DNS URL HTTP(S) ωοτϫʔΫ WebSocket TCP TLS HTTP/3 QUIC
Cache Critical- Rendering Path Metrics Tools ύϑΥʔϚϯε Memory CPU I/O
XSS CSRF SQL Injection ηΩϡϦςΟ DoS TLS/SSL
React Angular Redux JS Frameworks Vue.js Polymer
Mobile Tablet PC Runtime Environment Chrome Safari Firefox IE Edge
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
େมͰ͢Ͷ
Ͱɺ͜Ε͕(ϦΫϧʔτͷ) ΣϒΤϯδχΞ ʹͳΔɺͱ͍͏͜ͱ
Σϒͷϑϩϯτ͚ͩͰ͜Ε ͚ͩͷ͕ࣝඞཁɺόοΫΤ ϯυؚΊΔͱ΄΅ແݶͷ࣌ ͕ؒඞཁ
ແݶͷதͰ༗ݶͷॲཧΛ͢Δ ͷʹඞཁͳͷϚϯύϫʔͰ ղܾ͢ΔͷͰͳ͘ɺ ଉΛٵ͏Α͏ʹֶश͢Δ Ϟνϕʔγϣϯ
ͦΜͳંʹग़ձͬͨຊ
ֶश͢Δ৫ • ʮֶश͢Δʯͱʮੜ͖Δ͜ͱͱಉٛʯͱݴ ͍ͬͨຊ • ʮଉΛٵ͏Α͏ʹֶश͢Δʯͱ͍͏ࣄΛࢥͬ ͍ͯͨࣗͷߟ͑ํͱϚονͨ͠ • தΛΑ͘ಡΉͱ͍͍ࣄ͕ͨ͘͞Μॻ͍ͯ͋ Δɻ
ֶश͢Δ৫ • 5ͭͷσΟγϓϦϯ • 1. ࣗݾϚελϦʔ • 2. ڞ༗Ϗδϣϯ •
3. γεςϜࢥߟ • 4. ϝϯλϧϞσϧ • 5. νʔϜֶश
ֶश͢Δ৫ • 5ͭͷσΟγϓϦϯ • 1. ࣗݾϚελϦʔ • 2. ڞ༗Ϗδϣϯ •
3. γεςϜࢥߟ • 4. ϝϯλϧϞσϧ • 5. νʔϜֶश ख़ୡ͢Δࣄɺઈ͑ͣྗͯ͠ೳྗΛߴΊΔ͜ͱ ͛͠ΔϏδϣϯΛෳͷਓʹڞ༗͢Δ͜ͱ ੈͷதͷγεςϜͷෳࡶ͞ʹ͖߹͍ɺཧղΛ ਂΊΔ͜ͱ ࣗͷΓํΛ͍ٙଓ͚ɺվળΛଓ͚Δ ͜ΕΒΛνʔϜͰڞ༗͠ɺΈΜͳͰߟɺ୳ٻΛ ߦ͍ɺল͍ͯ͘͠
ֶश͢Δ৫ • 5ͭͷσΟγϓϦϯ • 1. ࣗݾϚελϦʔ • 2. ڞ༗Ϗδϣϯ •
3. γεςϜࢥߟ • 4. ϝϯλϧϞσϧ • 5. νʔϜֶश ख़ୡ͢Δࣄɺઈ͑ͣྗͯ͠ೳྗΛߴΊΔ͜ͱ ͛͠ΔϏδϣϯΛෳͷਓʹڞ༗͢Δ͜ͱ ੈͷதͷγεςϜͷෳࡶ͞ʹ͖߹͍ɺཧղΛ ਂΊΔ͜ͱ ࣗͷΓํΛ͍ٙଓ͚ɺվળΛଓ͚Δ ͜ΕΒΛνʔϜͰڞ༗͠ɺΈΜͳͰߟɺ୳ٻΛ ߦ͍ɺল͍ͯ͘͠
͜ΕΛࣗͳΓʹղऍͯ͠ɺ ࢼߦࡨޡ͠ͳ͕Β ৭ʑࢼ͍ͯ͠Δ࠷த ڞ༗ϏδϣϯɺࣗݾϚελϦʔɺνʔϜֶशʹ͍ͭͯհ
ڞ༗Ϗδϣϯ
ϏδϣϯΛग़ͯ͠ڞ༗͢Δ͜ ͱ
͕ݴ͍ଓ͚ͯͨ͜ͱɿ ਖ਼͍͠ͷΛਖ਼͘͠࡞Δ
ਖ਼͠͞ʹ2࣠͋Δ validation ͱ verification
validation => value ͔Βདྷͯ Δ value ͭ·ΓՁ͕͋Δ͜ͱ
verification => very ͔Β͖ ͯΔ very "ͱͯ" Ͱͳ͘ ʮਖ਼͘͠ʯͱ͍͏ҙຯ
ਖ਼͋͘͠Δ͖͔࢟Ͳ͏͔Λ ࢦ͢
͜Εཱ͕྆͢Δঢ়ଶ͕ཧͷ ঢ়ଶɺՁ͕͋Δ͜ͱΛਖ਼͠ ͋͘Δ͖࢟Ͱ࡞Δ͜ͱ
ྫ͑: ച্্͛ͭͭɺςε τϨϏϡʔΛͯ͠ͷΫ ΦϦςΟอͭɺͦΜͳঢ়ଶ
Ұݟໃ६ͯ͠ΔΑ͏͕ͩɺ ͜ΕΛཱ྆ͤ͞Δͷ͕ٕज़ྗ ͩͱ͍͏Λͯ͠ϝϯόʔΛ ಋ͍ͯΔɻ
ͳͷͰϝϯόʔʹʮৗʹٕ ज़ྗͷݚᮎΛͭͭ͠ɺ͋͘· ͰϏδωεϑΝʔετͰ Δʯͱ͍͏͜ͱΛҙࣝͤͯ͞ ͍Δɻ
ࣗݾϚελϦʔ
͕ࣗݚᮎΛ͢Δ͜ͱ ͔͠͠ɺݚᮎͯ͠ଞऀ͔Β ݟΔͱ͔Γʹ͍͘
͕ࣗݚᮎΛ͢Δ͜ͱ ͔͠͠ɺݚᮎͯ͠ଞऀ͔Β ݟΔͱ͔Γʹ͍͘ ීஈ͔ΒΞτϓοτΛ৺͕͚ΔΑ ͏ʹΈͰղܾ
ଉΛు͍ͨΒٵΘͳ͍ͱ͍͚ ͳ͘ͳΔ Ξτϓοτ͢ΔͱΠϯϓο τ͠ͳ͍ͱ͍͚ͳ͘ͳΔ
ྫ: ࣾϒϩά, Demo Day
ຖिάϧʔϓձͰຖճ࡞ͬͨ ͷΛσϞͤͯ͞Δɻ LTΈ͍ͨʹԿͰྑ͍͔Βຖ ि࡞ͬͨͷΛհ͢ΔΑ͏ ʹ͍ͯ͠Δɻ
݁Ռͱͯ͠ • ϝϯόʔ͔ΒͷΞτϓοτ͕૿͑ͨʢͪΖ Μʣ • ͦΕ͚ͩ͡Όͳͯ͘Gձͷؔ৺͕ߴ͘ͳͬͨɻ • ਐḿใࠂͰԼΛ͍ͯΔϝϯόʔը໘ΛݟΔ Α͏ʹͳͬͨɻ •
άϧʔϓձ͕ᮣୡʹͳͬͨɻ
νʔϜֶश
νʔϜͰݚᮎ͢Δ
ͬͯΔ͜ͱ: ࣾISUCON, εϐʔυϋοΧ ιϯ
R-ISUCON ✕
R-ISUCON ϦΫϧʔτͳΓͷΛ࡞ͬͯϦΫϧʔτͳΓ ͷύϑΥʔϚϯεΛղ͘ ✕
R-ISUCONୈҰճͷ • ϦΫϧʔτͰΑ͋͘Δձٞࣨ༧γεςϜ
R-ISUCONୈҰճͷ • ϦΫϧʔτͰΑ͋͘Δձٞࣨ༧γεςϜ • ϦΫϧʔτͰձ͕ٞࣨ1Q͔ͣͭ͠औΕͣɺ ͔͠ΫΦʔλʔͷ։࢝ʹෛՙ͕ूத͢Δ • ෛՙ͕ूதͨ݁͠Ռࢮ͵
R-ISUCONୈҰճͷ • ϦΫϧʔτͰΑ͋͘Δձٞࣨ༧γεςϜ • ϦΫϧʔτͰձ͕ٞࣨ1Q͔ͣͭ͠औΕͣɺ ͔͠ΫΦʔλʔͷ։࢝ʹෛՙ͕ूத͢Δ • ෛՙ͕ूதͨ݁͠Ռࢮ͵ ϦΫϧʔτͬΆ͍ɻɻɻ
R-ISUCONୈҰճͷ • ຊՈISUCONͱҧͬͯϑϩϯτΤϯυνϡʔ χϯάͷཁૉೖΕͨ • CSS/JSΛ͋͑ͯॏͨ͘͠Γɻ • ΩϟογϡΛޮ͔ͤͨΓɺը૾ѹॖͨ͠Γ͠ ͳ͍ͱείΞ͕ग़ͳ͍Α͏ʹͨ͠ɻ
R-ISUCONͬͯΈͯ • ύϑΥʔϚϯε্ɺ࣮ࡍʹϦΫϧʔτͰى͖ͨো Λϕʔεʹຖճ৽͍͠ISUCONͷΛ ࡞͍ͬͯΔɻ • ڭҭతͳଆ໘ڧ͍͕ɺোৼΓฦΓతͳଆ໘ ڧ͍ɻ • ϦΫϧʔτશମͰ࣮ࢪ͢Δ͜ͱͰϦΫϧʔτશମ
ͷαʔϏε͕Α͘ͳΔ͜ͱΛૂ͍ͬͯΔɻ
R-ISUCONͬͯΈͯ • ύϑΥʔϚϯε্ɺ࣮ࡍʹϦΫϧʔτͰى͖ͨো Λϕʔεʹຖճ৽͍͠ISUCONͷΛ ࡞͍ͬͯΔɻ • ڭҭతͳଆ໘ڧ͍͕ɺোৼΓฦΓతͳଆ໘ ڧ͍ɻ • ϦΫϧʔτશମͰ࣮ࢪ͢Δ͜ͱͰϦΫϧʔτશମ
ͷαʔϏε͕Α͘ͳΔ͜ͱΛૂ͍ͬͯΔɻ ϦΫϧʔτͷαʔϏεΛྑ͘͢Εຊͷ 8FCશମͷ͏͕ͪྑ͘ͳΔɻ
εϐʔυϋοΧιϯ • ԾͷαʔϏεͰͳ͘ɺ࣮ࡍͷϖʔδΛج ʹϑϩϯτΤϯυ͚ͩͰͲ͜·ͰߴԽͰ͖ Δ͔Λߦ͏ɻ
εϐʔυϋοΧιϯ • ࣮ࡍͷαʔϏεͰ੍ଟ͍͔ΒΕͳ͍͜ͱ ଟ͍ • ͔͠͠ɺ੍Λ֎ͨ͠ঢ়ଶͰͲ͜·Ͱܰ͘ͳΔ ͔ɺͲ͜·ͰLook & Feel͕มΘΔ͔Λ·ͣମݧ ͤͯ͋͛͞Δ
• ͜ΕʹΑͬͯɺ࠷ऴΰʔϧΛݟਾ͑ͨঢ়ଶͰվળ ׆ಈ͕Ͱ͖Δ
εϐʔυϋοΧιϯ • ࣮ࡍͷαʔϏεͰ੍ଟ͍͔ΒΕͳ͍͜ͱ ଟ͍ • ͔͠͠ɺ੍Λ֎ͨ͠ঢ়ଶͰͲ͜·Ͱܰ͘ͳΔ ͔ɺͲ͜·ͰLook & Feel͕มΘΔ͔Λ·ͣମݧ ͤͯ͋͛͞Δ
• ͜ΕʹΑͬͯɺ࠷ऴΰʔϧΛݟਾ͑ͨঢ়ଶͰվળ ׆ಈ͕Ͱ͖Δ μΠΤοτͱҰॹͰ࠷ॳʹཧͷ࢟ΛΠϝʔδͰ͖ ΔΑ͏ʹ͔ͯ͠Βվળ͢Δͱΰʔϧ͍͢͠
εϐʔυϋοΧιϯ • ࣮ࡍʹόΠτݕࡧΞϓϦି݅ݕࡧΞϓ ϦͰޮՌ͕ग़͍ͯΔɻ •
ଞʹ
PIGICON • Programming and Intelligence: Greatest Improvement CONtest • ػցֶश
x ISUCON • Ԡੑೳͱֶशਫ਼྆ํΛڝ͏ίϯςετ
PIGICON • Ϣʔβʔʹ࣭ͯ͠ɺͦͷ༰ΛجʹϢʔβʔ ͕ߟ͑ͯΔͷΛਪଌ͢Δ • ࣭ճ͕গͳ͚Εগͳ͍΄ͲείΞߴ͍ • ͨͩؒ͠ҧ͍Λ͢ʹ͍߹Θ͕ͤଟ͘ͳΔ • ԠੑೳΛ͋͛Α͏ͱੑೳΛ্͛Δͱࠓਫ਼
͕͘ͳΔ
IMOCON • Iikanji ni MOdel CONtest • Kaggle Έ͍ͨͳػցֶशͷਫ਼ͷΈΛڝ͏ί ϯςετ
• ·ͩ͜Ε͔ΒΔίϯςετͳͷͰৄࡉ໌ ͔͞Εͯͳ͍ɻ
৭ʑ૿͖͑ͯͨ
ϋοΧιϯܗࣜͰΠϕϯτʹ͠ ͯΓ্͛Δ • ΈΜͳʹֶΜͰ΄͍͜͠ͱίϯςετܗࣜʹͯ͠ʢ xxxCON Λ࡞ͬͯʣ։࠵ͱ͍͏ྲྀΕ͕૿͑ͨɻ • ݁Ռͱͯ͠৭ΜͳόϥΤςΟͷڝٕ͕૿͑ͯɺΈΜͳҰڝٕΛ ͢ΔΑ͏ʹͳͬͨɻ •
ࣗൃతʹֶश͍ͯ͘͠৫ʹͳ͖ͬͯͨɻ • ࣮ࡍͷΞϓϦέʔγϣϯʹ׆͔ͤΔΑ͏ʹͳ͖ͬͯͨɻ
ৼΓฦͬͯ
ৼΓฦͬͯ • ࣗͳΓͷϚωδϝϯτελΠϧΛٻͨ݁͠Ռɺ΄΅Τ ϯδχΞίϛϡχςΟͷษڧձͷελΠϧͱҰॹͩͬͨࣄ ʹؾ͍ͮͨ • ཁେࣄͳ͜ͱษڧձ͔ΒֶΜͩɻ • σϞσΠͰৗʹଉΛు͔ͤΔͷษڧձͷొஃͷϚω͝ͱ •
ϋοΧιϯͰظؒʹνʔϜͰֶश͢Δͱ͔ΖΤϯδ χΞίϛϡχςΟͷΓํ
ৼΓฦͬͯ • ࣗͳΓͷϚωδϝϯτελΠϧΛٻͨ݁͠Ռɺ΄΅Τ ϯδχΞίϛϡχςΟͷษڧձͷελΠϧͱҰॹͩͬͨࣄ ʹؾ͍ͮͨ • ཁେࣄͳ͜ͱษڧձ͔ΒֶΜͩɻ • σϞσΠͰৗʹଉΛు͔ͤΔͷษڧձͷొஃͷϚω͝ͱ •
ϋοΧιϯͰظؒʹνʔϜͰֶश͢Δͱ͔ΖΤϯδ χΞίϛϡχςΟͷΓํ ͣʔͬͱ͖ͬͯͨΤϯδχΞίϛϡχςΟͰ ͖ͬͯͨ͜ͱΛࣾͰద༻ͨ͠ɻ݁Ռɺࠓ ҰఆͷՌ͕ग़ͯΔɻ
ֶश͢Δ৫Λ࡞Δͷʹ৺͕͚ ͯΔ͜ͱ • ࣗͳΓͷڞ༗ϏδϣϯΛݴ͏ʮਖ਼͍͠ͷΛਖ਼͘͠࡞Δʯ • ͦͷ্ͰϝϯόʔʹࣗݾݚᮎͱͱʹɺDemo Dayࣾ ϒϩάͳͲৗʹൃ৴ͤ͞ΔΈΛ࡞Δ ʮৗʹଉΛు͔ͤͯٵΘͳ͍ͱ͍͚ͳ͘͢Δʯ •
ϋοΧιϯISUCONͳͲͷऔΓΈΛੵۃతʹ౪Έɺੵۃ తʹࢼ͢ɻʮνʔϜֶशͰେࣄͳ͜ͱΤϯδχΞίϛϡχ ςΟ͔ΒֶΜͩɻʯ
ֶश͢Δ৫Λ࡞Δͷʹ৺͕͚ ͯΔ͜ͱ • ࣗͳΓͷڞ༗ϏδϣϯΛݴ͏ʮਖ਼͍͠ͷΛਖ਼͘͠࡞Δʯ • ͦͷ্ͰϝϯόʔʹࣗݾݚᮎͱͱʹɺDemo Dayࣾ ϒϩάͳͲৗʹൃ৴ͤ͞ΔΈΛ࡞Δ ʮৗʹଉΛు͔ͤͯٵΘͳ͍ͱ͍͚ͳ͘͢Δʯ •
ϋοΧιϯISUCONͳͲͷऔΓΈΛੵۃతʹ౪Έɺੵۃ తʹࢼ͢ɻʮνʔϜֶशͰେࣄͳ͜ͱΤϯδχΞίϛϡχ ςΟ͔ΒֶΜͩɻʯ ࠓ·ͩಓɺֶश͢Δ͕Ͱ͖͖ͯͨͩ ͚ɺ͔͜͜ΒՁ = ϏδωεΛ্͍͛ͯ͘ඞཁ ͋Δ
͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ JSConf.jp ੋඇདྷ͍ͯͩ͘͞ɻ