タグ

programmingとphpに関するarrow0626のブックマーク (9)

  • PHPでメモリ上に一時ファイルを作る - hnwの日記

    blog.plastik.jp » PHP5 の fgetcsv() で読み込み内容が腐る現象」という記事を読みました。fgetcsv()だとSJISのCSVファイルがうまく読めないので、UTF-8に直してテンポラリファイルに保存してfgetcsvで読み込む、という筋書きのようです。 ちゃんとtmpfile()を使っていたりしてナイスなコードだと思います。でも、すぐ不要になるデータをディスクに書き込むのはイマイチじゃないでしょうか。ここはメモリに書いた方がカッコいいと思うんです。僕なら下記のようにします。 <?php $data = file_get_contents("example.csv"); $data = mb_convert_encoding($data, "UTF-8", "Shift_JIS"); $fp = fopen('php://memory', 'r+'); fw

    PHPでメモリ上に一時ファイルを作る - hnwの日記
  • PHPのsort関数は相当おかしい - hnwの日記

    追記(2009/02/28 15:35):ソートする配列の要素が数値または数値形式の文字列のみの場合は、<、==、>が推移律を満たすので、この記事のような矛盾は起こりません。念のため。 オヤジギャグがこらえられなくなったら立派なオヤジだと思います。それはさておき、今日はPHPのsort関数が不思議な挙動をする例を紹介します。 sort関数の紹介 sort ― 配列をソートする 説明 bool sort ( array &$array [, int $sort_flags= SORT_REGULAR ] ) この関数は配列をソートします。この関数が正常に終了すると、 各要素は低位から高位へ並べ替えられます。 PHP: sort - Manual マニュアルをみる限り普通のソート関数です。省略可能な2番目の引数の意味は次の通りです。 sort_flags オプションの 2 番目のパラメータ s

    PHPのsort関数は相当おかしい - hnwの日記
  • ブラウザで正規表現のチェックなどができるサイトまとめ | IDEA*IDEA

    ドットインストール代表のライフハックブログ

    ブラウザで正規表現のチェックなどができるサイトまとめ | IDEA*IDEA
  • 三項演算子の正しい書き方

    C・C++JavaPerl などのプログラミング言語では、条件演算子として三項演算子?:が用意されている。条件演算子の書き方として、以下のような説明がされることが多い。 condition ? true-expression : false-expression この説明は、以下のプログラムと同じ程度、間違っている。 #include <stdio.h> main( ){printf ("hel" "lo, world\n" );} 条件演算子は、正しくは以下のように書く。 condition ? true-expression : false-expression 使い方の例を示す。 compare = obj1 == null ? obj2 == null ? 0 : -1 : obj2 == null ? 1 : obj1.toString().compareTo(obj2.to

  • PHP コード最適化 Best Practices 63+ - カタコト日記

    みたいなタイトルの記事を Digg 経由で発見。チートシート代わりにと思い超訳。*1 A Software Architect PHP 最適化 ベストプラクティス! 01. static にできるメソッドは static として宣言しよう。(4倍速い) 02. echo の方が print より速い。 03. echo '文','字'; (カンマ区切り)の方が、'文'.'字' (ドット連結)より速い。 04. ループの最大値は、ループ「内」ではなく「前」にセットしておこう。 05. 大きい配列のような変数は unset() してメモリを解放しよう。 06. マジックメソッド(例: __get, __set, __autoload)は使用を避けよう。 07. require_once はハイコストなのです。 08. include や require でファイルはフルパスで指定しよう。 09

    PHP コード最適化 Best Practices 63+ - カタコト日記
  • PHP-users.jp - 日本のPHPユーザのためのハブサイト

    まずは連載記事で PHP を理解しよう! [Think IT] 一気に覚えるPHP! まずは PHP の基礎を概念から学びます。関連する連載記事も豊富なので一気に読み込んでしまいましょう。 PHPプログラミングの基礎を学ぼう(1/2) - @IT Apache + MySQL + PHP でウェブサービス開発の勘所を学びます。 PHPのコミュニティ ポータルサイト「PHPプロ!」 PHPに関する最新ニュース、開発に使えるちょっとした Tips などを公開。Q&A掲示板も充実しています。 もっと便利に PHP を使うには? 【一気に覚えるPHP!】使えるスクリプト! PHPのライブラリーであるPEARや、フレームワークが紹介されています。 連載:CakePHPで高速Webアプリ開発|gihyo.jp … 技術評論社 CakePHP というフレームワークを使った爆速サイト開発の手法いろいろ。

  • PhpUnit - 最強のユニットテスト自動化ツール - Do You PHP?

    zip形式 tgz形式 gihyo.jpにPHPUnit3で始めるユニットテストというタイトルで記事を書きました。PHP5をお使いの方は、そちらを参照してください。 ここにある情報はかなり古くなっており、正しくなくなっている可能性があります。掲載しているサンプルコードiなどは、最新のPHPでは動作しない、もしくは、別途設定・調整が必要になるかも知れません。情報を鵜呑みにせず、あなたの手を動かして、あなたの目で確認してください。 PhpUnitは一時期PEARに登録されていましたが、現在は別プロジェクトとして活動しています。新しいURLはhttp://phpunit.de/です。 テスト。。。ああ、なんてイヤな響きでしょう。。。(^-^; 「テストすること」はプログラムの品質を保証するということで非常に重要な作業だ、ということは百も承知と思いますが、コーディングと比べてやはり「イヤ」なもの

  • PEAR 標準コーディング規約

    注意 PEAR 標準コーディング規約は、 PEAR の公式ディストリビューションに含まれるコードに適用されます。 コーディング規約 (Coding standards) は、開発者たちの間ではよく CS と略されます。この規約の狙いは、コードの一貫性を保つことと PEAR の開発者たちがコードを保守しやすくすることにあります。 インデント 空白 4 つのインデントを使用します。タブは使いません。 これにより、diff や patch、CVS history や annotations の際に問題が発生するのを避けることができます。 Emacs を使用する場合、indent-tabs-mode を nil に設定する必要があります。 Emacs を設定するモードフックの例を次に示します (PHP ファイルを編集する際に これがコールされるようにする必要があります)。 (defun php-

  • 作って理解するAjax:ITpro

    最近,Webエンジニアのまわりで注目されている技術に「Ajax」(エイジャックス)があります。従来のWebアプリケーションはインタラクティブな処理の際,ユーザーにページのリロード作業を強いることが多く,決して操作性が良いとは言えませんでした。しかしAjaxを利用すると,サーバーと非同期な通信ができるので,ページをリロードすることなくコンテンツを更新できます。このためデスクトップ・アプリケーションと同様な操作性を持つWebアプリケーションを作成できます。連載では,実際にAjaxアプリケーションを開発しながら,Ajaxアプリケーションの動作の仕組みや,既存のWebアプリケーションとの違い,実装上の注意点などについて紹介していきます。 目次 第1回 古くて新しいアーキテクチャ 第2回 インクリメンタル検索を実現(クライアント編) 第3回 インクリメンタル検索を実現(サーバー編) 第4回 予測・

    作って理解するAjax:ITpro
  • 1