タグ

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

  • 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

    sotarok
    sotarok 2013/12/24
  • nginx で Too many open files エラーに対処する

    nginx では1プロセスで多くのアクセスを捌くので、アクセス数が増えるとToo many open filesエラーが発生することがあります。 ここでは対処法と調べた内容を残しておきます。 1. fs.file-max の確認 まず fs.file-max の値を確認しておきます。fs.file-max は、システム全体でのファイルディスクリプタの上限数となっており、この値以上のファイルディスクリプタは確保することができません。 現在設定されている値は以下で確認できます。 $ cat /proc/sys/fs/file-max 167488 通常は上記の値で問題無いと思いますが、もしこの値が不足しているようなら設定値を更新します。 $ sudo -s # echo 320000 > /proc/sys/fs/file-max # cat /proc/sys/fs/file-max 320

  • コンビニのレジでささやかな楽しみ

    まあ知っている人は知っているコンビニレジの話。 これって何のボタンか分かりますか? 実はコンビニレジで会計を決定する(レジがチンと空いて、レシートが出るボタン)です。この中のどのボタンを押しても見た目は同じ動きになり、レジが空いて、レシートが出てきます。 じゃあ、なんでこんなにボタンがあるのかというと、実はお客さんの性別・年齢層をこれで入力するためにあるんですね。 例えば「ピンク・19」を押せば「女性・12才〜19才」、「ブルー・50」なら「男性・50才以上」がレジに登録されます。 どの年齢層の人がいつ何を購入したかというデータが蓄積されていき、それをマーケティングなり発注なりに使うという代物です。 面白いUI この機能は学生時代に某コンビニでバイトをしていた時に知ったのですが、他のコンビニでも年齢層のレンジは違えど、似たUIになっているようです。 これを知ったときは「へー」と、かなり関心

    sotarok
    sotarok 2009/12/29
    しらなかった!
  • たまには$を書かない日を -No Dollar Sign Day-

    PHPを日々書いている人へ。 たまにはPHPから離れて他の言語でプログラムを書いてみましょうという話です。 Webシステムのプログラムを書く手段としてPHPは実用的なのですが、他にも様々な言語が存在しているのは周知のとおりです。PHPにはPHPの、他の言語には他の言語の良いところ悪いところがあり、それらは普段使っている言語を離れて他の言語を知ることによって、初めて気付かされます。 また他の言語での実装方法を知ることにより、PHPで実装する際に別の角度からプログラムを見ることができ、さらに深い理解を得ることができます。 PHPを極めていくことはとても良いことなのですが、ある程度頭で描いた仕様が実装できるようになったのなら、是非他の言語を触ってみることをおすすめします。 では実際どの言語を触ってみるのが良いかという話になるのですが、普段PHPでWebシステムを開発しているなら、おすすめはPyt

    sotarok
    sotarok 2009/11/29
    僕はわりと逆で,PHP で書けないシステムを別の言語で書いてます :)
  • PHP関西勉強会で発表してきました&発表資料

    東京なら勉強会も多いのでこんなのもアリでしょうけど、関西のPHP系勉強会は最近あまり開催されなかったので、そもそも人が来るのかなあと思ってました。 良い方に予想外でした。やはり関西のPHPerはイベントに行きたくてウズウズしてたんですね:-D 今回は発表もあったので簡単にメモを。 PHPUnit + SeleniumRCなお話 開催にご尽力頂いたkunitさん PHPUnit + Testing_Selenium + Selenium RC 資料ナシのプレゼン!(これは真似できません。。。) Selenium IDEで作ったテストケースを、PHPUnitのテストケースに変換するツール => を、デモする予定だったけど間に合わず。。。 考えたら今週kunitさんイベント出まくりで、そのどれもで発表してる! 今後公開されるとの事なので期待! Seleniumのテストは個人の環境でちょろっとやっ

    sotarok
    sotarok 2008/11/09
    関西開催おつかれさまでしたー
  • tableタグで画像を描くPHPクラスを作ってみた

    夏らしい花火画像です。さて左右の画像のうち、どちらがJPEG画像でしょう。 一見どちらもJPEG画像っぽいですが、実は片方はHTMLのtableだけで描画しています。 そんな画像をtableタグで描画するPHPクラスを書いてみました。 インストール 以下のURLからPHPファイルをダウンロードして、任意のディレクトリに設置するだけでokです。 http://www.1×1.jp/blog/download/TableImage.php 使い方 requireして、TableImage::createTag()に画像ファイルパスを与えるだけです。createTag()からは、画像を変換したtableタグが文字列として返ってくるので、それをechoすれば、tableタグで描画していた画像が表示されます。 対応画像 現在のところGIF/JPEG/PNGに対応しています。 画像サイズにTableI

    sotarok
    sotarok 2008/09/02
    なんじゃそれー!
  • 第34回PHP勉強会に参加してきました&発表資料

    CakePHP勉強会の翌日に行われた第34回PHP勉強会にも参加してきました。 今回はLTで「動かしてコードの流れを追う」というタイトルで話してきました。PHP勉強会では初発表だったので秘かに感慨深いものがあったりしました。 発表時の資料をアップしておきます。 あとスライド中で紹介しているdebug_print_backtrace_source()はこれです。 以下、つらつらと。 maru_ccさん 現場での貴重なお話 => なかなか外に出ない話なので興味深い deployが悩みなのはどこも同じ:-D 発表後にmaru_ccさんを囲んでのdeploy雑談がかなりアツかった! kaz_29さん PostgreSQLでの全文検索のお話 8.3の全文検索は使える印象 => Ludiaとの比較も見たいなー:-D デモがイイ! => やっぱり動いてるものは説得力が違います sotarokさん Sim

    sotarok
    sotarok 2008/07/05
    NGなのは「そたろ」じゃなくて「そたろっく」ですお><  お疲れ様でした!
  • debug_backtraceを見やすくしたdebug_print_backtrace_source

    debug_bracktrace()は手軽にバックトレースが取れるので便利です。 メソッド(関数)の呼び出し順だけではなく、引数の内容や現在動作しているオブジェクトの状態なども取得することができます。 そこでこれらを利用してバックトレースの内容を見やすくしたdebug_print_backtrace_source()を作ってみました。 ダウンロード debug_print_backtrace_source.php dBugを内包しているのでライセンスはGPLで。 使用方法 debug_print_backtrace_source.phpを読み込んで、debug_print_backtrace_source()もしくは、dpbs()を実行するだけです。 引数は2つでどちらもbooleanです。第1引数でバックトレース表示後に処理をexitするか否かを、第2引数でバックトレースを逆順で表示する

    sotarok
    sotarok 2008/06/25
    dBugつかってdebug_backtraceを見やすく
  • フレームワークで使われているPHP関数を数えてみた

    CakePHPを使ってからempty()を使うようになった、なんて話が以前社内でもあったので、各フレームワークで使われているPHP関数を調べてみました*1。 調べたのはCakePHP/symfony/ZendFrameworkで、それぞれ最新版を使用しています。 あと関数全てを載せると長いので上位20件のみ記載しています。 CakePHP-1.2RC1 array()が圧倒的ですね。2位以下もin_array()から5位のis_array()まではarrayに関係する関数となってます。 さらにarray()自体の数がスゴイです。ソースコードは3つの中で一番少ないのですが(symfonyの約2/3、ZFの約1/3)ですが、array()はsymfonyの約5倍、ZFの約2倍となっています。 いかにCakeがarrayを多用しているかが、良く分かります。 ソース行数:126,469行 1664

    sotarok
    sotarok 2008/06/13
    array多様
  • CakePHP 1.2beta対応―CakeInfo-0.1.2リリース | Shin x blog

    CakePHPアプリケーションの内容をphpinfo()風に見せるCakeInfoをCakePHP1.2-betaに対応しました。 OpenFLPを表示するとこんな感じです。 主な変更点は以下です。 CakePHP1.2-beta対応 Controllerにaction_methodを追加 今回追加したControllerのaction_methodでは外部からアクションメソッドとして呼べるメソッドを表示しています。これを見ると公開するつもりの無いメソッドが公開されていないかを確認できるので、自作のCakeアプリにて試してみてください。 設置 設置方法は簡単です。 まず[http://www.1×1.jp/blog/download/cakeinfo-0.1.2.zip]からzipファイルをダウンロードします。 あとはダウンロードしたzipファイルを展開し、[cakeinfo.php][l

    sotarok
    sotarok 2008/05/21
    これは良い
  • TwitterにいるPHPのすごい人リスト

    PHP Community on Twitter ZEND DEVELOPER ZONEでPHPコミュニティのTwitterアカウントが紹介されています。 リストに並んでいるのはPHP家の人や海外の人ばかりだったので、日のすごいPHPerのTwitterアカウントを並べてみました。(()内はざっくりです;-)) TwitterをはじめたPHPerは要チェック! @LIND(baseball_flash、懇親会の人) @akiyan(はてぶTV、CakePHPの人) @bto(phshの人) @cocoitiban(Ethnaの人) @elf(よくきたなの人) @halt(Ethna、vimの人) @hiro_y(moonyの人) @hnw(round()の人) @ichii386(Ethnaの人) @iogi(PHP Extension勉強会の人) @iteman(Piece Fram

    sotarok
    sotarok 2008/05/04
    恐縮です>< これで生粋の焼肉人を名乗れます(違
  • 第2回CakePHP勉強会も盛り上がりました!

    第2回CakePHP勉強会が無事に終了しました。 申込受付時もそうでしたが、勉強会・懇親会も熱気に包まれて盛り上がりました。 Cakeだけに焼き立てな感じでした(・・・) addons.mozilla.org@CakePHP 37.5万PV/Web1台 やはり実際に稼働しているのでかなり参考になる ソースの他にhttp://wiki.mozilla.org/Update:Remoraも参考になる 相変わらずさすがのプレゼンw ソースをちらちらと見たが、すっきりまとまっており読みやすい 今は1.2 に盛り込まれている内容が独自に実装されていたり => memcached対応、多言語化とか 家とのやりとりをしたyando++ ニフティトピックイット@CakePHP 数百万PV/m => TVで紹介される => 数千万PV/mへ プレゼンの場で仕様確認w 使った理由 ・PHP4で高速開発 ・A

    sotarok
    sotarok 2008/02/25
    事例の話ききたかったなー
  • CakePHP勉強会を開催しました

    CakePHP勉強会を開催します。従来のPHP勉強会では一般化した内容しか取り扱えない面もある為、特化したイベントの開催を企画しました。 CakePHPを実際に使っている人、CakePHPに興味がある人で語らいましょう! events.php.gr.jp 12/7に東京で開催したCakePHP勉強会は無事に終了しました。 参加された方々、発表を行ったyandoさん、akiyanさん当にありがとうございました。 私もわたわたしながらも何とか発表を行うことができました。役立つかどうかは分かりませんwが、発表で使ったスライドをアップしておきます。 CakePHPを業務で導入する shin1x1 開始直前に内容から判断して順番を変えていただきました。 ここ最近バタバタで手が付けられず、結局新幹線でスライドを作りました。 な感じなのでいまいちパッとしない内容だったかもしれません。。。 ただダメなり

    sotarok
    sotarok 2007/12/08
    おーたのしそーやっぱいけばよかったかなあ
  • Piece Network 1に参加してきました。

    12月1日(土)に新大阪にてPiece Project主催のイベントPiece Network 1を開催します。 | Piece Framework – An Application Framework for Essential Development Practices 名前からPiece Framework関連のイベントかと思ったのですが、発表内容を見るとPHP全般を扱った内容だということで参加しました。 内容はとても興味深いものでお三方の発表はそれぞれ学ぶ点があり、楽しかったです。参加されて皆さんお疲れさまでした。 勉強会のメモをざっくりとまとめます。 1. ローカルマシン上に構築するPHP開発環境 久保敦啓さん なるほどと思ったのが、SAPIごとにphp.iniを変えるお話でした。何となくPHPマニュアルで認識はしていたもののあまり活用していませんでした。 php-cli.php

    sotarok
    sotarok 2007/12/02
    ぴーすだった
  • PHP E_STRICTで表示されるエラーメッセージを調べてみた

    年内のPHP4サポート終了に向けて、PHP5への移行が進む昨今です。 PHP5で推奨されていないスクリプトをチェックするのがE_STRICTです。E_STRICTが有効なのは分かっていたのですが、実際にどんなスクリプトがE_STRICTに引っかかるのかが、あやふやでした。 そこでE_STRICTで出力されるメッセージをPHPのソースから抜き出してみました。どのようなスクリプトがE_STRICTに引っかかるのか(引っかからないか)のヒントになればと思います。 ちなみにE_STRICTの活用方法としてマニュアルには[-l]オプションによるチェックが書かれていますが、スクリプトを実行しないと発生しないE_STRICTもあるので、実際には実行して確認する方が良いです。 1. Accessing static property %s::$%s as non static インスタンス変数をクラス変数

    sotarok
    sotarok 2007/11/18
  • PHPでメールの重要度を設定する

    PHPでテストしてみました。mb_send_mail()でメールヘッダを設定しているだけです。 <?php $to = 'hoge@example.com'; $subject = 'subject'; $body = 'body'; // ヘッダで重要度高を設定する $header = 'Priority: urgent'; //$header = 'X-Priority: 1'; //$header = 'X-MsMail-Priority: High'; mb_language('ja'); mb_send_mail($to, $subject, $body, $header); ?> このコードを実行すると、手元のBecky!では受信したメールに重要度高が設定されているのが確認できました。 どのヘッダを使用するかですが、Becky!では3つの内、どのヘッダを使用しても重要度が設定さ

    sotarok
    sotarok 2007/11/03
    重要度って普段つかったことないけど・・・><
  • PHPソースからドキュメントを生成するツール

    PHPソースからドキュメントを生成する主要な3ツールを試してみました。どのツールもそれほど深くは調べていないのでインストール+アルファ程度の設定変更で試しています。 環境はCentOS4.4+PHP5.2.3です。 phpDocumentor PHPでできたツールです。pearコマンドでインストールできることもあって、PHPのドキュメントジェネレータとして人気があります。 インストール pearコマンドでインストールできます。 $ pear install --alldeps phpdocumentor ドキュメント生成 phpdocコマンドで生成します。とりあえずドキュメントを生成するだけなら設定ファイルの変更は不要です。 ./src 以下のPHPファイルを対象に ./doc 以下にドキュメントを生成 $ phpdoc -t ./doc -d ./src [参考サイト] phpDocum

    sotarok
    sotarok 2007/11/03
  • 1