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

ピクシブのサービスと技術

 ピクシブのサービスと技術

ピクシブ福岡オフィス - オープン記念LT祭 で話した内容です

003f59d1b2e3b864c744f8eb21f68e82?s=128

Atsushi Takayama

March 06, 2017
Tweet

Transcript

  1. ϐΫγϒͷαʔϏεͱٕज़ @ϐΫγϒ෱ԬΦϑΟε - Φʔϓϯه೦LTࡇ

  2. ࣗݾ঺հ ߴࢁԹ @edvakf ϐΫγϒגࣜձࣾ ࣥߦ໾һ CTO ֶੜ࣌୅ʹJavaScriptͱ΢Σϒඪ४ʹϋϚͬͯɺ
 2012೥ʹେֶӃΛதୀͯ͠ϐΫγϒʹೖࣾ ೖ͔ࣾͯ͠Β͸αʔόʔαΠυ։ൃશൠΛ୲౰

  3. pixiv ΠϥετΛ࣠ͱͨ͠ ίϛϡχέʔγϣϯ ϓϥοτϑΥʔϜ

  4. pixiv.git www.pixiv.net touch.pixiv.net app-api.pixiv.net www.pixivision.net sensei.pixiv.net ͳͲ

  5. pixivΞϓϦ

  6. pixivision pixivͷΫϦΤΠλʔ΍
 ૑࡞ʹؔΘΔਓΛ ঺հ͢ΔϝσΟΞ

  7. pixiv FANBOX ΫϦΤΠλʔͷ ༗ྉίϯςϯπΛఆֹ ߪಡͰ͖ΔαʔϏε

  8. sensei ಈըͰֶͿ Πϥετߨ࠲

  9. ϨΨγʔ or not?

  10. 2007೥͔ΒՔಇ͍ͯ͠Δ80ສߦͷPHPΞϓϦέʔγϣϯ PHP5.2→5.3→5.5→7ʢҠߦ్தʣ ίʔυϕʔεશମʹؔΘΔϦϑΝΫλϦϯάΛৗʹ࣮ࢪ ਓ͕ೖΕସΘͬͯ΋ಡΊ͹෼͔Δ͜ͱɺҰׅϦϑΝΫ λϦϯά͠΍͍͢͜ͱΛ໨ࢦ͖ͯͨ͠ ϑϩϯτΤϯυͰ͸WebpackͱBabelͷಋೖ ES7, Reactͷ࠾༻͕ਐΉ

  11. େྔΞΫηε

  12. ੈքத͔Βຖ෼30ສͷϦΫΤετΛड͚ΔPHPΞϓϦέʔγϣϯ ྺ࢙తܦҢͰαʔόʔ୆਺͸͔ͳΓগͳ͘཈͑ΒΕ͍ͯΔ 2014೥ࠒ·ͰʹύϑΥʔϚϯε্ͷ໰୊఺͸΄΅௵͖ͯͨ͠ 1Ϗϡʔʹදࣔ͞ΕΔίϯςϯπ ޿ࠂ͕1ʙ3Օॴ ը૾͕10ʙ20Օॴ →͞ΒʹେྔͷϦΫΤετΛࡹ͘

  13. pixivͷը૾Πϯϑϥ

  14. ௒େྔͷϦΫΤετ਺ͱτϥϑΟοΫ ϩϯάςʔϧͷΞΫηε܏޲ 1ͭͷը૾ʹରͯ͠10ύλʔϯҎ্ͷαϜωΠϧ਺ →ΦʔϓϯιʔειϑτΛ૊Έ߹ΘͤͨΩϟογϡػ ߏͱɺࣗલͷը૾ม׵ϛυϧ΢ΣΞΛGoͰ։ൃ

  15. ImageFlux Powered by pixiv

  16. pixivΛࢧ͑Δը૾ม׵ɾ഑৴ٕज़Λ
 ͘͞ΒΠϯλʔωοτ͞ΜͱڞಉͰαʔϏεԽ CݴޠɾΞηϯϒϥϨϕϧͷը૾ม׵ٕज़΍
 GoʹΑΔωοτϫʔΫϛυϧ΢ΣΞ։ൃʹڵຯͷ͋ ΔΤϯδχΞืूதʂ

  17. ޿ࠂ഑৴ γεςϜ

  18. ޿ࠂ࿮͝ͱʹෳ਺ͷ޿ࠂ഑৴ωοτϫʔΫͷൺ཰Λ ੾Γସ͑ͨΓɺࣗࣾ޿ࠂΛ഑৴͢Δ ؅ཧը໘͸Ruby on Rails ഑৴αʔόʔ͸Go ॳظ͔Βٕज़ࢿྉΛެ։͍ͯͨͨ͠Ίɺ޿ࠂ഑৴ ۀքͰࢀߟʹ͠·ͨ͠ͱ͍͏ҙݟ͕ଟ਺

  19. pixivͱRuby on Rails

  20. BOOTH pixivͱ਌࿨ੑͷߴ͍ γϣοϓ࡞੒αʔϏε

  21. pixivFACTORY ΠϥετΛ1ຕΞοϓ ϩʔυ͢Δ͚ͩͰ ΦϦδφϧΞΠςϜΛ ࡞ΕΔαʔϏε

  22. pixivίϛοΫ pixiv͔ΒσϏϡʔͨ͠ ࿈ࡌອըΛϝΠϯʹѻ ͏ిࢠॻ੶ΞϓϦ

  23. pixivSketch pixivΑΓؾܰʹ ֆΛඳ͍ͯ౤ߘ Ͱ͖ΔΞϓϦ&SNS

  24. Rails Wayʹैͬͯʮී௨ʯʹ࡞Δ ࢖͏gemͳͲΛڞ௨Խͯ͠ɺ
 ࣾ಺Ͱϊ΢ϋ΢Λڞ༗Ͱ͖ΔΑ͏ʹ Rails͸దٓ࠷৽ʹΞοϓσʔτ͍ͯ͘͠ ͪ͜Β΋ϊ΢ϋ΢ͷڞ༗͕໨త ॴଐνʔϜΛ·͍ͨͩRailsΞοϓσʔτ࡞ઓͰ
 pixivίϛοΫΛ3ϲ݄ͰRails3.2→4.0→4.1→4.2→5.0Խ

  25. ʮී௨ʯ͡Όͳ͍෦෼

  26. ֎෦ίϚϯυΛۦ࢖ͨ͠঎඼ϓϨϏϡʔ

  27. αʔόʔαΠυ ϨϯμϦϯά Node.jsͱReactʹΑΔ ϨϯμϦϯάαʔόʔ

  28. ී௨ʹ΍Δ΂͖ͱ͜Ζ͸ී௨ʹ΍Γɺී௨͡Όͳ͍ ͱ͜Ζ͸಄ΛͻͶΔ

  29. ࣾ಺ܾࡁج൫γεςϜ

  30. pixivPay ScalaʹΑΔࣾ಺ͷܾࡁج ൫ ࣾ಺Ͱ՝ۚΛѻ͏αʔϏ ε͕૿͖͑ͯͨͨΊʹ࡞੒ ෳࡶͳϏδωεϩδοΫ Λܕͱͯ҆͠શʹهड़͢Δ ͨΊʹ࡞੒

  31. ٕज़ͱαʔϏε࡞Γ

  32. ΫϦΤΠλʔʹࢧ࣋͞ΕΔαʔϏεΛ࡞ΓɺҭͯΔ͜ ͱ͕ୈҰٛ 2ʙ5ਓఔ౓ͷখ͞ͳνʔϜͰΦʔφʔγοϓΛ࣋ͬͯ ҰͭͷαʔϏεΛ୲౰ ೖࣾ1೥໨Ͱ΋αʔϏεʹΨϯΨϯҙݟΛݴ͑Δ؀ڥ αʔϏε࡞Γʹඞཁͳٕज़͸ɺઐ໳֎Ͱ͋ͬͯ΋ֶΜ ͰऔΓೖΕΔ ٕज़తબ୒͸֤νʔϜʹ೚ͤɺϊ΢ϋ΢͸ࣾ಺Ͱڞ༗

  33. ϐΫγϒͰ͸ҰॹʹαʔϏεΛ࡞Γ͍ͨΤϯδχΞ Λืू͍ͯ͠·͢ʂ ෱ԬͰ΋౦ژͰ΋ಇ͚·͢ʂ