タグ

phpに関するbash0C7のブックマーク (48)

  • PHP のスタティックメソッドをモック化する - pixiv engineering blog

    初登場の @tototoshi です。今回は pixiv のユニットテストで利用しているモックライブラリの紹介をします。 ここ2ヶ月くらいの間、レガシー化したとあるモジュールのリファクタリングに取り組んでいました。 リファクタリングにはテストコードが必須です。しかし今ではすっかりテストを書く文化が根付いている pixiv にもテストコードがない時代がありました。リファクタリングが必要な古いコードにはテストコードがないことが多く、そういったコードに新たにテストをつけていくのはなかなか大変です。テストの概念のないプロジェクトはテスト可能なように設計・実装されていません。テストを書くのが大変なのではなく、書けるようにするまでが大変です。 特にやっかいだったのは DB を参照したりするようなスタティックメソッドを使ったメソッドのテストでした。以下のようなスタティックな Dao を使用した Serv

    PHP のスタティックメソッドをモック化する - pixiv engineering blog
    bash0C7
    bash0C7 2013/12/27
    歴史との戦いべんり情報だ
  • "PHP Fatal error: Allowed memory size of xxx" で落ちる前にできること - ぷぎがぽぎ

    PHP Advent Calendar 2013 - 7日目 昨日は@hidenorigotoさんのBeyond MVCでした。 今日は PHPあるある的な問題に対する対策について少しばかり書きたいと思います。 ※ 歯ブラシを持たせてみた *1 メモリ不足でよくやる対応 PHPで大量のデータを扱ったりすると、設定された利用可能な最大メモリ使用量を超えて PHP Fatal error: Allowed memory size of 524288330 bytes exhausted (tried to allocate 351 bytes) in ....というエラーが発生して対応に追われたことの経験がある人はかなり多いと思います。 そもそも環境のメモリに余裕があるならmemory_limitを調整してメモリの使用量を増やしたり あまり余裕がない場合は暫定的対応として、該当処理部分だけ <

    "PHP Fatal error: Allowed memory size of xxx" で落ちる前にできること - ぷぎがぽぎ
    bash0C7
    bash0C7 2013/12/07
    “PHPには auto_prepend_fileというphp.ini ディレクティブ”
  • 簡単にPHPをmakeしてみた #vgadvent2013 - ぷぎがぽぎ

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

    簡単にPHPをmakeしてみた #vgadvent2013 - ぷぎがぽぎ
    bash0C7
    bash0C7 2013/12/03
    “冬と言えば鍋。そうPHPですね! ”はい!
  • 東京Ruby会議10 #tkrk10 で発表してきました - do_aki's log

    2013/01/13,14 と開催された 東京Ruby会議10 に参加し、またもやPHP関連ネタを発表してきました。最近、図らずも PHP 芸人としての腕が上がっている気がします……。 A bridge between php and ruby from do_aki 自分の発表について たった15分の発表なのだけど、なんだか妙に不安で資料作り終えても上手く発表できる気がしていませんでした。 舞台袖での待機中も落ち着かなくてそわそわそわそわ。 話は変わるけど、舞台が広くて奥行きがあり、ここでの公演良さそうだなぁとか思ってました。装置の方はちと分からなかったけど。(一応演劇経験者なのです) んで、発表自体はなんとか時間内に終えましたが、今から思えば後半はばっさり切っても良かった気がする。そうすれば LTのノリで話さずに済んだし、もう少し間を上手くとることができたかなと。 スライドは結構頑張っ

    東京Ruby会議10 #tkrk10 で発表してきました - do_aki's log
  • 当日レポート[更新終了] | gihyo.jp

    9月15日、大田区産業プラザPiOにて「PHPカンファレンス2012」が開催されます。稿では、イベントの各セッションの模様を随時更新形式でレポートしていきます。 なお、年は3トラック構成のため、すべてのセッションをレポートできておりません。気になるセッションはUstream中継等をご覧になってください。 今年はWordCamp Tokyo 2012と共催で、1階のホールを分けて使用しています。 WordCamp Tokyo 2012のレポートはこちらをご覧ください。 今年のスタッフTシャツは、こんな感じです。 休憩スペースは茶屋風で、和風な雰囲気。 会場に来られない方のために、ベストエフォートでUstreamによる中継が行われています。各トラックのチャンネルは以下のとおりです。 メイントラック ベーシックトラック テックトラック 廣川類さん『基調講演』 昨年と同様、今年もPHPユーザ

    当日レポート[更新終了] | gihyo.jp
    bash0C7
    bash0C7 2012/09/16
    "達人出版会いいよ!"
  • PHP: The Right Way

    ようこそ 時代遅れの情報がウェブ上にあふれている。そんな情報を見たPHP初心者は戸惑ってしまうだろう。そして、まずい手法やまずいコードが広まってしまう。 そんなのはもうやめよう。PHP: The Right Way は気軽に読めるクイックリファレンスだ。PHPの一般的なコーディング規約、 ウェブ上のよくできたチュートリアルへのリンク、そして現時点でのベストプラクティスだと執筆者が考えていることをまとめた。 大事なのは、 PHPを使うための正式なお作法など存在しない ってこと。 このサイトの狙いは、はじめて PHP を使うことになった開発者に、いろんなトピックを紹介すること。 経験豊富なプロの人にとっても、これまで深く考えることなく使ってきた内容について、新鮮な見方を伝えられるだろう。 このサイトは、決して「どのツールを使えばいいのか」を教えるものじゃない。 いくつかの選択肢を示して、それぞ

    bash0C7
    bash0C7 2012/07/15
  • ノーフレームワークのレガシーPHPがCIに乗るまで

    ついに仕事で触っている PHP のコードがほんの一部のテストとは言え CI に乗った。 正直これは感動ものだ。 今回はここに至るまでの長大な物語をダイジェストでお届けしようと思う。 有史以前PHP 3 で作られた 1 URI : 1 スクリプト + 共通関数 時代 当然のように PHPHTMLSQL 混在まともなテスト環境がなかったので似た環境をどうにか作るパスとか絶対で埋め込みまくりなのでとりあえず共通のパス情報の変数に差し替えまくりテスト環境用のコードと番環境用のコードが違うオール目視 つらかった。 みなさんの予想通りバージョン管理なんてものは存在しなかった。 素朴なPHPを徐々にclassにclass になれば phpdoc を書きやすくなるいきなり実行しないようにすればテストしやすくなる これは後から気づいたんだけど、結局フロントはロクに自動テストできてない一時期 p

    bash0C7
    bash0C7 2012/04/16
    これはすごい
  • "PHP Apocalypse"を開催しました! | GREE Engineering

    どうも。GREE開発部の吉川(@tsuyoshikawa)です。 この記事はGREEエンジニアブログではありますが、PHP AdventCalender2011の12/21の回ともなっています。 去る12/17(土)に、弊社会場、主催私で"PHP Apocalypse"なるイベントを開催しましたので、それのふりかえりとご紹介をさせて頂こうかと思います。 イベントの概要 - ATND "PHP Apocalypse"とは このイベントはいわゆる技術勉強会ではありますが、直接的には過去にはてなブックマークで300くらいのユーザを集めた“PHP のよいところとよくないところ - id:k-z-h”というエントリーへのリアクションがきっかけになって起こっています。 エントリーの内容はPHPの批判が含まれるものとなっていますが、その批判自体にどうこうというより、エントリーを書いたid:k-z-h

    "PHP Apocalypse"を開催しました! | GREE Engineering
    bash0C7
    bash0C7 2011/12/23
    くわしくききたい
  • PHP 触れてはいけないほうの闇の話

    なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い

    PHP 触れてはいけないほうの闇の話
    bash0C7
    bash0C7 2011/11/12
  • PHP のよいところとよくないところ - id:k-z-h

    php前提。PHP はクソ。滅びろ。ruby はしらんが pythonperljava のほうがよっぽど楽。javascript は多分同じかもっと地獄。よいところ導入が安い動作環境的な意味でも、コード的な意味でも。置けば動くし、書けば動く。当に何も知らん人間でもなんとか動く。エンジニアの頭数もそろえやすい。運用コストのスケーリングができるapache+mod_php だけでも普通に早い。apc 入れればそれだけで大抵のリクエストさばける。nginx+php-fpm+apc なんて環境にすればもっとさばける(と思う。まだ試してない。)最悪 HIPHOP-PHP でなんとかできることは Facebook が証明している。ドキュメントが読みやすいphp.net のドキュメントはテンプレートがしっかりしていて全部それにそっているので非常に読みやすい。邦訳も早い。よくないところ標準の

    bash0C7
    bash0C7 2011/11/06
    それでもなお使い続けようとする世の中のモチベーションは何なんだろうか
  • Buy PhpStorm: Pricing and Licensing, Discounts - JetBrains Toolbox Subscription

  • PHP のテストを Ruby で書く « blog.udzura.jp

    皆さん、楽しくテスト書いてますか~~~ 今日は、 rack-legacy を使うことで、 PHP のアプリケーションなのになぜか Ruby のコードでテストできて(受け入れテストのあたりですけど)、そうすると物の RSpec とかが使えて楽ですよ、と言う話をします。 rack-legacy とは。 まず、 Rack とは、 Ruby 製のウェブアプリケーション(Ruby on Rails、Sinatraなどをご存知かもしれません)とサーバ(Apache/Passenger、NginX、Lighttpdなどなど…)をつなぐ一種の規格です。 PerlPython にも似たような仕組みがあります。 ここで、 Rack::Legacy というミドルウェアを使うと、他の言語の CGI や、 PHP のアプリケーションが Rack の上で動かせます。 そして、 Rack の上で動くということは

  • PHPでTDD&CIワークショップ、Jenkins + PHP の各種プラグインパート資料 - Yamashiro0217の日記

    はじめに この資料は「PHPでTDD&CIワークショップ」 http://atnd.org/events/16626 で @yamashiro が発表するための資料だよ。 ワークショップ参加者じゃなくても記事読むだけで完結するようには書いてあるよ。 概要としては、Jenkins を使って PHP のウンコレガシーなコードをいかに綺麗にして行くかということを説明する。 自画自賛だけど PHPMD とか PHPCPD の使い方の説明の資料としてもそこそこイケてる資料になってると思いました。まる。 この記事に書かれてることは、割とTemplate for Jenkins Jobs for PHP Projectsとかぶってるけど、プラグインを絞ってあるのと、一個一個のプラグインについて解説、また実際にエラーが起きたときにどうすればいいのか書くよ。 Java と Jenkins のインストールとJ

    PHPでTDD&CIワークショップ、Jenkins + PHP の各種プラグインパート資料 - Yamashiro0217の日記
    bash0C7
    bash0C7 2011/06/20
    ワークショップの第二回を熱望しています
  • PHPもやらなきゃJenkins « BEAR Blog

    改名なのかフォークなのか、とにかくHudsonプロジェクトはHudsonとJenkinsに分かれました。(開発者はフォークではなく改名と主張していて、この辺りの話はinfoQが詳しいようです。http://www.infoq.com/jp/hudson ) ※前回の記事で紹介したphp-hudson-template はphp-jenkins-template に変わっています。 またPHPUnitで有名なSebastian氏がbuld.xmlを自動で作成してくれるPPW (PHP Project Wizard )というツールをリリースして、面倒だったプロジェクトの設定ファイルbuld.xmlの作成がとても簡単になりました。 Sebastian氏はhttp://jenkins-php.org/というPHPでJenkinsを使うためのガイドをするサイトも用意しています。以下はその補足です。

  • Capistrano(カピストラーノ)でPHPプロジェクトをデプロイ - yamada6789の日記

    Capistrano(カピストラーノ)は複数のリモートサーバにSSH接続して一括操作できる便利なツールです。 色々な用途に使えますが、今回はCapistranoでPHPプロジェクトをデプロイしてみました。 概要図 Capistranoをインストールするサーバは一台だけです。 デプロイ先のアプリケーションサーバではログイン用アカウント(要sudo権限)を事前に作成しておきます。 インストール上の図ではCapistranoをソースコード管理サーバにインストールしています。 Capistranoを動かすにはRubyが必要になりますので、まずはRubyをインストールします。 (Rubyのインストール方法は省略します。) 次に、以下のコマンドでCapistranoをインストール。 $ sudo gem install capistrano 使用方法基的にcapfileに一連の操作を記述し、あとはコ

    Capistrano(カピストラーノ)でPHPプロジェクトをデプロイ - yamada6789の日記
  • 書籍「PHPによるデザインパターン入門」の原稿テキストを公開します - Do You PHP はてブロ

    ご報告が遅くなりましたが、去る2009/09/14に絶版となりました orz 出版から3年ですか。自分が最初に書いた(雑誌ではなく)で、いろいろな思い入れはあったんですが、やっぱりCakePHPなどのフレームワークとかJavascript関連などの"今、熱い"技術と違って、"ブーム"が去るのが早いですね。。。 製作に関わっていただいた方、また書店で手に取っていただいた方、ありがとうございました。 で、これに伴い、校正前の原稿テキストを(一部を除き)順次公開しようと思います。基的に『原稿テキストをHTML形式に変換したもの+図画そのまま』ですので、誤字/脱字、説明不足の箇所もあるかも知れませんがご了承ください。挿絵はありません。 http://www.doyouphp.jp/book/book_phpdp.shtml とりあえず、第1章、第4章のTemplateMethodを公開しま

    書籍「PHPによるデザインパターン入門」の原稿テキストを公開します - Do You PHP はてブロ
  • 「バッチファイルの二重起動の防ぎ方」PHP変 - がるの健忘録

    時々(あるいはしょっちゅう)あるのですが、バッチファイルが「二重に動くと吾しくねぇなぁ」な状況があります。 よくロックファイルによる二重起動防止とかを見るのですが…もうちょっと楽な手段があるので、まぁ「カードの一枚」程度に。 機構としては、至極一般的な「セマフォ」を使います。 セマフォは「プロセス間通信」の一環になります。…それ以上を知りたかったら、C言語系の書籍を適宜あたってくださいませ。 …そのうち解説するかもしんまい。リクエストはコメントもしくはリアルで直接どんぞ。 閑話休題 サンプルコードから、早速かつとっとと実装をまなんでみませう。 まずは「ロックされていない」状態を体感して確認。 バッチファイルはこんな感じ。ファイル名は「t.php」という、素晴らしく投げたネーミング。 // 処理 $pid = posix_getpid(); // print "start({$pid})

    「バッチファイルの二重起動の防ぎ方」PHP変 - がるの健忘録
    bash0C7
    bash0C7 2011/05/05
  • Custom Software Development Company - PHPFog.com

    We are a leading agency providing premium solutions in the area of design and development of mobile apps, custom websites and custom software. When getting a mobile app developed with us, unlike many other app development companies we provide a comprehensive service. You can expect a team of specialised strategists, graphic designers and developers to work on your web or app development project. W

    Custom Software Development Company - PHPFog.com
  • Digital Marketing Agency for Service Businesses | Lithium Marketing

    Your customers are searching online – make sure they find you. We deliver done-for-you digital marketing solutions that drive calls, customers, and results.

    Digital Marketing Agency for Service Businesses | Lithium Marketing
    bash0C7
    bash0C7 2011/03/02
  • http://neta.ywcafe.net/000607.html

    bash0C7
    bash0C7 2011/01/14