タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

ProgrammingとPHPとprogrammingに関するlarkerのブックマーク (25)

  • PHPのcopy関数がファイルサイズ分のメモリを消費する件の対策 - hnwの日記

    補足(2010/08/24 15:00):rename関数について言えば、同一ファイルシステム上であればrenameシステムコールを利用するのでこの問題は起こりません。さらに蛇足ですが、ファイルシステムをまたがってrename関数を利用するとコピーしてから削除することになり、アトミック性を保証できないため、障害の原因にならないかどうかの検討が必要だと思います。 「AKIBA de: PHPのrename()関数はファイルシステム間で使うとメモリをバカいする」で指摘されている通り、PHPのcopy関数やファイルシステムをまたがってrename関数を使う場合に、PHPがファイルサイズと同じ大きさのメモリを消費してしまいます。環境によっては再現しないかもしれませんが、僕の手元のMacOSX 10.5+PHP5.3.3環境では再現しました。 <?php // 「dd if=/dev/urando

    PHPのcopy関数がファイルサイズ分のメモリを消費する件の対策 - hnwの日記
    larker
    larker 2010/08/24
    PHP 5.3.3以降でのpatch
  • PHPの URLエンコード (urlencode, rawurlencode, http_build_query)

    (2013/5/19 変更:rawurlencode()はRFC3986なのにRFC1738と書いてたので訂正。) まずはurlencode()とrawurlencode()を比較。 urlencode() 半角チルダ(~)を%7Eに変換する 半角スペースをプラス(+)に変換する rawurlencode() 半角チルダ(~)の変換についてはPHPのバージョンによって違う PHP 5.2.xまでは、%7Eに変換する PHP 5.3.0からは、%7Eに変換しない(チルダのまま) 半角スペースを%20に変換する rawurlencode()はRFC1738 RFC3986に沿った変換とされているので、基的にはurlencode()よりrawurlencode()の方が無難。 ただし、RFC1738 3986ではチルダを%7Eに変換しない。 ちなみに、RFC1738はその後、RFC3986によ

    larker
    larker 2009/11/19
    URLエンコード
  • PHPの文字列比較で気をつけるべきこと – 暗黙の型変換 - EC studio 技術ブログ

    PHPではこのコードで true が出力されます。 かなりギョッとしますが、PHPのバグではなく仕様です。。 これはPHPとしてどういう解釈がされているのかを理解しないと とても怖い部分ですので、調査してみました。 ※もし間違っている部分などがありましたらご指摘いただければと思います。 文字列型と数値型の比較 どうやら、PHPでは文字列型と数値型(int,floatなど)など 違う型同士での比較を行う場合、自動で型変換が行われるようです。 整数値を文字列と比較する際、文字列が 数値に変換されます。

    larker
    larker 2009/11/13
    ==による文字列比較に罠
  • 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は駄目な言語なのか? - スラッシュドット・ジャパン

    趣味でやっている人のことは、まあ、いいとして(踏み台にされる可能性はあるけど)、仕事PHPを使うときの注意を書いておこう。 コーディング規約を守る。組織にコーディング規約がないなら、Zend Framework PHP標準コーディング規約 [zend.com]を使う。オレ流コーディングスタイルは禁止。 内部コードにはEUC-JPかUTF-8を使う。入出力もできるだけShift JISを避ける。Shift JISを使う場合には2byte目に0x5Cを含む文字の動作を忘れずに確認する。 開発環境の警告レベルをE_STRICTにする。番環境ではdisplay_errorsをオフにする。 register_globals、magic_quotesはオフにする。 type hintingを積極的に使う。 スコープの長い配列をクラスでラップする。 プレゼンテーションとロジックを分割すること。プレゼ