受けるように設定しました。読まれないので表示できません。再度呼ばれることはありません。遷移なのでこのコンポーネントはそのまま再利用され、更新する必要がないからです。ページ遷移した時に新たにコンテンツ取得処理は実行されません。Routerでは、ページ遷移の一連のそれぞれのタイミングで実行する処理を設定するためのフックが用意されています。コンテンツを読み込む処理を実行することにしました。}表示機会が少ないページは遅延ロードさせてバンドルサイズを小さくするサービス内にはよく表示されるページと、それほど表示されないページがあります。投稿一覧ページはよく表示されますが、問い合わせフォームはほとんど表示されません。意識しないでビルドすると、よく表示されるページもそうでないページも全部一緒のファイルにまとめられます。投稿一覧ページしか見ないユーザは本来必要なファイルの2倍のサイズをダウンロードすることになってしまいます。スマートフォンサイトなので、ダウンロードさせるサイズは可能な限り小さくしたいです。ダウンロードサイズが適切になるようにしました*4。]});router.vuejs.org便利だったライブラリvue-content-loaderコンテンツの読み込み中、表示されるべきコンテンツの代替として一時的に表示させておくアレを作れます。実体はSVGのアニメーションになるので、アニメーションGIFなどを用意しなくても実現できます。GUIでコンポーネントまで生成できて便利です。github.comvue-lazyload画像の遅延表示機能を組込みます。imgタグのattributeをちょっと直すだけで導入できるので設置も簡単です。github.comvue-scrollto座標だけでなく、特定のコンポーネントがある位置でスクロール位置を指定できます。github.com検討したが(まだ)やらなかったことTypeScriptはまだ使わない開発当初、TypeScriptで書くことも検討しましたが、最終的には見送りました。揃っていないと感じたためです。マイナーなものほど情報が見つからず試行錯誤に時間がとられそうだと判断しました。ひととおり実装が終わった現在の認識としては、やはり型がある方が実装やテストの面で有利*5であることは明白なので、タイミングをみてTypeScriptへの移行は実施しておきたいです。Frameworkがあります。baianat.github.io本サービスでは、投稿フォームのバリデーションに当初導入するつもりでしたが、途中でやめることにして、自前にバリデーションを実装することにしました。理由はバンドルサイズの大きさです。単純に追加するとgzipでも30KBくらいになります*6。必要なルールとエラーメッセージの言語を指定することもできますが、それでも15KBくらいです。バリデーションが必要な項目が多くなかったので今回は見送りました。問題はバンドルサイズだけなので、社内で使う管理画面とか、入力項目が多いようなページでは使ってもよいと思います。将来的にはさらに小さくする計画もある*7ようなので、実装されたらスマートフォンサイトでも採用するかもしれません。hiring!サービス概要で紹介したように、僕たちのチームでは、レガシーなサービスがそれなりに残っています。フロントに限らず新しい技術でレガシーサービスを置き換えていける仲間を募集中です。お気軽にお問い合わせください。jobs.m3.com*1:社内の別チームに事例はあったので最悪なんとかなるだろう、という目論見はありました。*2:HTMLタグの改行位置が気持ち悪いですがじきに慣れます。*3:それでもデザイン修正時にデザイナーさんが消しちゃったりすることはありますけどね。*4:分割しすぎるとサーバへのリクエストが増えてしまってそれはそれで遅くなってしまうので、どう分割するかはサービスの利用状況などを勘案して決めるべきです*5:型がないと、コードを変更した時に、既存テストが間違って通ってしまう可能性が高いと感じました。(@fuku...2019-09-30機械学習プロジェクト向けPipelineライブラリgokartを用いた開発と運用こんにちは。エンジニアリンググループの大和です。月別アーカイブ注目記事はてなブログをはじめよう!m3techさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。