Movatterモバイル変換


[0]ホーム

URL:


KK
Uploaded byKenjiro Kubota
PDF, PPTX944 views

アイスタイル特設サイトにおけるVue.js導入事例(再演)

Business.vue vol.1

Embed presentation

Download as PDF, PPTX
アイスタイル特設サイトにおけるVue.jsの導入事例(再演)Business.vue vol.1 @kubotak_public
本日予定していた内容を変更してお届けしております。
Profile. ~ 2015/08 istyle.inc久保田 賢二朗● PHP(Laravel/Phalcon)● JavaScript(Vue.js/Svelte)● Go● Scalakenjiro kubota @kubotak_publicテクノロジー本部 R&D 部技術開発部 チーフエンジニアLaravel JP Conference 2020 コアスタッフ / RoppongiDesignersメンバー
PR.株式会社アイスタイルistyle Inc.インターネットのコスメ情報ポータルサイト「@cosme(アットコスメ)」の開発・運営コスメだけではなくビューティ全般、日本だけではなく世界で"Beauty"に係る人や企業、個人事業主が活躍できるプラットフォームを作る。アイスタイルは、「Beauty×IT」の世界ナンバーワンを目指します。
@cosme Beauty Day 2018特設サイトでVue.jsを導入国内最大級1,900ブランド35,000アイテム20%ポイント還元1日限りのキャンペーン全国58局に対して11/27-12/4までCM放送
Why Vue.js● 弊社での導入実績があった● VueCLIでの開発環境構築のDXが良かった● 社内的に横断して使えるVue.jsのコンポーネントライブラリがあること
要件● CMによるスパイクアクセスが見込まれる● ティザーサイトは11/1から公開19日からは事前予約が可能(当日商品販売が一部公開され、予約購入すると当日以降に配送)● 19日以降はキャンペーンページに表示されるアイテムが毎日変化● 12/3-4(当日)は数時間置きにアイテムが変わる● レスポンシブなサイトではないのでPC/SPテンプレートが別れる
Lambda+API GateWayS3EC2 ElasticsearchVue.js/staticCloudFront
Lambda+API GateWayS3EC2 ElasticsearchVue.js/staticCloudFront
静的ファイル・HTMLの殆どに予めページ要素を入れておく必要がある。(目玉商品ページ・著名人のインタビューページ)そして、日時によって表示させるページ・要素は変わる動的じゃないページがあり、かつ、各ページの公開日が違う
なるほど?
静的なページを動的に時限式に出し分けるためには?
日時をトリガーに日時別のディレクトリをpublicディレクトリに格納する(上書き)配信されるのはpublicディレクトリのみ
/201811191600 /201811191700 /201811201800時間毎に似たようなデータが重複
開発時にすべてのディレクトリ、HTMLを持つのは大変なので...<%=EJS%>パーツのテンプレート化をEJSで行い、gulpで日時ディレクトリ毎に配置されるようにタスク化
何日の何時に配信されるHTMLなのかを定義されたJSONファイル<%=EJS%> JSONJSON定義に基づいてディレクトリにHTMLを格納具体的なGulpタスクの処理の流れ
苦労の跡
Vue.jsは・・・?
検索ページ 商品詳細ページ
1. URLクエリパラメータからLambdaで用意した商品検索APIをコール2. 検索一覧を表示3. ページネーションあり
1. URLクエリパラメータからLambdaで用意した商品詳細APIをコール2. カートに入れるボタンなどを生成
コンポーネント単位でインスタンス化
カートに入れるclick社内カートインAPIcookietokenロジックのあるボタンをVue.jsで楽々コンポーネント化
Desktop SmartPhone表示(HTML構造)は異なるが出している内容はほぼ同じ -> ロジックをmixinにして共通化
各デバイス別に書き出しpackage.json※HTMLでは別途vue.runtime.jsを読み込む必要がある
コンポーネントのテスト
APIのレスポンス内容に応じて表示文言が変わる1. まもなく販売開始!2. 予約する3. ご好評につきご予約分は終了しました4. まもなく販売開始!5. 購入する6. 在庫残りわずか!! 購入する7. ご好評につき完売しました@vue/test-utilsを利用してコンポーネントの出し分けテストが出来た
Jest Mockを利用してAPIレスポンスをモック
コンポーネント生成(VuexがAPIフェッチを行い、モックレスポンスを取得)
レスポンスによって画面の文字が正しく出し分けられるか確認
トラブルなく無事終了...?
特設サイトは落ちてないよ!
まとめ● VueCLIでの開発環境構築のDXが高い。ESLint,Prettier,Jestなども簡単に導入できて質の高いコンポーネント開発が行えた。● Vue.jsは大規模なNuxtからWebComponentsのようなパーツ単位の使い方もできる幅広いFW
おまけVue.jsを利用した箇所はSPAっぽい使い方をしたのでmetaタグ周りの対処ができなくてOGPの設定ができませんでした。Lambdaでうまいこと対処できたかもしれません・・・
thanks:)

