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
560
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ピクシブのサービスと技術
ピクシブ福岡オフィス - オープン記念LT祭 で話した内容です
Atsushi Takayama
March 06, 2017
More Decks by Atsushi Takayama
See All by Atsushi Takayama
最高の開発者体験の追求が開発生産性を改善し続ける文化を生み出した話
edvakf
3
1.7k
NeurIPS 2021 論文読み会: How Modular should Neural Module Networks Be for Systematic Generalization?
edvakf
0
230
8年物のJavaのシステムをKotlinに変えていく選択に至るまで
edvakf
2
1.1k
ピクシブ社内のImageFlux利用事例紹介
edvakf
2
3.1k
学びの文化を育む社内読書会のススメ
edvakf
0
320
フルCDNアーキテクチャでサービス設計した話
edvakf
5
4.2k
Goでバイナリを読む+α
edvakf
1
1k
お前はこれまでに作ったAPIの数を覚えているのか?
edvakf
0
2.8k
「ふつうのRailsアプリケーション」についての考え方
edvakf
2
940
Other Decks in Technology
See All in Technology
「AIに依存している」と 「AIを使いこなしている」の違い
k8yasuma
0
120
ソニー銀行におけるビジネスアジリティ向上のためのクラウドシフト戦略
srenext
0
840
ゴールデンパスは敷いただけでは道にならない ─ 企画部門のエンジニアが技術標準を事業価値に変えるまで
mhrtech
1
230
ruby.wasmとPicoRuby.wasmに対応した仮想DOMライブラリを作ってる話 #kaigieffect_kaigi
sue445
PRO
0
150
LLM/Agent評価:トップ営業の発言を「正解」にする 〜暗黙的正解による評価を営業資産に変える〜
takkuhiro
1
230
Control Planeで育てるBtoB SaaSの認証基盤 - SRE NEXT 2026
pokohide
1
2.6k
「最後に責任を取るのはチーム」— 人間のPRレビューを最小化してアップデートしたメンタルモデル
jnishime_dresscode
0
920
タスクの複雑さでモデルを選ぶ ── Thompson Samplingで動かす“トークン/コスト最適化
satohy0323
0
570
第67回コンピュータビジョン勉強会CVPR2026読会前編
tsukamotokenji
0
150
誤解だらけの開発生産性 / Myths and Misconceptions about Developer Productivity
i35_267
2
820
DatabricksにおけるMCPソリューション
taka_aki
1
280
SRE依存からの脱却 運用を開 発チームへ移す、 フルサイ クル開 発体制の実践
joooee0000
0
3.2k
Featured
See All Featured
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.7k
A better future with KSS
kneath
240
18k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
How to make the Groovebox
asonas
2
2.3k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
340
Claude Code のすすめ
schroneko
67
230k
Become a Pro
speakerdeck
PRO
31
6k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
The Curse of the Amulet
leimatthew05
2
13k
The Pragmatic Product Professional
lauravandoore
37
7.4k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
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ͰαʔϏεʹΨϯΨϯҙݟΛݴ͑Δڥ αʔϏε࡞Γʹඞཁͳٕज़ɺઐ֎Ͱֶ͋ͬͯΜ ͰऔΓೖΕΔ ٕज़తબ֤νʔϜʹͤɺϊϋࣾͰڞ༗
ϐΫγϒͰҰॹʹαʔϏεΛ࡞Γ͍ͨΤϯδχΞ Λืू͍ͯ͠·͢ʂ ԬͰ౦ژͰಇ͚·͢ʂ