タグ

ブックマーク / www.ryuzee.com (12)

  • CakePHP2アプリケーションをCapistranoでデプロイする

    アプリケーションのデプロイを自動化すべきなのは言うまでもないことです。 一応手動でデプロイを行う場合の問題点について整理しておくと以下になります。 プロジェクトの期間中そして運用に入ってからも何度も手でデプロイするということはとてつもなく多くの時間を手作業に費やすことになるデプロイ先の環境の数が多くなればなるほど作業の時間も増える手作業で作業すると間違えやすい。特に手順が複雑だったり環境が多かったりすると確率は飛躍的にあがるもしデプロイしたアプリケーションに問題があってすぐに戻さなければならない場合に多くの時間がかかる。場合によってはビジネス上の機会損失に繋がる来は価値を生むフィーチャーを実装することに時間をかけたいはずが、こういうことをやっているとどんどん時間がなくなっていきます。また手作業のリスクや消費される時間を恐れてデプロイの回数を減らしてしまうのは、ビジネス側からみると納得いか

    CakePHP2アプリケーションをCapistranoでデプロイする
  • Robot Framework + Selenium2Libraryで簡単受け入れテスト | Ryuzee.com

    Robot Frameworkは受け入れテストや受け入れテスト駆動開発(ATDD)に使えるテスティングフレームワーク。 http://code.google.com/p/robotframework/で開発が進められている。 プレインテキストやHTML形式でテストケースを記述できること、pythonまたはjavaによってテストライブラリを作って拡張できることが特徴だ。 ここではRobot FrameworkとSelenium2(WebDriver)を組み合わせて、受け入れテストを自動化する方法について説明する。 WebDriverを単独で使ってWebアプリケーションのエンドツーエンドテストを作る場合、どうしても画面ができてからしかテストケースが作れないというのが大きな問題だ。そのため例えばPHPであればBeHatと組み合わせしたりするのだが、今回の方法は更に簡単だ。 例えば、アジャイルな開

    Robot Framework + Selenium2Libraryで簡単受け入れテスト | Ryuzee.com
    manji6
    manji6 2012/09/04
    あとでちゃんと読む
  • Rubyで簡単にIEを操作する3つの方法

    みなさんこんにちは。@ryuzeeです。 IEに関するテストを自動化したくて色々調べ中なので記録として公開しておきます。 確認している環境はWindows7 Professional 32bit版+IE9。RubyRubyInstallerを利用しています。 watirを使う方法watirはブラウザ操作のライブラリで、webdriverが出てくる前から存在しています。 過去から仕様が結構変わっており、現在では外部のライブラリ(win32screenshot)などを使わないとキャプチャが取れません。 さらに、win32screenshotは現時点では表示されている領域のみしか画像として保存できないので、検証目的で利用するには若干不十分と言えます。 ただ画面の要素の指定の仕方はwebdriverよりも楽です。 #-*- encoding: utf-8 -*- require 'rubygem

    Rubyで簡単にIEを操作する3つの方法
  • Team Foundation Service (Preview)を試してみた

    Team Foundation ServiceはWindows Azure上で動作するALMプラットフォームで、簡単に立ち上げられること(5分でできた!)と直感的なインターフェイス、各種クライアント(Visual StudioやOfficeアドオン)との連携に特徴がある。 なお、画面は英語表記だが、全ての箇所で日語が利用できる。 ちょっと前に某氏から触って感想を!と依頼をいただいていたので、使用感などについて書いてみたいと思う。 まずは、このサービスを利用するには、http://tfspreview.comにアクセスする。 そして画面下部中央にある、「Create Account」をクリックする。 次にアカウント作成を行う。なお、ここでWindows Live IDと招待コードが必要になる。招待コードはこの画面からリクエストすることができ、数日で送られてくるようだ(Click here

    Team Foundation Service (Preview)を試してみた
    manji6
    manji6 2012/04/09
    これは良い感じかも。英語だけど、大して難しくなさそうだし。
  • Agile Agile Buffet Cardを作りました

    Agile Buffet Cardとは、Agileに関する主なプラクティスを集めたカードのことです。現在34個のプラクティスが含まれています。 元ネタとしては、2011年9月に@tomohnさんと@qooh0さんとXP祭りでAgile Buffetというワークショップから来ています。 このワークショップでは自分たちのプロセスをコンテキストに応じて設計してみよう、というワークショップで、ScrumやXPやKanbanなどから自分たちが使うべきプラクティスを選択してプロセスを組み立てます。(プラクティスの都合のよい単なるつまみいは問題なのですが、コンテキストを理解した上でより良いプロセスを目指して取り組むのは悪いことではありません。守破離の破以降の取り組みだと思ってください) カードはここからダウンロードできます。再配布や販売は禁止ですが、ここからダウンロードして使う限りは好きに使ってくださ

    Agile Agile Buffet Cardを作りました
  • Vagrantがとうとう正式版に

    自動化の強い味方であるVagrantが先日とうとうバージョン1.0.0の正式版になりました。 VagrantはOracle VirtualBoxを利用した仮想マシンをコマンドラインから作成してくれるソフトウェアです。 設定ファイルをRubyで書くことができ、Chef等とも連携できるので、開発環境をコマンドライン一発で作成することができます。仮想マシンを捨ててしまってもいつでも再構築できること、誰のところにでもすぐ同じ状態に展開できることは開発を進める上で非常にメリットがあります。 例えばVagrantはNokiaやYammer等での開発にも使われています。 僕の場合だと、VagrantとChef Soloを使ってVagrantのインスタンス作成時に必要なミドルウェアのインストールやインスタンスの設定を自動で行い、後はCapistranoを使ってアプリケーションをデプロイするという使い方をし

    Vagrantがとうとう正式版に
  • WebistranoでGUIからの1Clickデプロイを実現する

    WebistranoはCapistranoのWebフロントエンドであり、Web画面上からCapistranoを実行することができる。 これを利用することで、複数のプロジェクトを一括で管理したり、レシピを共用したりすることができ、デプロイの履歴を管理することも可能になる。かなりオススメ。なお動作させるにはRailsとなんらかのDBMSが動作する環境が必要だ。 Webistranoの入手Githubにホスティングされている。 適当なディレクトリにてgit clone https://github.com/peritor/webistrano.git すればOKだ。 インストール動作確認は僕のMacBook Pro (OS X Lion)で行った。なお既にMAMPによってMySQLが導入されていたのでそれを使っている。MAMP上でのrubymysql接続用ライブラリの導入sudo gem in

    WebistranoでGUIからの1Clickデプロイを実現する
  • 開発をより良くしたい人が読んでおくべき10冊

    アジャイルな開発の導入支援の現場や色々な勉強会でよく「どんなを読んだら良いですか」と聞かれたりします。 何のためにを読んで勉強するかは人それぞれですし、自分のおかれたコンテキストでどのが役にたつかは分からないですが、以下にあげたは個人的に強くオススメできるです。人に聞くのも大事だし自分で試行錯誤するのも大事だけど、を読んで体系的に学んだり先人の知恵を学ぶことは続けたほうが良い。 プロダクティブ・プログラマ -プログラマのための生産性向上術どうやったら自分自身の生産性を高くすることができるのか。PCの使いこなしから始まり、自動化やバージョン管理等にも触れている プロダクティブ・プログラマ -プログラマのための生産性向上術 (THEORY/IN/PRACTICE)著者/訳者:Neal Ford、島田 浩二 (監訳)、夏目 大出版社:オライリージャパン発売日:2009-04-27単行

    開発をより良くしたい人が読んでおくべき10冊
  • PHPUnitのアンチパターンとベストプラクティス

    みなさんこんにちは。@ryuzeeです。 SlideShareを徘徊していたらPHPUnitのアンチパターン・ベストプラクティスに関する素晴らしいスライドを見つけたので内容を抜粋で紹介します。 1. テストの中で何もテストしていない class FooTest extends PHPUnit_Framework_TestCase { public function testSomething() { $foo = new Foo; $foo->doSomething(new Bar); } } こういうテスト。どこにもアサーションがなくて何もチェックしていません。 $foo->doSomethingの戻り値を検証しないならなんの意味もありません。 純粋にTDDをしていれば、テストコード作成→テスト実行でRed→プロダクションコード作成→テスト実行でGreenなのでこういうテストは登場しませ

    PHPUnitのアンチパターンとベストプラクティス
  • BehatとSeleniumを組み合わせ受け入れテストを自動化する

    みなさんこんにちは。@ryuzeeです。 Behatは良さそうなので引き続き検証しています。 今回は、BehatとSeleniumを組み合わせて、受け入れテスト型のテストを自動化してみたので、その方法について説明しましょう。 なお、前回の記事を読まれていない場合はまずそちらを参照してください。 PHPでBDD(Behavior Driven Development)する方法 Seleniumの課題僕が関わっている案件では受入テストを自動化しているケースももちろんあって、その際はPHPUnitとSeleniumを組み合わせています。 このテストには以下のような課題があります。 画面の操作をするphpコードが大量にあって、ソースを見ただけでは何をしているのか分かりにくいSeleniumは操作に画面の要素名利用するため、例えばサイトのデザインを大幅に変えたりすると、テストの中身も大幅に書き換えな

    BehatとSeleniumを組み合わせ受け入れテストを自動化する
  • PHPでBDD(Behavior Driven Development)する方法

    みなさんこんにちは。@ryuzeeです。 RubyであればRSpecやCucumberとか使って、むしろBDDしているケースの方が多いようですが、PHPでやっている事例はあまり聞きません。 とりあえずPHPでもBDDできることは確認できたので、その方法をご紹介します。 ※実戦投入にはもうちょっと検証は必要かもしれません。 BDDとは?BDDとはビヘイビア駆動開発(Behavior Driven Development)でテスト駆動開発から派生したものです。 テスト駆動開発とドメイン駆動設計を統合したようなイメージになります。 対象における「振る舞い」や「制約条件」の検証のために、自然言語的な記述でテストコードを記述します。 スペックファーストで仕様を作ってから実装するという流れになります(コードを書く前に振る舞いを決める)。 ということで、以下ではPHPでBDDを行う方法について解説してい

    PHPでBDD(Behavior Driven Development)する方法
    manji6
    manji6 2011/02/10
  • PHPでもHudson使うべし

    今までもPHP案件でCIはしているんだけど、環境にはCruiseControl+phpUnderControlという構成で、これももう古いなぁと思ったのでHudsonに移行してみた。 感触としては、PHP案件でもHudson使うべし、でいいんじゃないかな。 導入 今回導入した環境はCentOS5.3なので、rpmを使ってインストールできる。 sudo rpm --import http://hudson-ci.org/redhat/hudson-ci.org.key wget http://hudson-ci.org/latest/redhat/hudson.rpm rpm -Uvh hudson.rpm なお、当然のことだが、Hudsonを動作させるためにはJDKのインストールが必要なので、先にインストールしておく。 インストールが完了したら自動起動の設定をして、起動する。 /sbin/

    PHPでもHudson使うべし
  • 1