タグ

PHPに関するpaselaのブックマーク (261)

  • PHPをC++に変換して高速化する「HipHop for PHP」をFacebookが公開 : candycane development blog

    アメリカ時間の昼ごろにTwitter上が一つのニュースで埋め尽くされました。 PHPC++に変換して高速化する技術をFacebookが公開したというものです。世界中のPHPハッカーが注目する興味深いリリースという事でちょっと長いですが、リリースノートの和訳を行いました。 原文 http://developers.facebook.com/news.php?blog=1&story=358 Facebookにおいて重要なことのひとつが動作の速さです。過去6年間にわたって、PHPが提供する高速な開発ペースによって多くを成し遂げてきました。プログラミング言語としてみると、PHPはシンプルです。簡単に習得し、簡単に書き、簡単に読み、簡単にデバッグする事ができます。我々は他の言語よりも早くエンジニアを獲得し、それによってより早いイノベーションをすることができます。 今日、私は2年に渡って作業して

    pasela
    pasela 2010/02/03
  • PHPでTwitter APIのOAuthを使う方法まとめ

    この記事以降 Twitter API の仕様が変わっており、このままでは正しく機能しない場合があると思います。近いうちに今のやり方を書くので、それまで参考程度にご覧ください。 Twitter API の OAuth でひととおりやってみた。 忘れないようにメモ。 大雑把な流れ Twitter にアプリケーションを登録する。 Consumer Key と Consumer secret を取得する。 リクエストトークンを取得する。 認証用 URL を取得する。 ユーザーから承認を受ける(bot の場合は自分でやる)。 アクセストークンを取得する。 API にアクセスする。 以下、やった作業の手順です。 事前準備 HTTP_OAuth を使えるようにする OAuth の通信部分そのものは PEAR の HTTP_OAuth を使うことにしたので これをインストールする。 一番めんどくさい部分を

    PHPでTwitter APIのOAuthを使う方法まとめ
    pasela
    pasela 2010/01/13
  • sort関数と全順序集合 - hnwの日記

    大仰なタイトルですが、約1年前の記事「PHPのsort関数は相当おかしい」の補足記事です。僕が何を根拠にPHPのsort関数(の第二引数のデフォルト値)がおかしいと思ったかを説明します。一言でいうと、PHPの全ての値とSORT_REGULAR(言い換えるとPHPの<、==、>)の組み合わせが全順序集合になっていないからです。 前回の記事の概要 PHPのsort関数は第二引数で比較演算子を変更できますが、省略するとSORT_REGULARを用います。これはPHPの通常の比較演算子と同じ挙動で、両辺の値が数字っぽい場合は数値として、そうでなければ文字列として比較するものです。このような比較を用いると、ソートが不可解な挙動を示すことがあります。 $ php -r '$a=array("0xa","011","01a","2.0");sort($a);print_r($a);sort($a);pr

    sort関数と全順序集合 - hnwの日記
    pasela
    pasela 2010/01/08
  • We are Locutus

    All your standard libraries will be assimilated into our JavaScript collective. Resistance is futile. Welcome to Locutus, where the boundaries of coding languages blur. We’re a dedicated collective developers on a mission to explore the possibilities of porting standard libraries from various programming language (Go, Ruby, PHP, C) to JavaScript. Our journey is one of discovery, innovation, and so

  • PHPの言語仕様がウンコな理由個人的トップ10 - kなんとかの日記

    PHPerの問題点はPHPしか知らずに的外れなことを言うことだ」と、Javaしか知らなくて的外れなことを言っている連中にすら言われちゃってるPHPerのみなさん、こんにちは。 PHPは「使える道具」であることは事実です。しかし同時に言語仕様がウンコなのも事実。 ここでは、個人的にウンコだと思っているPHPの仕様を挙げてみたよ! htmlspecialchars() の名前が長すぎる これはほんとウンコ。おまえWebアプリのための言語やろが!なんでこの関数の名前がこんなに長いねん!こんだけ長かったらめんどくさがって echo $var としてまうやろが!WordPressのthemeでHTMLエスケープ忘れが多いのはおまえの名前が長すぎるせいだ! そんなわけで、全PHPerはこんな関数を定義するといいと思うよ。 ## echo $var; よりも短く h($var); と書ける! func

    PHPの言語仕様がウンコな理由個人的トップ10 - kなんとかの日記
    pasela
    pasela 2009/11/29
  • PHPをDisってるブログエントリを集めてみた - kなんとかの日記

    スクリプト言語の範疇に入らないかもしれない言語を使っているPHPerのみなさん、こんにちは。 PHP歴史は、Disられ罵られバカにされ続けた歴史です。 日は、その歴史を紐解いてみたいと思います(一部、PHP擁護派のエントリも含んでいます)。 なおここで紹介していない記事で、ほかに紹介してほしいものがあれば、教えてください。 あと引用は一部のみなので、元記事の全文を読むことを強くお勧めします。 2006年 PHPプログラマ in YAPC::Asia 2006 Tokyo - 0330 (twk @ ふらっと) では、PHPの世界に帰ります。Perlの人はRubyをうらやみHaskellにおどろきPHPを軽蔑すると言う文化になっているようです。 このころには、すでにPHPは軽蔑される存在だったようです。 昔、2ちゃんとかでよくあった、Perl = C++ , PHP = VBってな感じ?

    PHPをDisってるブログエントリを集めてみた - kなんとかの日記
  • not found

  • 【PHP vs Perl】 昔から議論になっている事ですが、結局の所どっちがどうなのでしょう?…

    PHP vs Perl】 昔から議論になっている事ですが、結局の所どっちがどうなのでしょう? 私自身は Perl 屋ですが、PerlPHP に負けているという事も無いような気がします。 しかし、人力検索でも随分と PHP の質問が多いように感じられます。Perl はどこですか?みたいな。 言語仕様的な面からそれぞれのメリットとデメリットを述べられる方はおりますか? 平たく言えば、Perl にできて PHP にできない、またはその逆について解説して頂きたいのです。 そして面白い事に、国内のブラウザゲームの大半は何故か Perl で記述されています。 最近は PHP も増えてきた感じもするのですが、中身を見るとそのソースは Perl もどきだったりもします。 個人的には Perl で全てが済むと思うのですが、何故にして PHP を使うのでしょうか?

  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

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

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
    pasela
    pasela 2009/08/28
  • MySQL - Rows matched - ふがし食べ隊

    MySQLでUpdate文を走らせた結果、こんな情報が最終行に表示されます。 Rows matched: 1 Changed: 1 Warnings: 0 もう一度同じUPDATE文を走らせるとこうなります。 Rows matched: 1 Changed: 0 Warnings: 0 該当行は存在するが、更新されなかったということです。 【MySQLマニュアル】 カラムの値がそのカラムの現在の値に設定される場合、MySQL はそれが現在の値であることを認識し、更新処理を行いません。 通常、PHPなどで更新された行数を返す関数は、Rows Changedの値を返します。 つまり、 【PHPマニュアル】 ゼロが返された場合、それは UPDATE 文でレコードが更新されなかったか WHERE 条件に当てはまる行がなかった、またはクエリが実行されなかったことを 示します。 更新すべき行があるのに

    MySQL - Rows matched - ふがし食べ隊
  • symfony/lime + phpUnderControl を使ってみる

    こんにちは、亀です。アシアルも技術者の人数がそこそこ増えてきて、技術ブログの当番が回ってくるまで日数がかかるようになったためか、久方ぶりのブログです。 さてさて、今回はちょっとツール使う系の話です。 ちょっと前にPHP勉強会で「phpUnderControl」というツールの事が話題に上がっていたのを見たのですが、これが個人的にはなかなか惹かれるツールでした。 phpUnderContorl とは phpUnderControlとは、「継続インテグレーション」というアジャイル開発手法(厳密には、アジャイルで提唱されたというより昔からあった概念のようです)を実現するための自動ビルド/テスト/開発支援ツールです。 PHPはビルドいらずのスクリプト言語なので、自動ビルドと言われても( ゚Д゚)ハァ?って感じですが、phpUnderControlは単純なビルドにとどまらず、色々な事をやってくれます

    symfony/lime + phpUnderControl を使ってみる
    pasela
    pasela 2009/07/15
  • mb_str_replace (mb_replace) - fetus

    何これ? マルチバイト対応版の str_replace 関数です。 PHP 標準関数ではないため、サイトによって mb_str_replace、mb_replace 等と表記にゆれがありますがおそらく同じものです。 何に使うの? 日語等(PHP が対応している言語なら何でも可)の文字列を一部置き換える場合に使います。 PHP に実装されている str_replace 関数はマルチバイト対応していないため、一部文字列が文字化けするかもしれません。 また、一部で行われている explode と join を使う方法等では思わぬところで文字が分断され、悲惨な結果になるかもしれません。 他に公開されているものとの違いは? オリジナルの str_replace 関数は $search, $replace, $subject が配列対応していますが、 ほとんどの場所で公開されている

    pasela
    pasela 2009/07/03
  • PCREはUnicode文字プロパティをサポートするとは限らない - hnwの日記

    (2011/05/19追記)CentOS5のpcreパッケージについて言えば、2010年7月以降Unicode文字プロパティが有効になっているそうです。安心ですね!(via「 CentOS5.5でCakePHP1.3系のInflector::slugを正常動作させる方法 - Lism.in * blog - nekoya (id:studio-m)」) PCREというのは、Perl互換の正規表現ライブラリです。PCREは例えばPHPのpreg系関数で利用されていますし、他の処理系でも多く利用されているかと思います。ところで、PCREの挙動は環境ごとに異なる可能性があることをご存知でしょうか。具体的には、Unicode文字プロパティをサポートする環境としない環境とがあり、同じ正規表現でも挙動が変わることがあります。僕はそんなことを考えた事もなかったので、ビックリしました。 同じ原因で、以前の

    PCREはUnicode文字プロパティをサポートするとは限らない - hnwの日記
  • ワンライナーのためのPHPコマンドラインオプション - hnwの日記

    ワンライナー(1行スクリプト)の代名詞と言えばPerlでしょう*1。Perlにはワンライナー向けのコマンドラインオプションが多数用意されています。中でも-neオプションや-peオプションは強力で、入力行ごとの処理をループを使わずに簡潔に記述できます。Perlのワンライナー向けコマンドラインオプションの一部はRubyにも輸入されており、Rubyプログラマもワンライナーを書くことが多いように見えます。 それに比べるとPHPはワンライナーが書きにくい印象があるのではないでしょうか。僕もそう思っていましたが、実はPHP5.0.0からワンライナー向けのコマンドラインオプションが追加されています。それが今回紹介する-R、-F、-B、-Eです。 -Rオプション、-Fオプション -Rというのは、標準入力を1行ごとに順に処理するオプションです。例を見てみましょう。 $ ls bin/php-* bin/ph

    ワンライナーのためのPHPコマンドラインオプション - hnwの日記
    pasela
    pasela 2009/06/22
    ライブラリを読み込まなくても無駄に何でも揃ってるので、案外有りかもしれないと思った。
  • PHPの比較の素晴らしさ加減は正常

    if ("0x0A" == "10") { print '(´ε` )チュッ'; } チュッ。されちゃいます。 文字列であっても整数と解釈できる文字列の場合は勝手に型変換しやがる今世紀最大の愚行を犯してしまうってのは有名な話だよね。 文字列であっても整数と解釈できる文字列の場合は自動的に整数に型変換してくれる超便利機能があるってのは有名な話だよね。 だけどなんでコレが一致するかわけがわからんかった。 0x0Aは10進数で10になるので一致する。と、言いたいところなんですがそう単純な話じゃないんだ。 以下の例を目ん玉見開いて見て欲しい。 var_dump(0x0A); var_dump("0x0A"); var_dump((int)"0x0A"); var_dump((float)"0x0A"); var_dump(intval("0x0A")); 実行結果 int(10) string(4

    PHPの比較の素晴らしさ加減は正常
    pasela
    pasela 2009/06/18
  • PHPのSpiderMonkey拡張を使ってPHPコード内でJavaScriptを使うチュートリアル:phpspot開発日誌

    PHPGoogleMapのジオコーディングAPIを簡単に使えるサンプルコードとラ... 次の記事 ≫:ブラウザで快適に見れるSymfony開発チートシート Using JavaScript in PHP with PECL and SpiderMonkey PHPのSpiderMonkey拡張を使ってPHPコード内でJavaScriptを使うチュートリアルが zend.com にて紹介されているみたいです。 インストール手順〜サンプルコード、動作結果までが紹介されています。 かなり前に「php-js」という同様にspidermonkeyを使うものを紹介しましたが、こちらも以下のようなコードがかけて、なかなか興味深い <?php // 拡張インストールで使えるようになったJSContextのinstanciate $js = new JSContext(); // 変数定義 $a = 10

  • サービス終了のお知らせ

    平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 件に関するお問い合わせはこちらよりお願いいたします。

  • モバイルサイト構築に便利なPHPフレームワーク用ライブラリまとめ - symfony&cakePHP » モバイル最新情報ブログ 株式会社アレグロワークス

    前に比べてPHPフレームワークを使ったモバイルサイト構築が ずいぶん増えてきたようです。 私が参考にさせていただいているPHPフレームワーク用ライブラリ?の中で symfony・cakePHPのものをご紹介します。 調べてみた限りでは、 symfonyでは結構モバイルのキャリア判別などFilterで管理することが多そうです。 まず最初に、sfMobileJPluginはsymfony1.2用らしく、 レポジトリに日語でのドキュメントもありました。 できることは以下のとおり。 ・URLを生成(link_to helper等)する場合、DoCoMo端末に対しては自動でUID取得のためのパラメータを付与します(imodeID or uid) ・テンプレートを切り分けることが可能になります。(モバイル共通、各キャリア毎に1テンプレート等) ymlの設定方法も載っていて、いろいろなことが

  • [PHP][Xdebug][vim][firefox] vim で PHP の remote debug - koziyの日記

    404 Not Found に書かれているとおりに設定すれば vim から Xdebug の remote debug を実行できます。 vim サイドでやること vim の feature で python と signs が有効になっている必要があり、RHEL や CentOS の場合は標準で有効になっていますので DBGp client プラグインをインストールすればよく、Debian や ubuntu の場合は vim 体と feature が別パッケージに分かれているので sudo aptitude install vim-pythonpython feature をインストールすれば OK です。 なお、feature の有効/無効は vim --version で確認できます。 DBGp client - a remote debugger interface to

  • PHPのSession Adoptionは重大な脅威ではない - ockeghem's blog

    なぜPHPアプリにセキュリティホールが多いのか?:第25回 PHPのアキレス腱にて、大垣靖男氏がPHPSession Adoption問題について取り上げている。大垣氏は度々この問題を取り上げているが、今のところ氏の主張に同調する人を見かけない。それもそのはずで、大垣氏の主張は間違っていると私は思う。 以下、大垣氏の主張を実際に試してみる形で、順に説明しよう。 大垣氏の主張 大垣氏の主張は、PHPにはSession Adoption脆弱性があるために、標準的なSession Fixation対策であるsession_regenerate_id()を施しても、その対策は有効ではないというものだ。 しかし,実際には現在に至るまでPHPのセッションモジュールのセッションアダプション脆弱性は修正されないままになっています。このために,来はsession_regenerate_id関数をログイン

    PHPのSession Adoptionは重大な脅威ではない - ockeghem's blog