タグ

ブックマーク / www.1x1.jp (11)

  • Composer を倍速にした、たった 1 行のコード

    まだ 12 月早々ですが、PHP ユーザに素敵なクリスマスプレゼントが届きました。 いまや使うのが当たり前となった Composer ですが、複雑な依存解決に実行時間がかかるのがネックでした。 これは日国内だけでなく、海外のユーザも同じで、皆がしょうがないと思いつつも、小さな不満を持ちながら使っていました。 そんな、ある�日、わずか 1 行のコードが追加されたことで、実行時間が、わずか半分になるという現象が起こりました。 Composer を倍速にするには? composer self-update を実行して、最新版にするだけです。 $ composer self-update 実際の効果 このコードの効果を見てみましょう。composer コマンドの --profile オプションを使って、実行時間と使用メモリ量を出力します。 $ composer update --dry-run

    akiyan
    akiyan 2014/12/04
    これはやべえ、composer以外でもgc_disableしてベンチ取りたくなる...
  • 「VagrantユーザのためのDocker入門」を発表してきました

    第3回 コンテナ型仮想化の情報交換会@大阪 で行った発表です。 コンテナ超人みたいな人ばかりで、この内容で発表して良いものやらと思ったのですが、アプリケーションを書く側からの視点で話してきました。 Vagrant ユーザのための Docker 入門 Docker を知った時は、速くなった Vagrant のようなものだと思っていたのですが、色々と見る内にそもそも別のもので、ユースケースとして重なるところはあれど、別のツールだと認識した方が良いです。 Docker の入り口としては、デモを見てもらうのが、手っ取り早いので、そのあたりが伝わったなら良かったです。 Introduction to Docker 発表で引用した「Introduction to Docker」は下記です。公式の資料なので、色々ググる前に、まずはこれを読むのがおすすめです:D CentOS で Docker を動かす

  • PHP 5.6 に採用されるデバッガ phpdbg を使ってみた

    Shin x blog Advent Calendar 2013 の 21 日目です。 第 12 回関西 PHP 勉強会 にて、PHP 5.6 に採用予定の phpdbg をひと足先に PHP 5.5.7 で触ってみました。 phpdbg phpdbg は、gdb ライクな PHP 用のデバッガです。ブレークポイントを設定して、その時点のコンテキストを確認したり、ステップ実行などができます。 phpdbg | php debugger インストール PHP 5.6 から同梱される予定の phpdbg ですが、これ自体はすでにリリースされており、PHP 5.4 から利用することが可能です。インストールには、PHP のソースコードが必要になるので、PHP も ソースからインストールします。 $ sudo yum -y groupinstall "Development Tools" $ sud

  • 「Composer 再入門」を発表してきました( #KOF2013 )

    2013/11/8, 9に大阪南港で開催されたKOF(関西オープンフォーラム)2013にて「関西PHP勉強会」のセッションを行いました。 今回は、いまやPHPerの必須ともいうべきComposerをテーマにしました。その中で「Composer 再入門」を発表してきました。 Composer再入門 この発表では、Composer の基的な使い方を紹介しています。自分でライブラリを公開する際の内容は @slywalker さんが発表されています。 Composer を使うこと自体は簡単なので、基的なところさえ知っておけば、特に問題は無いと思います。 ただ、今回の発表や先日行った Vagrant ハンズオンの際に感じたのですが、ターミナル操作の経験が無い人には、取っ付きづらいツールかもしれません。Composer を使わなくても、ZIP ファイルを直接ダウンロードすれば、フレームワークやライ

  • Vagrant で自分の PC に「作って、壊して、元に戻せる」サーバを作る

    Vagrant 便利ですね。Web システム構築ではサーバ構築、設定を何度となく繰り返すので、こういった「作って、壊して、元に戻せる」環境が自分の PC にあるというのはとても重宝します。 ここでは Vagrant1.0 を使って、Mac OS X 上に CentOS サーバを構築します。また触ってみて便利だった機能もいくつかご紹介します。 1. VirtualBox のインストール 2. Vagrant1.0 のインストール 3. box ファイルのインストール 4. Vagrantfile の作成 5. 仮想サーバを起動 6. 仮想サーバを停止 7. 仮想サーバを削除 8. 仮想サーバでhttpdサーバを構築 9. sahara プラグインで、作って、壊して、元に戻せる環境を構築 10. 複数の仮想サーバを起動 11. 仮想サーバのエクスポート Q. OS X, ruby, gem

    akiyan
    akiyan 2013/03/22
    『config.vm.boot_mode に :gui を指定しています。』なにーこんな方法がー
  • PHP5.2.4ではPHPエラーでHTTP 500を返す

    via: Gregory Szorc’s blog – PHP Now Using Proper HTTP Status Codes on Error PHP5.2.4ではPHPエラーでHTTP 500 Internal Server Errorが返ってくるようにです。 PHP5.2.4RC3で試してみると、以下のような「Fatal Error」や「Parse Error」などスクリプトの実行が停止するようなエラーではHTTP 500が返ってきました。 <?php // Fatal Error: Call to undefined function a() a(); ?> <?php // Parse error: syntax error, unexpected '}' $f = true; if ($f) echo "a"; } ?> 例外投げてcatchしない場合も同じです。 <?p

    akiyan
    akiyan 2007/08/26
    ほほー!要動作チェック!
  • CakePHP 1.1.15.5144以降はHtmlHelper#tagValueに注意

    確認画面等で入力値を表示するのにHtmlHelper#tagValueを使っています。 これは内部でHTMLタグをエスケープしてくれるので重宝していたのですが、1.1.15.5144から、このメソッドにエスケープするか否かを表すフラグが追加されました。 [cake/libs/view/helpers/html.php] <?php function tagValue($fieldName, $escape = false) { ?> 困った事にデフォルトではfalseになっているので、従来の[$html->tagValue(‘Foo/bar’);]のような使い方をしているとHTMLタグがそのまま出力されてしまいます。1.1.15.5144以降(昨日リリースされた1.1.16.5421も含む)でHTMLタグをエスケープするには以下のように第2引数にtrueを指定しなければなりません。 //

    akiyan
    akiyan 2007/07/10
  • PHP4なスクリプトをPHP5へ移行する際に発生する7つの問題 | Shin x blog

    2007/11/13: 3.と4.が同じ内容となっていましたので、4.の内容を変更しました。 ここ最近PHP4.1.2で稼働していたシステムをPHP5.1.6へ移行しています。 移行の際に発生した問題とその対応をメモしておきます。 ちなみに全ての内容がPHP4->PHP5で必要なものではないです。PHP4も4.1/4.2/4.3/4.4の間でちょこちょこ変わっているので、一部の内容はPHP4間の移行でも修正が必要になります。またPHP4.4に適応しているスクリプトをPHP5へ移行するなら修正内容は少なくなります。 1.Notice: Only variable references should be returned by reference 「function &method()」と定義しているメソッドでスカラー値を返すと発生します。 <?php class Hoge { functi

    akiyan
    akiyan 2007/06/07
    いいまとめです。
  • CakePHP $_GET/$_POSTの値はどこに?

    PHPのスーパーグローバルの値をどのように参照すれば良いかまとめてみました。 Controller#dataやアクションメソッド引数のようにフレームワークで想定された使い方をしている分には特に問題無いのですが、ちょっと他のことをやろうとすると、どこに値が格納されているか分からず困った事がありました。 # もちろん$_GET/$_POSTを使えば値は取れますが、せっかくのフレームワークなのでなるべくその中で値を使いたいものです。 1. $_GET $_GETの値はController#params[‘url’]に格納されます。 ちなみに$_GET[‘url’]はURLルーティング(リクエストURIからコントローラ・モデル等を決定)で、$_GET[‘file’]は[app/webroot/js/vendors.php]で参照されています。 [http://example.com/foo/ind

    akiyan
    akiyan 2007/04/19
    ナイスな調査です。
  • 楽天API PEAR::Services_Rakuten-0.1.0リリース

    [2007/07/18追記] Services_Rakuten-0.2.0がリリースされています。今後はこちらをご利用下さい。 楽天から公式APIが公開されましたので、早速PEARパッケージを作ってみました。 PEAR::Services_Rakuten-0.1.0 $ pear install --alldeps /blog/download/Services_Rakuten-0.1.0.tgz 楽天APIを使用するにあたってデベロッパーIDが必要ですので【楽天ウェブサービス】RAKUTEN WEBSERVICEで取得しておきましょう。 使い方は以下です。検索サービスごとにメソッドを分けています。do~()で値を連想配列で返します。 <?php require_once('Services/Rakuten.php'); $api = new Services_Rakuten('your_

    akiyan
    akiyan 2007/02/27
    使ってみる。
  • CakePHPでDBアクセスなしのModelを作る

    CakePHPのmodelはDBのテーブルと1対1になる事が想定されています。ただシステムを構築する際はこのような単純なmodelだけでは使い勝手が悪い場合があります。そこでDBアクセス無しのmodelの作成方法を模索してみました。 フレームワークのソースを見たところmodelの$useTableにfalseをいれておけば良いようです。 [app/models/no_db.php] <?php class NoDb extends AppModel { $useTable = false; } ?> では、modelなしのcontrollerはというと・・・フレームワークを見る限りでは方法は無さそうですね。ただcontrollerの$nameでmodel名を指定する事ができるので、これにダミーのmodelを指定すれば、modelを新たに作らずにcontroller・ビューファイルを追加する

    akiyan
    akiyan 2007/02/25
    Model無しのControllerも。
  • 1