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
11歳のpixivが迎えた3度のリニューアル
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
DONABE
December 13, 2018
Technology
3
970
11歳のpixivが迎えた3度のリニューアル
ログミーTech Live #2「レガシーシステムのリニューアル」の発表資料です
DONABE
December 13, 2018
Tweet
Share
Other Decks in Technology
See All in Technology
ナレッジワーク IT情報系キャリア研究セッション資料(情報処理学会 第88回全国大会 )
kworkdev
PRO
0
140
Shifting from MCP to Skills / ベストプラクティスの変遷を辿る
yamanoku
4
730
楽しく学ぼう!ネットワーク入門
shotashiratori
0
350
Datadog の RBAC のすべて
nulabinc
PRO
3
370
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
8
7.1k
Claude Codeが爆速進化してプラグイン追従がつらいので半自動化した話 ver.2
rfdnxbro
0
460
Databricksアシスタントが自分で考えて動く時代に! エージェントモード体験もくもく会
taka_aki
0
370
JAWS DAYS 2026 ExaWizards_20260307
exawizards
0
350
[JAWSDAYS2026]Who is responsible for IAM
mizukibbb
0
220
[JAWS DAYS 2026]私の AWS DevOps Agent 推しポイント
furuton
0
130
JAWS DAYS 2026 楽しく学ぼう!ストレージ 入門
yoshiki0705
2
120
Dr. Werner Vogelsの14年のキーノートから紐解くエンジニアリング組織への処方箋@JAWS DAYS 2026
p0n
1
120
Featured
See All Featured
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
100
Chasing Engaging Ingredients in Design
codingconduct
0
130
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.4k
Paper Plane (Part 1)
katiecoart
PRO
0
5.3k
Six Lessons from altMBA
skipperchong
29
4.2k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
170
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
520
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
Making Projects Easy
brettharned
120
6.6k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Practical Orchestrator
shlominoach
191
11k
Transcript
11ࡀͷpixiv͕ܴ͑ͨ 3ͷϦχϡʔΞϧ pixiv Inc. do7be 2018.12.6
2 @do7be 20163݄த్ೖࣾ UX/UIΤϯδχΞ ओʹPC൛ͷpixivΛ։ൃͯ͠·͢ ࣗݾհ
3 pixivͷ࡞ϖʔδͱ ϓϩϑΟʔϧϖʔδΛ SPAͱͯ͠ϦχϡʔΞϧ͠·ͨ͠ʂ
4 BOOTH BOOTH લޙ࡞ લޙ࡞
5 αϯϓϧ༻࡞ఏڙɿ্ΤΫ
ࠓ͢͜ͱ 6 • PC൛pixivͷ࡞&ϓϩϑΟʔϧϖʔδϦχϡʔΞϧ ʢϩάΠϯޙͷΈʣ • ↑ʹࢸΔ·Ͱͷ2ͷϦχϡʔΞϧͷࣦഊ • ϑϩϯτΤϯυͷٕज़มભ
7 • αʔόαΠυશൠ • SPAͷϕετϓϥΫςΟε • ϦχϡʔΞϧͷৄ͍݁͠ՌɺཪͳͲ • εϚʔτϑΥϯ൛ɺΞϓϦ൛ͷ͜ͱ ͞ͳ͍͜ͱ
ຊϦχϡʔΞϧʹࢸΔ·Ͱ 8
2΄Ͳલ αʔϏεͷશ໘తͳ ϦχϡʔΞϧΛߦ͏ 9
10
11
12 jQuery࣮ʹΑΔϞʔμϧ (SPAͷยྡྷ)
1΄Ͳલ ࡞ϖʔδͷΈͷ ϦχϡʔΞϧΛߦ͏ 13
14
15 σβΠϯɺػೳͷಉ࣌ϦχϡʔΞϧ
༷ʑͳཧ༝͔Β͜ͷ2ͷϦχϡʔΞϧதࢭ 11͍ଓ͚͍ͯΔϢʔβʔʹͱͬͯ େنͳϦχϡʔΞϧड͚ೖΕͮΒ͍ 16
͜ͷ2ͷࣦഊ͔Βಘͨݟ 17
18 σβΠϯͱػೳΛ ಉ࣌ʹϦχϡʔΞϧ͠ͳ͍
தࢭ͔Βಘͨࠓޙͷํ • σβΠϯ͔ػೳͷͲͪΒ͔ͷΈͷϦχϡʔΞϧΛߦ͏ • ϦχϡʔΞϧϖʔδ୯Ґ • গϢʔβʔ͔ΒϦϦʔε ϑΟʔυόοΫΛಘͭͭվળ͢Δ 19
SPAରԠΛݟਾ͑ͯ ৗతʹٕज़ߏΛ Ξοϓσʔτ͍ͯ͘͜͠ͱʹ 20
ϑϩϯτΤϯυͷٕज़มભ 21
2લ • CoffeeScript • Grunt • Handlebars • Stylus •
jQuery v1.x 22 ݱࡏ • TypeScript • webpack • React/Redux • styled-components • Jest • ESLint, TSLint • jQuery v3.x(Ұ෦ϖʔδ) • Storybook
• v1.x→v3.x • jQuery Migrate plugin • .load, .bind, .readyͷҠߦ
• <script>Ͱॻ͖ͷՕॴΛbundleཧԼʹҠಈ 23
• import/exportରԠ • .coffee.d.tsΛ࡞ • decaffeinateͰJSʹม • .coffee.d.ts→.d.ts • TSʹॻ͖͑Δ
• શͯͷCoffeeScriptͷҠߦྃ 24
• grunt-contrib-concat → webpack bundle • taskpackage.jsonͷscriptsʹҠߦ • ϦχϡʔΞϧޙͷϖʔδͰ jQueryimportͰ͖ͳ͍Α͏ʹͨ͠
25
• ҠߦϑϧεΫϥον • ͍ճͤΔWebAPI͋ͬͯଟগָͩͬͨ 26
• ReactԽʹ͍Ҡߦ • ͡ΊCSS Modules • ΑΓίϯτϦϏϡʔτ͕Μͳstyled-componentsʹ 27
28
29
30
31 GitLab CIʹΑΓGitLab PagesͰ ϗεςΟϯά
·ͱΊ 32
• σβΠϯͱػೳยํͣͭม͑Δ গͣͭ͠ϦχϡʔΞϧ͠ମݧ্ʹͭͳ͛Δ • ϦχϡʔΞϧΛதࢭ͔ͨ͠Βͦ݁͜Ռͱͯ͠ Ϟμϯͳٕज़ʹΞοϓσʔτ͠ଓ͚ΒΕͨ 33
ͲͷݱͷϦχϡʔΞϧେม ϦεέϐϘοτ͋Δ͔͠Εͳ͍ 34
͔͠͠ϦχϡʔΞϧʹཧ༝͕͋Δͣ 35
ࣗͷ߹Ϣʔβʔͷදݱͱ ͖ͳͷΛ͖ͱݴ͑ΔΛकΔͨΊʹ ϦχϡʔΞϧ͕ඞཁͱஅ͔ͨ͠ΒؤுΕͨ 36
ఘΊͳ͚ΕϦχϡʔΞϧୡͰ͖Δ 37
͋ͳͨͷݱͷϦχϡʔΞϧ ఘΊͳ͍Ͱ͍ͩ͘͞ 38
39