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

野球エンジニアになるまでの歩み〜夢は正夢 #devsumi

野球エンジニアになるまでの歩み〜夢は正夢 #devsumi

Developers Summit 2018講演資料
http://event.shoeisha.jp/devsumi/20180215/session/1625/

#野球 #Python #エンジニア #生き方

Shinichi Nakagawa

February 15, 2018
Tweet

More Decks by Shinichi Nakagawa

Other Decks in Business

Transcript

  1. ʮ໺ٿΤϯδχΞʯʹͳΔ·ͰͷาΈ
    ʙʮͳΔΜͩʂʯΛਖ਼ເʹ͢Δ·Ͱͷ࿩ʙ
    Shinichi Nakagawa(ωΫετϕʔεCTO/໺ٿΤϯδχΞ)
    Developers Summit 2018 Talk Session 2018/2/15

    View Slide

  2. Who am I ?(͓લ୭Α)
    • ΨνͰ໺ٿΛੜۀͱ͢ΔΤϯδχΞͰ͢
    • Shinichi Nakagawa(@shinyorke)
    • (ג)ωΫετϕʔε CTO(2݄͔Β)
    • ओͳ׆ಈྺ
    • PyCon JPొஃ(2014-2017)
    • Python΋͘΋ࣗ͘शࣨ(#Rettypy)ओ࠵
    • ͦͷଞ,PythonίϛϡχςΟΛத৺ʹग़຅
    • ࠷ۙͷϚΠϒʔϜʮApache Spark(PySpark)ʯ
    • #Python #໺ٿ #ηΠόʔϝτϦΫε #ΞδϟΠϧ #UKRock #ڕྉཧ
    ※ࠨ୺͕୅දͷதඌ,ӈ͔Β2൪໨͕ϫΠ

    View Slide

  3. ʲCMʳωΫετϕʔε #ͱ͸
    • Innovations For All Athletes

    (શͯͷΞεϦʔτʹٕज़ֵ৽Λ)
    • τϥοΫϚϯ(υοϓϥʔϨʔμʔ)͔ΒಘΒΕͨ౤ٿσʔλΛղੳ͠,

    ෼ੳɾՄࢹԽΛߦ͏ϓϩμΫτʮBACS(όοΫε)ʯΛఏڙ
    • ໺ٿΛத৺ͱͨ͠બखɾٿஂͷίϯαϧςΟϯάɾαϙʔτetc…
    • ৄ͘͠͸ͪ͜ΒͰˠ http://nextbase.co.jp/
    • ΤϯδχΞ(Θͨ͠)͕JOINͨ͜͠ͱʹΑΓ,ࠓޙߋʹ໘ന͘͠·͢ʂ
    ※BACS͸ʮBaseball Analytics and Coaching Systemʯͷུ

    View Slide

  4. ͜Ε͕BACS(όοΫε)Ͱ͢
    ࠨ͕౤ٿσʔλͷղੳ&ՄࢹԽ,ӈ͕3Dي੻
    ಡചڊਓ܉(δϟΠΞϯπ)༷ʹಋೖ௖͍ͯ·͢(ࠓޙ΋֦େ༧ఆ)

    View Slide

  5. ʲCMʳBaseball Geeks
    • ໺ٿͷʮະདྷʯΛൃ৴͢ΔϝσΟΞͰ,ωΫετϕʔεͰӡӦ͍ͯ͠·͢
    • σʔλɾεϙʔπՊֶͰ໌Β͔ʹͳͬͨ͜ͱΛʮΘ͔Γ΍͘͢ʯ఻͑Δ
    • ΈΜͳಡΜͰͶ&ϒΫϚ΋ΑΖ͘͠ʂ https://www.baseballgeeks.jp/

    View Slide

  6. ʲCMʳPython΋͘΋ࣗ͘शࣨ #rettypy
    • ࢲͱRettyͷΤϯδχΞ͕ओ࠵͢ΔPython΋͘΋͘ձ
    • झࢫ&Ϟοτʔ
    • ֤ࣗ,͓୊Λ࣋ࢀͯ͠ʮࣗश(΋͘΋͘)ʯ͢Δ
    • ൃදɾࡶஊΛ௨ͯ͡৘ใަ׵΍ֶͼΛಘΔ
    • ΠΠΰϋϯ(ϥϯνɾ͓΍ͭ)Λ༇͠Ή
    • ॳ৺ऀ͔ΒΤόϯδΣϦετ·Ͱଟछଟ༷ͳࢀՃϝϯόʔ
    • ։࠵༧ఆɾৄࡉ͸RettyͷconnpassαΠτ΋͘͠͸ Twitterʮ#rettypyʯΛνΣοΫʂ

    https://retty.connpass.com

    View Slide

  7. ͔͜͜Βຊ୊

    View Slide

  8. Կނσϒαϛʹʁʁʁ
    • ͱ͋Δϒϩά(ޙड़)Λݟͨ,ओ࠵ऀ(ᠳӭࣾ͞·)͔Β͝ґཔΛ௖͍ͨ
    • ґཔ಺༰ʮΤϯδχΞͷΩϟϦΞઓུʹ͓͚Δηϧϑϓϩσϡʔεʯ
    • ࣗ෼ͷ໨ࢦ͍ͨ͠ํ޲ʹ޲͔͏ਓ΁ͷΞυόΠε
    • ྫ͑͹…ʮ࢓ࣄɾษڧͷऔΓ૊Έํʯ
    • ྫ͑͹…ʮର֎׆ಈ(ίϛϡχςΟ׆ಈ)΍Ξ΢τϓοτͲ͏ͨ͠ʁʯ
    • …Λ௨ͯ͡ҟۀछస৬ΛΩϝͨํʹ͓࿩ΛͰ͢Ͷ(ry
    • ϫΠʮ(Α͏Θ͔ΒΜ͚Ͳ)ࣗ෼ͷ࿩Λ͢Ε͹͍͍ΜͰ͢Ͷ(๮)ʯ

    View Slide

  9. ͜Ε͕όζͬͯґཔ͕དྷͨ
    ເ͸ਖ਼ເʙʮ໺ٿΤϯδχΞʯͱͯ͠ͷΩϟϦΞͷ͸͡·Γ
    http://shinyorke.hatenablog.com/entry/yakiu-no-jikan-daaaa

    View Slide

  10. ηϧϑϓϩσϡʔεʁ
    Α͘Θ͔Μͳ͍͚Ͳ
    ࣗ෼ͷ࿩Λ͠·͢Ͷ.

    View Slide

  11. ͜Μͳํʹ͓͢͢Ί
    • ʮ̋̋ΤϯδχΞʯʹͳΓ͍ͨํ
    • ػցֶशΤϯδχΞ
    • ΞϓϦΤϯδχΞetc…ʮ̋̋ʯ͸ࣗ͝਎Ͱ޷͖ͳ΋ͷΛͲ͏ͧ
    • …ͱ͍͏,ͦΜͳ໨ඪΛԿͱͯ͠Ͱ΋׎͍͑ͨํ
    • ษڧɾ࢓ࣄͷऔΓ૊Έํ,Ξ΢τϓοτɾίϛϡχςΟͷ׆༻
    • ෦ॺҟಈɾస৬ͰνϟϯεΛ࡞Γ͍ͨ

    View Slide

  12. ҎԼͷํʹ͸͓͢͢Ί͠·ͤΜ
    • ࠓͷձࣾɾ૊৫LoveͳͷͰग़ੈڝ૪ʹউ͍ͪͨ
    • ʮࣗ෼୳͠ͷཱྀʯͷ్தͳ೰ΊΔ༽ͨͪ
    • ࠓͷΩϟϦΞʹϞϠϞϠ͍ͯ͠Δ͕,ͳΓ͍ͨϞϊ͕ͳ͍
    • ʁʁʁʮΤϯδχΞ࠾༻ͷࢀߟʹ()ʯͱ͔͍͏टङΓ଒
    • ͜ΕΒͷ͓໾ʹཱͯΔ࿩͸࢒೦ͳ͕Βແ͍Ͱ͢ :bow:

    View Slide

  13. ຊ೔֮͑ͯؼͬͯཉ͍͠ࣄ
    ※ͨͬͨͷ3ͭͰ͢.

    View Slide

  14. TL;DR(ຊ೔͓࿩͍ͨ͜͠ͱ)
    • ʮ̋̋ΤϯδχΞʹͳΔΜͩʂʂʂʯ

    ͱ͍͏ڧ͍ҙࢤΛৗʹ࣋ͪଓ͚Δʂʂʂ

    ʮͳΓ͍ͨʯ͸ઈରʹμϝʂʂʂʂ
    • ໨ඪɾܭըΛݴޠԽͯ͠ܧଓతʹ࣮ߦ͢Δ
    • ଞਓࣄΛؾʹ͠ͳ͍ɾεϧʔ͢Δ

    ࣗ෼ࣗ਎ͷࣄʹूத͢Δ

    View Slide

  15. ʮͳΔΜͩʂʯ͕େ੾
    ʮͳΓ͍ͨʯ͸μϝ
    ໨ඪɾܭըɾ࣮ߦΛܧଓతʹ
    ΍ΔͨΊͷϒϨͳ͍ҙࢤΛ
    #ࠓ೔ͷ࿩ͷཁ໿

    View Slide

  16. ͔͜͜Βઌ͸
    ໺ٿΤϯδχΞʹͳΔ·Ͱͷ
    ࣗ෼ͷ൒ੜهΛ͓࿩͠·͢.

    View Slide

  17. ຊ೔͓࿩͢Δظؒ(είʔϓ)
    2014ʙ2017(34ʙ37ࡀ)ͷ࣌ظΛৼΓฦΓ·͢

    View Slide

  18. ຊ୊ͷલʹ
    ͪΐͬͱ͚ͩ
    ໺ٿͷࡶஊΛ

    View Slide

  19. બखೳྗͱ೥เʹ͍ͭͯௐ΂ͨ
    • ʮಘ఺ೳྗʯΛηΠόʔϝτϦΫε(໺ٿ౷ܭֶ)ͰఆྔԽͯ͠Έͨ
    • wRAAͱ͍͏,ಘ఺ೳྗΛʮྔʯʹ׵ࢉ͢ΔࢦඪͰධՁ
    • wRAA +10Ҏ্͕ελϝϯ,0ҎԼ͸߇͑Ϩϕϧ
    • ͳ͓कඋ૸ྥ͸ߟྀʹͳ͍(ͷͰ0ҎԼͰ΋ແՁ஋Ͱ͸ͳ͍)
    • ʮಘ఺ೳྗʯͱʮ೥เʯͷࢄ෍ਤͰଧऀͷྗྔΛՄࢹԽͰ͖ͦ͏ͩͧ?
    • ͳ͓σʔλूΊɾલॲཧɾ෼ੳɾՄࢹԽ͢΂ͯPythonͰ΍ͬͯ·͢

    View Slide

  20. ಘ఺ೳྗͱ೥เͷؔ܎
    ϓϩ໺ٿ2017೥(ଧऀͷΈ)
    ଍ΛҾͬு͍ͬͯΔˡʲߩݙ౓ʳˠνʔϜʹߩݙ͍ͯ͠Δ
    ͍҆ˡʲ೥เʢ͓څྉʣʳˠߴ͍

    View Slide

  21. ಘ఺ೳྗͱ೥เͷؔ܎
    ϓϩ໺ٿ2017೥(ଧऀͷΈ)
    ଍ΛҾͬு͍ͬͯΔˡʲߩݙ౓ʳˠνʔϜʹߩݙ͍ͯ͠Δ
    ͍҆ˡʲ೥เʢ͓څྉʣʳˠߴ͍
    ٿք୅ද
    จ۟ͳ͠ͷ
    ελϝϯ
    େଟ਺

    View Slide

  22. ελϝϯҎ্ʹͳΔͨΊʹ͸
    • ᶃѹ౗తͳಘ఺ೳྗ(ʹଧܸͱ૸ྥͷ૯߹ೳྗ)
    • ԕ͘ʹϘʔϧΛඈ͹͢ྗ(௕ଧྗ)+ਓΑΓϕʔεΛ଎͘ճΕΔྗ(٭)
    • ྥʹग़ΔೳྗʢώοτΛଧͭ,࢛ٿΛબͿʣ
    • ᶄ଍ख·ͱ͍ʹͳΒͳ͍ఔ౓ͷकඋ
    • ελϝϯͰ࢖ΘΕΔఔ౓ͷकඋྗɹ˞ઈରతʹ্ख͍ඞཁ͸Ҋ֎ແ͍
    • νʔϜ಺ʹಉϙδγϣϯͷڝ߹͕͍ͳ͍
    • ᶃ + ᶄͷ଍͠ࢉͰ,ϓϥεҎ্ͷબख͕ελϝϯͱͯ͠ೝΊΒΕΔ

    →ηΠόʔϝτϦΫεͷධՁํ๏ͷҰͭɹ※ҟ࿦͸ೝΊ·͢(ଞͷධՁํ๏΋͋Δ)

    View Slide

  23. ಘ఺ೳྗͱ೥เͷؔ܎
    ϓϩ໺ٿ2017೥(ଧऀͷΈ)
    ଍ΛҾͬு͍ͬͯΔˡʲߩݙ౓ʳˠνʔϜʹߩݙ͍ͯ͠Δ
    ͍҆ˡʲ೥เʢ͓څྉʣʳˠߴ͍
    ٿք୅ද
    จ۟ͳ͠ͷ
    ελϝϯ
    େଟ਺ ᶃᶄͰϓϥεͷ໘ʑʢओʹଧܸͰʣ

    View Slide

  24. ͜ͷ෼ੳΛ
    զʑΤϯδχΞʹ
    ౰ͯ͸ΊΔͱʁ

    View Slide

  25. ಘ఺ೳྗͱ೥เͷؔ܎
    ϓϩ໺ٿ2017೥(ଧऀͷΈ)
    ଍ΛҾͬு͍ͬͯΔˡʲߩݙ౓ʳˠνʔϜʹߩݙ͍ͯ͠Δ
    ͍҆ˡʲ೥เʢ͓څྉʣʳˠߴ͍
    ͜ʔΜͳ੒௕ઢͰ

    View Slide

  26. ಘ఺ೳྗͱ೥เͷؔ܎
    ϓϩ໺ٿ2017೥(ଧऀͷΈ)
    ଍ΛҾͬு͍ͬͯΔˡʲߩݙ౓ʳˠνʔϜʹߩݙ͍ͯ͠Δ
    ͍҆ˡʲ೥เʢ͓څྉʣʳˠߴ͍
    ͜ʔΜͳ੒௕ઢͰ
    ͜͜·Ͱ
    ߦ͚ͨΒ
    ࠷ߴʂ

    View Slide

  27. զࢥ͏ʮΤϯδχΞͷελϝϯʯ
    • ᶃѹ౗తͳʮΤϯδχΞͱͯ͠ͷڧΈʯΛ࣋ͭ
    • PythonͱΞδϟΠϧͷ͜ͱͳΒνʔϜ(ձࣾ)ͷ୭ʹ΋ෛ͚ͳ͍
    • ͳΜͩͬͨΒ,ࠃ಺࠷ߴϓϨʔϠʔ΋໨ࢦ͢,Ͱ΋Ұ౳৆͡Όͳͯ͘΋͍͍
    • ᶄ଍ख·ͱ͍ʹͳΒͳ͍ఔ౓ͷʮϏδωεྗʯΛൃش͢Δ
    • ࣗࣾαʔϏεͷυϝΠϯྖҬ(ࣄۀ+α)ʹର͢ΔѪ৘ͱ஌ࣝ
    • ࠷௿ݶͷίϛϡχέʔγϣϯ(ϓϨθϯεΩϧɾυΩϡϝϯτॻ͚Δྗetc…)
    • ᶃ + ᶄͷ଍͠ࢉʹݟ߹͓ͬͨڅྉΛ͍ͨͩ͘ʂ

    →ʮνϟϨϯδʯʮເʯΛཧ༝(ݴ͍༁)ʹσΟεΧ΢ϯτ(஋Լ͛)Λ͠ͳ͍

    View Slide

  28. զࢥ͏ʮ͋Δ΂͖ΤϯδχΞʯ૾
    1. ࣾ֎ʹग़ͯ΋ෛ͚ͳ͍ΤϯδχΞͱͯ͠ͷ

    εΩϧΛ͚ͭΔ&ੈʹೝΊΒΕΔ
    2. ΤϯδχΞεΩϧΛ׆͔͢Ϗδωεྗ
    3. ʮ೥ऩɾڅྉͰͷଥڠ͸ܾͯ͠ڐ͞ͳ͍ʂʯ

    ओ؍ɾ٬؍྆ํͰࣗ৴Λ࣋ͯΔڧΈΛ࣋ͭ

    ˞্ه1+2ͷ଍͠ࢉͰϓϥεΛ໨ࢦ͢ʂʂ

    View Slide

  29. ͦΜͳࢥ૝ɾͩ͜ΘΓͷݩ,
    աڈ5೥(34ʙ38ࡀ)Λ
    Ͳ͏ա͔ͨ͝͠ৼΓฦΓ·͢

    View Slide

  30. 34ࡀ(2014Ն·Ͱ)
    ϕΠΧϨϯτɾίϯαϧςΟϯάʙϦΫϧʔτJOIN·Ͱ
    ࠓίί

    View Slide

  31. ࢓ࣄʹ͍ͭͯ(2004-2014Ն)
    • ҰݴͰ͍͏ͱʮडୗ։ൃɾίϯαϧʯ
    • ௨৴ɾ׭ެிɾࣗಈं(R&D)ɾήʔϜetc…

    WebΞϓϦ։ൃ͔Βۀ຿ܥ,Πϯϑϥ·Ͱ৭ʑ΍ͬͨ
    • ۀ຿γεςϜɾWebΞϓϦ։ൃ͓Αͼ,ͪΐͬͱ͚ͩΠϯϑϥ

    ಛʹσʔλΤϯδχΞ(લॲཧετ)͕௒ָ͔ͬͨ͠
    • ޙ൒͸͓٬༷΁ͷఏҊ&Ҋ݅ήοτͰӦۀ&ϓϩϚωͳಈ͖

    (٬؍తʹݟͯ΋)͓٬༷ɾࣾ಺͔ΒධՁͯ͠΋Βͬͯͨ

    View Slide

  32. ίϛϡχςΟͱͷग़ձ͍
    • ͋ΔҊ݅ͰಥવͷʮϦʔϯελʔτΞοϓ΍Δͧʯ

    తͳϑϦ͕(ϑΝʂʁ)
    • ຊΛಡΜ͕ͩͬ͞ͺΓΘ͔Βͣ,पΓʹৄ͍͠ਓ΋

    ͍ͳ͍٧Μͩorz…ͱ͍͏ͱ͜ΖͰٹ͍ͷਆ͕ʂ
    • ٹ͍ͷਆʮίϛϡχςΟʹग़͍͚ͯ͹͍͍͡ΌΜʂʯ

    …ͱڭ͑ͯ͘Εͨ&ίϛϡχςΟΛ঺հͯ͘͠Εͨ

    View Slide

  33. ίϛϡχςΟͷΠϝʔδ(౰࣌)
    • ౰ॳ͸ߦ͘ͷ͕ͿͬͪΌ͚ڪ͔ͬͨ,ஏΛ͔͖ͦ͏Ͱ
    • ͱ͸͍͑,ࣗݾֶशͰ͸ݶք͋Δͱ͍͏ഽײ͕͋ͬͨ

    &୅ସҊ΋ࢥ͍͔ͭͣ
    • ʮஏ͔͍ͯ΋࢓ࣄࣦ͏༁Ͱ͸ͳ͍͠ʂʯ

    ͱ͍͏ൃ૝ͷ੾Γସ͑Ͱࢥ͍੾ͬͯࢀՃ

    →͜͏͍͏੾Γସ͑Ͱ͖Δͷ͕ࣗ෼ͷڧΈ(ࠓࢥ͑͹)

    View Slide

  34. ίϛϡχςΟʹࢀՃ(ΞδϟΠϧ)
    • ϦʔϯελʔτΞοϓͷ஌ݟΛಘΔͨΊ,

    ঺հͯ͠΋ΒͬͨϛʔτΞοϓʹࢀՃ
    • ϫʔΫγϣοϓ΍ٞ࿦ʹݟΑ͏ݟ·ͶͰࢀՃ
    • ͱ͋Δٞ࿦ͷΫϩʔδϯάͰݴΘΕͨҰݴ͕

    ޙͷʮ໺ٿΤϯδχΞʯʹͭͳ͕Δʂ

    View Slide

  35. ϚωʔϘʔϧ΋
    ϦʔϯελʔτΞοϓࣄྫͷ
    ҰͭͰ͢Α
    ※ͱ͍͏ҙຯ߹͍ͷ࿩͕͋ͬͨ

    View Slide

  36. ϫΠʮϚωʔϘʔϧ(΍͖͏)
    ͳΒಘҙ΍ͧʂʂʂʯ

    #૝ఆ֎ͷϒϨΠΫεϧʔ

    View Slide

  37. ໺ٿʹ͍ͭͯ(౰࣌)
    • ϚωʔϘʔϧͰग़ձͬͨ,ηΠόʔϝτϦΫε(౷ܭֶνο
    Ϋʹ໺ٿΛ෼ੳ͢Δࢥ૝ɾख๏)͕େ޷͖
    • ηΠόʔϝτϦΫεͷࢦඪ͸ܭࢉؚࣜΊͯཧղͯͨ͠
    • ΋ͪΖΜ໺ٿ͸ී௨ʹେ޷͖Ͱே͸MLB,໷͸ϓϩ໺ٿΛ
    • ୯ʹݟͯΔ͚ͩͰͳ͘,ͣͬͱσʔλͰ௥ͬͯͨ

    (20୅ͷࠒ͔Βσʔλ௥͏ͷ͕େ޷͖)

    View Slide

  38. ໺ٿͰΤϯδχΞϦϯάͷ͸͡·Γ
    • ϦʔϯελʔτΞοϓͷ݅ͱ͸ผʹ,໺ٿͰϓϩάϥϛϯάΛ͸͡Ίͨ
    • ϝδϟʔϦʔάͷԾ૝໺ٿήʔϜ,

    ʮϑΝϯλδʔϕʔεϘʔϧʯΛٕज़Ͱউͱ͏ʂͱࢥ͍ͭ͘

    (஫ɿνʔτͰ͸ͳ͍,ެࣜAPIΛ࢖ͬͯ෼ੳɾՄࢹԽͱ͔)
    • ౰࣌࢓ࣄͰ͸͡ΊͨPythonʹϋϚΓͭͭ͋Γ,

    ΋ͬͱPythonͰͳΜ͔࡞Γ͍ͨˠ໺ٿ΍ʂ
    • Ұਓ΋͘΋͘Ͱଓ͔͘ෆ͕҆͋ͬͨͷͰίϛϡχςΟʹࢀՃΛܾҙ
    • ͳ͓,͜Ε͸5೥લ(2013೥)ͷ࿩(33ࡀ)

    View Slide

  39. PythonίϛϡχςΟ΁
    • ΄΅ຖ݄։࠵ͷ΋͘΋͘ձʮPython mini hack-a-thon(#pyhack)ʯʹࢀՃ
    • ऴ࢝PythonͰ໺ٿʹؔ͢ΔHackΛͨ͠
    • σʔλूΊ
    • WebΞϓϦ։ൃ
    • ෼ੳ
    • ΋͘΋͘ձ࠷ޙͷൃදλΠϜͰ΍ͬͨ͜ͱΛ൸࿐,

    Python͓Αͼपลٕज़ʹؔ͢ΔϑΟʔυόοΫΛ΋Β͏
    • ϑΟʔυόοΫΛݩʹ࠶ͼhack→ঃʑʹϓϩμΫτͱ࿹͕ຏ͔ΕΔ

    View Slide

  40. ͸͡Ίͯͷొஃ(34ࡀ,2014೥)
    • ొஃऀσϏϡʔΛʮ໺ٿʯͰ࣮ݱͤͨ͞
    • 2013೥ౙ,࿝ฮͷษڧձʮBPStudyʯͷ࠙਌ձʹͯ,

    ओ࠵ͷࠤ౻࣏෉͞Μ(@haru860,ॳର໘)ͱͷ໺ٿஊ͕ٛΩοΧέ
    • ࣏෉͞Μʮ(໺ٿʹ͍ͭͯ)͍͍ےͷ࿩͠·͢Ͷʔ,དྷ೥,໺ٿΛ
    ςʔϚʹBPStudy΍ΔΜͰ͚͢Ͳొஃ͠·ͤΜ͔ʁʯ


    Θͨ͘͠ʮ(;͊ʂʁʂʁ)΍ɺ΍Γ·͢ʂʯ

    View Slide

  41. ʮ໺ٿΤϯδχΞʯ͜͜ʹ஀ੜ
    BPStudy #79ʮBaseball Play Study 2014ʯ
    2014/3/26 https://bpstudy.connpass.com/event/5295/

    View Slide

  42. ൓ڹͱͦͷޙ
    • ൃදͦͷ΋ͷ͸େ੒ޭʂ

    ࣗ෼ͷηΠόʔϝτϦΫεɾ໺ٿ࿩͸௨༻͢Δͱײ৮Λಘͨ
    • Ҿ͖ଓ͖࡞͍ͬͯͨ໺ٿϓϩμΫτ(WebΞϓϦ)ΛͪΌΜͱ
    ੈʹެද͠Α͏ͱࢥ͍࢝ΊΔ(ௐࢠʹ৐Δ)
    • PythonͷΧϯϑΝϨϯεʮPyCon JP 2014ʯʹ,

    ʮPythonͰ͸͡ΊΔ໺ٿϓϩάϥϛϯάʯͱ͍͏ςʔϚͰ

    ԠืˠAccept͞Ε,ॳͷٕज़ΧϯϑΝϨϯεొஃ͕ܾఆ͢Δ

    View Slide

  43. ΩϟϦΞνΣϯδͷػӡ(not໺ٿ)
    • ࣄۀձࣾͰͷνϟϨϯδʹڵຯ͕༙͘
    • Ϗδωε(WebͷαʔϏε΍Γ͍ͨ)
    • ςΫϊϩδʔ(Python΍Ϗοάσʔλ΍Γ͍ͨ)
    • ΤϯδχΞϦϯά(ࣗࣾࣄۀ΁ͷίϛοτ)
    • ϦʔϯελʔτΞοϓɾΞδϟΠϧΛ׆͔͢ͷ΋

    ίϯαϧΑΓࣗࣾࣄۀ࣋ͬͯΔͱ͜ΖͰ΍Δ΄͏͕ྑͦ͞͏(ϝονϟ΍Γ͔ͨͬͨ)
    • ·ͣ͸ϝΨϕϯνϟʔͰʮࣄۀʹߩݙ͢ΔʯϛογϣϯΛΤϯδχΞͱͯ͠΍Γ͍ͨʂ
    • 3ࣾʹߜͬͯస৬׆ಈ…͠Α͏ͱࢥͬͨΒ౰࣌ϦΫϧʔτʹ͍ͨ༑ਓ͔Β༠ΘΕΔ

    ˠΞδϟΠϧίϛϡχςΟͰͷ׆ಈ͕ΩοΧέʹɹ˞3ࣾͷ಺ͷ1͕ࣾϦΫϧʔτͰͨ͠

    View Slide

  44. ϦΫϧʔτʹJOIN(2014/9/1)
    ϦΫϧʔτॅ·͍Χϯύχʔ(SUUMO)ʹΤϯδχΞͱͯ͠JOIN͢Δ
    ※৭ΜͳҙຯͰਓੜͷసػʹ

    View Slide

  45. 35-36ࡀ(2014ळʙ2016ౙ)
    ϦΫϧʔτೖࣾʙελʔτΞοϓ΁ͷస৬
    ࠓίί

    View Slide

  46. PyCon JP 2014ొஃ
    • લ৬(ϕΠΧϨϯτ)࣌୅ʹܾΊͨPyCon JP 2014ʹొஃ(ೖࣾೋिؒ໨)
    • ςʔϚʮPythonͰ͸͡ΊΔ໺ٿϓϩάϥϛϯάʯ
    • Django(WebϑϨʔϜϫʔΫ)Ͱ໺ٿΞϓϦ։ൃ
    • ηΠόʔϝτϦΫεࢦඪʹج͍ͮͨ෼ੳɾղઆ
    • ͍ͭͰʹLT(ΞμϜɾμϯ཰)΋΍Δˠ·͔͞ͷେരসwww
    • ʮ໺ٿΤϯδχΞ(໺ٿͷਓ)ʯϒϥϯυཱ͕֬͢Δ

    View Slide

  47. ͦͷޙͷ໺ٿͳ׆ಈ(2014-2015)
    • PyCon JP 2014ͷ൓ڹͰ…
    • WebϝσΟΞ(gihyo.jp)Ͱ঺հ͞ΕΔ
    • CROSS2015ͷPythonίϛϡχςΟ࠲ஊձͰύωϥʔʹɹ˞໺ٿPython୅ද
    • ϒϩάʮLean Baseballʯͷ໺ٿ෼ੳهࣄ͕ϗοτΤϯτϦʔ࿈ൃ
    • ϝδϟʔϦʔάͷσʔληοτߏஙɾ෼ੳπʔϧͷOSSԽ
    • ෼ੳؔ܎ͷωλهࣄ
    • PyCon JP 2015΁ͷ௅ઓ
    • Python×σʔλ෼ੳͷج൫ߏஙωλΛԠืˠAccept͞Ε,ొஃܾఆ(2೥࿈ଓ)
    • ຊ൪ͷτʔΫʮ໺ٿHackʙPythonΛ΋͍ͪͨσʔλ෼ੳͱՄࢹԽʯ͕େώοτ

    View Slide

  48. ίϛϡχςΟͱͷ෇͖߹͍
    • ܧଓతʹࢀՃͭͭ͠,ʮ࿩͢ʯʮ఻͑Δʯํ޲ʹεΠον
    • Python
    • Ҿ͖ଓ͖,΋͘΋͘ձ(#pyhack , #mokupy ͳͲ)ʹࢀՃ
    • ࣗ෼ͷ΋͘΋͘…͚ͩͰͳ͘,ٞ࿦ʹੵۃࢀՃ&ࠔͬͯΔํͷαϙʔτ
    • ΞδϟΠϧ
    • ϫʔΫγϣοϓɾσΟεΧογϣϯʹੵۃࢀՃ
    • ٞ࿦ɾϫʔΫ͕ఀ଺࣌͸͓ߏ͍ͳ͠ʹϑΝγϦΛ΍ͬͨ
    • ʮPython΋ΞδϟΠϧ΋,΋͏ॳ৺ऀͰ͸ͳ͍,࣮ફऀ΍ʂʯ

    ͱ͍͏ҙࢤͱؾ࣋ͪͰ΍ͬͨˠ݁Ռ,ֶͼɾ࣮ྗɾ৴པஷ͕ۚಘΒΕͨ

    View Slide

  49. ౰࣌(ࠓ΋)৺͕͚͍ͯͨ͜ͱ
    • ωλ(Ծઆ)͕ࢥ͍͍ͭͨΒߏஙɾ෼ੳɾൃදͯ͠ϑΟʔυόοΫΛ΋Β͏
    • Build→Major→LearnΛͻͨ͢Β࣮ફ(ΞδϟΠϧͳ৺ͱϓϩηεͰ)
    • ൃදɾϒϩάͷΠϯϓϨογϣϯ͔Β࣠Λม͑Δ(ϑΟʔυόοΫΛେ੾ʹ)
    • ϓϨθϯςʔγϣϯΛຏ͘(υΩϡϝϯςʔγϣϯͱτʔΫ)
    • ϓϨθϯςʔγϣϯ=ʮັͤΔʯ͜ͱʂ
    • ఻ΘΔจষɾ͜ͱ͹(υΩϡϝϯςʔγϣϯ)
    • ऒ͔ΕΔ࿩͠ํ(τʔΫ)
    • ͜ΕΒΛ஁͑ΔͨΊ,࢓ࣄ΋ϓϥΠϕʔτ(ίϛϡχςΟ)΋ͱʹ͔͘৔਺Λ౿Μͩ

    View Slide

  50. ͜ͷࠒ͔Β
    ʮϫΠ͸໺ٿΛ΍Γ͍ͨʂʯ
    ͱ͍͏ເΛ࣋ͭΑ͏ʹ

    View Slide

  51. ໺ٿΤϯδχΞʹͳΔͧʂ
    • ϝδϟʔϦʔά΋͘͠͸ϓϩ໺ٿͷΤϯδχΞʹͳΔ
    • ϚωʔϘʔϧͷੈքͷΑ͏ʹσʔλ෼ੳͰ
    • ࣋ͯΔٕज़ɾεΩϧΛ͢΂ͯ໺ٿͷҝʹ׆͔͍ͨ͠
    • 2020೥౦ژΦϦϯϐοΫͷࣆJAPANελοϑͱͯ͠,

    ʮҰ൪͍͍৭(ۚ৭)ʯͷϝμϧΛऔΔαϙʔτΛʂ
    • ͜Ε΋ΤϯδχΞจ຺Ͱ
    • 2020೥Ն(40ࡀ)ΛΊͲʹ,ٯࢉͯ͠ΩϟϦΞΛܗ੒͢ΔΑ͏ʹܾΊͨ

    View Slide

  52. Ұํ࢓ࣄ͸
    • ࣗ෼ͷʮڧΈʯͱ࢓ࣄͷʮϛογϣϯʯͱͷΪϟοϓ
    • SUUMOͷࣄۀͰ͋Δʮॅ·͍ʯʮՈʯʮෆಈ࢈ʯʹ
    ຊؾʹͳΕΔ͔ʁˠͳΕͳ͔ͬͨ

    ˞Ոɾॅ·͍ʹڧ͍ͩ͜ΘΓ͕ແ͔ͬͨ(൓ল)
    • ͱ͍͏͜ͱ΋͋Γ,ύϑΥʔϚϯε͕ग़ͤͳ͔ͬͨ

    (&গʑ৺ͱ਎ମ͕පΜͰ͠·ͬͨ)

    View Slide

  53. స৬׆ಈΛ࢝ΊΔ
    • ΤϯδχΞͱͯ͠ͷڧΈ(PythonɾΞδϟΠϧ)ͱ,

    ຊؾʹͳΕΔࣄۀྖҬΛٻΊస৬׆ಈ
    • WantedlyΛνϟωϧʹͯ͠৭ʑͱ୳͢
    • ϏβεΫ͔Βਮͳϝοη͕དྷͨˠCTOɾCEO໘઀

    ͔Βͷ,εϙοτίϯαϧʹڧ͘ڞײ͢Δ(աڈͷܦݧͳͲͰ)
    • ϏβεΫ͕Pythonͷձࣾͱ͍͏͜ͱ΋͋ΓJOINΛܾஅ

    View Slide

  54. ͳͥ໺ٿʹ͍͔ͳ͔ͬͨͷ͔?
    • ϓϩ໺ٿνʔϜ(12ٿஂ)΁ͷ઀఺͕ͳ͔ͬͨ
    • ໺ٿؔ࿈ࣄۀΛͯ͠Δձࣾ(͍͔ͭ͋͘Δ)
    • εΩϧɾ΍Γ͍ͨ͜ͱ͕Ξδϟετ͠ͳ͍(ҹ৅ͩͬͨ)
    • ೥ऩɾڅྉ໘ͰંΓ߹͍͕͔ͭͳ͍(૝૾)
    • 2020೥ͷ໨ඪ͔Βٯࢉͨ͠৔߹,2018೥͘Β͍·Ͱ

    ࣄۀձࣾͰΩϟϦΞΛੵΈ͔ͨͬͨˡॏཁࢹͨ͠ϙΠϯτ

    View Slide

  55. ϦΫϧʔτͰֶΜͩ͜ͱ
    • ཧ೦ɾҙࢤΛ࣋ͬͯαʔϏεΛ੒௕ͤ͞Δ
    • αʔϏε΁ͷѪͱϓϩμΫτ΁ͷͩ͜ΘΓ
    • ू٬~൓ڹ~੒໿·ͰͷྲྀΕ(≒WebϝσΟΞͷجຊ)
    • ࣗࣾͷࣄۀυϝΠϯʹର͢Δѹ౗తຊؾ͞&஌ࣝʂʂ
    • సͯ͡,ʮѹ౗తͳυοΫϑʔσΟϯάʯͷॏཁ͞ʂʂʂ

    View Slide

  56. 37ࡀ(2016)
    ϏβεΫʙస৬׆ಈ͔ΒͷRetty
    ࠓίί

    View Slide

  57. ϏβεΫͰͷ͓࢓ࣄɾମݧ
    • ΍ͬͨ͜ͱ
    • αΠτͷSEOվળ΍தʙখن໛ࢪࡦΛͻͨ͢Β
    • ։ൃ؀ڥɾ։ൃϓϩηεͷվળ

    (ΞδϟΠϧͱ͔ࣗಈςετ)
    • ػցֶशϓϩδΣΫτ(ϞσϧɾAPIઃܭʙߏங)
    • ͦͷଞ,࠾༻ɾΠϯλʔϯͷϝϯλʔɾ(Ұ࣌తʹ)ΧελϚαϙʔτͱ͔etc…
    • ϚϯγϣϯҰ෦԰ͷελʔτΞοϓͷதͰྑ͍ܦݧ͔Βਏ͍ܦݧ͔Β

    ͨ͘͞Μͷ஌ݟɾֶͼΛಘͨ

    View Slide

  58. Ұํͦͷࠒ໺ٿ͸
    • ϝδϟʔϦʔάͷҰٿ଎ใσʔλʮPitch f/xʯͷެ։σʔλΛऔಘ&εΫϨΠϐϯά
    ͢ΔOSSʮpitchpxʯΛPythonͰ։ൃ&ެ։
    • Pitch f/x͓ΑͼpitchpxΛ,PyCon JP 2016τʔΫηογϣϯ

    ʮϏοάσʔλͱPythonͰ͸͡ΊΔ໺ٿͷ౷ܭ෼ੳʯ

    Ͱ࣮ફྫަ͑ͯ঺հɹ˞@a_macbee͞Μͱڞಉൃද
    • ϫΠʮ೔ຊϓϩ໺ٿ΋΍Γ͍ͨϯΰʯ

    …ͬͯࣄͰ,޿ౡͰΧʔϓωλ,ؔ੢Ͱࡕਆ&ΦϦοΫεͳωλΛൃද
    • PyCon mini Hiroshima 2016(೔ϋϜVS޿ౡ)
    • MonotaRO TechTalk #4ʮσʔλ෼ੳʯ(PyDataΛ࢖ͬͨࡕਆɾΦϦοΫε෼ੳ)

    View Slide

  59. ίϛϡχςΟ׆ಈ
    • ૬มΘΒͣʮ΋͘΋͘ձʯࢀՃͰݚᮎ
    • Pythonೖ໳ऀͷू͍ʹJOIN #PyNyumon
    • ϋϯζΦϯͷϝϯλʔ
    • ʮॳ৺ऀͩͬͨ͋ͷࠒʯΛৼΓฦͬͯߨԋ

    ˠʮPythonistaσϏϡʔʯͱ͍͏ςʔϚͰ·ͱΊͨ
    • ҰํΞδϟΠϧ͸ԼՐʹ(ਓʹձ͏ఔ౓)

    View Slide

  60. (Կ౓໨͔ͷ)సػ
    • ͍ΘΏΔ,Իָੑͷҧ͍
    • Ϗδωε
    • νʔϜ
    • εϙοτίϯαϧ(ຢ͸ύϥϨϧΩϟϦΞ)͸

    ֎͔ΒͰ΋ߩݙͰ͖ͦ͏
    • (໺ٿΛ͓͍ͯͯ͞΋)ࣗ෼͕΍Γ͍ͨࣄͬͯͳΜͩʁʁ

    View Slide

  61. ࣌ؒΛֻ͚ͯస৬׆ಈ
    • աڈͷస৬͸͢΂ͯ୹ظܾઓͩͬͨ

    ˠग़ձͬͯҰϲ݄Ҏ಺Ͱܾண
    • ΋͏ͪΐͬͱ࣌ؒΛֻ͚ͯͬ͘͡Γίϛϡχέʔγϣϯऔͬͨ΄͏͕ྑ͍͔ͳʁ

    ͬͯͳͬͨ,ଈܾ͡Όͳͯͬ͘͘͡Γߟ͑Α͏ࣗ෼(൓ল)
    • ෳ਺ͷνϟωϧΛ࢖͍,઀఺Λ࡞Δˠձࣾ๚໰ɾձ৯ɾମݧೖࣾͰͬ͘͡Γ࿩͢͜ͱʹ
    • ঺հ࠾༻(ϦϑΝʔϥϧ)
    • Wantedly
    • ΤʔδΣϯτ
    • ׆ಈ͔Β3ϲ݄ͰRettyͱग़ձ͍,൒೥ޙʹRettyʹܾ·Δ(=ϏβεΫ͔Βଔۀ)

    View Slide

  62. Rettyͱͷग़ձ͍
    • PyData.Tokyo(PythonͷσʔλܥίϛϡχςΟ)Ͱதͷਓ(ؠӬ͞Μ)͕
    ΢οΩ΢ΩͳϊϦͰLTͯͨ͠ˠRettyʹϠό͍ਓΩλʔ(਒͑)
    • ؠӬ͞Μͱ͸ݩʑ஌Γ߹͍ͩͬͨϫΠ,ͦͷ৔Ͱ৯͍ؾຯʹ࿩Λ࢕͏

    ˠ͔ͳΓ͍͍ײͩͬͨ͡ͷͰΤʔδΣϯτʹ઀఺࡞ͬͯͱ͓ئ͍
    • ͪͳΈʹ,໺ٿͱಉ͘͡Β͍ʮ৯ʯ͕޷͖ͩͬͨͷͰ,Retty͸ݩʑ࢖ͬ
    ͯͨ(౤ߘ΋݁ߏͯͨ͠)&ࣗ෼ͳΓʹཧ೦ɾࢥ૝͸ڞײͯͨ͠
    • Կਓ͔ͷࣾһͱ͓࿩,CTOɾCEO໘઀Λ௨ͯ͡Retty΁ͷJOIN͕ܾ·Δ

    View Slide

  63. 38ࡀ(2017)
    RettyͰूେ੒ͦͯ͠໺ٿΤϯδχΞ΁
    ·ͩίί

    View Slide

  64. 2017/1/10ʙRettyʹJOIN
    JOINͨ࣌͠ͷࣸਅΛࣦ೦ͨ͠ͷͰ໺ٿͰࣦྱ͠·͢
    ※ޙΖͷؗࢁ͞Μ(კ͞Μ)͸ࣾһͰ΋ԿͰ΋ͳ͍,ษڧձͷήετͰ͢w

    View Slide

  65. ৯Λ௨ͯ͡
    ੈքதͷਓʑΛ
    Happyʹ
    ͜ͷཧ೦ͱΤϯδχΞνʔϜ
    ͕޷͖Ͱೖࣾ
    (ଞʹ΋ཧ༝͋Δ͚Ͳ·͋ͦΜͳͱ͜)

    View Slide

  66. ͋Εʁ໺ٿ͡Όͳ͍ͷʁʁ
    • ϓϩ໺ٿνʔϜ(12ٿஂ)΁ͷ઀఺͕ͳ͔ͬͨ
    • ໺ٿؔ࿈ࣄۀΛͯ͠Δձࣾ(͍͔ͭ͋͘Δ)
    • εΩϧɾ΍Γ͍ͨ͜ͱ͕Ξδϟετ͠ͳ͍(ҹ৅ͩͬͨ)
    • ೥ऩɾڅྉ໘ͰંΓ߹͍͕͔ͭͳ͍(૝૾)
    • ·ͩ໺ٿքʹඈͼग़͢λΠϛϯάͰ͸ͳ͔ͬͨʂ

    View Slide

  67. ໺ٿͷνʔϜͩͱࢥ͍·ͨ͠ʁ
    ࢒೦ʂ
    ৯ͱάϧϝͷνʔϜͰ͢Αʂ

    View Slide

  68. RettyͰ΍͖ͬͯͨ͜ͱ
    • Engineering Manager(Tech Lead)ۀ
    • B to BϏδωεͷϓϩμΫτνʔϜΛ୲౰
    • ։ൃܭըͱ͔ϓϥϯχϯάͱ͔࠾༻΋
    • 1ΤϯδχΞͱͯ͠ͷMission
    • ଞαʔϏε࿈ܞͷϓϥοτϑΥʔϜ։ൃ(Python + AWSͷ૊Έ߹ΘͤͰ΍ͬͨ)
    • ΞδϟΠϧ(εΫϥϜ)ϓϩηεͷਁಁ
    • (ओʹPythonͰͷ)։ൃඪ४ͷਁಁɹ˞উखʹ΍ͬͯͨ(ΤϯδχΞతͳҙࢤͱҙ஍Ͱ)
    • ΤϯδχΞ޿ใɾ࠾༻
    • ޿ใɾ࠾༻νʔϜͱ࿈ܞͯ͠ϒϩάɾϝσΟΞ࿐ग़ɾΠϕϯτग़ԋͷઓུࡦఆ&࣮ߦ
    • த్ɾ৽ଔ࠾༻ͦͯ͠TVग़ԋ(࣮࿩)

    View Slide

  69. ίϛϡχςΟ meets Retty
    • ࣗ෼͕JOIN͢Δલ͔Β,Retty͸ίϛϡχςΟͷαϙʔτΛ݁ߏ͍ͯͨ͠
    • ͦͷྲྀΕʹศ৐͠,ΨϯΨϯࢧԉ(εϙϯαʔͱ͔)ͤͯ͞΋Βͬͨ
    • Python(PyCon mini Kumamoto, PyCon JP 2017, PyLadies TokyoͳͲ)
    • iOS/Android(potatotips, iOSDC΄͔)
    • ΞδϟΠϧ(DevLOVE)
    • ༗ࢤͷΤϯδχΞਞ…͚ͩͰͳ͘,޿ใνʔϜ΋લͷΊΓʹڠྗ

    View Slide

  70. ίϛϡχςΟ׆ಈ΁ͷελϯε(ࢲݸਓ)
    • ʮࣗ෼ΑΓए͍ਓ͕ͨͪ௅ઓͰ͖ΔػձΛఏڙ͢Δʯํ޲ʹؾ͕࣋ͪಈ͍ͨ
    • ϊ΢ϋ΢ɾϦιʔεɾࢥ૝ͷఏڙͱ఻ୡ
    • ஌ࣝɾ࠲૊ɾਓ຺ͱ͍ͬͨʮϊ΢ϋ΢ʯ
    • ৔ॴɾεϙϯαʔυ(͓ۚ)ɾ৯ࣄ(ञ)ͳͲͷʮϦιʔεʯ
    • ΠϕϯτɾίϛϡχςΟͷҙٛͳͲͷʮࢥ૝ʯ
    • ͓ͬ͞Μ(ࣗ෼)͕͍ͭ·Ͱ΋զ͕෺إ͠ͳ͍ํ͕݈શͱࢥͬͯ΍ͬͨ
    • एऀɾ৽͘͠དྷͨਓͨͪʹ΋ͬͱϊϏϊϏͱ΍ͬͯ΄͍͠ʂˡҰ൪ͷཧ༝

    View Slide

  71. ίϛϡχςΟ׆ಈ(2017)
    • Python΋͘΋ࣗ͘शࣨ #rettypy ελʔτ
    • ڭҭ৺ཧֶMeetup #1 ελοϑ&LT
    • ಡॻձ͔ΒࢀՃˠएऀ͕ͨͪΠϕϯτ΍Γ͍ͨʂˠاը͔Β։࠵,ৼΓฦΓ·ͰશྗͰڠྗΛܾҙ
    • Πϕϯτ౰೔͸ཪํʹపͨ͠(࢘ձͱ͔)
    • Rettyͱͯ͠Πϕϯτͷεϙϯαʔ΍ձ৔ఏڙ
    • PyData.Tokyo ʮ਺ཧ࠷దԽʯ˞ؠӬ͞Μొஃ
    • PyLadies.Tokyo 3प೥ه೦ύʔςΟʔ
    • PyCon mini Kumamoto 2017 ※ؠӬ͞Μɾத઒ొஃ,஛໺͘ΜLT
    • ݸਓ׆ಈ(΋͘΋͘ձ&ΠϕϯτొஃͳͲ)͸ྫ೥௨Γ&ଞʹ΋͍ͬͺ͍΍ͬͨ

    View Slide

  72. Ұํͦͷࠒ໺ٿ͸
    • ೥ॳʹηΠόʔϝτϦΫεͷࣾձਓߨ࠲Λडߨ

    ݁࿦ʮେମ஌ͬͯͨʯ ※஫ɿૉਓʹ͸ݴ͑ͳ͍ײ૝
    • PythonهࣄͰେ౰ͨΓͨ͠ϒϩάʹศ৐͠,໺ٿςʔϚͷهࣄ΋
    ώοτྔ࢈Λଓ͚Δ(PVɾUUɾ͸ͯϒ౳͕աڈ࠷ߴ਺஋ʹ)
    • PyCon mini Kumamoto 2017Ͱϓϩ໺ٿ෼ੳˠେ੝گ

    ޙͷPyCon JP 2017ͷൃදͷૅͱͳΔ
    • PyCon JPͷҰिؒͪΐͬͱલʹӡ໋ͷϝοηΛ΋Βͬͨ

    View Slide

  73. ωΫετϕʔεͱͷग़ձ͍
    ฐࣾ୅දͷதඌ͔Βདྷͨϝοηʔδ(ݪจ)
    ͜Ε͕࠷ॳͷग़ձ͍

    View Slide

  74. ωΫετϕʔεͱͷग़ձ͍ᶃ
    • ՆٳΈதPyCon JPͷ४උΛ͍ͯͨ࣌͠ظʹಥવϝοη͕དྷͨ
    • ωΫετϕʔε(ؚΉதඌ)͸஌Βͳ͔ͬͨ͠஌Γ߹͍Ͱ΋ແ͔ͬͨ

    ˞ਖ਼௚ͳ࿩ʮ୭΍ͶΜʯͬͯࢥͬͨ
    • ͨͩ,τϥοΫϚϯΛ࢖ͬͨ෼ੳɾϓϩμΫτͷ࿩͸χϡʔεͰ
    ஌ͬͯͨˠ͑,ϕϯνϟʔͷ࢓ࣄͩͬͨͷʂʁʂʁʂʁʂʁ
    • ڵຯɾײ৺͕͋Δʂ...Ͳ͜Ζͷ࿩͡Όͳ͔ͬͨ

    &ՆٳΈதͱ͍͏λΠϛϯά΋߹க͠,ձ͏͜ͱʹͨ͠

    View Slide

  75. ωΫετϕʔεͱͷग़ձ͍ᶄ
    • தඌ(୅දऔక໾)ᐌ͘

    ʮҰਓ໨ͷΤϯδχΞͱͯ͠த઒͞ΜΛυϥϑτҰҐࢦ໊͍ͨ͠ʯ

    ˠࣄۀͷ֦େʹ͋ͨΓ,Ұਓ໨ͷΤϯδχΞΛ୳͍ͯͨ͠&ద೚ͱ৴͡੠Λ͔͚ͨ
    • BACS(όοΫε)ͷ෼ੳɾղੳϞσϧΛͭͬͨ͘ਆࣄ(͡Μ͡)ᐌ͘

    ʮ൴(த઒)͸ηΠόʔϝτϦΫεΛ஌্ͬͨͰΞ΢τϓοτΛग़͍ͯ͠Δʯ

    ˠਆࣄ͞Μͱͷ໺ٿ෼ੳձ࿩&Ծઆͷ΍ΓͱΓͰ࣮ྗΛࢼ͞Ε্ͨͰͷධՁ
    • தඌɾਆࣄɾ໦ԼΒܦӦਞ͓Αͼ,ϝϯόʔ͸ϒϩάɾൃදΛݟͯධՁͯ͘͠Εͯͨ

    →࠷ॳͷΤϯδχΞͱͯ͠த઒Λʂ͸ڪΖ͍͙͠Β͍ʹҙࢥ౷Ұ͞Ε͍ͯͨ
    • ٻΊΒΕΔ໾ׂɾಇ͖ํɾ೥ऩͳͲ,͔ͬ͠Γෲམͪ͢Δ·Ͱ࿩Λͤͯ͞΋Βͬͨ

    View Slide

  76. ωΫετϕʔε΁ͷಓ
    • PyCon JPͷൃද…ઈରʹ੒ޭͤ͞ͳ͍ͱʂ
    • ͜ͷ࣌(9݄ॳ०)͸·ͩJOINΛܾΊͯͳ͔ͬͨ
    • ͱ͸͍͑ʮ͍ͷҰ൪ʹத઒Λʯͱ͔ݴΘΕͨΒ׈ΔΘ͚ʹ͸͍͔ͳ͍
    • ʮ໺ٿΛՊֶ͢Δٕज़ʯͱ͍͏୊ࡐͰൃදˠաڈ࠷ߴϨϕϧͷ੒ޭΛ੒͠਱͛ͨ
    • 2ճ໨ͷձ߹
    • தඌʹՃ͑,໦Լ(૑ۀϝϯόʔ)ͱͷσΟεΧογϣϯ
    • BACS୲౰ऀΛަ͑,αʔϏεɾϓϩμΫτʹΑΓcommitͨ͠࿩Λͤͯ͞΋Βͬͨ
    • ޙ೔,தඌͱϝοηͷதͰॾ৚݅(ͱ͍͏͔೥ऩ)Λ߹ҙͷ্,JOINΛܾஅ

    View Slide

  77. ୀ৬Λ੾Γग़͢લ…ͷ࿩
    • ʮωΫετϕʔεʹJOIN͠·͢ʂʯΛܾஅޙ
    • RettyͰ΍Γ͍ͨςʔϚ…ͨ͘͞Μ͋ͬͨ
    • ࣗ෼͕࠾༻ʹCommitͨ͠৽ଔ͞ΜͲ͏͠Α͏
    • etc…ޙΖ൅Λͻ͔ΕΔωλ͕গͳ͘ͱ΋334ݸ͸͋ͬͨ
    • ओ࠵ͯ͠Δ #rettypy ͱ͔ίϛϡχςΟ׆ಈͲ͏͢ΜͶΜ
    • …ͳͲ,ເͱݱ࣮ͷؒͰೋिؒۙ͘༳Εͨ࣌ظ͕

    View Slide

  78. ໺ٿΤϯδχΞʹͳΔͧʂ ※࠶ܝ
    • ϝδϟʔϦʔά΋͘͠͸ϓϩ໺ٿͷΤϯδχΞʹͳΔ
    • ϚωʔϘʔϧͷੈքͷΑ͏ʹσʔλ෼ੳͰ
    • ࣋ͯΔٕज़ɾεΩϧΛ͢΂ͯ໺ٿͷҝʹ׆͔͍ͨ͠
    • 2020೥౦ژΦϦϯϐοΫͷࣆJAPANελοϑͱͯ͠,

    ʮҰ൪͍͍৭(ۚ৭)ʯͷϝμϧΛऔΔαϙʔτΛʂ
    • ͜Ε΋ΤϯδχΞจ຺Ͱ
    • 2020೥Ն(40ࡀ)ΛΊͲʹ,ٯࢉͯ͠ΩϟϦΞΛܗ੒͢ΔΑ͏ʹܾΊͨ

    View Slide

  79. ͜͜Ͱ(໺ٿʹ)ߦ͔ͳ͖Ό
    ΋͏νϟϯε͸ͳ͍ʂ(அݴ)
    #ܾஅͨ͠ཧ༝

    View Slide

  80. Retty͔Βͷଔۀ
    • ܦӦਞɾϚωʔδϟʔʹୀ৬Λ੾Γग़͢
    • Ϛωʔδϟʔͱෲམͪ͢Δ·Ͱ1on1

    ͱʹ͔͘૝͍Λ఻͑Δͷʹ஫ྗͨ͠
    • ʮ໺ٿͰੈքΛྑ͘͢ΔͨΊଔۀ͠·͢ʂʯ

    օ͞Μշ͘ૹΓग़ͯ͘͠Εͨ(ྦ)

    View Slide

  81. Rettyʹײँ͍ͨ͜͠ͱ
    • MissionͷதͰͷܦݧ
    • Ϛωʔδϟʔۀ
    • ΤϯδχΞۀ
    • ޿ใɾ࠾༻ɾίϛϡχςΟαϙʔτ
    • ڧ͍ΤϯδχΞϝϯόʔ͔Βͷֶͼͱܹࢗ
    • Ḻੴ͞Μ,ؠӬ͞Μ,saku͞Μetc…OJ(Ojisan)੎ͷϓϩϑΣογϣφϧूஂ
    • ϠϯάͰ΍͍͖ͬͯʂͳ໘ʑ(஛໺͘Μ,෱Ҫ͞Μ,Ϧηογϡetc…)
    • ࠷ޙ·ͰʮRettyͰ΍͚ͬͯΑʂʯͱ࿹ΛҾͬுͬͯ͘Εͨ౻ాϚωʔδϟʔ

    ˠ࣍ͷ࢓ࣄ(ωΫετϕʔε)ʹͭͳ͕ΔΑ͏ʹ,ͱϛογϣϯ͔ΒԿ͔ΒԿ·ͰέΞͯ͠΋Βͬͨ(ྦ)
    • etc…Team Rettyͷօ͞Μϗϯτ͓ੈ࿩ʹͳΓ·ͨ͠ʂʂʂ

    View Slide

  82. 39-41ࡀ(2018-2020)
    ωΫετϕʔεͱڞʹ໺ٿͷੈք΁
    ͜Ε͔Βͷ࿩

    View Slide

  83. ເ͸ਖ਼ເʙ໺ٿͷੈք΁
    2018/2/1 ωΫετϕʔεҰਓ໨ͷΤϯδχΞ(CTO)ͱͯ͠JOIN

    View Slide

  84. ωΫετϕʔεͷCTOͱͯ͠
    • ʮςΫϊϩδʔͷྗͰ໺ٿքΛڻዼͤ͞Δʂʯͷ͕࠷େͷϛογϣϯ
    • BACSͷ͞ΒͳΔ֦ு
    • ෼ੳɾղੳɾίϯαϧςΟϯάͷ࠷దԽ
    • ITاۀͱͯ͠ͷωΫετϕʔεΛఈ্͛
    • ͜ΕΒΛ࣮ݱ͢ΔͨΊʹͳΜͰ΋΍Δ
    • ϓϩμΫτͷ։ൃɾอकɾΧΠθϯ
    • σʔλ෼ੳɾղੳ
    • Φ΢ϯυϝσΟΞͷαϙʔτ(SEOͱ͔)

    View Slide

  85. 10ਓ΋͍ͳ͍(ݱࡏ8໊)
    ͦΜͳϕϯνϟʔͷCTO͔ͩΒ
    ͦ͜ܦݧͰ͖Δɾ΍͍͚ͬͯΔ
    ϫΫϫΫ͕ͨ͘͞Μ଴͍ͬͯΔʂ
    …ͱࢥΘͤΔΑ͏ͳ
    ͋Γ͕͍ܹͨྭΛ௖͍ͨ

    View Slide

  86. “໺ٿք͸৭ʑͳจԽɾ͖ͨ͠Γ͕
    ଟ͘ɺΠϝʔδͱҧ͏͜ͱ΋ଟ͔Ζ
    ͏ͱࢥ͍·͕͢ɺਖ਼͍͜͠ͱ͸ಊʑ
    ͱʢଟগɺ΍Γํ͸ॊೈʹ͚ͩͲͶʣ
    ΍Γൈ͚͹ಓ͸୓͚ΔɻཔΉΑɺ
    CTOʂඞͣҰมͤ͞Α͏ɻ”
    ʙ໦Լ(ฐࣾ૑ۀϝϯόʔ)ͷϝοηΑΓʙ

    View Slide

  87. Ḻੴ͞Μ(Retty CTO)ͷ͓ݴ༿
    “”“CTO͸ϑΣʔζʹΑͬͯ΍
    Δ͜ͱ͕·ͬͨ͘มΘΓɺ֤
    ϑΣʔζͰଟ͘ͷνϟϨϯδ
    ͕͋Γ·͕͢ɺͥͻ໺ٿ͕໘
    ന͘ͳΔੈքΛ࣮ݱͯ͠΄͠
    ͍ͳͱࢥ͍·͢ʂ”””
    γϯϓϧ͔ͭάοͱ͖ͨϝο
    ηͰͨ͠(ྦ)

    View Slide

  88. CTO1೥ੜͱͯ͠(એݴ)
    • ໺ٿυϝΠϯʹରͯ͠ਅ伨ʹ΍͍ͬͯ͘
    • ໺ٿʹڧ͍طଘϝϯόʔ(தඌɾਆࣄɾ໦Լ΄͔)ͱεΫϥϜ૊ΜͰ΍͍ͬͯ͘
    • ͜ͷ෼໺͸ࣗ෼͕৽ਓ,ͱʹֶ͔͘ΜͰڧΈΛ׆͔͢ҝͷݚᮎΛ͍ͯ͘͠
    • ϑΣʔζͷมԽʹ൐͏਺ʑͷνϟϨϯδΛʮΤϯδχΞʯͱͯ͠΍͍ͬͯ͘
    • มΘΔ໾ׂΛʮνϟϨϯδʯͱͯ͠ଊ͑,ʮΤϯδχΞʯͱͯ͠ݗҾ͍ͯ͘͠
    • ͜ΕΒΛ੒͠਱͛ΔͨΊ,ٕज़ɾΤϯδχΞϦϯάͷݚᮎΛ೔ʑॏͶΔ
    • RettyͰ͸͜ΕΒΛḺੴ͞Μ͕ϓϩμΫτͱελϯεͰ͍ࣔͯͨ͠(ࢲͷղऍ)

    View Slide

  89. ͦΜͳࠓͷཱͪҐஔΛ
    ໺ٿͰྫ͑Δͱ

    View Slide

  90. ࠓίί
    ˞໺ٿքʹग़ྥ

    View Slide

  91. ͜Ε͔Βߦ͖͍ͨͱ͜Ζ

    View Slide

  92. #"$4ଞ
    ϓϩμΫτ͕
    ໺ٿքΛ੍͢

    View Slide

  93. #"$4ଞ
    ϓϩμΫτ͕
    ໺ٿքΛ੍͢
    ౦ژޒྠ
    ࣆ+"1"/
    ελοϑ

    View Slide

  94. #"$4ଞ
    ϓϩμΫτ͕
    ໺ٿքΛ੍͢
    ౦ژޒྠ
    ࣆ+"1"/
    ελοϑ
    ϓϩ໺ٿ
    PS
    .-#ͷ
    ٿஂΤϯδχΞ

    View Slide

  95. ʮ໺ٿΤϯδχΞʯ
    ͕ΰʔϧͰ͸ͳ͍ʂ
    ࣍ͷྥ(Next Base)Λ
    ૂ͍ͬͯ͘
    Ұ೔Ұ೔Λେ੾ʹ

    View Slide

  96. ຊ೔Ͳ͏ͯ͠΋
    ఻͍͑ͨ͜ͱ

    View Slide

  97. ̋̋ΤϯδχΞʹͳΔͳΒʂ
    1. ΤϯδχΞతʮѹ౗తͳڧΈʯΛ࣋ͭ
    2. ࠷௿ݶͷϏδωεྗ(ಛʹϓϨθϯ)
    3. ଞਓࣄ(༨ॴࣄ)ΑΓࣗ෼ͷࣄʹ஫ྗ
    4. મಆྗ(ͤΜͱ͏Γΐ͘)Λ਎ʹ͚ͭΔ

    View Slide

  98. ΤϯδχΞతʮѹ౗తͳڧΈʯ
    • ٕज़Ͱʮଞࣾʹ͍ͬͯ΋௨༻͢ΔʯڧΈΛ͚ͭΔ
    • ਅ伨ʹֶͼ೔ʑݚᮎΛॏͶΔ.
    • ࣗݾֶशɾձࣾͷઌഐɾಉ྅͔ΒͷֶͼͰݶքΛײͨ͡Β

    ໎Θͣ֎(ίϛϡχςΟ)΁
    • ʮٕज़ʯ×ʮԿ͔ʯͰΦϯϦʔϫϯͷڧΈ͕Ͱ͖ͨΒ࠷ߴ

    ʲྫʳʮPythonʯ×ʮ໺ٿʯ

    View Slide

  99. ࠷௿ݶͷϏδωεྗ(ಛʹϓϨθϯ)
    • ٕज़͕͋ͬͯ΋,ਓʹ఻͑ΒΕͳ͚Ε͹ҙຯ͸ແ͍
    • େ੾ͳͷ͸ʮυϝΠϯ஌ࣝʯʮυΩϡϝϯςʔγϣϯʯʮίϛϡྗʯ
    • ࣗࣾͷۀ຿ྖҬ಺ͷυϝΠϯ஌ࣝ,͍ΘΏΔʮۀ຿஌ࣝʯ
    • υΩϡϝϯςʔγϣϯ(จষɾֆਤΛඳ͘)
    • ίϛϡχέʔγϣϯྗ(ձ࿩ɾSNS)
    • ্ه3ͭͷ͏ͪ,࠷௿1ͭ͸ਓΑΓڧ͘,2ͭ͸ਓฒΈ͡Όͳ͍ͱਏ͍ͱࢥ͏
    • ྫ͑͹,ػցֶशΤϯδχΞͳਓ͸υϝΠϯ஌ࣝͱϓϨθϯςʔγϣϯ͸ඞਢ

    ʮPythonਓฒΈʹ࢖͑·͢ʯʮ਺ֶ΍Ε·͢ʯ͚ͩͰ͸ઈରμϝ

    View Slide

  100. ଞਓࣄ(༨ॴࣄ)ΑΓࣗ෼ͷࣄ
    • ଞਓࣄɾ༨ॴࣄʹϒϨͳ͍ɾؾʹ͠ͳ͍ڧ͍ؾ࣋ͪΛ࣋ͭ
    • SNS͔ΒྲྀΕΔʮଞਓʯʮଞࣾʯͷ੒ޭࣄྫ
    • ʮ΢νͷձࣾͰ΋͜͏͢Ε͹͍͍ͷʹʂʯ

    ʮಉ྅ͷ͍͋ͭ()ʯ
    • ଞਓɾࣗࣾΛม͑ΔΑΓ,ࣗ෼Λม͑Δํָ͕Ͱ͢Α?
    • ࣗ෼ͷ໨ඪʹ͍͍ҙຯͰ(ؾ࣋ͪѱ͍͘Β͍ʹ)ʮ໡໨తʯʹͳΔͷ͕େࣄ
    • ࣗ෼ͷࣄʹूத͢Δ౒ྗɾ࠲૊Λࣗ෼ͳΓʹ࡞Δ(ྫɿఆظతͳSNSஅͪ)

    View Slide

  101. મಆྗΛ਎ʹ͚ͭΔ
    • Αʔ͘ߟ͑…ͳͯ͘΋ʮ͓ۚ͸େ੾ʯ,મಆຽ଒ʹͳΖ͏ #ͳΜJ
    • څྉɾ೥ऩΛʮ੎͍ʯʮѹྗʯͰ஋Լ͛ͪ͠Όμϝ
    • େͯ͠ڧ͘΋ͳ͍ͷʹʮڅྉ্͛Ζʯ΋ͪΐͬͱҧ͏
    • ʮଞͷձࣾ͸()ʯʮۀքਫ४ͱൺ΂()ʯʮ੢ւ؛ͷฏۉ೥ऩ͸(ryʯ

    ˠ͜ΕͬͯଞਓࣄͰ͢ΑͶ?મಆ(ͤΜͱ͏)ͱ͸ͦ͏͡Όͳ͍

    ɹ(ϦϞʔτɾग़ۈ࣌ؒͱ͔෱རްੜ΋ؚΊͯ)
    • ٕज़ɾڧΈΛ఻͑ΔʮϏδωεྗʯ͢ͳΘͪʮમಆྗʯΛ஁͑Α͏ʂ

    View Slide

  102. ଞਓɾଞॴ༷͸
    ม͑ΒΕͳͯ͘΋
    ࣗ෼ࣗ਎͸ٕज़Ͱม͑ΒΕΔ
    ͜Ε͕ΤϯδχΞͷ
    ੜ͖ํͰ͸ʁ
    #notηϧϑϓϩσϡʔε

    View Slide

  103. ·ͱΊ

    View Slide

  104. TL;DRɹ˞࠶ܝ
    • ʮ̋̋ΤϯδχΞʹͳΔΜͩʂʂʂʯ

    ͱ͍͏ڧ͍ҙࢤΛৗʹ࣋ͪଓ͚Δʂʂʂ

    ʮͳΓ͍ͨʯ͸ઈରʹμϝʂʂʂʂ
    • ໨ඪɾܭըΛݴޠԽͯ͠ܧଓతʹ࣮ߦ͢Δ
    • ଞਓࣄΛؾʹ͠ͳ͍ɾεϧʔ͢Δ

    ࣗ෼ࣗ਎ͷࣄʹूத͢Δ

    View Slide

  105. ʮͳΔΜͩʂʯ͕େ੾
    ʮͳΓ͍ͨʯ͸μϝ
    ໨ඪɾܭըɾ࣮ߦΛܧଓతʹ
    ΍ΔͨΊͷϒϨͳ͍ҙࢤΛ
    #ࠓ೔ͷ·ͱΊ
    #େ੾ͳͷͰೋ౓ݴ͏

    View Slide

  106. ʮੜ֔Πον(1)ΤϯδχΞʯ
    ͱͯ͜͠ͷؾ࣋ͪΛେ੾ʹ
    ͜Ε͔Β΋ؤுΓ·͢

    View Slide

  107. We are Hiring!
    • ࢲͨͪ͸ʮ໺ٿΤϯδχΞʯΛٻΊ͍ͯ·͢
    • ϑϩϯτΤϯυ(&σβΠφʔ)
    • σʔλαΠΤϯε(ಈըɾը૾ɾML)
    • ڵຯ͋Δํ͸SNSͰࢲʹ࿈བྷ͍ͩ͘͞ʂ

    @shinyorke (Twitter/Facebook/Hatena/etc…)

    View Slide

  108. ήʔϜηοτ
    ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠
    Shinichi Nakagawa(Twitter/Facebook/etc… @shinyorke)

    View Slide

  109. ͍΍ɺऴΘͬͯͳ͔ͬͨ

    View Slide

  110. ߨԋޙʹدͤΒΕͨ੠(༧૝)
    • Θ͔ΓΈ͕͋ΔɾΘ͔ΓΈ͕ਂ͍
    • ܹࢗʹͳͬͨ
    • ࠓ౓΢νͰ΋ߨԋΛ(ry
    • ͔Βͷ,໊ࢗަ׵ͷཛྷ
    #ͦ͏ͳΔΑͶ #ଟ෼ #ͳͬͨΒ੒ޭ

    View Slide

  111. (͍΍͍΍͍΍͍΍)
    تΜͰ͘Εͯخ͍͠͠
    ڞײ͍͚ͨͩͯྦͰ͢…͕ʂ

    View Slide

  112. ͦͷؾ࣋ͪɾ೤ҙΛ
    ʮ͋ͳͨࣗ਎ʯͷ۩ମతͳ
    ΞΫγϣϯʹ͠·ͤΜ͔ʁ
    ͋ͳ͔ͨΒݟͨΒ
    ࢲͷࣄྫ͸͋Δ໺ٿόΧͷ
    ଞਓࣄͳΜͰ͔͢Βʂʂ

    View Slide

  113. All Done.

    View Slide