Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ピクシブのサービスと技術
Search
Atsushi Takayama
March 06, 2017
Technology
1
500
ピクシブのサービスと技術
ピクシブ福岡オフィス - オープン記念LT祭 で話した内容です
Atsushi Takayama
March 06, 2017
Tweet
Share
More Decks by Atsushi Takayama
See All by Atsushi Takayama
最高の開発者体験の追求が開発生産性を改善し続ける文化を生み出した話
edvakf
3
890
NeurIPS 2021 論文読み会: How Modular should Neural Module Networks Be for Systematic Generalization?
edvakf
0
100
8年物のJavaのシステムをKotlinに変えていく選択に至るまで
edvakf
2
910
ピクシブ社内のImageFlux利用事例紹介
edvakf
1
2.4k
学びの文化を育む社内読書会のススメ
edvakf
0
160
フルCDNアーキテクチャでサービス設計した話
edvakf
5
3.5k
Goでバイナリを読む+α
edvakf
1
790
お前はこれまでに作ったAPIの数を覚えているのか?
edvakf
0
2.2k
「ふつうのRailsアプリケーション」についての考え方
edvakf
2
630
Other Decks in Technology
See All in Technology
テストプロセスで大事にしていること #jasstnano
makky_tyuyan
0
170
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
350
オーナーシップを持つ領域を明確にする
konifar
13
3.1k
DevOpsDays History and my DevOps story
kawaguti
PRO
9
2.5k
私が trocco を推す理由
__allllllllez__
1
210
20240416_devopsdaystokyo
kzkmaeda
1
220
マルチアカウント環境への発見的統制の導入
ch1aki
1
1.3k
SIEMを用いて、セキュリティログ分析の可視化と分析を実現し、PDCAサイクルを回してみた
coconala_engineer
0
280
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
3
12k
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
240
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
27
5.9k
APIファーストなプロダクトマネジメントの実践 〜SaaSus Platformでの例〜 / "Practicing API-First Product Management - An Example with SaaSus Platform
oztick139
0
100
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
68
8.6k
Testing 201, or: Great Expectations
jmmastey
28
6.3k
Done Done
chrislema
178
15k
Product Roadmaps are Hard
iamctodd
44
9.7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
21
1.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
116
18k
Designing Experiences People Love
moore
136
23k
Raft: Consensus for Rubyists
vanstee
132
6.3k
What's new in Ruby 2.0
geeforr
337
31k
Mobile First: as difficult as doing things right
swwweet
216
8.6k
The Invisible Side of Design
smashingmag
294
49k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
Transcript
ϐΫγϒͷαʔϏεͱٕज़ @ϐΫγϒԬΦϑΟε - Φʔϓϯه೦LTࡇ
ࣗݾհ ߴࢁԹ @edvakf ϐΫγϒגࣜձࣾ ࣥߦһ CTO ֶੜ࣌ʹJavaScriptͱΣϒඪ४ʹϋϚͬͯɺ 2012ʹେֶӃΛதୀͯ͠ϐΫγϒʹೖࣾ ೖ͔ࣾͯ͠ΒαʔόʔαΠυ։ൃશൠΛ୲
pixiv ΠϥετΛ࣠ͱͨ͠ ίϛϡχέʔγϣϯ ϓϥοτϑΥʔϜ
pixiv.git www.pixiv.net touch.pixiv.net app-api.pixiv.net www.pixivision.net sensei.pixiv.net ͳͲ
pixivΞϓϦ
pixivision pixivͷΫϦΤΠλʔ ࡞ʹؔΘΔਓΛ հ͢ΔϝσΟΞ
pixiv FANBOX ΫϦΤΠλʔͷ ༗ྉίϯςϯπΛఆֹ ߪಡͰ͖ΔαʔϏε
sensei ಈըͰֶͿ Πϥετߨ࠲
ϨΨγʔ or not?
2007͔ΒՔಇ͍ͯ͠Δ80ສߦͷPHPΞϓϦέʔγϣϯ PHP5.2→5.3→5.5→7ʢҠߦ్தʣ ίʔυϕʔεશମʹؔΘΔϦϑΝΫλϦϯάΛৗʹ࣮ࢪ ਓ͕ೖΕସΘͬͯಡΊ͔Δ͜ͱɺҰׅϦϑΝΫ λϦϯά͍͢͜͠ͱΛࢦ͖ͯͨ͠ ϑϩϯτΤϯυͰWebpackͱBabelͷಋೖ ES7, Reactͷ࠾༻͕ਐΉ
େྔΞΫηε
ੈքத͔Βຖ30ສͷϦΫΤετΛड͚ΔPHPΞϓϦέʔγϣϯ ྺ࢙తܦҢͰαʔόʔ͔ͳΓগͳ͑͘ΒΕ͍ͯΔ 2014ࠒ·ͰʹύϑΥʔϚϯε্ͷ΄΅௵͖ͯͨ͠ 1Ϗϡʔʹදࣔ͞ΕΔίϯςϯπ ࠂ͕1ʙ3Օॴ ը૾͕10ʙ20Օॴ →͞ΒʹେྔͷϦΫΤετΛࡹ͘
pixivͷը૾Πϯϑϥ
େྔͷϦΫΤετͱτϥϑΟοΫ ϩϯάςʔϧͷΞΫηε 1ͭͷը૾ʹରͯ͠10ύλʔϯҎ্ͷαϜωΠϧ →ΦʔϓϯιʔειϑτΛΈ߹ΘͤͨΩϟογϡػ ߏͱɺࣗલͷը૾มϛυϧΣΞΛGoͰ։ൃ
ImageFlux Powered by pixiv
pixivΛࢧ͑Δը૾มɾ৴ٕज़Λ ͘͞ΒΠϯλʔωοτ͞ΜͱڞಉͰαʔϏεԽ CݴޠɾΞηϯϒϥϨϕϧͷը૾มٕज़ GoʹΑΔωοτϫʔΫϛυϧΣΞ։ൃʹڵຯͷ͋ ΔΤϯδχΞืूதʂ
ࠂ৴ γεςϜ
ࠂ͝ͱʹෳͷࠂ৴ωοτϫʔΫͷൺΛ Γସ͑ͨΓɺࣗࣾࠂΛ৴͢Δ ཧը໘Ruby on Rails ৴αʔόʔGo ॳظ͔Βٕज़ࢿྉΛެ։͍ͯͨͨ͠Ίɺࠂ৴ ۀքͰࢀߟʹ͠·ͨ͠ͱ͍͏ҙݟ͕ଟ
pixivͱRuby on Rails
BOOTH pixivͱੑͷߴ͍ γϣοϓ࡞αʔϏε
pixivFACTORY ΠϥετΛ1ຕΞοϓ ϩʔυ͢Δ͚ͩͰ ΦϦδφϧΞΠςϜΛ ࡞ΕΔαʔϏε
pixivίϛοΫ pixiv͔ΒσϏϡʔͨ͠ ࿈ࡌອըΛϝΠϯʹѻ ͏ిࢠॻ੶ΞϓϦ
pixivSketch pixivΑΓؾܰʹ ֆΛඳ͍ͯߘ Ͱ͖ΔΞϓϦ&SNS
Rails Wayʹैͬͯʮී௨ʯʹ࡞Δ ͏gemͳͲΛڞ௨Խͯ͠ɺ ࣾͰϊϋΛڞ༗Ͱ͖ΔΑ͏ʹ Railsదٓ࠷৽ʹΞοϓσʔτ͍ͯ͘͠ ͪ͜Βϊϋͷڞ༗͕త ॴଐνʔϜΛ·͍ͨͩRailsΞοϓσʔτ࡞ઓͰ pixivίϛοΫΛ3ϲ݄ͰRails3.2→4.0→4.1→4.2→5.0Խ
ʮී௨ʯ͡Όͳ͍෦
֎෦ίϚϯυΛۦͨ͠ϓϨϏϡʔ
αʔόʔαΠυ ϨϯμϦϯά Node.jsͱReactʹΑΔ ϨϯμϦϯάαʔόʔ
ී௨ʹΔ͖ͱ͜Ζී௨ʹΓɺී௨͡Όͳ͍ ͱ͜Ζ಄ΛͻͶΔ
ܾࣾࡁج൫γεςϜ
pixivPay ScalaʹΑΔࣾͷܾࡁج ൫ ࣾͰ՝ۚΛѻ͏αʔϏ ε͕૿͖͑ͯͨͨΊʹ࡞ ෳࡶͳϏδωεϩδοΫ Λܕͱͯ҆͠શʹهड़͢Δ ͨΊʹ࡞
ٕज़ͱαʔϏε࡞Γ
ΫϦΤΠλʔʹࢧ࣋͞ΕΔαʔϏεΛ࡞ΓɺҭͯΔ͜ ͱ͕ୈҰٛ 2ʙ5ਓఔͷখ͞ͳνʔϜͰΦʔφʔγοϓΛ࣋ͬͯ ҰͭͷαʔϏεΛ୲ ೖࣾ1ͰαʔϏεʹΨϯΨϯҙݟΛݴ͑Δڥ αʔϏε࡞Γʹඞཁͳٕज़ɺઐ֎Ͱֶ͋ͬͯΜ ͰऔΓೖΕΔ ٕज़తબ֤νʔϜʹͤɺϊϋࣾͰڞ༗
ϐΫγϒͰҰॹʹαʔϏεΛ࡞Γ͍ͨΤϯδχΞ Λืू͍ͯ͠·͢ʂ ԬͰ౦ژͰಇ͚·͢ʂ