Recommended

PDF
カメラを利用したアプリを作って約1000人で遊んだ話
PDF
PHP,Go,Elasticsearchによる、@cosmeを5倍速くする取り組み
PDF
Mobilitydev2019 10 31_slideshare
PDF
いまどき(これから)のPHP開発
PDF
アイスタイル特設サイトにおけるVue.jsの導入事例
PDF
フロントエンドエンジニアが知るべきFirebaseの世界
PDF
GovTechを加速させるAWS
PDF
Pepperで翻訳ソフトを作ってみた
PDF
SnapmartにおけるCameraRollから写真の複数枚アップロードの実装
PDF
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
PDF
GAOGAO事業のご紹介
PDF
GAOGAOゲート2期生サービス概要資料
PPTX
自動運転技術を活用した運転技能教習システムのご紹介
PDF
SoftLayerで始めるデジタルマーケティング
PDF
日常使っているツールを調べる ー Visual Studio Code について ー
PPTX
自動運転の会社でなぜデータ基盤が必要なのか?そこで今やっていること
PDF
Self-Driving System with IoT
PPTX
Intelligent Enterprise 実現に向けた拡張開発の必要性 ~ SAP Cloud Platform Extension Factory ~
PDF
新卒入社のみなさまへ30代が贈る20代のキャリア戦略入門
PDF
Monacaソリューションセミナー20160621
PPTX
Rpa community shizuoka lt daisuke hayashi
PDF
IBM Bluemix + Watson(MS) + Eagle Eye で行う 表情認識システム
PPTX
rakumoソーシャルスケジューラーの紹介
PDF
Val研究所
PDF
PepperとWatson音声関連API
PDF
Google VR - Google I/O Extended 報告会 2016 in 関西 -
PDF
Glit platform紹介資料 ver0.2
PDF
Monaca+Onsen UIで作るアプリ事始め
PDF
Responsableを使ったadr実装
PDF
中・大規模でLaravelを導入するTips

More Related Content

PDF
カメラを利用したアプリを作って約1000人で遊んだ話
PDF
PHP,Go,Elasticsearchによる、@cosmeを5倍速くする取り組み
PDF
Mobilitydev2019 10 31_slideshare
PDF
いまどき(これから)のPHP開発
PDF
アイスタイル特設サイトにおけるVue.jsの導入事例
PDF
フロントエンドエンジニアが知るべきFirebaseの世界
PDF
GovTechを加速させるAWS
PDF
Pepperで翻訳ソフトを作ってみた
カメラを利用したアプリを作って約1000人で遊んだ話
PHP,Go,Elasticsearchによる、@cosmeを5倍速くする取り組み
Mobilitydev2019 10 31_slideshare
いまどき(これから)のPHP開発
アイスタイル特設サイトにおけるVue.jsの導入事例
フロントエンドエンジニアが知るべきFirebaseの世界
GovTechを加速させるAWS
Pepperで翻訳ソフトを作ってみた

