タグ

2013年11月11日のブックマーク (12件)

  • RSpecによるユニットテストの書き方 — recompile.net

    2012年04月19日 最近、新人のテストコードを見る機会があり、ユニットテストの書き方について考える機会があった。ユニットテストはテンプレートみたいなものがあるので、それさえ押さえれば、誰でも簡単に書くことができる。 ここでは、その方法について紹介したい。サンプルはRSpecで書くが、その他のユニットテストフレームワークでも、応用ができるとおもう。 はじめにごく単純化すると、テスト対象は状態を持ち、入力を与えると何らかの出力を行なうものである。入力が変われば出力は変化するし、状態が変化すると入力が同じでも出力が変わる(かもしれない)。 ユニットテストは、テスト対象の状態を操作し、与えた入力によって意図通りの出力を得られるかを確認する作業のことをいう。なので、ユニットテストを書くときには、オブジェクトの状態ごとにメソッド単位で入力と出力を確認するようにする。 RSpecの疑似コードで書くと

    RSpecによるユニットテストの書き方 — recompile.net
  • 【 fsck 】 ファイル・システムの検査と修復を行う

    -Aオプションが指定されている場合は,ルート・ファイル・システムを他のファイル・システムと並行してチェックする。

    【 fsck 】 ファイル・システムの検査と修復を行う
  • Jenkins がもっともっと便利になるプラグイン 8 つ

    こんにちは、開発担当の松です。 前回のプラグイン紹介記事がわりと反響があったようですので、今回も便利プラグインをいくつか紹介します。 好みのテーマに変更できる: Simple Theme Plugin 左下のいつも出ている執事の顔が気になってくる人は多いと思います。 そんなときにはこのプラグイン。CSSJavaScript を挿し込むだけの単純なプラグインながらその効果は絶大です。 利用するには、プラグイン導入後に Jenkins の管理 → システムの設定 → theme に追加する CSS と JS を指定するだけです。 プラグインのページにはサンプルのCSSファイルも用意されています。 とりあえず、執事の顔を消したいだけなら CSS に次のように記述すればよいです。 #main-table { background-image: none !important; } ページの

    Jenkins がもっともっと便利になるプラグイン 8 つ
  • Docker (土曜日に podcast します) - naoyaのはてなダイアリー

    Docker をいじって遊んでいる。 http://www.docker.io/ Docker は PaaS ベンダの DotCloud がその PaaS のバックエンドとして使っている (?) ミドルウェアを公開したもの。適当な条件の VM をポコポコ生み出してはテストや実際の運用に使うことができたりするもの。例えば「RubyBundler が入っている VM」みたいなのを設定で作っておくと、後日何か Ruby でアプリケーションを動かしたいと思ったときにそのイメージをベースに VM を作ってデプロイしてやればすぐにアプリケーションが動き出す。そもそも PaaS がやっているのはそういう事で、それを汎用化したのが Docker。Travis CI のような、各言語ごとの実行環境が整った VM みたいなものに任意のコードを渡してビルドさせる、みたいなプラットフォームを作るのにも使える

    Docker (土曜日に podcast します) - naoyaのはてなダイアリー
  • Rebuild: 14: DevOps with Docker, chef and serverspec (naoya, mizzy)

    伊藤直也さん, 宮下剛輔さんをゲストに迎えて、Docker, chef, serverspec, Travis CI, Vagrant, サーバプロビジョニング、テスト などについて話しました。 0:00 miyagawa: 今日もゲストが二人いまして、一人目はおなじみの、直也さんです。 naoya: こんにちは。若干傷気味だと思うんですが……。 miyagawa: いや(笑)。そんなことないと思います。 naoya: これ4回目でしたっけ。 miyagawa: そうですね。もう一人は昨日Twitterで声をかけて、ブッキングするっていう。ラクな時代になった感じなんですけど、serverspecとかの作者でもあるmizzyさんこと宮下剛輔さんです。 mizzy: こんにちは。よろしくお願いします。 miyagawa: 土曜日にすいません。 mizzy: いえいえ。 miyagawa: 最

    Rebuild: 14: DevOps with Docker, chef and serverspec (naoya, mizzy)
  • Serf by HashiCorp

    Gossip-based Membership Serf relies on an efficient and lightweight gossip protocol to communicate with nodes. The Serf agents periodically exchange messages with each other in much the same way that a zombie apocalypse would occur: it starts with one zombie but soon infects everyone. In practice, the gossip is very fast and extremely efficient. Failure Detection Serf is able to quickly detect fai

    Serf by HashiCorp
  • Immutable Infrastracture について - aptheia.info

    ここ最近話題に上がることが多い Immutable Infrastracture と、その他仮想環境周りについての雑感。 Immutable Server や Immutable Infrastracture っていう単語がいろんなところで目に入るようになった。とくに Chad Fowler がブログで取り上げたり、Food Fight に出たり して、世間でも関心が高まった感じがある。 プログラムを書く人にはご存じの通り、この Immutable っていうのは状態が変更出来ないことを指している。Immutable な Infrastracture っていうのは、ざっくり言うと「運用中のサーバーに変更を加えない」っていうアプローチでサーバーを管理しているスタイルのこと。 (ファイルシステムを読み取り専用にする、とかそういう話じゃなくて、あくまでそういう方針でやろうっていう話) サーバーの設

  • DevOpsDays Tokyo 2012に参加してきたので聞いたこととか思ったことまとめ - As a Futurist...

    DevOpsDays Tokyo というイベントが行われていたので参加してきました。DevOps という単語やムーブメントを牽引する英語圏のゲストを招いての大規模なイベントでした。会場の GMO さんやスポンサー各社のご協力のおかげか、至れり尽くせりな感じですごかったです。 Tokyo 2012 – welcome セッションスピーチはほとんどが各社製品紹介みたいな感じだったので割愛しますが、その後に行われた OpenSpace が相当エキサイティングでした。これは海外のカンファレンスだとよくある形式なんですが、会場とコマだけ用意されているので、あとは話したい人が話したいテーマをその日に適当に入れてプレゼンとかディスカッションをするという感じのものです。その場で生まれる議論のダイナミズムは、普段から色々と頭を使って手を動かしているエンジニアにとってはとても刺激されるものではないかと思います

    DevOpsDays Tokyo 2012に参加してきたので聞いたこととか思ったことまとめ - As a Futurist...
  • observerを利用して嬉しくなること - ザリガニが見ていた...。

    以前の日記で、restful_authenticaionのobserverを利用しないコードに変更してしまったが、その後、修正を繰り返すうちに、observerにはobserverの良さがあることに気付き始めた。 以前の発想 observerを利用した場合 # コントローラー class UsersController < ApplicationController def activate self.current_user = params[:activation_code].blank? ? false : User.find_by_activation_code(params[:activation_code]) if logged_in? && !current_user.active? current_user.activate flash[:notice] = "Signup

    observerを利用して嬉しくなること - ザリガニが見ていた...。
  • Railsのコールバックまとめ | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、鈴木です。 Techscore 体の記事の下書きを書き進めています。 ということで、コールバックの記事の下書きを公開します。 コールバックの種類 コールバックとは、バリデーションの実行やデータベースへの保存などのタイミングで処理を行うための機能です。 あるタイミングで必ず実行する必要がある処理をコールバックに指定することで、モデルの一貫性を保つことができます。 Rails のコールバックの種類をまとめてみると、非常に多いことが分かります。 after_find 検索メソッドでオブジェクトが見つかったタイミングで実行されます。 検索条件を指定せずに all メソッドを呼び出すなど、検索結果が大量になる場合は注意が必要です。 検索結果の数だけコールバックが実行されますので、パフォーマンスに重大な影響を及ぼす可能性があります。 after_initialize オブジェクトがインス

  • Railsのオブザーバまとめ | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、鈴木です。 今回は Rails のオブザーバの話をします。 オブザーバとは Rails のオブザーバとは、デザインパターンの Observer パターンを実現する仕組みです。 可能なことはコールバックと同じで、バリデーションやデータベースへの保存が行われるタイミングで行う処理を記述することができます。 コールバックとオブザーバのどちらを利用するかは、その処理がモデルの一貫性を保つために必要であるかという基準で考えると良いでしょう。 保存前に入力されたパスワードをハッシュ化するのであればコールバック、会員登録後に登録完了メールを送信するような場合はオブザーバが適しています。 オブザーバの作成 オブザーバは以下のような ActiveRecord::Observer を継承したクラスです。

  • JavaScript MVCフレームワーク「AngularJS 1.2」リリース。要望の多かったアニメーション機能が追加、脆弱なコードを制限するモードも

    JavaScript MVCフレームワーク「AngularJS 1.2」リリース。要望の多かったアニメーション機能が追加、脆弱なコードを制限するモードも JavaScriptのMVCフレームワークはBackbone.jsやEmber.jsなど多くの種類が登場していますが、Backbone.jsやEmber.jsなどが比較的シンプルなフレームワークを指向しているのに対して、AngularJSの特徴はUIバインディングを含むリッチなフレームワークとして開発されていることです(ちなみにAngularJSのWebサイトでは「MVWフレームワーク」と名乗っています。MVWのWはWhateverらしいです)。 AngularJSでは、HTMLJavaScriptのコードを混ぜ込まなくとも、識別子を差し込むだけで、その識別子に対応したモデルのデータを自動的かつリアルタイムに表示してくれます。逆に、HT

    JavaScript MVCフレームワーク「AngularJS 1.2」リリース。要望の多かったアニメーション機能が追加、脆弱なコードを制限するモードも