#BPStudy 128 登壇資料(2018/4/20)
#キャリア #エンジニア #野球
ΤϯδχΞͱͯ͠ͷελϝϯΛ௫Ή·ͰʙʮٯࢉͷΩϟϦΞઃܭʯͱઓʙShinichi Nakagawa(ωΫετϕʔε ٿΤϯδχΞ݉CTO)BPStudy #128 2018/4/20(Fri)※Ҿ༻ɿOakland Athletics(@Athletics) https://twitter.com/Athletics/status/983851721926500353
View Slide
ಥવͰ͕͢օ͞Μʹͪΐͬͱͨ͠ٿΫΠζͰ͢
͜ͷνʔϜ(OAK)ʹηϯλʔ(CF)ΛͤΔʮଧͯΔʯελϝϯީิ͕͍·ͤΜଧ.200Λલޙ͢Δબख͕ଟ͘ɺͲΜ͙Γͷഎൺঢ়ଶଧग़ͳ͍͠कඋ·͋ී௨ɺɺɺͱߟ͍͑ͯͩ͘͞※ެද͞Ε͍ͯΔσʔλ(MLBެࣜͳͲ)ʹج͍͓ͮͨͰ͢ελϝϯ֬ઌൃख(ସΘΓ)※ίίɾۭ੮w w w w
̍ɿ͋ͳ͕ͨಜɾGMͩͬͨΒ1. ʲݱঢ়ҡ࣋ʳ͍͔ͭଧͭ͜ͱΛظ͠ɺ ʮզຫʯͯ͠͏2. ʲΧΠθϯʳଧͯΔଞͷબखΛίϯόʔτʢकඋҐஔมߋʣͯ͠ى༻ɺηϯλʔͷબखΛ߇͑ʹམͱ͢3. ʲมֵ͢ΔʳଞνʔϜ͔Β͍͍બखΛ֫ಘ͢Δ͔ɺϚΠφʔ͔Βকདྷ༗ͳબखΛ্͛ͯ͏ ࠓͷબखΫϏʹ͢ΔʢϚΠφʔ߱֨orઓྗ֎ʣ
ʲʳͯ͋͢Γ͑Δ• νʔϜͷঢ়گɾཁૉͰऔΓಘΔ͑มΘΔ• ʲώτʳΘΓͷબखͷ༗ແʢϚΠφʔؚΊʣ• ʲ͓ۚʳ༧ࢉͷ༗ແɾ֤બखͱͷܖঢ়گ• ʲ࣌ظʳώτ×͓ۚͷֻ͚ࢉ͓Αͼγʔζϯͷঢ়گʹ߹Θͤ• νʔϜ͕উͭʢṶ͔ΔʣͨΊʹʁͱ͍͏େ͖ͳΠγϡʔʹ ج͖ͮ͑Λग़͢ˠઈରతͳ͑ଘࡏ͠ͳ͍ ˞ͨͩ͠ɺ͑ͷʹνʔϜΧϥʔग़Δস
͏Ұ
̎ɿ͋ͳ͕ͨCFຊਓͩͬͨΒ1. ʲઓ͏ʳͬͱଧͯΔΑ͏ʹ͕ΜΔ ࠓ͍ΔϙδγϣϯΛ࣮֬ʹ͢ΔྗΛ͢Δ2. ʲकΔʳࠓͷϙδγϣϯʢସΘΓηϯλʔʣΛΜͯ͡ड͚ೖΕΔ νʔϜʹΔࣄΛ࠷༏ઌ͢Δ3. ʲಈ͘ʳνʔϜΛग़͍ͨʂͱر͠ɺଞٿஂɾଞࠃϦʔάͷҠ੶Λࡧ͢Δ ৽ఱͰϙδγϣϯΛ௫Ή
ʲʳͯ͋͢Γ͑Δ…͕ʂʁ• ʲઓ͏ʳଞͷνʔϜϝΠτʹউͯΔݟࠐΈ͋Ε͕Μͬͯྑ͍Ͱ͠ΐ͏• ʲकΔʳελϝϯണୣ͘͠ΫϏͷڪාͱઓ͍ͳ͕ΒࠓͷҐஔ͔Βಈ͔ͳ͍ͷΞϦͰ͠ΐ͏• ʲಈ͘ʳελϝϯʹͩ͜ΘΔɺࢼ߹ʹग़͍ͨʂͷͰ͋ΕҠ੶͢ΔͷΞϦͰ͠ΐ͏ʢҾ͘ख͕͋Εʣ• …Ͱ͕͢ɺϗϯτʹͦΕͰ͍͍ΜͩΖ͏͔ʁʁʁ
ελϝϯͱͯ͠ͷɾ࣮ྗΛຏ͘ɾ৴པΛಘΔ͜ͱ͕ແ͍ݶΓɺԆʑͱ͜ͷঢ়گ͕ଓ͘ʢݱΛҾୀ͢Δ·Ͱʣ
ΤϯδχΞҰॹͳͷͰʁ• ʑͷࣄʹࢥ͏ॴʢҙຯਂʣ͕͋ΔҰํɺئ͕ࢁ• Γ͍ͨ͜ͱ͕͋ΔʢςʔϚɺٕज़ɺݴޠetc…ʣ• ಌΕΔಇ͖ํ͕͋Δʢརްੜͱ͔ಉ྅ͷϨϕϧͱ͔ʣ• 5000ஹԁ΄͍͠ʢ㲈رͷڅྉΒ͑Δॴ͕͍͍ʣ• ͜ͷئ͕ͯ͢͏νʔϜͷʮελϝϯʯʹͳΓ͍ͨʂ ͬͯࢥ͍·ͤΜ͔ʁࢲৗʹʮελϝϯʯΛ௫Έ͍ͨͰ͢
ʮελϝϯʹͳΔΜͩʂʯΛ࣮ݱ͢ΔʮٯࢉͷΩϟϦΞઃܭʯ#ຊͷςʔϚ
͔͜͜Βຊ
Who am I ?(͓ͦͦલ୭Α)• Baseball Play Study(BPStudy)ͷൃද͔Β ϗϯτʹʮٿΤϯδχΞʯʹͳͬͨਓ• Shinichi Nakagawa(@shinyorke)• ʢגʣωΫετϕʔε ٿΤϯδχΞ݉CTO• Pythonࣗ͘͘शࣨ(#rettypy)ΦʔΨφΠβʔ• #ηΠόʔϝτϦΫε #Python #ΞδϟΠϧ #ڕྉཧ
ʲCMʳωΫετϕʔε #ͱ• Innovations For All Athletes (શͯͷΞεϦʔτʹٕज़ֵ৽Λ)• τϥοΫϚϯ(υοϓϥʔϨʔμʔ)͔ΒಘΒΕͨٿσʔλΛղੳ͠, ੳɾՄࢹԽΛߦ͏ϓϩμΫτʮBACS(όοΫε)ʯΛఏڙ• ٿΛத৺ͱͨ͠બखɾٿஂͷίϯαϧςΟϯάɾαϙʔτetc…• ৄͪ͘͜͠ΒͰˠ http://nextbase.co.jp/• ΤϯδχΞ(Θͨ͠)͕JOINͨ͜͠ͱʹΑΓ,ࠓޙߋʹ໘ന͘͠·͢ʂ※BACSʮBaseball Analytics and Coaching Systemʯͷུ
͜Ε͕BACS(όοΫε)Ͱ͢ࠨ͕ٿσʔλͷղੳ&ՄࢹԽ,ӈ͕3Dيಡചڊਓ܉(δϟΠΞϯπ)༷ʹಋೖ͍ͯ·͢(ࠓޙ֦େ༧ఆ)
ʲCMʳBaseball Geeks• ٿͷʮະདྷʯΛൃ৴͢ΔϝσΟΞͰ,ωΫετϕʔεͰӡӦ͍ͯ͠·͢• σʔλɾεϙʔπՊֶͰ໌Β͔ʹͳͬͨ͜ͱΛʮΘ͔Γ͘͢ʯ͑Δ• ΈΜͳಡΜͰͶ&ϒΫϚΑΖ͘͠ʂ https://www.baseballgeeks.jp/
ʲCMʳPythonࣗ͘͘शࣨ #rettypy• ࢲͱRettyͷΤϯδχΞ͕ओ࠵͢ΔPython͘͘ձ• झࢫ&Ϟοτʔ• ֤ࣗ,͓Λ࣋ࢀͯ͠ʮࣗश(͘͘)ʯ͢Δ• ൃදɾࡶஊΛ௨ͯ͡ใަֶͼΛಘΔ• ΠΠΰϋϯ(ϥϯνɾ͓ͭ)Λ༇͠Ή• ॳ৺ऀ͔ΒΤόϯδΣϦετ·Ͱଟछଟ༷ͳࢀՃϝϯόʔʢʹͳΔΑ͏ʹ্खͬͯ͘·͢ʣ• ։࠵༧ఆɾৄࡉRettyͷconnpassαΠτ͘͠ Twitterʮ#rettypyʯΛνΣοΫʂ https://retty.connpass.com• ͪͳΈʹ࣍ճ໌ʢ4/21 11:00ʙʣͰ͢
ࠓͷϋφγ…
#DevSumi2018 ͷϋφγͱٿΤϯδχΞʹͳΔ·ͰͷาΈʙເਖ਼ເhttps://speakerdeck.com/shinyorke/ye-qiu-enzinianinarumadefalsebu-mi-meng-hazheng-meng-number-devsumi
GeekOut͞ΜͷίϥϜΛݩʹʮͳΔΜͩʂʯΛ࣮ݱ͢ΔʮٯࢉʯͷΩϟϦΞઃܭ ᴷ ٿΤϯδχΞͷઓhttps://geek-out.jp/column/entry/2018/04/12/110000
ʮελϝϯΛ௫Μͩʯϋφγ• PythonɺΞδϟΠϧͦͯ͠BPStudyͱ͍͏ίϛϡχςΟͰͷ׆ಈ͕ҰͭͷΩοΧέͱͳͬͯʮٿΤϯδχΞʯͱͯ͠ͷʮελϝϯΛ௫Μͩʯࢲ͕• ࣄɾϓϥΠϕʔτɾίϛϡχςΟΛͲ͏Γͬͯ• ʮٿΤϯδχΞʹͳͬͨͷ͔ʯΛ;Γ͔͑Γ·͢• ʮελϝϯʹͳΔͧʂʯ͔ΒͷʮٯࢉͷΩϟϦΞઃܭʯ ͦͯࣗ͠͝ͷ׆ಈʹͭͳ͕ͬͯΒ͑Δͱخ͍͠Ͱ͢ #ຊͷ͓࢈
ຊ֮͑ͯؼͬͯཉ͍͠ࣄ※ͨͬͨͷ3ͭͰ͢.
TL;DR(ຊ͓͍ͨ͜͠ͱ)• ʮ̋̋ΤϯδχΞʹͳΔΜͩʂʂʂʯ ͱ͍͏ڧ͍ҙࢤΛৗʹ࣋ͪଓ͚Δʂʂʂ ʮͳΓ͍ͨʯઈରʹμϝʂʂʂʂ• ඪɾܭըΛݴޠԽͯ͠ܧଓతʹ࣮ߦ͢Δ• ଞਓࣄΛؾʹ͠ͳ͍ɾεϧʔ͢Δ ࣗࣗͷࣄʹूத͢Δ
ʮͳΔΜͩʂʯ͕େʮͳΓ͍ͨʯμϝඪɾܭըɾ࣮ߦΛܧଓతʹΔͨΊͷϒϨͳ͍ҙࢤΛ#ࠓͷͷཁ
͔͜͜ΒઌٿΤϯδχΞʹͳΔ·ͰͷࣗͷੜهΛ͓͠·͢.
ຊ͓͢Δظؒ(είʔϓ)2014ʙ2017(34ʙ37ࡀ)ͷ࣌ظΛৼΓฦΓ·͢
զࢥ͏ʮΤϯδχΞͷελϝϯʯ#ͱ
զࢥ͏ʮΤϯδχΞͷελϝϯʯ• ᶃѹతͳʮΤϯδχΞͱͯ͠ͷڧΈʯΛ࣋ͭ• PythonͱΞδϟΠϧͷ͜ͱͳΒνʔϜ(ձࣾ)ͷ୭ʹෛ͚ͳ͍• ͳΜͩͬͨΒ,ࠃ࠷ߴϓϨʔϠʔࢦ͢,ͰҰ͡Όͳ͍͍ͯ͘• ᶄख·ͱ͍ʹͳΒͳ͍ఔͷʮϏδωεྗʯΛൃش͢Δ• ࣗࣾαʔϏεͷυϝΠϯྖҬ(ࣄۀ+α)ʹର͢ΔѪͱࣝ• ࠷ݶͷίϛϡχέʔγϣϯ(ϓϨθϯεΩϧɾυΩϡϝϯτॻ͚Δྗetc…)• ᶃ + ᶄͷ͠ࢉʹݟ߹͓ͬͨڅྉΛ͍ͨͩ͘ʂ →ʮνϟϨϯδʯʮເʯΛཧ༝(ݴ͍༁)ʹσΟεΧϯτ(Լ͛)Λ͠ͳ͍
զࢥ͏ʮ͋Δ͖ΤϯδχΞʯ૾1. ࣾ֎ʹग़ͯෛ͚ͳ͍ΤϯδχΞͱͯ͠ͷ εΩϧΛ͚ͭΔ&ੈʹೝΊΒΕΔ2. ΤϯδχΞεΩϧΛ׆͔͢Ϗδωεྗ3. ʮऩɾڅྉͰͷଥڠܾͯ͠ڐ͞ͳ͍ʂʯ ओ؍ɾ٬؍྆ํͰࣗ৴Λ࣋ͯΔڧΈΛ࣋ͭ ˞্ه1+2ͷ͠ࢉͰϓϥεΛࢦ͢ʂʂ
ͪΐͬͱݴ͍͑Δͱʮελϝϯ=࣮ྗ×ग़ػձʯ࣮ྗɿΤϯδχΞεΩϧग़ػձɿϏδωεεΩϧʴαใु…উखʹ͍ͯ͘Δ(ͣ)※ҟೝΊ·͢
ʮग़ػձʯΛʮ࣮ྗʯͰ׆͔ͯ͠ελϝϯʹྫ͑େ୩ᠳฏબखʢଧऀͷํʣϝδϟʔ۶ࢦͷʮଧٿʯͱʮগͳ͍ϑϥΠੑଧٿΛຊྥଧʹʯͯ݁͠ՌΛग़ͯ͠Δʢڧ͍ʣʲࢀߟʳʮଧऀʯେ୩ᠳฏͷଧٿσʔλΛੳʂࣈ͕ࣔ͢ڻҟͷೳྗͱࠓޙͷ՝ͱʂʁ ʢϕʔεϘʔϧΪʔΫεʣ https://www.baseballgeeks.jp/?p=4196※σʔλBaseballsavantΑΓൈਮʢ4/13·Ͱʣɺࢄਤࢲʢதʣ͕ಠࣗʹ࡞
ͦΜͳࢥɾͩ͜ΘΓͷݩ,աڈ5(34ʙ38ࡀ)ΛͲ͏ա͔ͨ͝͠ৼΓฦΓ·͢
34ࡀ(2014Ն·Ͱ)ϕΠΧϨϯτɾίϯαϧςΟϯάʙϦΫϧʔτJOIN·Ͱࠓίί
ࣄʹ͍ͭͯ(2004-2014Ն)• ҰݴͰ͍͏ͱʮडୗ։ൃɾίϯαϧʯ• ௨৴ɾެிɾࣗಈं(R&D)ɾήʔϜetc… WebΞϓϦ։ൃ͔Βۀܥ,Πϯϑϥ·Ͱ৭ʑͬͨ• ۀγεςϜɾWebΞϓϦ։ൃ͓Αͼ,ͪΐͬͱ͚ͩΠϯϑϥ ಛʹσʔλΤϯδχΞ(લॲཧετ)ָ͕͔ͬͨ͠• ޙ͓٬༷ͷఏҊ&Ҋ݅ήοτͰӦۀ&ϓϩϚωͳಈ͖ (٬؍తʹݟͯ)͓٬༷ɾ͔ࣾΒධՁͯ͠Βͬͯͨ
ίϛϡχςΟͱͷग़ձ͍• ͋ΔҊ݅ͰಥવͷʮϦʔϯελʔτΞοϓΔͧʯ తͳϑϦ͕(ϑΝʂʁ)• ຊΛಡΜ͕ͩͬ͞ͺΓΘ͔Βͣ,पΓʹৄ͍͠ਓ ͍ͳ͍٧Μͩorz…ͱ͍͏ͱ͜ΖͰٹ͍ͷਆ͕ʂ• ٹ͍ͷਆʮίϛϡχςΟʹग़͍͚͍͍ͯ͡ΌΜʂʯ …ͱڭ͑ͯ͘Εͨ&ίϛϡχςΟΛհͯ͘͠Εͨ
ίϛϡχςΟͷΠϝʔδ(࣌)• ॳߦ͘ͷ͕ͿͬͪΌ͚ڪ͔ͬͨ,ஏΛ͔͖ͦ͏Ͱ• ͱ͍͑,ࣗݾֶशͰݶք͋Δͱ͍͏ഽײ͕͋ͬͨ &ସҊࢥ͍͔ͭͣ• ʮஏ͔͍ͯࣄࣦ͏༁Ͱͳ͍͠ʂʯ ͱ͍͏ൃͷΓସ͑Ͱࢥ͍ͬͯࢀՃ →͜͏͍͏Γସ͑Ͱ͖Δͷ͕ࣗͷڧΈ(ࠓࢥ͑)
ίϛϡχςΟʹࢀՃ(ΞδϟΠϧ)• ϦʔϯελʔτΞοϓͷݟΛಘΔͨΊ, հͯ͠ΒͬͨϛʔτΞοϓʹࢀՃ• ϫʔΫγϣοϓٞʹݟΑ͏ݟ·ͶͰࢀՃ• ͱ͋ΔٞͷΫϩʔδϯάͰݴΘΕͨҰݴ͕ ޙͷʮٿΤϯδχΞʯʹͭͳ͕Δʂ
ϚωʔϘʔϧϦʔϯελʔτΞοϓࣄྫͷҰͭͰ͢Α※ͱ͍͏ҙຯ߹͍ͷ͕͋Γ·ͨ͠
ϫΠʮϚωʔϘʔϧ(͖͏)ͳΒಘҙͧʂʂʂʯ #ఆ֎ͷϒϨΠΫεϧʔ
ٿʹ͍ͭͯ(࣌)• ϚωʔϘʔϧͰग़ձͬͨ,ηΠόʔϝτϦΫε(౷ܭֶνοΫʹٿΛੳ͢Δࢥɾख๏)͕େ͖• ηΠόʔϝτϦΫεͷࢦඪܭࢉؚࣜΊͯཧղͯͨ͠• ͪΖΜٿී௨ʹେ͖ͰேMLB,ϓϩٿΛ• ୯ʹݟͯΔ͚ͩͰͳ͘,ͣͬͱσʔλͰͬͯͨ (20ͷࠒ͔Βσʔλ͏ͷ͕େ͖)
ٿͰΤϯδχΞϦϯάͷ͡·Γ• ϦʔϯελʔτΞοϓͷ݅ͱผʹ,ٿͰϓϩάϥϛϯάΛ͡Ίͨ• ϝδϟʔϦʔάͷԾٿήʔϜ, ʮϑΝϯλδʔϕʔεϘʔϧʯΛٕज़Ͱউͱ͏ʂͱࢥ͍ͭ͘ (ɿνʔτͰͳ͍,ެࣜAPIΛͬͯੳɾՄࢹԽͱ͔)• ࣌ࣄͰ͡ΊͨPythonʹϋϚΓͭͭ͋Γ, ͬͱPythonͰͳΜ͔࡞Γ͍ͨˠٿʂ• Ұਓ͘͘Ͱଓ͔͘ෆ͕҆͋ͬͨͷͰίϛϡχςΟʹࢀՃΛܾҙ• ͳ͓,͜Ε5લ(2013)ͷ(33ࡀ)
PythonίϛϡχςΟ• ΄΅ຖ݄։࠵ͷ͘͘ձʮPython mini hack-a-thon(#pyhack)ʯʹࢀՃ• ऴ࢝PythonͰٿʹؔ͢ΔHackΛͨ͠• σʔλूΊ• WebΞϓϦ։ൃ• ੳ• ͘͘ձ࠷ޙͷൃදλΠϜͰͬͨ͜ͱΛ൸࿐, Python͓Αͼपลٕज़ʹؔ͢ΔϑΟʔυόοΫΛΒ͏• ϑΟʔυόοΫΛݩʹ࠶ͼhack→ঃʑʹϓϩμΫτͱ͕ຏ͔ΕΔ
BPStudyͱͷग़ձ͍ҙ༁ɿ@haru860 ͞ΜͱͷೃΕॳΊΤϐιʔυ
ॳͷ #BPStudy ࢀՃ• 201311݄, #75 …ͷ࠙ձ• Pythonܨ͕Γʢ#pyhackܨ͕ΓʣͰͬͯΔਓ͕ԿਓډͨͷͰొ• ͕ͩࣄͰԌ্ͯ͠ຊฤߦ͚ͣˠ࠙ձͷΈߦͬͨ ʢؼΓಓͩͬͨͷ͕͍ͨ͠ʣ ˞ه͕Togetterʹͬͯ·ͨ͠ˠ• ࠤ౻͞Μʢ@haru850ʣͱॳର໘ ˠҟ༷ͳఔͷٿτʔΫͰΓ্͕Γ…ʂʁ
Baseball Play Studyͷಓᶃ• ࠤ౻͞ΜΛհͯ͘͠Εͨߴ࡚͞Μʢ@ken_takasakiʣ ʮத͞ΜɺΔ͓͞Μͱಉ͘͡ٿ͖Ͱ͢Αʂʯ• հͷΩοΧέ͕ٿͩͬͨͷͰٿͷτʔΫʹ ʢ͋ΕɺBPStudy(ryʣ• ʢԿΛ͔ͨ͠શ͘هԱʹແ͍Ͱ͕͢ʣ৭ʑͱҙؾ߹ͨ͠ͷ͔֬ɺ͓ޓ͍ʢ͓͔͍͙͠Β͍ʹʣٿόΧͩͬͨ• ͦͯ͠࠷ޙʹিܸతͳߏͱఏҊ͕ʂʁ
Baseball Play Studyͷಓᶄ• Δ͓͞Μ͔ΒɺಥવͷఏҊ͕དྷΔ ʮདྷ3݄ʹٿΛςʔϚʹBPStudyΛΔͷͰ͕͢ొஃ͠·ͤΜ͔ʁʯ• ʮத৳Ұʯͱ͍͏໊લೖΓͰ֎ʹग़ͨ͜ͱ͕ແ͔ͬͨϫΠɺͪΐͬͱࠔ ˠ͔͠͠ɺ͙͢ʹϫΫϫΫ͢Δ• ϫΠʮΓ·͢ʂΒ͍ͤͯͩ͘͞ʂʂʯ
ʮٿΤϯδχΞʯ͜͜ʹੜBPStudy #79ʮBaseball Play Study 2014ʯ2014/3/26 https://bpstudy.connpass.com/event/5295/
ͳͥൃදΛҾ͖ड͚͔ͨʁ• #pyhack Ͱ͍ͬͯͨٿʹؔ͢ΔHackҰఆͷՌ͕ग़ͯɺ࣍ͷςʔϚ͕͋ͬͯྑ͍࣌ظͩͬͨ• ൃදͦͷͷͷܦݧઙ͔͕ͬͨɺ #pyhack ͷՌൃදͳͲͰ݄ΠνҎ্ͷϖʔεͰͬͯͨͷͰ͜ͷลͰൃද͍͍͔ͯ͠ͳͱ͍͏͓ؾ࣋ͪʹ• ʮίϛϡχςΟͰͷܦݧͱಓͳ׆ಈʯ͕ͦ͏ʂͱ͍͏ؾ࣋ͪΛޙԡͨ͠͠
ൃදͷڹͱͦͷޙ• ൃදͦͷͷେޭʂ ࣗͷηΠόʔϝτϦΫεɾٿ௨༻͢Δͱײ৮Λಘͨ• Ҿ͖ଓ͖࡞͍ͬͯͨٿϓϩμΫτ(WebΞϓϦ)ΛͪΌΜͱੈʹެද͠Α͏ͱࢥ͍࢝ΊΔ(ௐࢠʹΔ)• PythonͷΧϯϑΝϨϯεʮPyCon JP 2014ʯʹ, ʮPythonͰ͡ΊΔٿϓϩάϥϛϯάʯͱ͍͏ςʔϚͰ ԠืˠAccept͞Ε,ॳͷٕज़ΧϯϑΝϨϯεొஃ͕ܾఆ͢Δ
ΩϟϦΞνΣϯδͷػӡ(notٿ)• ࣄۀձࣾͰͷνϟϨϯδʹڵຯ͕༙͘• Ϗδωε(WebͷαʔϏεΓ͍ͨ)• ςΫϊϩδʔ(PythonϏοάσʔλΓ͍ͨ)• ΤϯδχΞϦϯά(ࣗࣾࣄۀͷίϛοτ)• ϦʔϯελʔτΞοϓɾΞδϟΠϧΛ׆͔͢ͷ ίϯαϧΑΓࣗࣾࣄۀ࣋ͬͯΔͱ͜ΖͰΔ΄͏͕ྑͦ͞͏(ϝονϟΓ͔ͨͬͨ)• ·ͣϝΨϕϯνϟʔͰʮࣄۀʹߩݙ͢ΔʯϛογϣϯΛΤϯδχΞͱͯ͠Γ͍ͨʂ• 3ࣾʹߜͬͯస৬׆ಈ…͠Α͏ͱࢥͬͨΒ࣌ϦΫϧʔτʹ͍ͨ༑ਓ͔Β༠ΘΕΔ ˠΞδϟΠϧίϛϡχςΟͰͷ׆ಈ͕ΩοΧέʹɹ˞3ࣾͷͷ1͕ࣾϦΫϧʔτͰͨ͠
ϦΫϧʔτʹJOIN(2014/9/1)ϦΫϧʔτॅ·͍Χϯύχʔ(SUUMO)ʹΤϯδχΞͱͯ͠JOIN͢Δ※৭ΜͳҙຯͰਓੜͷసػʹ
35-36ࡀ(2014ळʙ2016ౙ)ϦΫϧʔτೖࣾʙελʔτΞοϓͷస৬ࠓίί
PyCon JP 2014ొஃ• લ৬(ϕΠΧϨϯτ)࣌ʹܾΊͨPyCon JP 2014ʹొஃ(ೖࣾೋिؒ)• ςʔϚʮPythonͰ͡ΊΔٿϓϩάϥϛϯάʯ• Django(WebϑϨʔϜϫʔΫ)ͰٿΞϓϦ։ൃ• ηΠόʔϝτϦΫεࢦඪʹج͍ͮͨੳɾղઆ• ͍ͭͰʹLT(ΞμϜɾμϯ)Δˠ·͔͞ͷେരসwww• ʮٿΤϯδχΞ(ٿͷਓ)ʯϒϥϯυཱ͕֬͢Δ
ͦͷޙͷٿͳ׆ಈ(2014-2015)• PyCon JP 2014ͷڹͰ…• WebϝσΟΞ(gihyo.jp)Ͱհ͞ΕΔ• CROSS2015ͷPythonίϛϡχςΟ࠲ஊձͰύωϥʔʹɹ˞ٿPythonද• ϒϩάʮLean Baseballʯͷٿੳهࣄ͕ϗοτΤϯτϦʔ࿈ൃ• ϝδϟʔϦʔάͷσʔληοτߏஙɾੳπʔϧͷOSSԽ• ੳؔͷωλهࣄ• PyCon JP 2015ͷઓ• Python×σʔλੳͷج൫ߏஙωλΛԠืˠAccept͞Ε,ొஃܾఆ(2࿈ଓ)• ຊ൪ͷτʔΫʮٿHackʙPythonΛ͍ͪͨσʔλੳͱՄࢹԽʯ͕େώοτ
ίϛϡχςΟͱͷ͖߹͍• ܧଓతʹࢀՃͭͭ͠,ʮ͢ʯʮ͑ΔʯํʹεΠον• Python• Ҿ͖ଓ͖,͘͘ձ(#pyhack , #mokupy ͳͲ)ʹࢀՃ• ࣗͷ͘͘…͚ͩͰͳ͘,ٞʹੵۃࢀՃ&ࠔͬͯΔํͷαϙʔτ• ΞδϟΠϧ• ϫʔΫγϣοϓɾσΟεΧογϣϯʹੵۃࢀՃ• ٞɾϫʔΫ͕ఀ͓࣌ߏ͍ͳ͠ʹϑΝγϦΛͬͨ• ʮPythonΞδϟΠϧ,͏ॳ৺ऀͰͳ͍,࣮ફऀʂʯ ͱ͍͏ҙࢤͱؾ࣋ͪͰͬͨˠ݁Ռ,ֶͼɾ࣮ྗɾ৴པஷ͕ۚಘΒΕͨ
͜ͷࠒ͔ΒʮϫΠٿΛΓ͍ͨʂʯͱ͍͏ເΛ࣋ͭΑ͏ʹ
ٿΤϯδχΞʹͳΔͧʂ• ϝδϟʔϦʔά͘͠ϓϩٿͷΤϯδχΞʹͳΔ• ϚωʔϘʔϧͷੈքͷΑ͏ʹσʔλੳͰ• ࣋ͯΔٕज़ɾεΩϧΛͯ͢ٿͷҝʹ׆͔͍ͨ͠• 2020౦ژΦϦϯϐοΫͷࣆJAPANελοϑͱͯ͠, ʮҰ൪͍͍৭(ۚ৭)ʯͷϝμϧΛऔΔαϙʔτΛʂ• ͜ΕΤϯδχΞจ຺Ͱ• 2020Ն(40ࡀ)ΛΊͲʹ,ٯࢉͯ͠ΩϟϦΞΛܗ͢ΔΑ͏ʹܾΊͨ
స৬׆ಈ&ϦΫϧʔτଔۀ• ձࣾͷϛογϣϯͱࣗͷڧΈͰΪϟοϓΛײ͡Δ ˠ৭ʑͱΩπ͔ͬͨͷͰస৬׆ಈΛ։࢝• ʮPythonʯʮΞδϟΠϧʯ͕׆͔ͤͦ͏ͳͱ͜ΖΛத৺ʹ• ϏβεΫ͔Βਮͳϝοη͕དྷͨˠCTOɾCEO໘ ͔Βͷ,εϙοτίϯαϧʹڧ͘ڞײ͢Δ(աڈͷܦݧͳͲͰ)• ϏβεΫ͕Pythonͷձࣾͱ͍͏͜ͱ͋ΓJOINΛܾஅ
37ࡀ(2016)ϏβεΫʙస৬׆ಈ͔ΒͷRettyࠓίί
ϏβεΫͰͷ͓ࣄɾମݧ• ͬͨ͜ͱ• αΠτͷSEOվળதʙখنࢪࡦΛͻͨ͢Β• ։ൃڥɾ։ൃϓϩηεͷվળ (ΞδϟΠϧͱ͔ࣗಈςετ)• ػցֶशϓϩδΣΫτ(ϞσϧɾAPIઃܭʙߏங)• ͦͷଞ,࠾༻ɾΠϯλʔϯͷϝϯλʔɾ(Ұ࣌తʹ)ΧελϚαϙʔτͱ͔etc…• ϚϯγϣϯҰ෦ͷελʔτΞοϓͷதͰྑ͍ܦݧ͔Βਏ͍ܦݧ͔Β ͨ͘͞ΜͷݟɾֶͼΛಘͨ
Ұํͦͷࠒٿ• ʮҰਓͯ͘͘͠։ൃʯʮίϛϡχςΟͰͷൃදʯΛ࣠ʹಓʹ׆ಈΛੵΈॏͶͨ• MLBσʔλऔಘ&લॲཧͷϥΠϒϥϦʮpitchpxʯͷ։ൃͱެ։• ্هpitchpx͔ΒΘ͔ΔσʔλͷɾٿͷݟղΛ,PyCon JP 2016τʔΫηογϣϯ ʮϏοάσʔλͱPythonͰ͡ΊΔٿͷ౷ܭੳʯ Ͱ࣮ફྫަ͑ͯհɹ˞@a_macbee͞Μͱڞಉൃද• ϫΠʮຊϓϩٿΓ͍ͨϯΰʯ …ͬͯࣄͰ,ίϛϡχςΟͷΠϕϯτʢPyCon miniɺϞϊλϩ͞ΜษڧձʣͰൃද• PyCon mini Hiroshima 2016(ϋϜVSౡ)• MonotaRO TechTalk #4ʮσʔλੳʯ(PyDataΛͬͨࡕਆɾΦϦοΫεੳ)
ίϛϡχςΟ׆ಈʢٿҎ֎)• ૬มΘΒͣʮ͘͘ձʯࢀՃͰݚᮎ• Pythonೖऀͷू͍ʹJOIN #PyNyumon• ϋϯζΦϯͷϝϯλʔ• ʮॳ৺ऀͩͬͨ͋ͷࠒʯΛৼΓฦͬͯߨԋ ˠʮPythonistaσϏϡʔʯͱ͍͏ςʔϚͰ·ͱΊͨ• ҰํΞδϟΠϧԼՐʹ(ਓʹձ͏ఔ)
ʢ·ͨʣస৬׆ಈˠRetty• Իָੑͷҧ͍()ͳͲ͋Γɺ࠶ͼస৬׆ಈΛ͡ΊΔ• PyData.Tokyo(PythonͷσʔλܥίϛϡχςΟ)Ͱதͷਓ(ؠӬ͞Μ)͕οΩΩͳϊϦͰLTͯͨ͠ˠRettyʹϠό͍ਓΩλʔ(͑)• ؠӬ͞ΜͱݩʑΓ߹͍ͩͬͨϫΠ,ͦͷͰ৯͍ؾຯʹΛ͏ ˠ͔ͳΓ͍͍ײͩͬͨ͡ͷͰΤʔδΣϯτʹ࡞ͬͯͱ͓ئ͍• ٿͷ࣍͘Β͍ʹ৯͕͖ͳϫΠ,ݩʑRettyͷϑΝϯͩͬͨ(ͬͯͨ)• Ḻੴ͞Μ(CTO)ɺా͞Μ(CEO)ଞͷ໘ΛܦͯJOIN͕ܾ·Δ
38ࡀ(2017)RettyͰूେͦͯ͠ٿΤϯδχΞ·ͩίί
2017/1/10ʙRettyʹJOINࣸਅDevLoveʮϕʔεϘʔϧ͔ΒݟΔٕज़ʯͷه೦ࡱӨ※ྡͷკ͞Μʢؗࢁ͞Μʣ͟͝ઌഐʢࣾһͰͳ͍ʣ
৯Λ௨ͯ͡ੈքதͷਓʑΛHappyʹ͜ͷཧ೦ͱΤϯδχΞνʔϜ͕͖Ͱೖࣾ(ଞʹཧ༝͋Δ͚Ͳ·͋ͦΜͳͱ͜)
͋Εʁٿ͡Όͳ͍ͷʁʁ• ϓϩٿνʔϜ(12ٿஂ)ͷ͕ͳ͔ͬͨ• ٿؔ࿈ࣄۀΛͯ͠Δձࣾ(͍͔ͭ͋͘Δ)• εΩϧɾΓ͍ͨ͜ͱ͕Ξδϟετ͠ͳ͍(ҹͩͬͨ)• ऩɾڅྉ໘ͰંΓ߹͍͕͔ͭͳ͍(૾)• ٿքʹࢲ͕ೖΕΔʢر͢Δʣελϝϯ͕ແ͔ͬͨ
RettyͰ͖ͬͯͨ͜ͱ• Engineering Manager(Tech Lead)ۀ• 1ΤϯδχΞͱͯ͠ͷMission (ࢪࡦͬͨΓج൫࡞ͬͨΓ)• ΤϯδχΞใɾ࠾༻• …ͳͲͳͲɺͳΜͰ৭ʑͬͨ
ίϛϡχςΟ meets Retty• ͕ࣗJOIN͢Δલ͔Β,RettyίϛϡχςΟͷαϙʔτΛ݁ߏ͍ͯͨ͠• ͦͷྲྀΕʹศ͠,ΨϯΨϯࢧԉ(εϙϯαʔͱ͔)ͤͯ͞Βͬͨ• Python(PyCon mini Kumamoto, PyCon JP 2017, PyLadies TokyoͳͲ)• iOS/Android(potatotips, iOSDC΄͔)• ΞδϟΠϧ(DevLOVE)• ༗ࢤͷΤϯδχΞਞ…͚ͩͰͳ͘,ใνʔϜલͷΊΓʹڠྗ
ίϛϡχςΟ׆ಈͷελϯε(ࢲݸਓ)• ʮࣗΑΓए͍ਓ͕ͨͪઓͰ͖ΔػձΛఏڙ͢Δʯํʹؾ͕࣋ͪಈ͍ͨ• ϊϋɾϦιʔεɾࢥͷఏڙͱୡ• ࣝɾ࠲ɾਓ຺ͱ͍ͬͨʮϊϋʯ• ॴɾεϙϯαʔυ(͓ۚ)ɾ৯ࣄ(ञ)ͳͲͷʮϦιʔεʯ• ΠϕϯτɾίϛϡχςΟͷҙٛͳͲͷʮࢥʯ• ͓ͬ͞Μ(ࣗ)͕͍ͭ·Ͱզ͕إ͠ͳ͍ํ͕݈શͱࢥͬͯͬͨ• एऀɾ৽͘͠དྷͨਓͨͪʹͬͱϊϏϊϏͱͬͯ΄͍͠ʂˡҰ൪ͷཧ༝
ίϛϡχςΟ׆ಈ(2017)• Pythonࣗ͘͘शࣨ #rettypy ελʔτ• ڭҭ৺ཧֶMeetup #1 ελοϑ<• ಡॻձ͔ΒࢀՃˠएऀ͕ͨͪΠϕϯτΓ͍ͨʂˠاը͔Β։࠵,ৼΓฦΓ·ͰશྗͰڠྗΛܾҙ• Πϕϯτཪํʹపͨ͠(࢘ձͱ͔)• Rettyͱͯ͠Πϕϯτͷεϙϯαʔձఏڙ• PyData.Tokyo ʮཧ࠷దԽʯ˞ελοϑͱ͓ͯ͠ख͍&SpeakerؠӬ͞Μ(Retty)• PyLadies.Tokyo 3पه೦ύʔςΟʔɹ˞ελοϑ݉εϙϯαʔ݉εϐʔΧʔ• PyCon mini Kumamoto 2017ɹ˞ελοϑɾεϙϯαʔɾεϐʔΧʔ(શ෦)• ݸਓ׆ಈ(͘͘ձ&ΠϕϯτొஃͳͲ)ྫ௨Γ&ଞʹ͍ͬͺ͍ͬͨ
Ұํͦͷࠒٿ• ॳʹηΠόʔϝτϦΫεͷࣾձਓߨ࠲Λडߨ ݁ʮେମͬͯͨʯ ※ɿૉਓʹݴ͑ͳ͍ײ• PythonهࣄͰେͨΓͨ͠ϒϩάʹศ͠,ٿςʔϚͷهࣄώοτྔ࢈Λଓ͚Δ(PVɾUUɾͯϒ͕աڈ࠷ߴʹ)• PyCon mini Kumamoto 2017Ͱϓϩٿੳˠେگ ޙͷPyCon JP 2017ͷൃදͷૅͱͳΔ• PyCon JPͷҰिؒͪΐͬͱલʹӡ໋ͷϝοηΛΒͬͨ
ωΫετϕʔεͱͷग़ձ͍ฐࣾදͷதඌ͔Βདྷͨϝοηʔδ(ݪจ)͜Ε͕࠷ॳͷग़ձ͍
ωΫετϕʔεͱͷग़ձ͍ᶃ• ՆٳΈதPyCon JPͷ४උΛ͍ͯͨ࣌͠ظʹಥવϝοη͕དྷͨ• ωΫετϕʔε(ؚΉதඌ)Βͳ͔ͬͨ͠Γ߹͍Ͱແ͔ͬͨ ˞ਖ਼ͳʮ୭ͶΜʯͬͯࢥͬͨ• ͨͩ,τϥοΫϚϯΛͬͨੳɾϓϩμΫτͷχϡʔεͰͬͯͨˠ͑,ϕϯνϟʔͷࣄͩͬͨͷʂʁʂʁʂʁʂʁ• ڵຯɾײ৺͕͋Δʂ...Ͳ͜Ζͷ͡Όͳ͔ͬͨ &ՆٳΈதͱ͍͏λΠϛϯά߹க͠,ձ͏͜ͱʹͨ͠
ωΫετϕʔεͱͷग़ձ͍ᶄ• தඌ(දऔక)ᐌ͘ ʮҰਓͷΤϯδχΞͱͯ͠த͞ΜΛυϥϑτҰҐࢦ໊͍ͨ͠ʯ ˠࣄۀͷ֦େʹ͋ͨΓ,ҰਓͷΤϯδχΞΛ୳͍ͯͨ͠&దͱ৴͡Λ͔͚ͨ• BACS(όοΫε)ͷੳɾղੳϞσϧΛͭͬͨ͘ਆࣄ(͡Μ͡)ᐌ͘ ʮ൴(த)ηΠόʔϝτϦΫεΛ্ͬͨͰΞτϓοτΛग़͍ͯ͠Δʯ ˠਆࣄ͞Μͱͷٿੳձ&ԾઆͷΓͱΓͰ࣮ྗΛࢼ͞Ε্ͨͰͷධՁ• தඌɾਆࣄɾԼΒܦӦਞ͓Αͼ,ϝϯόʔϒϩάɾൃදΛݟͯධՁͯ͘͠Εͯͨ ˠ࠷ॳͷΤϯδχΞͱͯ͠தΛʂڪΖ͍͙͠Β͍ʹҙࢥ౷Ұ͞Ε͍ͯͨ• ٻΊΒΕΔׂɾಇ͖ํɾऩͳͲ,͔ͬ͠Γෲམͪ͢Δ·ͰΛͤͯ͞Βͬͨ
ωΫετϕʔεͷಓ• PyCon JPͷൃද…ઈରʹޭͤ͞ͳ͍ͱʂ• ͜ͷ࣌(9݄ॳ०)·ͩJOINΛܾΊͯͳ͔ͬͨ• ͱ͍͑ʮ͍ͷҰ൪ʹதΛʯͱ͔ݴΘΕͨΒΔΘ͚ʹ͍͔ͳ͍• ʮٿΛՊֶ͢Δٕज़ʯͱ͍͏ࡐͰൃදˠաڈ࠷ߴϨϕϧͷޭΛ͛ͨ͠• 2ճͷձ߹• தඌʹՃ͑,Լ(ۀϝϯόʔ)ͱͷσΟεΧογϣϯ• BACS୲ऀΛަ͑,αʔϏεɾϓϩμΫτʹΑΓcommitͨ͠Λͤͯ͞Βͬͨ• ޙ,தඌͱϝοηͷதͰॾ݅(ͱ͍͏͔ऩ)Λ߹ҙͷ্,JOINΛܾஅ
ୀ৬ΛΓग़͢લ…ͷ• ʮωΫετϕʔεʹJOIN͠·͢ʂʯΛܾஅޙ• RettyͰΓ͍ͨςʔϚ…ͨ͘͞Μ͋ͬͨ• ͕ࣗ࠾༻ʹCommitͨ͠৽ଔ͞ΜͲ͏͠Α͏• etc…ޙΖΛͻ͔ΕΔωλ͕গͳ͘ͱ334ݸ͋ͬͨ• ओ࠵ͯ͠Δ #rettypy ͱ͔ίϛϡχςΟ׆ಈͲ͏͢ΜͶΜ• …ͳͲ,ࡾຊؒͰເͱݱ࣮ͷؒͰೋिؒۙ͘༳Εͨ࣌ظ͕
ٿΤϯδχΞʹͳΔͧʂ ※࠶ܝ• ϝδϟʔϦʔά͘͠ϓϩٿͷΤϯδχΞʹͳΔ• ϚωʔϘʔϧͷੈքͷΑ͏ʹσʔλੳͰ• ࣋ͯΔٕज़ɾεΩϧΛͯ͢ٿͷҝʹ׆͔͍ͨ͠• 2020౦ژΦϦϯϐοΫͷࣆJAPANελοϑͱͯ͠, ʮҰ൪͍͍৭(ۚ৭)ʯͷϝμϧΛऔΔαϙʔτΛʂ• ͜ΕΤϯδχΞจ຺Ͱ• 2020Ն(40ࡀ)ΛΊͲʹ,ٯࢉͯ͠ΩϟϦΞΛܗ͢ΔΑ͏ʹܾΊͨ
͜͜Ͱ(ٿʹ)ߦ͔ͳ͖Ό͏νϟϯεͳ͍ʂ(அݴ)#ܾஅͨ͠ཧ༝
Retty͔Βͷଔۀ• ܦӦਞɾϚωʔδϟʔʹୀ৬ΛΓग़͢• Ϛωʔδϟʔͱෲམͪ͢Δ·Ͱ1on1 ͱʹ͔͍͘Λ͑Δͷʹྗͨ͠• ʮٿͰੈքΛྑ͘͢ΔͨΊଔۀ͠·͢ʂʯ օ͞Μշ͘ૹΓग़ͯ͘͠Εͨ(ྦ)
39-41ࡀ(2018-2020)ωΫετϕʔεͱڞʹٿͷੈք͜Ε͔Βͷ
ເਖ਼ເʙٿͷੈք2018/2/1 ωΫετϕʔεҰਓͷΤϯδχΞ(CTO)ͱͯ͠JOIN
ωΫετϕʔεͷCTOͱͯ͠• ʮςΫϊϩδʔͷྗͰٿքΛڻዼͤ͞Δʂʯͷ͕࠷େͷϛογϣϯ• BACSͷ͞ΒͳΔ֦ு• ੳɾղੳɾίϯαϧςΟϯάͷ࠷దԽ• ITاۀͱͯ͠ͷωΫετϕʔεΛఈ্͛• ͜ΕΒΛ࣮ݱ͢ΔͨΊʹͳΜͰΔ• ϓϩμΫτͷ։ൃɾอकɾΧΠθϯ• σʔλੳɾղੳ• ΦϯυϝσΟΞʢϕʔεϘʔϧΪʔΫεʣͷαϙʔτ(SEOͱ͔)
10ਓ͍ͳ͍(ݱࡏ8໊)ͦΜͳϕϯνϟʔͷCTO͔ͩΒͦ͜ܦݧͰ͖Δɾ͍͚ͬͯΔϫΫϫΫ͕ͨ͘͞Μ͍ͬͯΔʂ…ͱࢥΘͤΔΑ͏ͳ͋Γ͕͍ܹͨྭΛ͍ͨ
“ٿք৭ʑͳจԽɾ͖ͨ͠Γ͕ଟ͘ɺΠϝʔδͱҧ͏͜ͱଟ͔Ζ͏ͱࢥ͍·͕͢ɺਖ਼͍͜͠ͱಊʑͱʢଟগɺΓํॊೈʹ͚ͩͲͶʣΓൈ͚ಓ͚ΔɻཔΉΑɺCTOʂඞͣҰมͤ͞Α͏ɻ”ʙԼ(ฐࣾۀϝϯόʔ)ͷϝοηΑΓʙ
Ḻੴ͞Μ(Retty CTO)ͷ͓ݴ༿“”“CTOϑΣʔζʹΑͬͯΔ͜ͱ͕·ͬͨ͘มΘΓɺ֤ϑΣʔζͰଟ͘ͷνϟϨϯδ͕͋Γ·͕͢ɺͥͻٿ͕໘ന͘ͳΔੈքΛ࣮ݱͯ͠΄͍͠ͳͱࢥ͍·͢ʂ”””γϯϓϧ͔ͭάοͱ͖ͨϝοηͰͨ͠(ྦ)
JOINͯ͠ೋϲ݄ͷࠓ• BACSϕʔεϘʔϧΪʔΫεଞͷ͜ͱɺʮITʯʮΠϯλʔωοτʯʮٕज़ʯ͕བྷΉ͜ͱͳΜͰҙࢤΛͬͯͬͯΔɺ͕ࣗߩݙͰ͖Δͱ͜ΖτίτϯલͷΊΓʹ• ৭ʑͱͬͯͯɺΤϯδχΞ/CTO͕ՁΛग़͢ͷɺίʔυΛॻ͚ͩ͘Ͱͳ͍ɺΉ͠ΖίʔυΛॻ͘Ҏ֎ͷॴ͕େ͖͍ʂɺͱؾ͕͍ͭͨ• …ͱ͍͏ࡉ͔͍͜ͱൈ͖ʹͯ͠ʮԿΛͬͯٿʯ͔ͩΒࣗࠓ͘͢͝خ͍͠• ʮٿքΛҰม͍ͤͨ͞ʂʯͱ͍͏Ϟνϕʔγϣϯ͕ͦ͏͍ͤͯ͞Δ͠• ʮCTOϑΣʔζʹΑͬͯΔ͜ͱมΘΔʯͱ͍͏taru͞ΜʢḺੴ͞Μʣͷϝοηʔδ͕ڧ͘ڹ͍ͯΔ͔Βͦ͜OwnershipΛ࣋ͬͯΕͯΔͱࢥ͏
ͦΜͳࠓͷཱͪҐஔΛٿͰྫ͑Δͱ
ࠓίί˞ٿքʹग़ྥ
͜Ε͔Βߦ͖͍ͨͱ͜Ζ
#"$4ଞϓϩμΫτ͕ٿքΛ੍͢
#"$4ଞϓϩμΫτ͕ٿքΛ੍͢౦ژޒྠࣆ+"1"/ελοϑ
#"$4ଞϓϩμΫτ͕ٿքΛ੍͢ϓϩٿPS.-#ͷٿஂΤϯδχΞ౦ژޒྠࣆ+"1"/ελοϑ
ʮٿΤϯδχΞʯ͕ΰʔϧͰͳ͍ʂ࣍ͷྥ(Next Base)Λૂ͍ͬͯ͘ҰҰΛେʹ
ͳͥࢲʮٿΤϯδχΞʯͱͯ͠ͷελϝϯΛ௫ΊͨͷͩΖ͏ʁ#;Γ͔͑Γ
ΤϯδχΞ͕ελϝϯΛऔΔʹʁ1. ΤϯδχΞతʮѹతͳڧΈʯΛ࣋ͭ2. ࠷ݶͷϏδωεྗ(ಛʹϓϨθϯ)3. ଞਓࣄ(༨ॴࣄ)ΑΓࣗͷࣄʹྗ4. મಆྗ(ͤΜͱ͏Γΐ͘)Λʹ͚ͭΔ
ΤϯδχΞతʮѹతͳڧΈʯ• ٕज़Ͱʮଞࣾʹ͍ͬͯ௨༻͢ΔʯڧΈΛ͚ͭΔ• ਅ伨ʹֶͼʑݚᮎΛॏͶΔ.• ࣗݾֶशɾձࣾͷઌഐɾಉ྅͔ΒͷֶͼͰݶքΛײͨ͡Β ໎Θͣ֎(ίϛϡχςΟ)• ʮٕज़ʯ×ʮԿ͔ʯͰΦϯϦʔϫϯͷڧΈ͕Ͱ͖ͨΒ࠷ߴ ʲྫʳʮPythonʯ×ʮٿʯ
࠷ݶͷϏδωεྗ(ಛʹϓϨθϯ)• ٕज़͕͋ͬͯ,ਓʹ͑ΒΕͳ͚Εҙຯແ͍• େͳͷʮυϝΠϯࣝʯʮυΩϡϝϯςʔγϣϯʯʮίϛϡྗʯ• ࣗࣾͷۀྖҬͷυϝΠϯࣝ,͍ΘΏΔʮۀࣝʯ• υΩϡϝϯςʔγϣϯ(จষɾֆਤΛඳ͘)• ίϛϡχέʔγϣϯྗ(ձɾSNS)• ্ه3ͭͷ͏ͪ,࠷1ͭਓΑΓڧ͘,2ͭਓฒΈ͡Όͳ͍ͱਏ͍ͱࢥ͏• ྫ͑,ػցֶशΤϯδχΞͳਓυϝΠϯࣝͱϓϨθϯςʔγϣϯඞਢ ʮPythonਓฒΈʹ͑·͢ʯʮֶΕ·͢ʯ͚ͩͰઈରμϝ
ଞਓࣄ(༨ॴࣄ)ΑΓࣗͷࣄ• ଞਓࣄɾ༨ॴࣄʹϒϨͳ͍ɾؾʹ͠ͳ͍ڧ͍ؾ࣋ͪΛ࣋ͭ• SNS͔ΒྲྀΕΔʮଞਓʯʮଞࣾʯͷޭࣄྫ• ʮνͷձࣾͰ͜͏͢Ε͍͍ͷʹʂʯ ʮಉ྅ͷ͍͋ͭ()ʯ• ଞਓɾࣗࣾΛม͑ΔΑΓ,ࣗΛม͑Δํָ͕Ͱ͢Α?• ࣗͷඪʹ͍͍ҙຯͰ(ؾ࣋ͪѱ͍͘Β͍ʹ)ʮతʯʹͳΔͷ͕େࣄ• ࣗͷࣄʹूத͢Δྗɾ࠲ΛࣗͳΓʹ࡞Δ(ྫɿఆظతͳSNSஅͪ)
મಆྗΛʹ͚ͭΔ• Αʔ͘ߟ͑…ͳͯ͘ʮ͓ۚେʯ,મಆຽʹͳΖ͏ #ͳΜJ• څྉɾऩΛʮ͍ʯʮѹྗʯͰԼ͛ͪ͠Όμϝ• େͯ͠ڧ͘ͳ͍ͷʹʮڅྉ্͛Ζʯͪΐͬͱҧ͏• ʮଞͷձࣾ()ʯʮۀքਫ४ͱൺ()ʯʮւ؛ͷฏۉऩ(ryʯ ˠ͜ΕͬͯଞਓࣄͰ͢ΑͶ?મಆ(ͤΜͱ͏)ͱͦ͏͡Όͳ͍ ɹ(ϦϞʔτɾग़ۈ࣌ؒͱ͔རްੜؚΊͯ)• ٕज़ɾڧΈΛ͑ΔʮϏδωεྗʯ͢ͳΘͪʮમಆྗʯΛ͑Α͏ʂ
ଞਓɾଞॴ༷ม͑ΒΕͳٕͯࣗࣗ͘ज़Ͱม͑ΒΕΔ͜Ε͕ΤϯδχΞͷੜ͖ํͰʁ
·ͱΊ
TL;DRɹ˞࠶ܝ• ʮ̋̋ΤϯδχΞʹͳΔΜͩʂʂʂʯ ͱ͍͏ڧ͍ҙࢤΛৗʹ࣋ͪଓ͚Δʂʂʂ ʮͳΓ͍ͨʯઈରʹμϝʂʂʂʂ• ඪɾܭըΛݴޠԽͯ͠ܧଓతʹ࣮ߦ͢Δ• ଞਓࣄΛؾʹ͠ͳ͍ɾεϧʔ͢Δ ࣗࣗͷࣄʹूத͢Δ
ʮͳΔΜͩʂʯ͕େʮͳΓ͍ͨʯμϝඪɾܭըɾ࣮ߦΛܧଓతʹΔͨΊͷϒϨͳ͍ҙࢤΛ#ࠓͷ·ͱΊ#େͳͷͰೋݴ͏
ͦͯ͠͏Ұͭ“ίϛϡχςΟͱࣗͷ׆ಈ”Λେʹ
ίϛϡχςΟͱࣗͷ׆ಈ• “ಈ͘”ΞτϓοτΛੈʹग़͢ʢখͯ͘͞ʣ• ΠϯϓοτΛॏͶΔʢΞτϓοτͷਫ਼ΛߴΊΔʣ• ൃදͱϑΟʔυόοΫʢLTɾϒϩάɾetc…ʣ• େ͖͘νϟϨϯδ͢ΔʢେͷલͰ͢ɺಓഁΓʣ• ৴པΛங͘ʢͯ͢ਓͱਓͷϋφγʣ
“ಈ͘”ΞτϓοτΛੈʹग़͢• ಡॻɾΦϯϥΠϯֶशɾࣸܦ͚ͩͰͳ͘ ʮಈ͘ΞϓϦʯʮ࠶ݱՄೳͳੳʯΛग़ͦ͏• ۩ମతͳྫ• WebΞϓϦΛ࡞ͬͯެ։• ҰͭςʔϚΛܾΊͯɺσʔλूΊˠੳˠ݁ʢ࣍ͷԾઆʣ·ͰͬͯΈΔ ʢσʔλͷग़ॲΛ໌هͭͭ͠ɺʮ࠶ݱՄೳʯͩͱGoodʂʣ• ΞτϓοτGithubͰίʔυΛެ։ͨ͠Γɺಈ͘ঢ়ଶͰஔ͘• ಈ͔ͳ͍Ϟϊʢص্ͷۭతͳͭʣμϝͰ͢
ΠϯϓοτΛॏͶΔ• “ಈ͘”ϞϊΛ࡞Γ͡ΊΔͱɺߋʹΠϯϓοτ͕ඞཁͳ͜ͱʹؾ͕ͭ͘• WebαʔόʔͬͯԿʁʢຊʹࡌͬͯͳ͍ͧʣ• σʔλϕʔεʁMySQLʁʁʢຊʹࡌͬͯͳ͍ͧʣ• ଧͱଧ੮ͷҧ͍ͬͯʢٿ͖ͳͣͳͷʹɺɺɺ͓͔Cʣ• ؾ͕͍ͭͨΠϯϓοτΛʮࣗओతʹʯੵΈॏͶΔຊͰԿͰ• ͘͘ձɾษڧձͳͲͰͬͯΔਓ͕ډͨΒฉ͘ͷ˕• Ͱ࠷ऴతʹࣗͷϞϊʹ͢Δ·ͰΖ͏ʢଞͷਓґଘʹͳΒͳ͍Α͏ʹʣ
ൃදͱϑΟʔυόοΫ• ੵΈॏͶͨΞτϓοτɾΠϯϓοτʹ͍ͭͯɺ ༐ؾΛ࣋ͬͯൃදΛ͢Δ• LTͰτʔΫͰϒϩάͰɺʮෆಛఆଟͷਓલͰ͢ʢެ։͢ΔʣʯʮҙݟΛΒ͏ػձ͕͋Δʯࣄ͕େ• Λͨ͠ޙϑΟʔυόοΫʢײɾΞυόΠεʣͳͲΛΒ͏• ࠷ॳ͔ΒᘳΛࢦ͞ͳ͍ɺ“ಈ͘”ϞϊͰ͋ΕͰߏΘͳ͍ʢσϞͰόάͬͨʁੳ͕͏·͍͔͘ͳ͍ʁΓ·ͤΜͶʣ
େ͖͘νϟϨϯδ͢Δ• ΞτϓοτΛग़͠ଓ͚ɺൃදΛଓ͚ΔͱɺͰ͖Δ͜ͱ͕૿͑ͨࣗʹؾ͕ͭ͘ॠ͕ؒ͋Δʢͱࢥ͏ʣ• ׳Ε͖ͯͨΒʮௐࢠʹͬͯʯେ͖͘νϟϨϯδ͢Δ• ඦਓنͷΠϕϯτɾΧϯϑΝϨϯεͰLT• 30ʙ45ͷߨԋΛͬͯΈΔ• ͍ͭͱҧ͏ίϛϡχςΟͰʮಓഁΓʯͳLTΛ͢Δ ྫɿRubyίϛϡχςΟͰPythonͷLTΛ͢Δɹ˞࣮• ࣗʹͱͬͯ࠷ॳͷେ͖ͳνϟϨϯδ͕BPStudyʢٿͷํʣͩͬͨ
͜ͷล·Ͱੲʢ4,5લʣ͔ΒݴΘΕͯΔษڧձͰൃදͯ͠ΈΑ͏͔ͳͱ͍͏ํ(@haru860)https://www.slideshare.net/ssuserafaef6/bps-32796687
৴པΛங͘• ίϛϡχςΟָ͍͠• ࣗͷֶͼɾ༑ୡ͕૿͑Δ• ࠙ձͷ͓ञ͕ඒຯ͍͠• ͰʮਓͱਓʯͷࣄͳͷͰ৴པΛগͣͭ͠૿ͦ͏• ʮ೦ͳਓʯʹ͚ͩͳΒͳ͍Α͏ʹʂ
৴པΛੵΉߦҝɹ˞Ұྫ• ਓͱͷ࣌ؒɾଋΛकΔ• ҰͭͷςʔϚΛΞτϓοτ͕ग़Δ·ͰΓ͖Δ• ϑΟʔυόοΫɾίϝϯτΛฦ͢• ίϛϡχςΟͷελοϑΛΔɾࢧԉ͢Δ• Λ࡞ͬͨΓ͔ʹ͢Δߦҝ͕৴པΛੜΉ ʢແཧʹΓ্͛ͳ͍͍ͯ͘ɺ҆৺͕େʣ
৴པΛଛͳ͏ߦҝ• ਓͱͷ࣌ؒɾଋΛकΒͳ͍ ʢυλΩϟϯͱ͔࿈བྷऔΕͳ͍etc…ʣ• ৭ʑͳ͜ͱʹखΛग़͢ɺΈ͘ʹΠϕϯτߦ͘etc…Πϯϓοτաଟ ʢ৭ʑߦ͘ɾखΛग़͚ͩ͢ͰΞτϓοτ͕ग़ͳ͍ˠԿͷਓͩʂʁʣ• ଞͷਓͷ൷ɾதইɾѱޱͱऔΕΔίϝϯτɾݴಈ ʢཧతɾ٬؍తʹਖ਼͍͠ίϝϯτɾݴಈΛআ͘ʣ• ਓΛෆ҆ʹͤ͞Δɾই͕ͭ͘ߦҝ͕৴པΛଛͳΘ͍ͤͯ͘ ※͋͘·ͰݸਓతͳݟղͰ͢
͕ࣗίϛϡχςΟͰϗϯτʹ৴པΛউͪಘͨ(ͱࢥ͑ͨ)ͷ͕ͪ͜Β※͍ͭ࠷ۙͰ͢
͜ΕͷʹԠ͑ͨ͜ͱ.PyCon JP 2015ͷtweetΑΓ.ؔऀʹͳͬͨͷؒҧ͍ͳ͍.https://togetter.com/li/885357 ͔ΒҾ༻ʢPyCon JP 2015ൃද·ͱΊʣ
ੜ֔ΠνɾΤϯδχΞͱͯ͠ίϛϡχςΟͷҰਓͱͯ͠ʮ࣮ྗʯʮ৴པʯΛେʹελϝϯΛऔΓଓ͚ͯߦ͖·͢ʢஅݴʣ
ήʔϜηοτ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠Shinichi Nakagawa(Twitter/Facebook/etc… @shinyorke)