タグ

ブックマーク / masudak.hatenablog.jp (11)

  • Chefのテストスイーツを色々試してみた (1)chefspec, minitestなどによるテスト整備 - カイワレの大冒険 Third

    エンジニアのみなさま、自動化は進めていますでしょうか。海外ドラマにハマってる@masudaKです。 すたじおなんとかさんが、以下のようなことを仰ってまして、 . @kenjiskywalker さんとか @nakashii_ さんとか@mikeda さんとか@masudaK さんとかはユーザローカルなRuby環境作るcookbookとか既に書いてそう— Satoshi.S (@studio3104) 2013, 3月 13 rbenvのcookbookでも作ろうかなと思ったのですが、折角なので前から触りたかったツールを色々使ってみました。その紹介記事であります。 記事書こうかなと思ってるうちにVagrantがクリティカルに進化してたりして追いつけてない(近いうちに動かなくなる)部分もあるかもしれませんし、Rubyも触りしかわかってないので、間違い等あったらご指摘お願いします。 ちなみにCh

    Chefのテストスイーツを色々試してみた (1)chefspec, minitestなどによるテスト整備 - カイワレの大冒険 Third
  • Chefのテストスイーツを色々試してみた (2)foodcritic, flay, reek, cucumberによるコード整備。 - カイワレの大冒険 Third

    寒いの苦手なので早く温かい季節が来てほしいですが、花粉が怖くて、はざまの心境で揺れている@masudaKです。 前回の記事では、Chefのテストツールを紹介してみました。気楽にテスト。んで、テストは書くようになったものの、相変わらず自己流だったりするわけですね。それはまずいわけです。 ということで、この記事ではリファクタに焦点を当ててみたいと思います。 foodcritic まずはlintということで、foodcriticを紹介したいと思います。 こちらの記事にも丁寧に紹介されているので、詳しい説明は避けますが、lintツールは気軽に入れられるので、入れてみましょう。勝手にチェックしてくれるんですから、嬉しい限り。 $ gem install foodcritic --no-ri --no-rdocとするかbundleで入れるだけ。 あとは、 $ foodcritic COOKBOOK_P

    Chefのテストスイーツを色々試してみた (2)foodcritic, flay, reek, cucumberによるコード整備。 - カイワレの大冒険 Third
  • Javaウェブオペレーションエンジニアがトラブル切りわけ時に見ていること3つ - カイワレの大冒険 Third

    忘年会シーズンで肝臓への負担を極力避けている@masudaKです。今回はJavaアプリケーションの運用のポイントに関して、書いてみたいと思います。 このエントリはJava Advent Calendar 2012の22日目のエントリです。 Javaアプリケーションの運用ポイントとは 昨今ではLLのほうが敷居が低く、開発スピードも早いということからか、PHPRubyなどのLLによるWebアプリケーションが多くリリースされているかと思います。 しかしながら、TwitterがJVMベースの開発にシフトしたように、より深いレベルで実装を行おうとした際にLL以外の実装も一つの選択肢として残っているのは間違いないでしょう。 そのようななかで自分が最もよく触れているJavaでのアプリケーションの運用ポイントについて述べてみたいと思います。 ここでいう「運用」とは、サービスをリリースしたのち、サービスへ

    Javaウェブオペレーションエンジニアがトラブル切りわけ時に見ていること3つ - カイワレの大冒険 Third
    atm_09_td
    atm_09_td 2012/12/23
    運用的な観点をまとめているのは貴重かも。
  • 定期実行スクリプトの綺麗なロギング3選 - カイワレの大冒険 Third

    オリンピックの流れに乗れてない@masudaKです。 職業柄かちょくちょくスクリプトを書くことはあるのですが、やはり色々自分で書いたり人のを見たりしてるうちに、この実行履歴綺麗だなーと思うことが多々あります。 今回は、そう思える対象のなかでも、「定期実行スクリプト」の「出力」を扱ってみたいと思います。 「定期実行スクリプト」というのは、バッチ処理だったり、何か必要に応じて叩かれるスクリプトで、具体的にはバックアップとか集計とか、一日に最低一回は叩かれるようなスクリプトです。cronやJenkinsで叩かれるような類ですかね。そのようなスクリプトの「出力」について書いてみたいと思います。 出力は標準出力であれば、tailfコマンドだったり、Jenkinsのビルドのコンソール出力で見られるようなもの。ロギングされてるのであれば、それと同様に追えるようなものとします。 以下に書くのはあくまで今の

    定期実行スクリプトの綺麗なロギング3選 - カイワレの大冒険 Third
  • findコマンド使うときは、「prune」オプションを意識することが大事だという話し - カイワレの大冒険 Third

    findコマンドってすごく便利でxargsとかexecと合わせると色々できちゃうんですが、その分リスクも背負うので、リスクヘッジしておきましょうというお話し。 あるディレクトリ配下にこんなファイルがあったとします(適当でごめんなさい)。 # lla drwxr-xr-x 6 root wheel 204 3 21 2011 ./ drwxr-xr-x 51 root wheel 1734 5 23 01:07 ../ drwx------ 4 root wheel 136 8 12 2010 cores/ -rw-r--r-- 1 root wheel 4912297 10 16 2011 log.nmbd -rw-r--r-- 1 root wheel 5123798 3 21 2011 log.nmbd.old -rw-r--r-- 1 root wheel 198900 10 16

    findコマンド使うときは、「prune」オプションを意識することが大事だという話し - カイワレの大冒険 Third
  • curlコマンドの便利なオプションたち - カイワレの大冒険 Third

    curlコマンドのお話し。cURLって書くんですな。 対向のサーバとのやり取りを追いたいときに、通信内容を見たいわけですが、そういうときにcurlコマンドはちょくちょく便利なので、書いてみる。 要はtcpdumpとか使ってパケットまで見る必要はないんだけど、レスポンスとかは見たいときに便利だよって話し。 その1. 普通に使う $ curl 'http://www.normal.com' <<中略>> var k=/^http:/i;if(k.test(g)&&google.https()){google.ml(new Error("GLMM"),false,{src:g});delete i[f];return}d.src=g;h.li=f+1},lc:[],li:0,Toolbelt:{},y:{},x:function(a,b){google.y[a.id]=[a,b];return

    curlコマンドの便利なオプションたち - カイワレの大冒険 Third
  • シェルスクリプトを書く際に気を付けていること8箇条 - カイワレの大冒険 Third

    エンジニアという職業柄かシェルスクリプトを書くことはちょくちょくあるのですが、自分なりに気を付けていることを備忘録&自分への戒めも含めて、簡単に書いてみたいと思います。 変数は大文字 シェルスクリプト書いていれば変数の出番は至るところであるでしょう。その際、可読性を増すように、変数は大文字を使っています。 RET=`cmd1`みたいに。好みの問題もあるでしょうが、分かりやすいので。 クオテーションは選ぶ クオテーションにはシングルだったり、ダブルだったり色々ありますが、使い分けておいたほうがよいでしょう。 変数の展開がないようであれば、シングルクオーテーションのほうがスマートでしょうし、展開があるのならダブルクオーテーションを使えばと。 ダブルクオーテーションを使うのにも意味があって、変数は「$RET」のようにクオテーションで囲まなくても動作はたいていするのですが、 echo "${RET

    シェルスクリプトを書く際に気を付けていること8箇条 - カイワレの大冒険 Third
  • MySQLのオペレーションを少しでもカジュアルにする方法 - カイワレの大冒険 Third

    MySQL Casual Advent Calendar 2011の補欠記事でございます。折角申し込んだので、書いた次第でございます。 CASE文とは、という話しを書こうと思いましたが、カジュアルにやめましたよ! そんな話はさておき、タイトルから見る限り、日語でおkと言われそうですが、単に毎日触れている作業を少しでも軽減できたらいいですよね、ということでカジュアル(気軽)にMySQLと戯れる方法を書いてみたいと思います。 情報足りねーよって場合 まずはデフォルトのプロンプトですね。 こんな感じ。色気がないですな。 なので、味をつけてみましょう。 sugyanさんも6日目の記事で触れていましたが、MySQLでは「MYSQL_PS1」という環境変数を利用できます。なので、.bashrcとかに以下のように書いておくと、MySQLのプロンプトにお好みの情報を加えることができます。 ここで使えるオ

    MySQLのオペレーションを少しでもカジュアルにする方法 - カイワレの大冒険 Third
  • tmuxでウィンドウ移動(Like Vim Keybindings) - カイワレの大冒険 Third

    ターミナルマルチプレクサ Advent Calendar 2011 : ATND19日目の記事でございます。 bannyanさんがセッションの移動に関して書いてらしたtmux で複数のセッションを移動する - 写経日記ので、カジュアルにウィンドウの移動でも書こうかと思います。 単に移動 まずは僕のtmux画面でも晒しておきましょう。 Snow LeopardでiTerm2を使い、サーバ上でtmuxを使ってます。バージョンは1.5を使い、ソースからインストールして使ってます。 ウィンドウを5つ開き、そのうちの1つのウィンドウを開いている状態です。現在、開いているウィンドウでは、縦分割を行い、上のペインにtopを、下は作業用に開いています。 現在、ウィンドウを5つ開いているわけですが、開いているウィンドウとは別のウィンドウに移動するためには、以下のようにします。 なので、今5番目のウィンドウに

    tmuxでウィンドウ移動(Like Vim Keybindings) - カイワレの大冒険 Third
  • sshで入れなくなっても精神的ダメージを食らわない素敵な方法 - カイワレの大冒険 Third

    sshって制限かけなければどこからでもアクセスできてすごく便利だし、サーバの近くで作業するとホコリやファンの音でうるさいから、よほどの精神力を持った人じゃなければ通常はsshを使って作業をしていると思う。 だけど、iptablesの設定をいじっていて葬ってしまったり、ネットワークの設定いじっていたら急にコマンド受け付けなくなったりすることもその分多かったりする。 しかも仮想コンソールとかなければ遠隔じゃどうしようもないから、現場に行かなきゃいけないわけですよ。 そんな精神的ダメージを避けるためにも、事前に対策しておきましょうぜというお話し。 検証環境 検証環境はこんな感じ。 (192.168.1.3) ---------- (192.168.1.5) (getty等立ち上げ) (cu, screen, jerm, minicomによるアクセス)同一ネットワーク内にある2台のサーバ(Cent

    sshで入れなくなっても精神的ダメージを食らわない素敵な方法 - カイワレの大冒険 Third
  • TRACEメソッドって怖いんです - カイワレの大冒険 Third

    ※2013/01/24 add: 徳丸先生の書かれた実はそんなに怖くないTRACEメソッド | 徳丸浩の日記を先に見ておくをオススメします。深く追求できていないまま記事にしてしまい申し訳ありません。 タイトルの通りです。HTTPのメソッドには、よく使うものとしてGETやPOSTというものがありますが、TRACEメソッドというものがありまして、これを有効にしておくと危ないよという話しです。 TRACEメソッドについて 百聞は一見にしかず、どんな挙動をするか見ていきましょう。 $ telnet example.org 80 Trying example.org... Connected to example.org. Escape character is '\^]'. TRACE / HTTP/1.1 #ここと HOST: example.org #ここを手で入力して、エンターキー二回このよ

    TRACEメソッドって怖いんです - カイワレの大冒険 Third
  • 1