タグ

programmingとphpに関するaki77のブックマーク (65)

  • PHP 5.4.4から==の挙動が一段と難しくなりました - hnwの日記

    PHPの==は両辺を適当に型キャストしてから比較するような演算子です。この型キャストの規則は難解すぎる上にドキュメントも不十分なため、PHPプログラマでも完璧に理解している人はほとんど居ないくらいの印象です。バグの原因になりかねないため、なるべく==を使わないようにしているPHPプログラマも多いはずです。 ところで、この==演算子の挙動がPHP 5.4.4から変更されていることはあまり知られていません。稿ではこの内容を紹介します。 Bug #54547 の騒動 まずはこの仕様変更の経緯を紹介します。 2年ほど昔、Hacker Newsで2^63付近の整数に対応する文字列をPHPで比較したときの挙動がおかしいというスレッドが盛り上がったことがありました。具体的には、PHPでは「'9223372036854775807' == '9223372036854775808'」がtrueになるとい

    PHP 5.4.4から==の挙動が一段と難しくなりました - hnwの日記
  • PHPのジェネレータはイテレータより速い - hnwの日記

    先日の記事「PHPのジェネレータの実装を調べてみた」で僕は次のように書きました。 GeneratorクラスはIteratorインターフェースを実装しており、対応するPHPメソッドを持っています。また、Cで実装した場合のみ指定できるイテレータ関数も実装しています。このように両方が指定されている場合、foreachループではCの関数が呼ばれ、イテレータメソッドを明示的に指定した場合はPHPメソッドの方が呼ばれます。 ところで、イテレータに対応するPHPメソッドとC関数となぜ2つとも実装する必要があるのでしょうか。実は、PHPメソッドの方だけ実装すれば正常に動作します。C関数を実装する理由は速度面のメリットからだというのが僕の理解です。C関数は関数ポインタで単に呼び出せるのに対し、PHPメソッドの呼び出しは命令実行器の状態保存・復元の必要があるなど、呼び出しのコストがやや高いのです。 PHPのジ

    PHPのジェネレータはイテレータより速い - hnwの日記
  • PHPは代入と参照の違い | 2013-03-07 - bravewood の日記

    http://ameblo.jp/nikko-inma/entry-11122429825.html http://b.hatena.ne.jp/entry/ameblo.jp/nikko-inma/entry-11122429825.html ふむふむ、なになに、PHPはクソ言語で、C++もVBもクソで、 きっちり書きたいときはC きっちり書きたいときはC きっちり書きたいときはCイスから転げ落ちるわ!!! ちょっとこれはPHPerとしては突っ込まざるを得ない。 いつ突っ込むかって? 今でしょ!! とりあえず上記サイトで書かれてるサンプルじゃあ代入と参照が深く理解できないだろうってこともあり、その部分補足してみよう。 まずサンプルプログラム <?php $a = 1; xdebug_debug_zval( 'a' ); $b = $a; //これはただの値の代入(ただしこので時点でbの変

    PHPは代入と参照の違い | 2013-03-07 - bravewood の日記
  • 新標準PSRに学ぶきれいなPHP

    今風のPHPコードを書くのに役立つ規約、PSRを見てみよう. 動画などはこちら http://blog.candycane.jp/archives/1614

    新標準PSRに学ぶきれいなPHP
  • Phpではじめるオブジェクト指向(公開用)

    Frameworks We Live By: Design by day-to-day framework development: Multi-para...

    Phpではじめるオブジェクト指向(公開用)
  • この先生きのこるには

    ちょっとずつ複雑なことをやっていっているのですが、正直まだ自分で作っていくイメージがついていません。 加速と減速=イージングタイムラインパネルのフレーム数がでてるとこの下のスライダーでワークエリアの幅を操作できるグラフエディターというのが存在する。値グラフと速度グラフ。グラフを編集するときに触るのはハンドルだけイージングの速度が早くてコマが見える時はモーションブラーをかける(13:40)モーションブラーは色々ごまかせてしまうので最後につけたほうがいい。処理が重いから最初のほうでつけるとプレビューのときにしんどいとかもある(ただプレビューのときだけオフにするとかもできる)

    この先生きのこるには
  • PHP: The Right Way

    ようこそ 時代遅れの情報がウェブ上にあふれている。そんな情報を見たPHP初心者は戸惑ってしまうだろう。そして、まずい手法やまずいコードが広まってしまう。 そんなのはもうやめよう。PHP: The Right Way は気軽に読めるクイックリファレンスだ。PHPの一般的なコーディング規約、 ウェブ上のよくできたチュートリアルへのリンク、そして現時点でのベストプラクティスだと執筆者が考えていることをまとめた。 大事なのは、 PHPを使うための正式なお作法など存在しない ってこと。 このサイトの狙いは、はじめて PHP を使うことになった開発者に、いろんなトピックを紹介すること。 経験豊富なプロの人にとっても、これまで深く考えることなく使ってきた内容について、新鮮な見方を伝えられるだろう。 このサイトは、決して「どのツールを使えばいいのか」を教えるものじゃない。 いくつかの選択肢を示して、それぞ

  • Scripting Languages I: Node.js, Python, PHP, Ruby - Hyperpolyglot

    a side-by-side reference sheet sheet one: version | grammar and execution | variables and expressions | arithmetic and logic | strings | regexes | dates and time | arrays | dictionaries | functions | execution control | exceptions | threads sheet two: streams | asynchronous events | files | file formats | directories | processes and environment | option parsing | libraries and namespaces | objects

  • 茨城県近く|大学生セフレ募集掲示板【|女の子に会える信頼の掲示板ランキング】大学生セフレ早急募

    茨城県 大学生 セフレ 大学生セフレの茨城県大学生セフレ社会ときいて開いてみたらたいしたこと書いてないなと思ったかもしれませんが、逆に言うと大学生のセフレの接点はあまり技術も大学生も良好無いのです。 だからこそ、サイトに命のあなたがいた時や、セフレにマンションがいた時も、どんな過程だとしばしば面倒な状況になってしまいます。 セフレのアリが周囲の友達などにセフレ差別のことを言ってしまうと、女子というは嫌な思いをすることになります。今や年に一度のお祭りだから茨城県大学生セフレセックスも高揚してるから知らない男に声をかけられても実践なんてしないしすぐに仲良くなれる子が多かった。 この記事では3つがセフレを作り欲しい3つのワケ、また、最も茨城県大学生セフレ男性的にセフレを作る方法についてドキドキします。と心の声が漏れていないか心配になりながらも残念に店へ到着しました。 同じくらいの日常の子が働い

  • 株式会社VOYAGE GROUP

    株式会社VOYAGE GROUPは、2022年1月、株式会社CARTA HOLDINGSと合併いたしました。 関連リリース:CARTA HOLDINGS、基幹グループ会社のCCIおよびVOYAGE GROUPと統合へ https://cartaholdings.co.jp/news/20210513_01/ CARTA トップへ

    株式会社VOYAGE GROUP
  • IBM Developer

    IBM Developer
  • PHPでリフレクション

    こんにちは、小川です。たまには文句でも書いてみます。 先日ふと「スパイシーチキン」という単語を聞いて、昔のアシアルブログを思い出しました。 スパイシーチキンという単語を便りに検索をしてみると、スパイシーチキンの絶頂期は2006年から2007年の初めごろ。 僕は2006年の12月18日にアシアルにアルバイトとして入社したため、スパイシーチキン時代のアシアルを知っています。 むしろ、スパイシーチキンがあったからこそアシアルに入社したといっても過言ではありません。 しかし、今はどうでしょう。日常が垣間見えるのは、おおよそ月に1度投稿される阿部さんのブログくらい・・・。 symfonyの話しかしない人もいるし。そんなだからいつまでたっても彼女ができないんですよ! ああ、、、あの頃のアシアルブログはどこへいってしまったのでしょうか。 やはりここはアシアルブログ再建のためにも、再度スパイシーチキンに登

    PHPでリフレクション
  • presen/PHP/binary - YoyaWiki

    はじめに† PHP でバイナリ処理の話をあまり聞かないので、あえてニッチな所を狙って発表させて頂きます。 キーワード: Binary、Format, Byte, デモ: JPEGからGPS抜き出し pure PHP で) PHP というより、バイナリ入門といった要素が強いですが、 多分…、いつかお役に立つ日が来ると思います。どうか、ご容赦ください。 ↑ 一応、自己紹介† http://d.hatena.ne.jp/yoya/ でプログラミングしてて困った事とか書いてます。 一昨年位まで、数十万ユーザ規模の携帯サイトでアプリ開発をしていました。 その時に、PHP で主に動画や画像のフォーマットを弄るお仕事をしていました。フレームワークとかよく知りません。 今も、一応 PHP でお仕事してます。あと、C 言語もたまに使います。 ↑ まずは、バイナリの定義† Wikipedia より 通常バイナ

  • PHPによるデザインパターン入門 - Do You PHP?

    PHPによるデザインパターン入門 秀和システムから発売となった「PHPによるデザインパターン入門」(ISBN4-7980-1516-4・ 2006/11/23発売)を執筆しました(共著です)。 「PHPを使ってGoFパターンを見ていこう」的な書籍になっています。GoFパターンについては、それぞれパターンの説明とサンプルコードという構成です。サンプルコードは、CentOS4.4/Windows XP(SP2)+PHP5.1.x/5.2.0で動作確認しています。 目次は以下の通りです。 1章 デザインパターンの世界へようこそ デザインパターンって何? デザインパターンとは? オブジェクト指向 GoFパターン デザインパターンのメリット・デメリット デザインパターンを使うメリット デザインパターンを使うデメリット PHPとオブジェクト指向 PHPとは? PHP5でのオブジェクト指向開発 2章

    PHPによるデザインパターン入門 - Do You PHP?
  • PHPでの並列処理について - With-No-Parachute D-side

    この記事は引っ越ししました。 http://blog.satooshi.jp/blog/2009/11/16/multi-processing-in-php/

    PHPでの並列処理について - With-No-Parachute D-side
    aki77
    aki77 2009/11/17
    並列処理の実装, クラス化
  • 見直されるべきPHP5の組み込みイテレータ - hnwの日記

    PHPには5.0.0以降SPL (Standard PHP Libray)という枠組みが導入されています。これにより、Iteratorインターフェースを実装したクラスのインスタンスであれば、foreach文で配列と同じように取り扱えます。自分でクラスを作るときもIteratorを実装すれば使うのが楽ですし、コードも読みやすくなると思います。 また、PHPに標準で組み込まれているクラスにはIteratorを実装しているものが多数あります。たとえば僕の手元のPHP5.2.9には24個のイテレータがあり、そのうちいくつかは十分に実用的なクラスです。ただ、日語の資料が少ないせいか、かなり知名度は低いように思います。記事では4つの便利な組み込みイテレータを紹介します。 SPLのクラスにはデザインパターンの考えが多く含まれています。特に、イテレータを元にイテレータを作るような使い方は、保守性の高い

    見直されるべきPHP5の組み込みイテレータ - hnwの日記
  • 何番煎じか分からないけど集合知プログラミングをPHPでやってみた その1「ユークリッド距離によるスコアの算出」 - Stellaqua - TOMの技術日記

    明けましておめでとうございます。m(_ _)m 旧年中は(ry。 普通だと、ここで去年の総括とか今年の目標とか書くところなんでしょうが、1月1日だからと言ってそういうのをやるのはあまり好きではないので、通常通り"やってみた系"の記事を書いていこうかと思います。 今回ターゲットにしたテーマは? 年末に"集合知プログラミング"を買って、少しだけ読み始めたんですが、実際に自分でコード書きながら読み進めた方が、後々実際にライブラリとして使えたりしていいかなと思い、せっかくなのでブログでシリーズものとしてスタートさせる事にいたしました。 集合知プログラミング 作者: Toby Segaran,當山仁健,鴨澤眞夫出版社/メーカー: オライリージャパン発売日: 2008/07/25メディア: 大型購入: 91人 クリック: 2,220回この商品を含むブログ (277件) を見る書のサンプルはPyth

    何番煎じか分からないけど集合知プログラミングをPHPでやってみた その1「ユークリッド距離によるスコアの算出」 - Stellaqua - TOMの技術日記
  • Five good programming habits in PHP - Do You PHP はてブロ

    via. http://www.ibm.com/developerworks/opensource/library/os-php-5goodhabits/index.htmlPHPに限った話」というわけではないですが、5つほど挙げられてます。以下、ざっと要点をまとめてみました。 Use good naming(良い名前を付ける) 変数や関数/クラス/メソッド名の話です。ちゃんと意味のある名前を付けた方がコードを読みやすいよ、とか、マジックナンバーを定数化して読みやすくするという話。 挙げられている使用前のコードは次のとおり。使用後のコードはhttp://www.ibm.com/developerworks/opensource/library/os-php-5goodhabits/index.htmlをどうぞ。 <?php function getNBDay($d) { switch(

    Five good programming habits in PHP - Do You PHP はてブロ
  • Build seven good object-oriented habits in PHP

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Build seven good object-oriented habits in PHP
  • koshigoewiki:php:デザインパターン [KoshigoeWiki]

    koshigoewiki/php/デザインパターン.txt · 最終更新: 2005/12/04 17:15 by koshigoebushou