SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
Unification of the middle scale services by Nuxt.js
Report
HajimeSasanuma
Follow
May. 18, 2019
•
0 likes
•
2,586 views
1
of
63
Unification of the middle scale services by Nuxt.js
May. 18, 2019
•
0 likes
•
2,586 views
Download Now
Download to read offline
Report
Engineering
「Nuxt.jsで中規模サービスを統合した話」 InsideFrontend 2019のA-3で発表した内容です。
HajimeSasanuma
Follow
Recommended
シリコンバレーでエンジニア就職する前に知りたかったこと
Tatsuya Nanjo
10.4K views
•
31 slides
Apache Solr 検索エンジン入門
Yahoo!デベロッパーネットワーク
7.1K views
•
127 slides
창조경제와기업가정신교육 Ver.2.0
Min Hwa Lee
6.1K views
•
60 slides
งานโลหะแผ่น7 3
Pannathat Champakul
2.1K views
•
1 slide
iPhoneでリアルタイムマルチプレイを実現!Photon Network Engine
GMO GlobalSign Holdings K.K.
24.9K views
•
82 slides
いつやるの?Git入門
Masakazu Matsushita
433.8K views
•
204 slides
More Related Content
What's hot
Culver Test Track
Simon (Shiming) Zhang
1.4K views
•
20 slides
フロントエンドで GraphQLを使った所感
Chao Li
2K views
•
20 slides
はじめての検索エンジン&Solr 第13回Solr勉強会
Noritsugu Suzuki
25.6K views
•
41 slides
[Observability conference 2022/3/11] NewsPicks のプロダクト開発エンジニアが実践するスキルとしての SRE
Iida Yukako
1K views
•
35 slides
アジャイル開発の基礎知識 抜粋版
ESM SEC
1.6K views
•
22 slides
Git flowの活用事例
Hirohito Kato
50.5K views
•
63 slides
What's hot
(20)
Culver Test Track
Simon (Shiming) Zhang
•
1.4K views
フロントエンドで GraphQLを使った所感
Chao Li
•
2K views
はじめての検索エンジン&Solr 第13回Solr勉強会
Noritsugu Suzuki
•
25.6K views
[Observability conference 2022/3/11] NewsPicks のプロダクト開発エンジニアが実践するスキルとしての SRE
Iida Yukako
•
1K views
アジャイル開発の基礎知識 抜粋版
ESM SEC
•
1.6K views
Git flowの活用事例
Hirohito Kato
•
50.5K views
アジャイル開発導入のためにやってきたこと
Arata Fujimura
•
12.7K views
Splunk機械学習を使ったアンケートコメント分析
Maruyama Junichi
•
543 views
Pythonはどうやってlen関数で長さを手にいれているの?
Takayuki Shimizukawa
•
37.9K views
LightInject for ASP.Net Core
Shawn Vause
•
1.1K views
PMBOKガイド7をアジャイル屋はどう迎え撃つか?
豆寄席 (株式会社豆蔵)
•
396 views
ソフトウェアテストの歴史と近年の動向
Keizo Tatsumi
•
10.4K views
C#や.NET Frameworkがやっていること
信之 岩永
•
59.9K views
PFD(Process Flow Diagram)の書き方紹介
Noriyuki Mizuno
•
17.6K views
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
Masashi Umezawa
•
2.2K views
組み合わせテストの設計(PictMaster勉強会) 2008年7月17日
Keizo Tatsumi
•
3.6K views
CI/CDって何が良いの?〜言うてるオレもわからんわ〜 #DevKan
Kazuhito Miura
•
6.4K views
【Unity道場】ゲーム制作に使う数学を学習しよう
Unity Technologies Japan K.K.
•
30.2K views
Linuxの2038年問題を調べてみた
wata2ki
•
475 views
Apple Watch 間通信
Shuichi Tsutsumi
•
10.6K views
Similar to Unification of the middle scale services by Nuxt.js
現場のインフラエンジニアから見たヤフー #ヤフー名古屋
Yahoo!デベロッパーネットワーク
2.4K views
•
18 slides
if-up 2019 | A2. クラウドにつながり始めたハードウェア
SORACOM,INC
1.1K views
•
50 slides
Googleアシスタントアプリ実際のところ
Yahoo!デベロッパーネットワーク
1.5K views
•
25 slides
おすすめインフラ! for スタートアップ
Koichiro Sumi
1.6K views
•
30 slides
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Yahoo!デベロッパーネットワーク
1.5K views
•
42 slides
エクストリーム・プログラミング開発におけるUIテスト #yjbonfire
Yahoo!デベロッパーネットワーク
871 views
•
22 slides
Similar to Unification of the middle scale services by Nuxt.js
(20)
現場のインフラエンジニアから見たヤフー #ヤフー名古屋
Yahoo!デベロッパーネットワーク
•
2.4K views
if-up 2019 | A2. クラウドにつながり始めたハードウェア
SORACOM,INC
•
1.1K views
Googleアシスタントアプリ実際のところ
Yahoo!デベロッパーネットワーク
•
1.5K views
おすすめインフラ! for スタートアップ
Koichiro Sumi
•
1.6K views
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Yahoo!デベロッパーネットワーク
•
1.5K views
エクストリーム・プログラミング開発におけるUIテスト #yjbonfire
Yahoo!デベロッパーネットワーク
•
871 views
YJTC18 A-1 大規模サーバの戦略
Yahoo!デベロッパーネットワーク
•
3.3K views
It in the future and cloud
Kameda Harunobu
•
311 views
Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Takuya Iwatsuka
•
1.7K views
Yahoo!カレンダーにおける技術移行について - Legacy Meetup Kyoto -
Yahoo!デベロッパーネットワーク
•
2K views
Elasticsearch勉強会
takahito takabayashi
•
3.2K views
決済金融から始めるデータドリブンカンパニー #yjmu
Yahoo!デベロッパーネットワーク
•
1.6K views
20180319 ccon sync kintone
CData Software Japan
•
232 views
Automation with SoftLayer and Zabbix
softlayerjp
•
1.5K views
マーケティングテクノロジー勉強会
伊藤 孝
•
1.3K views
ヤフー発のメッセージキュー 「Pulsar」のご紹介@jjug ccc 20171118
Nozomi Kurihara
•
432 views
ヤフー発のメッセージキュー「Pulsar」のご紹介
Yahoo!デベロッパーネットワーク
•
12.1K views
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]
David Buck
•
185 views
自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話
和也 大木
•
3.4K views
決済金融から始めるデータドリブンカンパニー
Tokuhiro Eto
•
70 views
Unification of the middle scale services by Nuxt.js
1.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. 2019年5月18日 ヤフー株式会社 笹沼 啓 沢田 晃一 Nuxt.js 中規模サービスを統 合した話
2.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. 自己紹介 ❏ 氏名 笹沼 啓 (ささ ま じめ) ❏ 入社年数 入社3年目 ❏ 社歴 入社後から現在ま 電子書籍サービス 携わ る(JS 触れた 入社し から) ❏ そ 他 趣味 バレーボール(週1〜2回)
3.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. 自己紹介 ❏ 氏名 沢田 晃一 (さわだ こういち) ❏ 入社年数 / 所属 新卒入社12年目 / 名古屋オフィス勤務 ❏ 担当し きたサービス ニュース、天気、防災速報、地図、ミュージッ ク、ファンクラブ、電子書籍 ❏ そ 他 最近 趣味 ペット わんこ お出かけ
4.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. 質問 こちらへ https://app2.sli.do/event/bswcoysn/live/questions slido.com #IF_A3
5.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. Agenda 1. サービス紹介 2. サービス 構成 3. リリースま 挑戦 苦難 a. 風土 違い b. Atomic Designへ 挑戦 c. 実装する上 直面した課題 4. リリース後 改善 5. さら る改善を進めるため
6.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. Agenda 1. サービス紹介 2. サービス 構成 3. リリースま 挑戦 苦難 a. 風土 違い b. Atomic Designへ 挑戦 c. 実装する上 直面した課題 4. リリース後 改善 5. さら る改善を進めるため
7.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. ebookjapan ● ヤフー株式会社(以後、「ヤフー」) 株式会社イーブックイニシアティブジャパン(以 後、「EBIJ」)が協力・連携し 運営する電子書籍販売サービス ● それぞれ 会社が運営し いた電子書籍販売サービスを統合し、2018年10月 リ リース https://ebookjapan.yahoo.co.jp/
8.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. ebookjapan ● 2016年6月、両社 資本業務提携契約が締結 ● 2017年冬、新サイト 開発開始 ● 2018年10月、新サイト リリース 約1年
9.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. ebookjapan 60万冊を超える 取り扱い冊数を誇る 国内最大級 電子書籍販売サービス 常時2,000冊を超える 無料まんが 背表紙表示や新刊自動購入 独自 機能も豊富
10.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. Agenda 1. サービス紹介 2. サービス 構成 3. リリースま 挑戦 苦難 a. 風土 違い b. Atomic Designへ 挑戦 c. 実装する上 直面した課題 4. リリース後 改善 5. さら る改善を進めるため
11.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. サービス 構成 - 役割分担 - ユーザー FE API DB ヤフー EBIJ 新規 新規
12.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. サービス 構成 - 役割分担 - FE ヤフー 新規 ● ヤフー資産が利用 きる ○ プラットフォームやビッグデータ ヤフーが 管理する資産を利用するこ が きる ● WEBデザイナーがいる ○ 専門職 し デザイナーがヤフー 存 在する(イーブック デザイナー いう専門 職が か た)
13.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. サービス 構成 - 役割分担 - ● 機能が豊富 ○ Yahoo!ブックストア 比べ eBookJapan 方が機能が豊 富だ た ○ 電子書籍サービスを運営する 上 必要 データも多く保持し いた。 API DB EBIJ 新規
14.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. サービス 構成 - FE環境 - ClientSide 出展:https://ja.nuxtjs.org/出展:https://jp.vuejs.org/index.html Vue.js × Nuxt.js ServerSide 出展:https://ja.wikipedia.org/wiki/Node.js Node.js × Express
15.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. サービス 構成 - FE環境 - Vue.js × Nuxt.js を選んだ理由 ● デザイナーが理解しやすい ○ Vueファイル HTML × CSS × JavaScript ○ デザイナーがFE開発 参加する予定だ た ● ライブラリをアップデートする手間削減 ○ タイト スケジュールを見越し ● ドキュメントが豊富 ● 採用事例が増え き 盛り上がりそう ○ React 二択 り、最終的 Vue.js × Nuxt.js
16.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. サービス 構成 - FE環境 - FE 規模
17.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. Agenda 1. サービス紹介 2. サービス 構成 3. リリースま 挑戦 苦難 a. 風土 違い b. Atomic Designへ 挑戦 c. 実装する上 直面した課題 4. リリース後 改善 5. さら る改善を進めるため
18.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. ヤフー 風土 違い EBIJ GOOD ● 社内プラットフォームが充実し いる ● データが豊富 ● 属人化を避け、誰 も きるよ う 体制作り BAD ● 制約が多い GOOD ● スピード感 ある対応や選択 ● 自由度が高い BAD ● 属人化や場当たり的 対応が 多い ● デザイン 注力するカルチャー が い
19.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. 風土 違い スクラム 写真:アフロ
20.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. ● アジャイル開発手法 一 ● 固定 短い期間(うち チーム 1Week) 単位 開発を区切り、そ 中 計画を立 る ● Developer 皆が平等。チーム 成果 ため 自発的 計画を立 る 必要があるため、自立したチーム りやすい ● デイリースクラムやレトロスペクティブを通じ 、チーム内 問題を発見しや すい(チーム 問題 チーム 解決) 風土 違い スクラム ?
21.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. 風土 違い FEエンジニア (ヤフー) BEエンジニア (EBIJ) デザイナー (ヤフー) 企画 (EBIJ) スクラムマスター (ヤフー) Aチーム FEエンジニア (ヤフー) BEエンジニア (EBIJ) デザイナー (ヤフー) 企画 (ヤフー) スクラムマスター (EBIJ) Bチーム プロダクトオーナー ステークホルダー
22.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. 風土 違い FEエンジニア (ヤフー) BEエンジニア (EBIJ) デザイナー (ヤフー) 企画 (EBIJ) スクラムマスター (ヤフー) Aチーム FEエンジニア (ヤフー) BEエンジニア (EBIJ) デザイナー (ヤフー) 企画 (ヤフー) スクラムマスター (EBIJ) Bチーム プロダクトオーナー ステークホルダー 所属関係 く同じチーム するこ 足 並みを揃え、相互理解を促進!
23.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. Agenda 1. サービス紹介 2. サービス 構成 3. リリースま 挑戦 苦難 a. 風土 違い b. Atomic Designへ 挑戦 c. 実装する上 直面した課題 4. リリース後 改善 5. さら る改善を進めるため
24.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. Atomic Designへ 挑戦 Atomic Design ? パーツやコンポーネントご 分割し、それらを組み合わせ プロダクトを構築する いうUIデザイン手法 一 出展:Atomic Design Methodology
25.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. ● 新規開発だ たため、途中 導入するより導入コストが抑えられる ○ す き いるも をATOMS 分解し いく 手間がかかるが、新し く追加し いく場合 コストを抑えられる ● デザイン 変更が多発するこ が予想されたため ○ デザイン 変更 も対応 きる変化 強いシステムが必要だ た ○ Atomic Design パーツが共通化され いるため、修正を最小限 抑えるこ が きる ● UI 一貫性を保 こ が きる ○ ページ 寄らず使われ いるパーツ 共通 、一貫性を担保 きる Atomic Designへ 挑戦 Atomic Designを使おう 思 た理由
26.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. ● 新規開発だ たため、途中 導入するより導入コストが抑えられる ○ す き いるも をATOMS 分解し いく 手間がかかるが、新し く追加し いく場合 コストを抑えられる ● デザイン 変更が多発するこ が予想されたため ○ デザイン 変更 も対応 きる変化 強いシステムが必要だ た ○ Atomic Design パーツが共通化され いるため、修正を最小限 抑えるこ が きる ● UI 一貫性を保 こ が きる ○ ページ 寄らず使われ いるパーツ 共通 、一貫性を担保 きる Atomic Designへ 挑戦 Atomic Designを使おう 思 た理由 しかし、うまくいきません した…。
27.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. Atomic Designへ 挑戦 原因1: デザイナー エンジニア 成果物 違い デザイナー FEエンジニア html, css ATOMSや MOLECULES デザイナーから html, cssが受け渡され、FEエンジニアがAtomic Design 沿 たVueファイル 分割し いた → 「分割」 いう不要 手間が発生
28.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. Atomic Designへ 挑戦 原因2: デザイナー コミュニケーション不足 写真:アフロ ● メンバー 出入りが多か た ● デザイナー・エンジニアそれぞれ 体制 作りを進め しま た ● エンジニア主導 試し み 、後からデ ザイナー も取り入れ もらう もりだ たが、後回し しまい難しく た
29.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. Atomic Designへ 挑戦 原因3: スクラム 相性 写真:アフロ ● スクラム ミニマム E2E プロダクトを毎スプリントリリースする手法 ● Atomic Design よう 共通化 対する優先度が低か た 出展:Atomic Design Methodology
30.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. Atomic Designへ 挑戦 Q: うするべきだ た か? A: 最初からデザイナー 協力し Atomic Designを導入する ● デザイナーがAtomic Design 沿 分割したVueファイル(template style み)を作成し、FEエンジニアがscriptを加える ● リポジトリを分けるこ 、デザイナーがPRを出しやすく るかも デザイナー FEエンジニア Atomic Design 分割したVue (template, style み) Vue (script付き)
31.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. Agenda 1. サービス紹介 2. サービス 構成 3. リリースま 挑戦 苦難 a. 風土 違い b. Atomic Designへ 挑戦 c. 実装する上 直面した課題 4. リリース後 改善 5. さら る改善を進めるため
32.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. 実装する上 直面した課題 - 大 小を兼 過ぎ いるデータ - FE API 「作品名」が欲しい! い!「作品」 (作品名・著者・ ジャンル・連載誌・etc) レスポンス 必要過多 データが…
33.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. 実装する上 直面した課題 - 大 小を兼 過ぎ いるデータ - ↓「作品」 レスポンスサンプル ※ 本当 データ これ 10倍 かく 複雑だ た
34.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. 実装する上 直面した課題 - 大 小を兼 過ぎ いるデータ - 本来 API側 必要 データだけを返すよう すべき しかし、 必要 APIを作成する 精一杯だ た… FE側 mixinsを使 get処理をま めるこ ! 写真:アフロ
35.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. 実装する上 直面した課題 - 大 小を兼 過ぎ いるデータ - mixins/publication.js
36.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. 実装する上 直面した課題 - 大 小を兼 過ぎ いるデータ - sample.vue
37.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. 実装する上 直面した課題 - mixins utils化 - Vueファイル内 mixinsを使 データ を抽出するま 良か た! しかし、 get処理がま ま 便利 りすぎた ため Vueファイル以外 も使い始め しま た…。 写真:アフロ
38.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. 実装する上 直面した課題 - mixins utils化 - getters.js mixinsをutils よう 使 しま いる!!
39.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. 実装する上 直面した課題 - mixins utils化 - mixins/publication.js
40.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. 実装する上 直面した課題 - mixins utils化 - getters.js isMember がtrue もnormalPrice が返 き しまう!!
41.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. 実装する上 直面した課題 - mixins utils化 - getters.js isMember がtrue もnormalPrice が返 き しまう!! ➔ mixins Vueファイル み使う ➔ storeやサーバーサイド も使う処理 common以下 utilsを別途作成する
42.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. 実装する上 直面した課題 - 404 - ● オールグリーン しか表示 き い ○ ページを構築する要素を取得するため たたく複数 APIが全 成功し い 404 ● 直列処理 ○ 複数 API 処理が直列処理 おり、タイムアウト 404 ● 初期描画 不必要 APIへ リクエスト ○ 初期描画時 必須 いデータを取得する処理が非同期 おらず、タ イムアウト 404 当たり前 内容だが、若いチームやスケジュール優先 場合 注意!
43.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. Agenda 1. サービス紹介 2. サービス 構成 3. リリースま 挑戦 苦難 a. 風土 違い b. Atomic Designへ 挑戦 c. 実装する上 直面した課題 4. リリース後 改善 5. さら る改善を進めるため
44.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. リリース後 改善 - 体制 - ● 「見せられるも を作る」こ 集中し しま た ○ スプリント毎 、見せられるも を作るこ 集中し しまい、エラー処理やシス テム面 改善が放置気味 いた ● 経験豊富 エンジニアが入 い か た ○ FEチーム 比較的若いエンジニア 構成され おり、新規サービス 立ち上 げ 携わ たこ あるエンジニアがほ ん い か た (最適配置をおこ た結果、アプリ、BE おじさんエンジニアが 集ま しま た、、) リリース 至るま 体制面 課題
45.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. リリース後 改善 - 体制 - 改善1: FEチーム メンバー 追加 FEエンジニア BEエンジニア デザイナー 企画 スクラムマスター Aチーム FEエンジニア BEエンジニア デザイナー 企画 スクラムマスター Bチーム スクラム これま
46.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. リリース後 改善 - 体制 - 改善1: FEチーム メンバー 追加 FEエンジニア BEエンジニア デザイナー 企画 スクラムマスター Aチーム FEエンジニア BEエンジニア デザイナー 企画 スクラムマスター Bチーム スクラム FEエンジニア 名古屋チーム(1人) 追加
47.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. リリース後 改善 - 体制 - ● スクラムチーム ○ これま 通り 機能追加、機能面 バグ修正 リリース後 追加し い いけ い機能がたくさんあ た ● 名古屋チーム ○ スクラムチーム FEエンジニア サポート コードレベル 確認や、困 たこ 相談 ○ システム面 改善サポート パッケージ アップデートやパフォーマンス改善 各チーム 役割
48.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. リリース後 改善 - 体制 - 改善2: FEエンジニア 話し合う場を作る FEエンジニア FEエンジニア FEエンジニア FEエンジニア FEエンジニア ● WEB 明るい未来を考える会 ○ 新しいこ へ 挑戦 ○ 実装時 見 けた課題 共有 ○ 困 いるこ 相談 スクラム 拾いきれ い か た 課題を拾えるよう !
49.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. リリース後 改善 - システム ● パフォーマンス改善 ○ 処理フロー 見直し ○ レスポンスサイズ 削減 ○ JSファイル容量 削減 ● パッケージ アップデート、見直し ○ Nuxt.js v1からv2へ アップデート ○ より最適 パッケージへ 変更 ● Node.js アップデート等
50.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. リリース後 改善 - システム ● パフォーマンス改善 ○ 処理フロー 見直し ○ レスポンスサイズ 削減 ○ JSファイル容量 削減 ● パッケージ アップデート、見直し ○ Nuxt.js v1からv2へ アップデート ○ より最適 パッケージへ 変更 ● Node.js アップデート等
51.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. リリース後 改善 - パフォーマンス 改善1: 処理フロー 見直し Server ユーザ 情報1 ユーザ 情報2 ユーザ 情報3 書誌 情報2 書誌 情報1 60ms 80ms 50ms Client 120ms 150ms 描画 処理 対応前:460ms ● 必要 情報をひ ひ 順番 いた ● 描画後 ブラウザから取得 いいも もサーバ 取得し いた Before
52.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. リリース後 改善 - パフォーマンス 改善1: 処理フロー 見直し Server ユーザ 情報1 ユーザ 情報3 ユーザ 情報2書誌 情報2 書誌 情報1 60ms 50ms 80ms Client 120ms 150ms 描画 処理 対応後:210ms ● ま められる情報 Promise.all ● 描画後 もいい情報 描画後 After
53.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. リリース後 改善 - パフォーマンス 改善2: レスポンスサイズ 削減 500KB 350KB Server 80ms Client mixins 全 加工大き データ1 500KB 350KB API 50ms 150ms Before 大き データ1 大き データ2 大き データ2 850KB JSON。。 ● サイズが かくデータを受け取る 時間が かか いた ● 大き データをそ ままClient 処理し いた
54.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. リリース後 改善 - パフォーマンス 改善2: レスポンスサイズ 削減 不要 フィールドを 削 たデータ1 100KB 不要 フィールドを 削 たデータ2 70KB Server 40ms Client 最低限を mixins処理 不要 フィールドを 削 たデータ1 100KB 不要 フィールドを 削 たデータ2 70KB API 30ms 20ms After 必要 も だけ 加工したデータ1 必要 も だけ 加工したデータ2 40KB 30KB
55.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. リリース後 改善 - パフォーマンス 改善2: レスポンスサイズ 削減 不要 フィールドを 削 たデータ1 100KB 不要 フィールドを 削 たデータ2 70KB Server 40ms Client 最低限を mixins処理 不要 フィールドを 削 たデータ1 100KB 不要 フィールドを 削 たデータ2 70KB API 30ms 20ms After 必要 も だけ 加工したデータ1 必要 も だけ 加工したデータ2 40KB 30KB ● 不要 フィールドを削 たこ 全体 やり り が速く た ● mixins 処理を減らしたこ Client 処理 が軽く た(体感)
56.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. リリース後 改善 - パフォーマンス 改善3: JSファイル 削減 ● Webpack Bundle Analyzer ○ バンドルされたファイル 内容を確 認 きるプラグイン ○ Nuxt.js config 1行追加するだ け 利用可能 ○ 想像以上 必要 いファイルが 多く含まれ いた。。 対応前: 7.23MB Before
57.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. リリース後 改善 - パフォーマンス 改善3: JSファイル 削減 ● style.css 除去 ● Package 見直し ● 不要コンポーネント削除 対応後: 2.8MB After 60%程度削減 きた!
58.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. Agenda 1. サービス紹介 2. サービス 構成 3. リリースま 挑戦 苦難 a. 風土 違い b. Atomic Designへ 挑戦 c. 実装する上 直面した課題 4. リリース後 改善 5. さら る改善を進めるため
59.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. さら る改善を進めるため これから 体制(4/1〜) FEエンジニア BEエンジニア デザイナー 企画 スクラムマスター Aチーム FEエンジニア BEエンジニア デザイナー 企画 スクラムマスター Bチーム スクラム FEエンジニア 名古屋 名古屋もスクラムチーム !
60.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. さら る改善を進めるため ● スクラム ○ 70%程度を使い、これま おこ いた機能追加等をし かり 進め いく ● スクラム外 ○ 30%程度を使い、システム面 改善を全員 おこ いく パフォーマンス改善、バグ修正、リファクタリング等 スクラムチーム(FEエンジニア) 役割 属人化を避けFEエンジニア ら誰 も システム面 改善を きる体制
61.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. ま め - リリースま 挑戦 苦難 - ● 風土 違い ○ ヤフー EBIJ 文化が違う 敵対するよう 雰囲気 スクラムを利用し 足並みを揃えるこ 解決! ● Atomic Designへ 挑戦 ○ パーツご 分割するUIデザイン手法を取り入れよう したが断念 デザイナー 協力し 進め いくこ が重要! ● 実装する上 直面した課題 ○ 大きすぎるデータ・mixins 使いすぎ・404 mixins 処理をま める・utilファイルを作る・実装方法 注意 写真:アフロ
62.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. ま め - リリース後 改善 - ● 体制 ○ 名古屋チームもスクラム Join ○ FEエンジニア 話し合い 場を作る ● システム ○ パフォーマンス改善やパッケージ アップデート、見直しを行 た ○ パフォーマンス改善 ■ 処理フロー 見直し ■ レスポンスサイズ 削減 ■ JSファイル 削減
63.
Copyright (C) 2019
Yahoo Japan Corporation. All Rights Reserved. 最後 ebookjapan これからも改善を 進め いきます! https://ebookjapan.yahoo.co.jp/