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
550
ピクシブのサービスと技術
ピクシブ福岡オフィス - オープン記念LT祭 で話した内容です
Atsushi Takayama
March 06, 2017
Tweet
Share
More Decks by Atsushi Takayama
See All by Atsushi Takayama
最高の開発者体験の追求が開発生産性を改善し続ける文化を生み出した話
edvakf
3
1.4k
NeurIPS 2021 論文読み会: How Modular should Neural Module Networks Be for Systematic Generalization?
edvakf
0
180
8年物のJavaのシステムをKotlinに変えていく選択に至るまで
edvakf
2
1.1k
ピクシブ社内のImageFlux利用事例紹介
edvakf
2
2.9k
学びの文化を育む社内読書会のススメ
edvakf
0
290
フルCDNアーキテクチャでサービス設計した話
edvakf
5
4k
Goでバイナリを読む+α
edvakf
1
960
お前はこれまでに作ったAPIの数を覚えているのか?
edvakf
0
2.6k
「ふつうのRailsアプリケーション」についての考え方
edvakf
2
880
Other Decks in Technology
See All in Technology
AIエージェントによる業務効率化への飽くなき挑戦-AWS上の実開発事例から学んだ効果、現実そしてギャップ-
nasuvitz
3
1k
OSSで50の競合と戦うためにやったこと
yamadashy
3
970
GraphRAG グラフDBを使ったLLM生成(自作漫画DBを用いた具体例を用いて)
seaturt1e
1
140
生成AI時代のPythonセキュリティとガバナンス
abenben
0
130
SRE × マネジメントレイヤーが挑戦した組織・会社のオブザーバビリティ改革 ― ビジネス価値と信頼性を両立するリアルな挑戦
coconala_engineer
0
210
OCIjp_Oracle AI World_Recap
shinpy
1
180
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカタログのリリースサイクルを高速化する
shuta13
3
200
オブザーバビリティが育むシステム理解と好奇心
maruloop
2
1k
「タコピーの原罪」から学ぶ間違った”支援” / the bad support of Takopii
piyonakajima
0
140
難しいセキュリティ用語をわかりやすくしてみた
yuta3110
0
390
OpenTelemetry が拡げる Gemini CLI の可観測性
phaya72
2
2.2k
CREが作る自己解決サイクルSlackワークフローに組み込んだAIによる社内ヘルプデスク改革 #cre_meetup
bengo4com
0
330
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
Making Projects Easy
brettharned
120
6.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
Raft: Consensus for Rubyists
vanstee
140
7.2k
RailsConf 2023
tenderlove
30
1.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
A better future with KSS
kneath
239
18k
Scaling GitHub
holman
463
140k
The World Runs on Bad Software
bkeepers
PRO
72
11k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
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ͰαʔϏεʹΨϯΨϯҙݟΛݴ͑Δڥ αʔϏε࡞Γʹඞཁͳٕज़ɺઐ֎Ͱֶ͋ͬͯΜ ͰऔΓೖΕΔ ٕज़తબ֤νʔϜʹͤɺϊϋࣾͰڞ༗
ϐΫγϒͰҰॹʹαʔϏεΛ࡞Γ͍ͨΤϯδχΞ Λืू͍ͯ͠·͢ʂ ԬͰ౦ژͰಇ͚·͢ʂ