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
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
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.6k
Greatest Disaster Hits in Web Performance
guaca
0
290
Agile Leadership Summit Keynote 2026
m_seki
1
670
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
510
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
160
量子クラウドサービスの裏側 〜Deep Dive into OQTOPUS〜
oqtopus
0
150
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.4k
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.4k
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
210
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
850
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
390
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Crafting Experiences
bethany
1
53
How to build a perfect <img>
jonoalderson
1
4.9k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The agentic SEO stack - context over prompts
schlessera
0
650
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
37k
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