タグ

ブックマーク / brtriver.hatenadiary.org (17)

  • monologでPHPのFatalエラーをログに残す - ぷぎがぽぎ

    この記事はSymfony Advent Calendar 2014の9日目の記事です。 昨日は おかぽんさんの SymfonyのDIを利用してMail送信クラスをインテグレーションテストする:コード編 でした Symfony のエラーハンドリングはとても優秀 (ただし2.4以降) Symfony は monolog が標準でバンドルされており、2.4からはエラーハンドリングをFWでとても良い感じにやってくれます。 Symfony 2.4以降の devで Noticeエラー たとえば、dev環境だと <?php namespace AppBundle\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Bundle\FrameworkBundle\Controller\Cont

    monologでPHPのFatalエラーをログに残す - ぷぎがぽぎ
  • ミニ四駆よりも熱い ミニッツレーサーのススメ #vgadvent2014 - ぷぎがぽぎ

    この記事はVOYAGE GROUP エンジニアブログ Advent Calendar 2014の7日目の記事です。 こんにちは、VOYAGE GROUPの Zucks でスマホ広告配信サービス Zucks Ad Networkのエンジニアしている 前田 @brtriver です。 去年は簡単にPHPをmakeしてみた だったので、「今年は何をmakeするのですか?」と聞かれましたが、ミニッツレーサーについて語りたいと思います。 ミニッツレーサーとは 今年はミニ四駆が再ブームというニュースもあったぐらい、大人にミニ四駆が流行りました。 自分自身は小さい時はミニ四駆にもハマりましたが、それよりもラジコンが大好きでした。 ミニッツレーサーは一言でいうと「ちっちゃいラジコン」です。ミニ四駆が 1/32 なのに比べて ミニッツは 1/27 なので少し大きいですが、感覚的にはミニ四駆と同じぐらいです。

    ミニ四駆よりも熱い ミニッツレーサーのススメ #vgadvent2014 - ぷぎがぽぎ
  • Hack で JSON返すシンプルなマイクロWebアプリケーションフレームワーク書いてみた - ぷぎがぽぎ

    [追記] PHPカンファレンスのUstのリンク追加 [追加] Hackの面白そうなところを追記 [追記] RouterをHackで書きなおした続編はこちら http://d.hatena.ne.jp/brtRiver/20141019/1413738340 久しぶりすぎるブログ更新ですね。。 Hack_(プログラミング言語) Hackは、Facebookにより開発されたプログラミング言語である。オープンソースとして公開されており、同社が開発したPHP実行環境のHipHop仮想マシン (HHVM) で動作する 前から気にはなっていましたが書いたことはなかった状態でした。 今年のPHPカンファレンスのust (HHVM + Hack == PHP++)を見ていて、Hack欲が高くなり触ってみないとわからないということで JSONを返すだけのいわゆるマイクロフレームワーク(Haku)を書いてみま

    Hack で JSON返すシンプルなマイクロWebアプリケーションフレームワーク書いてみた - ぷぎがぽぎ
  • 簡単にPHPをmakeしてみた #vgadvent2013 - ぷぎがぽぎ

    初めての方こんにちは!!いつもお世話になっている方こんにちは!! VOYAGE GROUP エンジニアブログ Advent Calendar 2013 の3日目担当の @brtriver です。 Zucks で広告配信システムのアレやコレをやってるエンジニアです。 冬と言えば鍋。そうPHPですね! 皆さんはどうやってPHPをmakeしてますか? yumやapt-getを使ってるという方も多いと思います。 今回は簡単なmake方法について紹介してみます。 適当な大きさで丸める まずは、軽量樹脂粘土を用意します。PHPなので、青と白があればとりあえず大丈夫ですね。 今回は目玉用に黒も用意してますが、なければマジックペンとかでも大丈夫です。 青は白と混ぜて良い感じの色にします。 じっくりと引き延ばしながらこねるこがコツです。 耳としっぽを作る できあがった青色粘土を適当に丸める。 体をmake

    簡単にPHPをmakeしてみた #vgadvent2013 - ぷぎがぽぎ
    heavenshell
    heavenshell 2013/12/03
    かわいい
  • [PHP] Hamcrestを利用した超シンプルdocコメントでのテスト方法 - ぷぎがぽぎ

    PHPでテストを書くというとPHPUnitがデファクトスタンダードで、次がSimpleTestでしょうか。 以前はインストールも大変でしたが、今となってはcomposer使えば楽ですし、実績もあります。 でも、当にこの2択でPHPらしい開発ができていますか? たとえば、テストケースのクラスを用意することが前提になります。 ちょっとPHPのコードを書いてテストしたいときもです。 たとえば、以下のようなロジックを書きたいとします。 <?php $users = [ '太郎' => 'male', '花子' => 'female', '一郎' => 'male', ]; // この$usersから男性('male')のものだけを抽出したい $males = [ '太郎' => 'male', '一郎' => 'male', ]; ?> 普通にPHPUnitでTDDでとなると、それなりに面倒です

    [PHP] Hamcrestを利用した超シンプルdocコメントでのテスト方法 - ぷぎがぽぎ
    heavenshell
    heavenshell 2013/03/17
    それなんて DocTest
  • 3分でできる俺PHPテスト環境 - ぷぎがぽぎ

    ※この記事はVOYAGE GROUP エンジニアブログ : Advent Calendar 2012の15日目の記事として書いてます。 3種の神器 PHPUnit, Stagehand_TestRunner, Phake 初めての方はじめまして。いつもの方こんにちは。 VOYAGE GROUP の adingo という会社で 広告配信に関わる Webアプリケーション開発エンジニアをしている @brtriver です。 今日は実際の現場でも使っているPHPの開発環境構築Tipsということで みんな大好き PHPUnit 、 自分は大好き Phake 、毎回テストを手動で実行するのが許されるのは小学生までだよねー Stagehand_TestRunner の 3つを3分でプロジェクトごとにインストールする方法を書いてみます。 何も考えず composer.jsonをコピペで用意 プロジェクト

    3分でできる俺PHPテスト環境 - ぷぎがぽぎ
  • OrePHPはこれでさらに高速になった(OrePhalcon) - ぷぎがぽぎ

    前回、OrePHPはシンプルで速いクールなフレームワーク - ぷぎがぽぎという内容の記事を書きましたが、これぐらいの速度で満足してはいけないということで更に高速化を考えました。 Cのエクステンションで書かれた超高速PHPフレームワーク Phalcon Phalconというフレームワークをご存知でしょうか?フレームワークをCのエクステンションで書いちゃった超高速PHPフレームワークです。 最速フレームワークと宣言してあるだけのことがあるベンチマーク結果が以下のグラフです。 前回のベンチマークをも超越しそうな結果です。というわけで、早速HelloWorldでOrePHPと比べてみます。 まずはPhalconをインストール。 エクステンションなのでgitからcloneしてきたものをいつもどおりphpnizeしてmake。 あとはphp.iniに extension=phalcon.soを追加。

    OrePHPはこれでさらに高速になった(OrePhalcon) - ぷぎがぽぎ
  • OrePHPはシンプルで速いクールなフレームワーク - ぷぎがぽぎ

    [追記1] 2012-06-10: ベンチマークを追加 [追記2] ブクマのコメントに回答 [追記3] ベンチマークをちょっと充実させた。Pinocoはえー [追記4] コントローラーの仕組みを変更 & debugモード追加 [追記5] PHP5.4.4で再ベンチ "ぼくがかんがえたさいきょうのふれーむわーく"ではないですが、OrePHPというPHP Webアプリケーション フレームワークを1つ書いてみた。 GitHub - brtriver/orephp: simple and fast PHP web application routing framework こんせぷと フレームワークが提供するのはルーティングだけ。シンプルに。速く。 ぼくがほしいのは、るーてぃんぐ 素のPHPでWebアプリケーションを書きたくない理由の1つがルーティングを用意するのが面倒というのがあります。Symf

    OrePHPはシンプルで速いクールなフレームワーク - ぷぎがぽぎ
    heavenshell
    heavenshell 2012/06/10
    yaml じゃなくて素の PHP の方が速くなりそうなんだけど、どうなんだろう。
  • SilexのExtensionからProvider への進化 - ぷぎがぽぎ

    かなり放置してしまっていたPHPTALのSilexエクステンションを更新しました。 Extensionという名前からProviderという名前に変わったのでその対応だけです。 GitHub - brtriver/PHPTALServiceProvider: PHPTAL Extension for Silex そして、SilexがExtensionからProviderへと名前を変えたのには意図があるということが最近把握できた気がするので一言。 Providerは2種類ある Silexが提供しているProviderはServiceProviderというものです。 外部ライブラリやサービスを利用するための遅延読込、腐敗防止層的な役割を行います。 PHPTALServiceProviderもこの1種です。 また、Silexにはコントローラーを別ファイル化し、mountする仕組みが用意されています

    SilexのExtensionからProvider への進化 - ぷぎがぽぎ
  • TwigをPhar化 - ぷぎがぽぎ

    Twigを使うことが多いですよね。そしてもっとデプロイを楽にしたいですよね。 PHPにはpharという(javaでいうjarみたいな)機能があってファイルをまとめることができます。 via: PHP: はじめに - Manual というわけで、Twigをphar化すれば良いというわけで以下に手順のメモ compile.phpを作成 まずはtwigをgitから取得 $ git clone https://github.com/fabpot/Twig.gitコンパイラーでtwig.pharを作成 <?php $phar = new Phar('twig.phar', 0, 'twig.phar'); $phar->buildFromDirectory(__DIR__ . '/Twig.git/lib'); $phar->compressFiles(Phar::GZ); $phar->setDe

    TwigをPhar化 - ぷぎがぽぎ
  • Symfony2のパフォーマンスをアップする簡単な方法 - ぷぎがぽぎ

    [追記とお詫び] APC有効の場合の値が正しく測定できていませんでした。 当初は20倍という結果になってましたが、再測定の結果4倍になりました。 すんごい悪くなったような気がしますが、4倍"も"速くなったと前向きに捉えてます。 なにわともあれ、正しくない情報で最初にレポートしてしまい申し訳ありませんでした。 PHPのフレームワークの比較が流行っていますね。 色々なPHPフレームワークのパフォーマンスを比較 - cakephperの日記(CakePHP, Laravel, PHP) PHPフレームワーク機能比較(2011.07.29) Symfony2のベンチマークが当初はCake2の半分程度しかなかったのですが、今のようにより速くなったのは、@hidenorigotoさんが不要なファイルの読み込みをコメントアウトしたりというごくごく普通のアプローチで修正を加えた結果です。(とはいえ、自分も

    Symfony2のパフォーマンスをアップする簡単な方法 - ぷぎがぽぎ
  • PHPカンファレンス関西が楽しかった件 - ぷぎがぽぎ

    朝一で東京(正しくは千葉)から、大阪まで来てます。 当はカメラでパシャパシャ写真撮ろうと思いながらカメラ忘れるとか、LTの資料をほぼ徹夜で作っていたのでせっかく電源がとれる席を取ったのに寝てたとか色々ありましたがそれでも行っただけの価値がありました。 大阪で初めてのPHPカンファレンスといいながら東京でよく見かける人も多くいらっしゃいましたが、多くの大阪の方ともお話させていただき刺激も多い一日でした。 次世代PHPフレームワーク Symfony2 という内容でLTしてきました。 次世代PHPフレームワーク Symfony2 View more presentations from brtriver ちょっとでもSymfony2に興味をもってもらったらという目標のもと、5分オーバーするはずが5分で収まってしまうとか、、ありましたが反応をいただけたようで良かったです。 ドラ娘さんかわいかった

    PHPカンファレンス関西が楽しかった件 - ぷぎがぽぎ
  • ECサイトをリニューアルオープン - ぷぎがぽぎ

    symfonyの開発実例って大規模なものが多いとか言われたりしますが、小さなECサイトの開発をsymfonyをベースで作ったのでちょこっと紹介。 愛犬のための犬グッズ専門サイト アットペット アットペット 元々個人的に関わっているサイトなのですが、7年前に古い自前PHPフレームワークで動いていたものをそろそろどうにかするかということで慣れたsymfonyで機能を追加しつつ作り直しました。 オンラインショッピングはもちろんのこと、ポイントでお買い物したり、買った商品に愛犬の写真と共にレビューを投稿することもできます。ポイント還元率が高いので大容量のドッグフードをお探しの方など是非利用してみてください。 なぜsymfonyを選択したか? PHPでECサイトをさくっと作るとなると、EC-CUBEで構築するという選択肢もありましたが次の理由でEC-CUBEを使わないことにしました。 カスタマイズす

    ECサイトをリニューアルオープン - ぷぎがぽぎ
    heavenshell
    heavenshell 2011/02/07
    Magento とかの他のパッケージを選択しなかったのもやっぱりカスタマイズ(学習コスト)が掛かるからなんだろうか。
  •  Symfony 2.0 and the PHP Ecosystem の超日本語訳 - ぷぎがぽぎ

    Symfony2のコンセプトについて触れられている家のブログのポストがあり、せっかくなので日語にしました。 symfony 1.x legacy website 意訳している部分もありますので、正確な内容を知りたい方は家の記事を読んでください。 (翻訳開始) Symfony2.0とPHPのエコシステム もし世の中の動きを知らずにすごしていないのなら、Symfony2について多くのことを耳にしているでしょう。インターネット上で、特にツイッターやブログ上でうわさは激しくなっています。 今日はSymfony2の機能について話すつもりはありません。Symfony2を試してみたいのであればSymfony reloadedサイトにある"Quick tour"チュートリアルを読むとよいでしょう。 ここではSymfony2哲学のキーとなる部分についてもう少し話したいと思います。そうすることで私たちの

     Symfony 2.0 and the PHP Ecosystem の超日本語訳 - ぷぎがぽぎ
  • Symfony2 と戯れてみた (その1) - ぷぎがぽぎ

    Symfony2はsandbox版が配布されていますが、実際に自分でアプリケーションやバンドルを作成するにはどうするのか試してみました。 sandboxをとってきて試すだけであればhttp://symfony-reloaded.org/codeからどうぞ。以下はGitHubからソースコードを取得し、コマンドを使って雛形まで作ってみます。 ただし、公式のマニュアルにはこれらの手順については何も書かれていませんのであくまでも私が推測で試した結果です。また動きが怪しかったりしてますが、まだプレビュー版ですので安定していないかったりバグがあるのはよくあることです。この点をご理解の上お読みください。_(_ _)_ Symfony2のソースをとってくる ここではGitHubからcloneしてきます。symfony-sandoxをclonseしてきます。 symfonyそのもののリポジトリもありますが、

    Symfony2 と戯れてみた (その1) - ぷぎがぽぎ
  • ./console --shellを拡張してみた - ぷぎがぽぎ

    早速なので、仕事であまり時間がないけどちょっと触ってみました。 Symfony2からは各アプリケーション毎にconsoleコマンドがあり、以前でいうsymfonyコマンドのようです。 また、インタラクティブシェルも用意されており、--shellオプションで起動できます。*1 で、このシェルを拡張する方法を試してみました。 拡張したいファイルをコピーしnamespaceを書き換える 今回利用したファイルはGitHub - noelg/symfony-demo: A shopping cart application built with Symfony 2です。 symfonyのドキュメントにあったAJAXを使ったショッピングカートのSymfony2実装版です。 動作させるために必要なのはPHP5.3の環境とgit cloneしたファイルです。 主なディレクトリ構成は以下のようになっていまし

    ./console --shellを拡張してみた - ぷぎがぽぎ
  • Symfony2 プレビュー版リリース - ぷぎがぽぎ

    Symfony, High Performance PHP Framework for Web Development フランスではSymfonyのカンファレンスが開催され、Symfony2のプレビュー版がついさきほど公開されました。 残念ながら日からtwitterのタイムラインを眺めつつ雰囲気を味わっていたのですが、そのまとめをちょこっと。 イベントの公式サイトは以下のとおり。 SymfonyLive Conferences かなり濃厚な発表が色々あったようです。 以下気になった事 Doctrine2ではマジックメソッドをまったく使っていない => 予想以上に速くなった Doctrineを使い始めて最初に大変な思いをしたのが、マジックメソッドが多いため、どのように処理されているかを追うことでした。 個人的にも嬉しい対応。 Doctrine 2 - Not The Same Old Ph

    Symfony2 プレビュー版リリース - ぷぎがぽぎ
    heavenshell
    heavenshell 2010/02/18
    「速度なんて実装の仕方やサーバーのスペックやインフラに影響受けますから。」 同意
  • 1