タグ

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

  • 人気のTwitterクライアントは?

    いつからかTwitterのfeedに投稿元を示すが含まれるようになりました。(情報ありがとうございました。>@fjkktkysさん) そこで投稿数からTwitterクライアントのランキングを出してみました。 集計期間は[9/10 00:00:00 ~23:59:59]、対象はprotectをかけていない投稿(public_timelineに表示される投稿)です。 Twitterクライアントランキング [日ユーザ] まず日ユーザでのランキングです。 1位はWindows用クライアントのTwitです。私も使っていますが、必要十分な機能が上手くまとまっており良いツールです。2位はim、3位はMac用ツールのtwitterrificとなっています。Mac用ツールでは5位にTwitterPodが入っており、Macでの専用クライアントでは人気を二分しているようです なお[web]はランキングに含め

  • 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

  • PHP 5.2.4 の新機能

    PHP5.2.4がリリースされています。 基バグフィックス&セキュリティアップデートのようなので大きな変更はありませんが、ChangeLogから興味を引いた変更点をメモしておきます。 –enable-versioningの廃止 追加機能では無いですが。 PHP3/PHP4を同時にApacheモジュールとして実行できるオプションでしたが、今回廃止されました。まあ昨今ではさすがに使っている人はいないでしょうけど、PHP3->PHP4の移行期には必須とも言えるオプションだったので、感慨深いものがあります。 PHPエラーをstderrに出力可能に CGI/CLI版では、display_errors=stderrに設定することにより、PHPエラーをstderr(標準エラー)に出力することができるようになりました。なおデフォルトではこれまでどおりstdoutに出力されます。 stderrPHPエラ

  • PHPカンファレンス2007に参加してきました

    2007/9/1に行われたPHPカンファレンス2007に参加してきました。 仕事の都合もあって木曜日から東京入りしていたので前日の会合から参加しました。また会場設営、撤去のお手伝いをする事もでき、以前参加した時に比べるとよりイベントに関われたので良かったです。 カンファレンスの講演は基調講演を除き2会場で行われたのですが、当初の予定どおりに動きました。どのセッションも面白かったのですが、特に午前中に行われた2セッション(基調講演、大規模サイトの構築・運用ノウハウ)は現在仕事で取り組んでいる内容と関連するものだったのでとても興味深かったです。 基調講演 PHP4/5/6の動向についてでした。特にPHP5.3/6については何となくは知っていたのですが、それほど熱心に追いかけていたわけでは無かったので、先のPHPが掴めたのが良かったです。 大規模サイトの構築・運用ノウハウ ウノウ/GREEの両C

  • 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

  • CakePHP データベースを使わないアプリケーション

    CakePHPはデータベースを使用することが前提となっているので、フレームワークがデータベースへの接続を自動的に行います。ただマッシュアップ系のサービスなどデータベースを全く使用しない場合はこの機能を無効にしたくなります。 そこでCakePHPアプリケーション全体でデータベースを使わない方法です。 ちなみにこの方法では[app/config/database.php]を作成する必要もありません。 1. モデルを使わない コントローラの$usesにnull or array()を設定することによりモデルを使用しないようにできます。データベースへの接続はモデルを介して行うのでモデルを使わなければ接続処理は行われません。(セッションやキャッシュをDBに保存する場合は別ですが) <?php class HogeController extends AppController { var $uses

  • 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を指定しなければなりません。 //

  • CakePHP 比較演算子インジェクションに注意

    @deprecated この情報はCakePHP1.2betaまでのものです。1.2RC1についてはこの方法は有効ではありません。詳しくはCakePHP 1.2RC1からは比較演算子をキーに書くをどうぞ。 CakePHPのモデルで検索条件を指定する場合は比較演算子に注意が必要です。 検索条件では↓な感じで条件値の他にSQLの比較演算子を入れることができます。 <?php class UserController extends AppController { funtion index($id) { $id = is_numeric($id) ? $id : 0; // $id より大きなidを持つレコードを取得 $list = $this->findAll(array('id' => '> ' . $id)); $this->set('list', $list); } } ?> これを見

  • PHPUnitでMockオブジェクトを使う

    PHPUnit3がリリースされました。このバージョンにはMockがサポートされているのですが、PHPUnit3はPHP5を対象としているので残念ながらPHP4では動作しません。ですのでPHP4対応のPHPUnitでMockクラスを使う方法を探ってみました。 使うのはPHPUnitと並ぶユニットテストツールのSimpleTestです。こちらはPHP4対応でMockクラスがサポートされています。これをPHPUnitと組み合わせて使ってみます。 SimpleTestインストール PEARパッケージが以前はあったようなのですが、sourceforgeにはそれらしいものが見当たりませんでした。 zuzara : symfonyチュートリアル実践【第14~16日目】を参考に以下のコマンドでインストールしました。 $ pear install http://jaist.dl.sourceforge.ne

  • 2038年問題

    32ビットPCでは数値を扱う限界があります。 PHPで日付を扱う事が多いと思いますが、UNIXタイムスタンプを利用すると数値 の限界に引っかかる事を知っておく必要があります。 【PHP TIPS】 8. 2038年問題:ITpro エントリではPEAR::Dateが紹介されていますが、ここでは別の方法を。 5.2.0以降になりますが、組み込みクラスのDateTimeクラスならこの問題に対応しています。 <?php $date = new DateTime('2038-1-19 12:14:07'); echo $date->format('Y/m/d H:i:s') . PHP_EOL; $date->modify("+1 day"); echo $date->format('Y/m/d H:i:s') . PHP_EOL; $date->setDate(3000,12,31); echo

  • 1