タグ

phpに関するstudio-mのブックマーク (241)

  • PHPカンファレンス2014でHHVM/Hackの話を聞いて感動した - As a Futurist...

    使える言語の幅を広げたいと思ってPHP カンファレンス 2014に参加してきました。徳丸さんの「安全な PHP アプリケーションの作り方 2014」は改めて自分のセキュリティの知識を確かめるのに大変有意義だったのですが、何より感動したのが Facebook の Paul Tarjan による「HHVM + Hack == PHP++」のセッションでした。 すごく簡単に僕が理解した限りで HHVM/Hack を紹介すると、HHVM とは PHP の処理系の一つの実装です。その特徴は JIT コンパイルにより超高速になっていることに加え、圧倒的な魅力は PHP の Extension(C 拡張ライブラリ)の多くが実装されていて PHP のメジャーなフレームワークが問題なく動作するということです。つまりもう実践で戦えるということ。そして、Hack というのは HHVM が処理できるもう一つの言語

    PHPカンファレンス2014でHHVM/Hackの話を聞いて感動した - As a Futurist...
    studio-m
    studio-m 2014/10/14
  • PHP5.3.7のcrypt関数のバグはこうして生まれた

    昨日のブログエントリ「PHP5.3.7のcrypt関数に致命的な脆弱性(Bug #55439)」にて、crypt関数の重大な脆弱性について報告しました。脆弱性の出方が近年まれに見るほどのものだったので、twitterやブクマなどを見ても、「どうしてこうなった」という疑問を多数目にしました。 そこで、このエントリでは、この脆弱性がどのように混入したのかを追ってみたいと思います。 PHPのレポジトリのログや公開されているソースの状況から、PHP5.3.7RC4までこのバグはなく、PHP5.3.7RC5でこのバグが混入した模様です。RC5はPHP5.3.7最後のRelease Candidateですから、まさに正式リリースの直前でバグが入ったことになります。 バグの入る直前のソースは、ここの関数php_md5_crypt_rから参照することができます。以下に、おおまかな流れを図示します。まずはバ

    PHP5.3.7のcrypt関数のバグはこうして生まれた
    studio-m
    studio-m 2011/08/24
  • メールアドレス(addr-spec)の正規表現 | へぼい日記

    能書き 前エントリを書いてからいろいろと調べていて驚いたんだけど、日語のwebsiteで、それなりにまともにRFC822(RFC2822,RFC5322)に準拠した(もしくはきちんと意図的に準拠していない部分を選択している)正規表現はPerlだろうがPHPだろうがRubyだろうが軽くぐぐった程度では見当たらない。PerlのモジュールのEmail::AddressもEmail::Validも程度の差はあれ問題を抱えている。そこらへんの既存の出回ってる正規表現にどういった問題があるかなんてことは次回エントリにて。 というわけで、PerlPHPRubyでRFC5322準拠なメールアドレス(addr-spec)の正規表現を以下に示します。尚、addr-specの最終的な正規表現のみならずそれを作成するに至る部分も併記してあります。これは、最終的な正規表現だけでは難解すぎてとても理解できないか

  • より良いPHPerにならないための20Tips

    http://1-byte.jp/2011/03/20/20_tips_you_need_to_learn_to_become_a_better_php_programmer/ 良いPHPerだって?そんなものは丸めてゴミ箱にでも捨ててしまった方が資源の再利用になる分いくらかマシだ。 つまり俺たちがしなくちゃならないことは「より良いPHPerにならないため」に何ができるかってことなのさ。 それじゃ、始めよう。 1. ?>を使うな?>なんて使っちゃいけない。そう俺たちはBAD PHPer。 無駄なホワイトスペースの出力に悩まされるくらいなら対称性なんて丸めてゴミ箱にでも捨てた方がまだマシだ。非対称性こそが賛美。 2. 設定ファイルをPHPで書くなrequire_once("config.php"); 未だにこんなことやってるやつがいるのかいベイベー。絶対にダメだ。この一行を見たら俺は悶絶する

    より良いPHPerにならないための20Tips
    studio-m
    studio-m 2011/03/21
    5が誤解を招きそうなのと、18やるならPHP捨てた方がいい気がする以外は同意。
  • 手を動かして覚えるPHP 5.3新機能 日付(DateTime,DateInterval)編 | Act as Professional

    重要なことだから最初に伝えておくと、PHP5.3からは日付や時間の計算にUNIXTIMEなんて使わないでね。 2038年問題とかパッとみて、「これ何日間なの?」とか計算するのは、さよならしましょう。 手元にPHP5.3環境がある人は、インタラクティブモードを利用して実践しながら読むことをおすすめします。 さぁ、コンソールをひらいて、下記のコマンドを実行しましょう。 $ php -a DateTimeオブジェクト PHP5.3から導入された新機能として、日付に関するオブジェクトが増えました。 それが、DateTimeオブジェクトです。 $now = new DateTime(); echo $now->format("Y-m-d H:i:s") . PHP_EOL; 2010-12-28 23:00:20+09:00 昨日、明日、来週、来月はこんな感じ。 $yesterday = new D

    手を動かして覚えるPHP 5.3新機能 日付(DateTime,DateInterval)編 | Act as Professional
    studio-m
    studio-m 2010/12/29
    PHP5.2でもDateTimeが使えること、時々でいいので思い出してあげてください。機能は足りないけど。
  • PHP Matsuriに行って、日本のエンジニアのリアリティを感じてきた

    if ( $blog == " Webエンジニアのためのライフハック " ) { print " 1-byte.jp "; } ホーム1-byte.jpとは 書いてるヒトは 先日、PHP Matsuriが盛大に開催されました。 1-byte.jpでもPHP Matsuriの紹介記事を1ヶ月ほど前に書きました。 季節外れのお祭り – PHPMatsuri これを書いたときは、不参戦表明をしていたのですが、急遽参加出来ることが決定。 気張って参加してきました! PHP Matsuriで何が起こったか 会場は、総勢約80名ほどのPHPer達の熱気が充満しています。 長い期間を掛け、準備してきたスタッフ達、今日のためにハックネタを用意してきたエンジニア達…。 とにかく、様々な方々が様々なところから、様々な期待を込めて集まっていました。 その中にはCakePHP、Lithium、Symfony

  • 変化の時(Nate AbeleがCakePHPプロジェクトから離脱してLithiumを立ち上げた理由) : candycane development blog

    photo by gregchiasson cakephp.jpのフォーラムや一部のユーザの間でも話題になっていますが、4年間にわたってCakeの発展に貢献してきたプロジェクトマネージャのGarrett Woodworth氏とリードデベロッパのNate Abele氏が10/23頃にCakePHPプロジェクトを去りました。 そして新たに立ち上げられたのがLithiumというそれまでCake3と呼ばれていたフレームワークのプロジェクトです。 色々と憶測を呼んでいましたが、Nate人がこのあたりの経緯をLithiumのプロジェクトブログで語っています。 またNateの開発に対する姿勢は一般の開発者にとっても刺さる内容と言えると思いますのでCakeに関心がない方にもおすすめできます。 人の了解の元に日語訳を作ったのでここに掲載します。 原文 http://rad-dev.org/li

    studio-m
    studio-m 2010/09/09
  • オレの持病は釘宮病 » Blog Archive » phpでコーディング規約に沿っているかチェックするPHP_CodeSniffer(javaでいうcheckstyle的な)

    studio-m
    studio-m 2010/09/09
  • : PHP賛歌

    PHP/セキュリティの専門家として知られるクリス・シフレットさんのブログで紹介されていたのが、Emergent Collective OneによるPHPを讃える歌"PHP Anthem"。ラップです。 シフレットさんが歌詞を聞き取ってくれています。英語の歌詞はリンク先で。面白いので日語に訳します。歌詞中に適宜解説のリンクがつけられてますので、PHPの勉強にもなるのでは。 オーイェー (オーイェー) (ある日突然そいつはオマエにヒットした。それはまるで…) オーイェー。 今年はとてもPHPだぜ。 左手にはマイク、右手には、冷えたビール。 Apacheをコンパイルしろ。 今やバージョン5、そして後部座席には二人の美女だぜ。 ああ、時にはコードがちょっとクズっぽく見えることもあるさ。 でもよ、これはコールドフュージョンじゃないんだぜ。 sassy(馴れ馴れしく)話すのはやめて、彼女らのパンティ

    : PHP賛歌
    studio-m
    studio-m 2010/08/06
  • WikiHub :: php-funcref-in-perl :: README

    目的 http://jp2.php.net/manual/en/funcref.php PHP: Function Reference - Manual の用な体裁でPerlのドキュメントを整備したいと思います。 なんでもPHP -> Perlに移行組とかには需要があるそうです(by junichiroさん)。 PHPからPerlにくる人にモダンなPerlを知ってもらいまっしょい。 やる事としては、PHPのリファレンスにある各組み込み関数と同等の実装をPerlで行った場合にどうなるのか?というコードを集めたいと思います。 「PHPのこの関数と同じ事をPerlでどうやるんだ?」といった需要を満たせるようになればいいなぁ。 Viewer wikihub で見れます。 http://wikihub.org/wiki/php-funcref-in-perl Community #perl-casu

  • 書籍「PHPによるデザインパターン入門」のGoF23パターン公開完了 - Do You PHP はてブロ

    ずいぶん時間がかかりましたが、日公開したVisitorパターンで、GoF全23パターンの公開が完了しました。 で、これに伴い、校正前の原稿テキストを(一部を除き)順次公開しようと思います。基的に『原稿テキストをHTML形式に変換したもの+図画そのまま』ですので、誤字/脱字、説明不足の箇所もあるかも知れませんがご了承ください。挿絵はありません。 http://www.doyouphp.jp/book/book_phpdp.shtml とりあえず、第1章、第4章のTemplateMethodを公開しました。残りの22パターンは週一ペースでアップしていこうかと思います。 コードの書き方がなってないとか、autoload使ってないとか、namespace使ってないとか、こんなところでこんなパターン使わねーよとか、いろいろとツッコミたい人はこれをダシにして是非Blogエントリ書いてください;-)

    書籍「PHPによるデザインパターン入門」のGoF23パターン公開完了 - Do You PHP はてブロ
    studio-m
    studio-m 2010/07/26
    時々見てます
  • PHPのstream wrapperをさわってみた - おぎろぐはてブロ

    PHPには、ストリームラッパーというファイルなどへのアクセスを抽象化するしくみがあります。普段よく使う http:// とかがそうです。 組み込みで提供されるストリームラッパーは以下です。 ファイルシステム HTTP と HTTPS FTP と FTPS PHP 入出力ストリーム 圧縮ストリーム データ (RFC 2397) Glob Phar PHP: Supported Protocols and Wrappers - Manual それぞれどういうふうに使うものなのか試してみました。 ファイルシステム /path/to/file.ext relative/path/to/file.ext fileInCwd.ext C:/path/to/winfile.ext C:\path\to\winfile.ext \\smbserver\share\path\to\winfile.ext f

    PHPのstream wrapperをさわってみた - おぎろぐはてブロ
    studio-m
    studio-m 2010/07/03
  • PHPエクステンションのリポジトリ始めました - 讃容日記

    長らく放置しておりましたブログとPHP拡張のメンテをぼちぼち再開します。 で、復活第一弾のエントリはPiece Network 3のテーマとして、PHP 5.3のサポートとGitHub/PEARチャンネルの公開をしましたので、そのご報告をば。 現時点ではよく使われているっぽいMeCabエクステンションと Tokyo Cabinetエクステンションを公開しています。他のものも需要がありそうなものから順次追加していきます。 PHP 5.3対応 PHP 5.3から ZEND_BEGIN_ARG_INFO_EX() マクロにstatic修飾子が含まれるようになったため、static ZEND_BEGIN_ARG_INFO_EX(...) としていた箇所が軒並みエラーになっていたので、これを修正しました。 また、php_set_error_handling(), php_std_error_hand

    PHPエクステンションのリポジトリ始めました - 讃容日記
    studio-m
    studio-m 2010/07/03
  • ウノウラボ Unoh Labs: PHPで暗号化・復号化あれこれ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    ウノウラボ Unoh Labs: PHPで暗号化・復号化あれこれ
  • PHP6開発 UTF-16化を断念、5.3へロールバック | エンタープライズ | マイコミジャーナル

    PHP: Hypertext Preprocessor PHPの次期メジャーバージョンはPHP6になるとみられてきたが、問題を打破するために開発ブランチを5.3ベースへ巻き戻すという対処が実施された。Rasmus Lerdorf氏がphp.internals: PHP 6においてPHP6 Unicodeの実装が失敗したことを伝えている。PHP6ではエンジン内部の処理がUTF-16に統一される計画になっていたものの、関係者からはこの方針は間違っているのではないかという指摘もあった。今回実装が行き詰まったことで、PHPはUnicodeに対して新しいアプローチをとることになる。 このあたりの事情がFuture of PHP 6 - Johannes Schluterにまとまっている。紹介されている内容をまとめると次のとおり。 これまでの取り組み PHP6で取り組む基的な内容として、PHPエンジ

    studio-m
    studio-m 2010/03/17
    今後も5ベースで開発が進むだけの話なので、ユーザーにとってはそんなに大騒ぎする内容ではない。落ち着いて受け止めよう。
  • 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?
    studio-m
    studio-m 2010/03/01
    『PHPによるデザインパターン入門』絶版に伴って原稿公開
  • XHProf Documentation (Draft)

    Contents Introduction XHProf Overview Installing the XHProf extension Profiling using XHProf Setting up the XHProf UI Notes on using XHProf in production Lightweight Sampling Mode Additional features Dependencies Acknowledgements Introduction XHProf is a hierarchical profiler for PHP. It reports function-level call counts and inclusive and exclusive metrics such as wall (elapsed) time, CPU time an

    studio-m
    studio-m 2010/01/05
    XHProf is a hierarchical profiler for PHP
  • http://symfony.sarabande.jp/

  • pgjapan.net

    The domain has expired and may be available at auction. Register or transfer domains to Dynadot.com to save more and build your website for free!

  • 配列か連想配列かを判別する - Unknown::Programming

    PHPにおいて、ある配列が連想配列として使われているのかどうかを判別したい場合どうすればいいのか。 色々調べてたらこんな記事を発見しました。 <?php function is_hash(&$array) { return array_keys($array) !== range(0, count($array) - 1); } テレパス・ラボ : 連想配列 判定関数(is_hash) なるほど。 array_keysで配列のキー一覧を取得し、そのキー一覧が0からの連番になっているかどうかを比較すれば、対象の配列が配列なのか連想配列なのかを判別できるという理屈ですね。 確かにこれで判別ができそうです。 ですがひとつだけ気になる部分があって、array_keysやrangeを使って一時的な配列を確保しているのは無駄が多いのではないかと。 対象となる配列が大きければ大きいほどメモリ効率が悪くな

    配列か連想配列かを判別する - Unknown::Programming
    studio-m
    studio-m 2009/11/19