タグ

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

  • Vagrantで簡単仮想マシン構築

    VagrantはOracle VirtualBoxを利用した仮想マシンをコマンドラインから作成してくれるソフトウェアだ。 設定ファイルをRubyで書くことができ、Chef等とも連携できるので、開発環境をコマンドライン一発で作成することができる。更にはCapistranoと組み合わせてアプリケーションのデプロイも一括で行うことで完全自動でいつでもテスト環境をつくれたりもする。 仮想マシンを捨ててしまってもいつでも再構築できること、誰のところにでもすぐ同じ状態に展開できることは開発を進める上で非常にメリットがある。 以下ではまずはVagrantを利用した簡単な仮想マシン構築の手順を説明する(当に説明したい内容はもっと違う話なのだが追って別のエントリで書いていくことにする) Oracle VirtualBoxのインストールhttps://www.virtualbox.org/にアクセスし左ナビ

    Vagrantで簡単仮想マシン構築
  • 【資料公開】いつまで開発のやり方ばっかり語ってるの?

    みなさんこんにちは。@ryuzeeです。 2013年1月15日、16日にScrum Alliance Regional Gathering Tokyo 2013が開催されました。 まずは実行委員として、ご来場頂いた参加者の皆様、登壇者の皆様、スポンサー各社様、様々なコミュニティの皆様、ほかご協力いただいた全ての方に感謝したいと思います。ありがとうございました。 僕は1日目の達人に聞けのセッション、2日目のScrum The Next Generationに登壇させていただきましたが、2日目の資料について以下で公開しておきます。 大胆不敵にもイベントの実行委員長(僕らはプロダクトオーナーというロールにしています)が基調講演の裏で、とんがったセッションをやりたい、ということでこのセッションは企画されました。 したがって僕のスライドも結構過激になっています。 単に字面だけみて誤解をしないように

    【資料公開】いつまで開発のやり方ばっかり語ってるの?
  • CentOS6にGitLabをインストールする方法

    GitLabgithubのクローンのようなもので、表に出せないけどgithubみたいなものが使いたいという場合に有効だろう。 ここではCentOS6 (x86_64)にインストールする手順を解説する。 yum用の追加レポジトリの設定CentOS6の標準レポジトリには存在しないパッケージが多数あるため、epelとremiを使用する。まだepelとremiを利用していない場合は、以下のように設定する。 rpm -Uvh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-7.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 必要なパッケージの導入CentOS6.2のrubyのバージョンはデフォルトで

    CentOS6にGitLabをインストールする方法
  • Selenium + PHPUnitで簡単エンドツーエンドテストを実現する

    ここではSeleniumとPHPUnitを使って簡単にスモークテストを実現する方法を解説します。 基礎的な内容ですが、復習ということで。 下準備FirefoxにSelenium IDEをインストールするSelenium Serverを導入する(※ダウンロードへの直リンクはこちら)どちらもhttp://seleniumhq.org/download/からダウンロード可能です。Selenium IDEを使ったテストケースの作成もうこれはあちこちのサイトで説明されているので特に説明の必要はないでしょう(笑) 簡単に言えば、Firefoxを起動し、さらにSelenium IDEをたちあげて、操作を記録していけば良いだけです。 参考サイト SeleniumでWebアプリケーションテストを自動化 (ちょっと古いですが内容は役にたちます)Selenium IDE日語ドキュメントテストケースを自動で実行

    Selenium + PHPUnitで簡単エンドツーエンドテストを実現する
  • 僕がチームに期待すること

    みなさんこんにちは。@ryuzeeです。 僕がチームやチームメンバーに対して期待したり言いたいことを好き勝手に書いてみたいと思います。 もちろん、僕の感覚に合わない人も多いかもしれませんが、僕個人の考えということでご容赦いただければと思います。 こういうのは言語化することが非常に重要だと思っています。 給料をもらえるのは、自分が会社に所属しているからではなく、その先にお金を払ってくれるお客様がいるからだ、ということを理解しようしたがって、お客様の期待に応えられるようにふるまうことは責任であることを理解しようお金をもらう以上プロなので、プロとしてふるまうようにしようプロとして無理なものは無理と言おう会社は自分の将来の面倒を見てくれるわけではないことを理解しよう他でも通用するスキルを身につけよう。それが自分のためであることを理解しようプロとして自分に投資しよう。勉強は会社のためにやるのではなく

    僕がチームに期待すること
    shimooka
    shimooka 2012/06/04
    『もっとうまくやる方法がないか考えよう』挙げられた項目の多くは、仕事以外の他のことでも同じだよね
  • PHPの外部ライブラリの管理にComposerを使う | Ryuzee.com

    みなさんこんにちは。@ryuzeeです。 ComposerはRubyでいうところのBundlerのようなもので、アプリケーションが必要とする外部ライブラリを、そのアプリケーション固有の状態で一元的に管理してくれるツールです。 PHPではPearのようなコマンドを使ってライブラリをインストールすることが一般的ですが、アプリケーションによって必要とするバージョンが違う、といったケースでは問題が起こりやすくなります。 例えば手動でインストールをしていた場合、将来的にライブラリの配布が終わってしまったり、特定のバージョンが配布されなくなると困ってしまいます(したがって、インストールしたバージョンは構成管理の対象とするべきで、常に環境を再現可能にしなければいけません)。 Composerを使うことで、そのような問題からは簡単に解放されます。 なお、ComposerはPHP5.3.2以降で利用可能です

    PHPの外部ライブラリの管理にComposerを使う | Ryuzee.com
    shimooka
    shimooka 2012/06/04
  • 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を組み合わせ受け入れテストを自動化する
    shimooka
    shimooka 2011/02/14
    [behat[bdd]これのFlash版ってないもんかなぁ
  • Hudson+phpcpdで継続的に重複コードをチェックする

    Hudson等を使った継続的インテグレーションでは、テストの自動実行の他にも、ドキュメントの自動作成、コーディング規約の自動チェック、重複コードのチェック(DRY原則のチェック)等を行うことができるし、実行するべきである。 今回は、PHP+Hudsonの環境でコードの重複を継続的にチェックできるようにしてみた。 phpcpdPHPでコードの重複を検査するには、phpcpdというツールを使うのが定番である。 phpcpdはpearコマンドでインストール可能だ。 なお、phpcpdを利用するためには、pearが1.9.1以上である必要がある。 インストール手順 pear upgrade pear pear channel-discover pear.phpunit.de pear channel-discover components.ez.no pear install phpunit/ph

    Hudson+phpcpdで継続的に重複コードをチェックする
  • 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使うべし
  • オフショアはコスト削減につながらない

    アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) みなさんこんにちは。@ryuzeeです。 Zen, Project Management, and Life: Proof that Agile Worksが、偉い人への説得材料用として役にたちそうですので、要約にて紹介します。 ここで言っているオフショアは、日でいうところの下流工程の海外への丸渡しであり、分散アジャイルではありません。 この手の話は全部のプロジェクトアジャイルやったほうがうまくいく、とかアジャイルのほうが絶対コストが安い、納期が短いんだ!とかそういうのを保証しているものではありません。 自社の状況、チームの成熟度など、色々な要因に左右されるので、自分でよく考える必要があります(考えるきっかけになればいい

    オフショアはコスト削減につながらない
    shimooka
    shimooka 2009/12/07
    『丸投げでオフショア』だと会社にホントに何も残らない。そういう方向を目指してるんなら止めないけど、「やっぱ技術!」とか言い出してももう遅い(経験談)
  • Webアプリでのメール送信テストにはRadish使うといい

    一週間以上ブログへのPostが滞っていたのだが、やはり日々の仕事に追われた状況になるとinputしないので、outputできないんだよね。 ということで今日は過去のネタを書くよ。 Webアプリでメールを送信するケースは良くあるんだけど、テストは結構やりづらい。 よくある失敗パターンは下記みたいな感じ。年に数回こういうことするなーって会社でアナウンスされたりする。 大量送信のテストで社内ネットワーク止めた 携帯キャリア宛てに大量のメール送ってSpam扱いされた 自分のメールボックスに大量のテストメールが来て受信に死ぬほど時間がかかる 間違って物の顧客のテストメール送ってしまった 送信元アドレスも送信先アドレスもダミーなものを使ってインターネット上にメール投げた で、こういう失敗って、環境の作り方で十分保護できる。僕のやっているパターンを書いておく。 Radishで開発端末にSMTPを立てて

    Webアプリでのメール送信テストにはRadish使うといい
  • 1