業務外の学びから得られた成功体験

長田 太彪のプロフィール画像
エンジニア 長田 太彪

189 view

修正したはずの内容がブラウザに反映されていない。クライアントとわれわれのブラウザで表示されている内容が異なる。この現象はブラウザのキャッシュ(cache)によって発生し、クライアントとのコミュニケーション時に問題になることが度々ある。

これを回避するには、app.css?ver=1.0.1のようにパラメーターを付与し、作業する度にバージョンも更新する必要がある。この手法で解決はするが、ちょっとした修正の確認を他の人に依頼する際もバージョンを更新しなくてはならず手間だ。

また、ファイル数が多くなった場合に手動での運用は現実的でなくなるため、これまでの対応としては、「画面が更新されない場合はキャッシュをクリアしてご確認ください」、と依頼するか、ページ数が少ない、もしくはインクルードされている場合に限りパラメータを付与するような対応になっていた。

これは以前から問題に感じており、数年前に解決を試みたときは、結果実装できずに終わっていた。しかし、今回あらためてこの問題がエンジニア陣の情報共有ミーティングで議題にあがったため再度挑戦したところ、Node.jsを用いて短時間で実装できた。head内で呼ばれているファイルくらいであれば、更新されるたびにパラメータを自動更新できる。リアルタイムの監視が不要な場合は単発での処理が可能だ。

今回実装できた理由としては、以前、業務とは別で社内から「ファイルの監視・編集」を行う必要がある要望がでた際に、今回と似た実装を経験しており、そのノウハウを応用できたからだ。

普段はUIを操作するJavaScriptを記述しているため、扱う対象がファイルに変わるだけで難しく感じたが、実際は実装の難易度の問題ではなく、単に知識量が足りなかっただけだろう。

今回のように1度でも経験しておくと知識になり解決できる課題が増えるので広い分野に手を付けておくことは大事だと思う。

関連する日報

    開発現場で活きる共通言語

    256 view

    菅野 黎樹のプロフィール画像
    菅野 黎樹 エンジニア
    諸行無常のUI改善

    4,066 view

    天野 謙作のプロフィール画像
    天野 謙作 エンジニア
    開発チームは思想を統一せよ

    794 view

    酒井 琢郎のプロフィール画像
    酒井 琢郎 エンジニア
    デザイナーの意思決定を助けるエンジニアでありたい

    1,415 view

    竹内 快斗のプロフィール画像
    竹内 快斗 エンジニア
    業務システムの「使いやすさ」は相手への理解から生まれる

    758 view

    川村 将人のプロフィール画像
    川村 将人 コンサルタント
上に戻る