https://gyazo.com/235fa693100cedff26ed6912ba63a99b
npx redshoga
LogRocket
yarn add nuxt-logrocket --save
code:nuxt.config.js
{
modules: [
'nuxt-logrocket',
],
logRocket: {
logRocketId: 'YOUR_LOGROKCET_ID', // LogRocketのページから取れるID
devModeAllowed: false, // 開発モードでも取得するか
}
}
code:vue
loggedInHandler((userInfo) => {
this.$logRocket.identify(userInfo.name)
})
this.$logRocketでLogRocketのモジュールにアクセスできるようになる
メモリリークのissueがある
モジュールモード
自動でVuex Storeを作る
クラシックモード
従来のVuex Store
Nuxt 3で廃止予定
扱いが面倒
Vuex Storeのインスタンスを渡す必要がある
require.context
ディレクトリ内のファイル名を一括取得
そのままrequireできる
再帰が書けそう?
末端はmodule展開できる
おさらいVue Composition API
ロジックの再利用性を高め、より柔軟な構築を可能にする
CreateComponentを定義すると型推論が効く
関数化で任意の機能再利用が可能に
柔軟性を高めるために多くの規律が必要
適切に運用しないと品質は落ちる
Vuexやrouterを組み合わせると難易度が高い コアメカニズムに則った編成を心がける
スマホではじめるWeb開発
遠藤ヒズミ
趣味でアプリを作る理由
個人の実績
業務と同じなら理解が深まる
立ちはだかる壁
退社後にやりたいと思ってもやらない
会社に残ってやりたくない
コワーキングにかようのが億劫
移動時間を利用する
問題点
座れるとは限らない
パソコン出しづらい
会社に置いてる
そもそも重い
スマホを使ってみる
スマホにはないキーボード
PCとのビルド速度を比較
多言語対応やるをやってみると面倒だった話
スー
なぜ複数言語対応をするのか
マッチングアプリ
時間制限がない
課金するといいね!の無限でできる
画像分析していいねするOSSを作った
Tinder Sourse
海外の女の子にもいいねしたいから多言語対応したかった
要件
Webページ
管理画面はつくらない
nuxt-18nを使った
デフォルト言語をどうするか
画像読み込みルールを作成
対応するコンポーネントごとに言語を入れるコンテンツを入れる
松田光秀
フリーランスエンジニア
型安全
anyを許容しない
正確な型定義
HTTPリクエストはany型だらけ
Historyをあてる
users => user みたいに指定のタイポまでは指摘してくれない
メリット
サーバーの実装を待たずにフロント実装できる
仕様変更にフロントで対応できる
静的検査できる範囲が大幅に広がる
型定義をした