タグ

2015年12月24日のブックマーク (4件)

  • システム障害と僕達はいかにして戦えば良いのか、障害対応について考えた - Qiita

    IT界隈でエンジニアしていると、よく出くわすのが障害対応です。できれば会いたくないという人が多いと思うんですが、僕はけっこう好きです。障害対応。どこに原因があるのか調査をして、バランス良くベターな対応をしたときの楽しさは、プログラミングとはまた違ったものがあります。探偵っぽい感じが面白いですよね。もちろん、障害が発生しない状況を作るのが一番です 弊社では数多くのWebサービス/アプリを運営しているので、過去様々な障害対応をしてきました。その際に、解決までどんな道筋を僕がたどるのかを振り返ってまとめてみました。これが大正解なんてことはなく、人や事象によって違うとは思いますが。 なお、障害検知手法とか、サーバのコマンドとか、コードのデバッグ手法とか、具体的なことは一切出てきません。手続きと思考プロセス的な話です。 障害対応フローチャート 一般的な感じだと思いますが、障害報告から対応完了までのフ

    システム障害と僕達はいかにして戦えば良いのか、障害対応について考えた - Qiita
  • 障害発生時の対応フロー(初期対応、本格対応、再発防止) - 勘と経験と読経

    タイムラインで目に付いたこの記事を読んで考えたこと。 システム障害と僕達はいかにして戦えば良いのか、障害対応について考えた - Qiita そういえば障害発生時の対応フローは、割と標準的なものが無いような気がする(不勉強で知らないだけかもしれないけれど)。共通フレーム2013でも細かい定義は無かったし、他の書籍で読んだ記憶も無い。というわけでいったん経験的な知恵をアウトプットしてみようかと。 基的な流れ 割と自分のイメージと似た障害対応フローが公共系システムのドキュメントとして公開されてたので流用する。ここから拝借したもの。 図にもあるように、基的な流れは リカバリー対応(初期対応、一次対応) トラブル復旧作業(格対応) 再発防止 が一般的だと思っている。 初期対応のフレーム 初期対応で考えることはだいたいこんな感じ。あわててプログラムを修正する前にやることがある。 問題調査のために

    障害発生時の対応フロー(初期対応、本格対応、再発防止) - 勘と経験と読経
  • シェルで変数のインクリメントに expr を使うと100倍遅い件

    シェルプログラミングにおいて、ループカウンタなどをインクリメントするとき、どのようにしますか? いきなりですがサンプルから。 #!/bin/bash COUNT=0 while [ $COUNT -lt 1000 ]; do # 何かの処理 COUNT=`expr $COUNT + 1` # COUNT をインクリメント done expr コマンドを使う? シェルプログラミングの入門記事などを見ると、変数のインクリメントに上記のような COUNT=`expr $COUNT + 1` を用いているものが多くあります。 しかし、この書き方は とても遅い です。空のループを1000回繰り返すだけでも手元の mac (Core i7) で約2秒もかかってしまいました。

    シェルで変数のインクリメントに expr を使うと100倍遅い件
  • バイナリファイルの判定方法 - oooooooo

    確実で簡単な方法はないけれど。 Perlについての質問箱 14箱目 http://pc5.2ch.net/test/read.cgi/tech/1101649274/853 プログラミングperl第3版p115によれば、 ファイルテスト演算子の -B や -T は、ファイルの最初の約1ブロック分の データを調べて、コントロールコードや最上位ビットが立っている文字 (UTF-8に見えないもの)を捜し、そのような文字が3分の1よりも 多ければバイナリ、そうでなければ、テキストファイルと判定するということだ。 あと、最初のブロックの中に、ASCIIのNULL文字(\0)が含まれている ものは、バイナリファイルと判定する。 C マガジン - Q. バイナリファイルの判定 http://www.cmagazine.jp/q/old.html#index17 ●UNIXの file (1) コマンド