タグ

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

  • opscodeのphpのcookbookを解説してみる

    みなさんお料理頑張ってますか?僕は毎日cookbookのrecipeみながらkitchenでknife使ってChef気分です(意味不明)。 今日はopscodeが提供しているphpのcookbookをみて中身を解説したいと思います。 コードはここです。https://github.com/opscode-cookbooks/php(なお、build-essentialとxmlとmysqlのcookbookに依存性がありますので、それぞれ入手してください) この記事の目的は、標準的なcookbookの構成の把握とopscodeでのcookbookの作り方の紹介とそれを利用したカスタマイズ方法を紹介することです。 ディレクトリ構成まずソースコードのディレクトリ構成をみてみます。当たり前ですが通常のcookbookのディレクトリ構成と同じです。├── CHANGELOG.md ├── CONTR

    opscodeのphpのcookbookを解説してみる
    deeeki
    deeeki 2013/05/18
  • 僕がチームに期待すること

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

    僕がチームに期待すること
  • 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のアンチパターンとベストプラクティス
  • より良いテスト駆動開発を行うためのチートシートの紹介

    みなさんこんにちは。@ryuzeeです。 planetgeek.chというサイトでUrs Enzler氏がTDDのチートシートを公開していたのでご紹介します。 Clean Code and Clean TDD Cheat Sheets (PDFファイルでダウンロード可能です) 以下で、チートシート内の一部を意訳にてご紹介しましょう。 Unit Test Smellsテストが何もテストしていない一見するとテストが有効に機能しているように見えるが、実はテスト対象をテストしていない テストに過度なテスト準備が必要とされるテストが環境をセットアップするのに長いコードを必要としている。こういうノイズがテストが当にテストしたいのが何なのか?ということを分かりにくくする。 大きすぎるテスト有用だが大きすぎるテスト。たぶんテストが1つではなく複数の機能をチェックしているか、テストが1つ以上のことをやろう

    より良いテスト駆動開発を行うためのチートシートの紹介
  • 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)する方法
    deeeki
    deeeki 2011/02/11
  • 効果的なデイリースタンドアップをするための10のTips

    みなさんこんにちは。@ryuzeeです。 Tips for Effective Daily Stand-up Meetingsにて、効果的なデイリースタンドアップを行う方法が書かれているので抜粋・意訳にてご紹介します。 スタンドアップミーティングはチームのためのものこのミーティングは、チームにとって、単に状況の報告をするだけのものではなく、ゴールを達成するためのチームメンバーの努力を同期させる場である。 もし、管理用の加工物を作る(例えばトラッキングツールの更新)必要がある場合は、ミーティング外で行うべきである。 ルールは固定ではないで読んでいるであろう、3つの質問に答えるやり方は、はじめたばかりの人のためのものだ。 チームは質問を追加したり、フォーマットを変えたり、ニーズを解決するために必要なことをすれば良い。 タスクについてではなく、自分たちのゴールへのコミットメントについてのもので

    効果的なデイリースタンドアップをするための10のTips
  • CakePHPアプリをNetBeans+xdebugでデバッグする

    2012/5/26 追記と修正を行いました よくあるパターンの割に、Eclipse(PDT)での解説しかないので、今後利用する人のために手順を残しておく。 確認した環境は以下の2つだ。 MacOS X(Snow Leopard) + NetBeans6.9.1 + CakePHP1.3 + xdebug2.1.0。ApacheはMAMPではなく、MacPortsでインストール MacOS X(Lion) + NetBeans7.1.2 + CakePHP1.3 + xdebug2.2.0。ApacheはLion標準。PHPはHomeBrewでインストール PHPにpearを組み込む xdebugのインストールにはpeclコマンドを利用するのだが、MacPortsで何も考えずにPHPをインストールすると、pearがサポートされない形になっているので以下のようにして、pearを組み込む。 su

    CakePHPアプリをNetBeans+xdebugでデバッグする
  • CakePHP UNIONして取得したデータをページングする方法

    別にUNIONに限らず、生のSQLを投げて取得したデータは、何でも同じようにページングできる。 肝 ページングのために利用する新しいモデルを作成する そのモデルでは$usetable=falseに設定し、既存のテーブルとは関連付けしない。 そのモデルにおいて、paginate関数とpaginateCount関数をoverrideする。 コントローラー側では、既存のpaginateと同じ利用の仕方をする。但し引数として設定しても無視する項目がある。 サンプルコード 下記のサンプルコードはPHPMyScrumでのタスクとストーリーの横断検索機能の実装。 app/models/search.php class Search extends AppModel { var $useTable = false; var $base_sql = " SELECT ? as itemtype, resol

    CakePHP UNIONして取得したデータをページングする方法
    deeeki
    deeeki 2010/11/19
    $useTable = falseの専用モデルを作成
  • EclipseでCakePHPのMVCを切り替える

    著作 SCRUM BOOT CAMP THE BOOK 著者/訳者:西村直人 永瀬美穂 吉羽龍太郎 出版社:翔泳社( 2013-02-13 ) 定価:¥ 2,520 スクラム初心者に向けて基的な考え方の解説から始まり、プロジェクトでの実際の進め方やよく起こる問題への対応法まで幅広く解説。マンガと文章のセットでスクラムを短期間で理解できます。スクラムの概要を正しく理解したい人、もう一度おさらいしたい人にオススメ。 CakePHPで学ぶ継続的インテグレーション 著者/訳者:渡辺 一宏 吉羽 龍太郎 岸田 健一郎 穴澤 康裕 出版社:インプレス( 2014-09-19 ) 定価:¥ 4,320 Webアプリケーション開発における継続的インテグレーションについて、CakePHPのサンプルをベースにして、その概要から使用ツール解説、導入方法、メンテナンスまでを解説 Chef実践入門 ~コードによる

    EclipseでCakePHPのMVCを切り替える
  • CakePHPアプリをHudsonで継続的インテグレーションする方法

    この記事はCakePHP1.2系またら1.3系を対象としており、CakePHP2.0系では別のアプローチになります。 不思議なことにCakePHPアプリの開発でHudson使って継続的インテグレーションしている事例をほとんど見たことがないんだけど、個人的にはPHPアプリだって全部HudsonでCIすべきと思っているのでやってみた。 (ちなみに最近までphpUnderControlでCIしていた) 概略 CakePHPアプリでCIやろうとして問題になるのは、 CakePHPでのテストライブラリがSimpleTestでありJUnit互換のテスト結果を出力できないこと さらにSimpleTestでは一応XMLでの結果出力ができるのに、CakePHPreporterにcake_xml_reporterとかが無くて、html出力かテキスト出力しかできない という2点にあるので、この2点をクリアする

    CakePHPアプリをHudsonで継続的インテグレーションする方法
  • 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使うべし
  • [Agile][翻訳]アジャイル関連書籍ベスト100

    Top 100 Agile Booksというテーマで、Jurgen氏が書かれていたので、どのくらいのが日で翻訳されてるんだっけ?という興味もあり、日語化されているものはその旨追記してみた。 なお、Jurgen氏によれば、Amazonで、「このを買っている人は合わせてこれも買っています」みたいな情報によっての一覧を抽出し、ランキングについては、AmazonGoodReadsというサイトのデータを参考にして重みづけして集計したとのこと。 が売れないから邦訳が出るのを時間をかけてまっても仕方ないという気もするので、この翻訳まだー?みたいな人は英語で読んでしまうと良いのではないかと思う。 Agile Estimating and Planning Mike Cohn 2005 アジャイルな見積もりと計画作り アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~

    [Agile][翻訳]アジャイル関連書籍ベスト100
  • 会議で成果を出すための10の方法 | Ryuzee.com

    Categories Agile・生産性向上 (104) Ajax/Web2.0 (7) apache (14) CMS (3) Delphi (11) Linux (45) Perl (29) PHP (115) Ruby (4) Trac (82) Zope (11) オープンソース (104) Firefox (9) OpenVZ (3) phpBB (3) phpMyFaq (12) scuttle (3) taskfreak (2) wordpress (28) セキュリティ (13) フリーソフト (20) マニアックス (69) 日記 (534) 書評 (24) 翻訳・日語化 (3) 自宅サーバ (17) Archives 2010年7月 (9) 2010年6月 (9) 2010年5月 (19) 2010年4月 (16) 2010年3月 (7) 2010年2月 (9)

    deeeki
    deeeki 2010/07/31
  • CakePHP RailsのようなMigrationを行う方法

    CakePHP標準だとRailsのような差分情報を含めたスキーマの管理ができず、不特定多数に配布するアプリケーションでの更新が困難だったり、開発現場でも人によってスキーマが異なってしまったり、といった問題が起こりやすかった。 このような問題を解決するのがCakePHP Migrations Pluginだ。 CakePHP Migrations Pluginは、CakeDCがMITライセンスで配布するオープンソースのCakePHPのプラグインで、これを利用するとRailsのMigrationと同じことが出来る! 詳細については http://cakedc.com/downloads/view/cakephp_migrations_plugin 入手は最新版をgithubから。 http://github.com/CakeDC/Migrations なお、動作検証はCakePHP1.3で行っ

    CakePHP RailsのようなMigrationを行う方法
  • アジャイル開発の26のヒント

    みなさんこんにちは。@ryuzeeです。 InfoQ: アジャイル開発を成功に導く26のヒントから原文を辿って見つけたものを抜粋でご紹介します。 詳しく知りたい場合は上記の原文をどうぞ。 2つめの作業に入る前に1つめの作業を終わらせようビルドを壊してはいけないルーチンはユースケースの実装で必要になるまでは作ってはいけないユースケースの実装で必要になるまでは、メンバー変数を追加してはいけない意思決定することを恐れるな品質を向上させる方法を常に勉強しろ測定しろ、測定しろ、測定しろシステムではなく人を中心とした設計をしろ(最終的な目的はシステムを使って人々の仕事が成し遂げられるのを助けることだと理解しろ)テストは製品の一部だコードを書く前にテストを書け無駄を省けビルドが壊れたらすぐに対応する土壌をつくれ(壊れたビルドを放置するな)全てのチームメンバーは顧客の要求を理解する必要がある関連する事柄は

    アジャイル開発の26のヒント
  • wordpress Twitter連携用プラグインTweetableが便利すぎる!

    WordpressからTwitしたり、ブログ書いたときに自動でTwitしたり、自分のTwitをブログサイドバーに表示したり、とブログとTwitterの連携箇所は一杯あるんだけど、それらをまとめてやってくれるプラグイン「Tweetable」が便利なので紹介する。 Tweetableの入手 Tweetableは以下のURLから入手できる http://wordpress.org/extend/plugins/tweetable/ インストールの手順 いつも通りアーカイブを解凍し、/wp-content/plugins以下に配置し、プラグインを有効にすれば良い。 ただしこれだけでは動かないので初期設定のところで細かく説明する。 初期設定 (1)まず、左メニューの「設定」の下に「Twitter」という項目が増えているので、これを選択すると下図のような画面が表示される。ページ下部に説明書きが書いてあ

    wordpress Twitter連携用プラグインTweetableが便利すぎる!
  • WordPressの好きなところ | Ryuzee.com

  • PHP 最近やったプロジェクトのまとめ

    4月から開発してきた案件が終わるのでちょっくら振り返りするぞ。 アーキテクチャ CentOS5 (開発はXAMPP) PHP5.1.6 CakePHP1.2 MySQL5 案件規模 コントローラー13(AppController含む) モデル14 ビュー80 コンポーネント4 PHPのソースで約1万行。テストコードで4000行。開発者は僕だけ。 ツール系 XAMPP 開発環境 Subversion ソースコード管理、ドキュメント管理に最初から利用。接続にはTortoiseSVNを利用。 Trac 課題管理、バグ管理、要件管理に利用 A5:SQL Mk-2 データベース関連の作業に利用。 Eclipse PHP開発用のIDE。Pleiadesを利用 Poedit i18nの言語ファイルの編集用 Lingoes 無償の辞書ツール。モジュール名や関数の命名に利用。 SimpleTest 

    PHP 最近やったプロジェクトのまとめ
  • CakePHPでユニットテストする際に気をつけること

    今やっている案件ではCakePHPを使ったアジャイル開発で、当然テストも自動化している。 テストの自動化を徹底的にやったので楽なんだけど、次回の案件のためにどういう観点でテストを組んでおくと良いか、またどこに嵌りがあるかメモとして残しておく。 CakePHPに限らない話 テストしやすい実装にする。例えばメソッドに複数の異なる役割を持たせない。引数と戻り値が明確。適切な行数など MVCの複数レイヤーにまたがる処理を書かない。例えばコントローラの中でSQLじゃぶじゃぶ投げたり、バリデーションチェックをぐちゃぐちゃやったりしない 自動でテスト実行できる仕掛け作り。例えばPHPならphpUnderControl。JAVAならCruiseControlとかHudson。 基に返って、テストを先に書くという意識付け テストがいっぱいありすぎたら今度はテストのリファクタリング。似たようなテストがコピペ

    CakePHPでユニットテストする際に気をつけること
  • Wordpress | Ryuzee.com

    WordPressの好きなところ | IDEA*IDEA ~ 百式管理人のライフハックブログ ~でWordPressに関して良いところが書かれていたが、俺の思うところを書いてみる。 その場編集が簡単! IDEA*IDEAでも書かれているのだが、これは確かに良い。でも一番では無いなぁ。 というのも俺は投稿する際にFirefoxの拡張であるScribeFireというブログへの投稿ツールを利用しているため。 ScribeFireがあれば、いちいちログインして投稿しなくても良いし、F8キーで即効投稿できる。 プラグインとスキンが大量に公開されている 個人的にはこれに尽きるのではないかと思う。 ちょっとアレしたいなぁと思ったらGoogle様に聞けば必ず見つかる。そして導入も簡単。 勿論プラグインによる品質のバラツキは当然あるんだけど、でも大量に利用可能なものが存在するというのはそれだけで強みだ。 俺

  • 1