モバイル事業を担当している渡邉雄介です。

開発のリリースが近づいてきたり、ウェブサービスを運用していると、マークアップエンジニアやプログラマーの書いたコードをディレクターが微調整 (文言を変更したり、項目を増やしたり) する場面も少なからずあると思いますが、編集したファイルをサーバーに上げてもフロント側の見た目が更新されず、焦った経験はないでしょうか。

最近はOJTでコーディング周りの指導もしていて様々な質問を受ける中で、編集したコードがフロント側に反映されない原因は、ある程度パターン化できる気がしました。今回は新人研修でも使えるような形で、その辺りをまとめてみます。

※できるだけ汎用的になるように書きましたが、ライブドアの開発環境を元にしているため、皆さんの開発環境ではありえないケースがあるかもしれません。

1. ファイルを保存していない


sc1

これは大概すぐに気が付くケアレスミスですが、保存と編集を繰り返していたり、疲れていると、ファイルを保存していないのにサーバーに上げようとしていることがあります。まずは落ち着いて、手元のファイルが保存されているか確認してください。

2. サーバーに上がっていない


sc2

ファイルは保存しているのにフロント側の見た目が更新されていない場合、サーバー上の該当ファイルのタイムスタンプ (更新日) と自分の作業時間と照らし合わせて、編集したファイルが本当に上がっているか確認してください。

FTPクライアント経由だと起こりにくいのですが、コマンドラインを使っていたり、SubversionやGitなどのバージョン管理システムを利用していていて、レポジトリや作業コピーの仕組み・構成をよく理解していないと、上げたつもりだったのに実は上がっていなかった、ということが割とよく起こったりします。

3. サーバーを間違えている


sc3

ライブドアでは多くのサービスを開発・運用しているため、多数のサーバーが存在します。中には似たような名前のサーバーもあるのですが、本来上げるべきではないところにファイルを上げようとしてしまうことがあります。

FTPクライントを使っている場合はサーバーのホスト名の項目、コマンドラインの場合は hostname コマンドなどを叩いて、正しい場所かどうかを確認してください。

4. 編集するファイルを間違えている


sc6

では、ファイルを保存して正しいサーバーに上げているのに反映されていない場合はどうでしょうか。よくある原因としては、コードに分岐があるのに片方の分岐しか編集していないため一見何も変わっていないように見える、ということがあります。

たとえばモバイルだと、あるキャリア (たとえばau端末) だけに反映されるような分岐があった場合に、ドコモで確認しても何も変化はありません。

また、定期的にバッチファイルで生成しているファイルなどを編集した場合も、サーバーに上げただけでは反映されなかったりします。そのようなファイル (テンプレート) は特定のディレクトリにまとまっていることが多いので、場所は把握しておきましょう。


こういった問題の切り分けを行うことで、大抵の問題は解決されるとは思いますが、緊急の場合には近くのディレクターや担当プログラマーに聞くなどした方がいい場合もあります。

ディレクターがいちからコーディングに関わっていないと、不具合があったときに原因の切り分けがうまくできず、コードが間違っているわけではないのに書き方が悪いと早合点してしまいがちですが、それ以前にこれらのケアレスミスが思いのほか多かったりします。

ライブドアではディレクションだけでなく、簡単なコーディングならさっとこなせるディレクターも募集しています。