慣れたら一歩踏み込む

作業に慣れてきて、同じことを繰り返していると感じるようになったら、より一歩踏み込んで仕事をするべきである。あるべき姿を常に高く持ち、それに向かって邁進しないのであれば、それは人間がやる仕事ではない。コンピュータにでもやらせておけばよい*1

例えば、私の例として、ここ数年片手間で管理しているRailsのWebアプリについて紹介する。毎年、それなりの修正依頼があるのだが、私も作業に慣れてきて、ややマンネリ気味。ただ、そのような状態だからこそ、一歩踏み込んで作業を行う絶好のチャンスである。

  • ペネトレーションテストをやり、セキュリティ的に配慮したアプリにする。
  • WAF(Web Application Framework)を設定する。
  • サーバセキュリティを再度見直す。
  • 開発/本番環境をDockerで作成し直す。
  • タスク管理をExcelからGithub Issueにする。
  • デプロイをGit Pullしているのを、Capistranoにする。
  • コーディング規約を決める。
  • サーバー監視をZabbixからNewRelicに変更する。

*1:ただし、ビジネス的にはこっちのほうが正解だけどな。繰り返し作業や自動化に持ち込んだほうが勝ち。

フォームのリセット時に確認ダイアログを表示させる

リセットボタン押下時に、確認ダイアログを表示させたいことがある。

<input type="reset" value="Reset" onclick="return confirm('本当にクリアしてもよろしいですか?');" />

ダイアログを表示させる分にはさほど大変ではない。これはよく見かける。 確認ダイアログ以外に処理をさせたい場合にはどうしたらよいか?

<input type="reset" value="Reset" onclick="return clearInput();" />

<script type="text/javascript">

  function clearInput() {
    if (confirm('本当にクリアしてもよろしいですか?')) {
      // 確認画面でOKをクリックした際の処理を書く…
      return true;
    }
    return false;
  }

</script>

よく忘れるのは、onclickの中でreturnを書くこと。

確認作業、チェック作業には、正常範囲の定義とそこから外れた場合のアクションを定めることが必要

if 確認で得られたデータが正常範囲内
  次の確認へ進む
else
  異常時のアクション
end
  • 確認作業前には、正常範囲を予め定める必要がある。
  • 確認作業時には、正常範囲内であることを確認する。
  • 正常範囲内の場合には、次の確認へ進む。
  • それ以外の場合には、異常時のアクションを行う。これは、予め定める必要がある。

報告とは問題が無いことを伝えることである

  • 報告とは問題が無いことを伝えることである。
  • 問題が無いと伝える場合には、その理由を伝える。
  • 問題がある場合には、その問題を今後どのように解決するから問題ないことを伝える。
  • つまり、報告とは問題が無いことを伝えることである。

Linux(RedHat系)でサービスを新規登録する

/etc/init.d/に起動スクリプトを置いただけでは、サーバ起動時にサービスは起動しない。忘れやすいのでメモしておく。

# 自動起動するように追加
# chkconfig --add nginx
#  
# ランレベル3と5の場合
# chkconfig --level 35 nginx on
#
# 確認
# chkconfig --list nginx
nginx          0:off   1:off   2:on    3:on    4:on    5:on    6:off

サービスの起動順を制御したい場合には、起動スクリプトの中で設定する。

# chkconfig:   - 85 15 
# 起動順が85。終了順が15。を意味する。大きい数字ほど後に処理される。
# -は、ランレベルを意味する。ここに35とか書いてもOK。