What's hot

PDF
SnapmartにおけるCameraRollから写真の複数枚アップロードの実装
PDF
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
PDF
GAOGAO事業のご紹介
PDF
GAOGAOゲート2期生サービス概要資料
PPTX
自動運転技術を活用した運転技能教習システムのご紹介
PDF
SoftLayerで始めるデジタルマーケティング
PDF
日常使っているツールを調べる ー Visual Studio Code について ー
PPTX
自動運転の会社でなぜデータ基盤が必要なのか?そこで今やっていること
PDF
Self-Driving System with IoT
PPTX
Intelligent Enterprise 実現に向けた拡張開発の必要性 ~ SAP Cloud Platform Extension Factory ~
PDF
新卒入社のみなさまへ30代が贈る20代のキャリア戦略入門
PDF
Monacaソリューションセミナー20160621
PPTX
Rpa community shizuoka lt daisuke hayashi
PDF
IBM Bluemix + Watson(MS) + Eagle Eye で行う 表情認識システム
PPTX
rakumoソーシャルスケジューラーの紹介
PDF
Val研究所
PDF
PepperとWatson音声関連API
PDF
Google VR - Google I/O Extended 報告会 2016 in 関西 -
PDF
Glit platform紹介資料 ver0.2
PDF
Monaca+Onsen UIで作るアプリ事始め
SnapmartにおけるCameraRollから写真の複数枚アップロードの実装
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
GAOGAO事業のご紹介
GAOGAOゲート2期生サービス概要資料
自動運転技術を活用した運転技能教習システムのご紹介
SoftLayerで始めるデジタルマーケティング
日常使っているツールを調べる ー Visual Studio Code について ー
自動運転の会社でなぜデータ基盤が必要なのか?そこで今やっていること
Self-Driving System with IoT
Intelligent Enterprise 実現に向けた拡張開発の必要性 ~ SAP Cloud Platform Extension Factory ~
新卒入社のみなさまへ30代が贈る20代のキャリア戦略入門
Monacaソリューションセミナー20160621
Rpa community shizuoka lt daisuke hayashi
IBM Bluemix + Watson(MS) + Eagle Eye で行う 表情認識システム
rakumoソーシャルスケジューラーの紹介
Val研究所
PepperとWatson音声関連API
Google VR - Google I/O Extended 報告会 2016 in 関西 -
Glit platform紹介資料 ver0.2
Monaca+Onsen UIで作るアプリ事始め

More from Kenjiro Kubota

PDF
Responsableを使ったadr実装
PDF
中・大規模でLaravelを導入するTips
PDF
Laravelでfacadeを使わない開発
PDF
FirebaseとNuxtでLPを作って見た
PDF
土日でLineみたいなチャット作ってきた!
PDF
Akkaとは。アクターモデル とは。
PDF
gRPC入門
PDF
Laravel aspectで関心の分離
PDF
introducing vue-wait-component
PDF
Viewを活用して複雑化と戦う
PDF
HHVM/Hackを本番投入した話
PDF
LaravelでAPI定義を管理する
PDF
Introducing hhvm hack-async
PDF
2017: A CSS Design Odyssey
PDF
HackのAsyncCurlで死んだ話
Responsableを使ったadr実装
中・大規模でLaravelを導入するTips
Laravelでfacadeを使わない開発
FirebaseとNuxtでLPを作って見た
土日でLineみたいなチャット作ってきた!
Akkaとは。アクターモデル とは。
gRPC入門
Laravel aspectで関心の分離
introducing vue-wait-component
Viewを活用して複雑化と戦う
HHVM/Hackを本番投入した話
LaravelでAPI定義を管理する
Introducing hhvm hack-async
2017: A CSS Design Odyssey
HackのAsyncCurlで死んだ話

アイスタイル特設サイトにおけるVue.js導入事例(再演)


[8]ページ先頭

©2009-2025 Movatter.jp