タグ

phpに関するdiary193のブックマーク (67)

  • Post by @mask-legacy · 1 image

    みなさん、こんにちは。マスク・ド・レガシーです。 PHPカンファレンスも無事に終わり、ゆっくりと休暇を楽しんでいたところ、にわかにタイムラインが騒がしくなっていました。今回は話題の中心になったSpikaを題材にPHPのコーディングについて考えてみようと思います。 SpikaはMITライセンス化のオープンソースとして公開されたメッセンジャーアプリケーションです。プロジェクトにはネイティブで実装されたiOS、Android向けのモバイルアプリケーションとPHPで実装されたサーバーサイドを組み合わせる事で独自のメッセンジャーサービスを構築する事ができます。 メディアの記事ではバックエンドはCouchDBとの事でしたが、プッシュ通知を管理する為のキューと管理画面にMySQLも利用されています。インストーラーによると動作条件は下記の通りです。 PHP 5.0 or higherMySQL 4.0 o

    Post by @mask-legacy · 1 image
    diary193
    diary193 2013/10/09
  • PHPを使う理由

    今年もやって参りました年末を彩る PHP Advent Calendar 2012 です。3年目ということですっかり恒例行事となってきましたね。今年も完走目指してみんなで頑張りましょう! 参加枠があとわずかですが残っていますので、いっちょやってみようという方は参加表明をお願いします。 PHP Advent Calendar さて、初日は前から書いてみたかったテーマです。 PHPをWebシステム開発言語として使い出してかれこれ12年が経ちました。これだけ長い間使い続けているとうことは何か理由があるわけです。そこで、あらためてその理由を考えてみました。 1. 安定して動作する まず、なんと言っても大きいのが安定して動作し続けているということです。 規模の大小に関わらず数多くのWebサイトがPHPで動作しているのは周知のとおりです。私がこれまでPHPで構築してきたWebシステムが現在でも動作して

    diary193
    diary193 2012/12/02
    いい意味でも悪い意味でも言語そのものにこだわりがない人が多い印象。そのため可読性の悪いコードが量産されるので保守担当が痛い目をみやすい言語かな。
  • PHP5.5新機能「ジェネレータ」初心者入門

    PHP5.5の新機能「ジェネレータ(Generator)」について、「それって何?」「どううれしいの?」「何に使えるの?」の3つを初心者向けに解説。動画 http://www.slideshare.net/kwatch/php55

    PHP5.5新機能「ジェネレータ」初心者入門
    diary193
    diary193 2012/09/17
    メモリ消費量少なくストリームデータを扱えるのは魅力。だけどgotoに似た可読性が低いコードになる怖さを感じる。ライブラリ経由で使うようにして表舞台にはでてきてほしくない。
  • Gree Fast Processor: PHPを3倍(くらい)速く | GREE Engineering

    ごあいさつエントリだけというのもなんなので、引き続きfujimotoです。実質上1つめのような気がするこのエントリでは、PHPが3倍くらい(少なくとも2倍くらいは...)速くなるGree Fast Processorというのを先月作ってみたのでご紹介です。 すぐわかるまとめ Gree Fast Processorというのを使ってみると、シンプルなsymfonyのプロジェクト(xav.ccで試しました)でも2倍弱、結構複雑なアプリケーションだと7倍くらい速くなったりします。いくつかの制約がありますが、パフォーマンスに飢えているかたはお試しください。 こちらはなんかすごい速くなっている感じのグラフ(一番上が速くなった版のRequests per Second、赤が通常版のRequests per Second): これはさすがにbest caseすぎる気がしますが、普通にやっても2倍弱くらいは

    Gree Fast Processor: PHPを3倍(くらい)速く | GREE Engineering
    diary193
    diary193 2010/07/18
    PHPプロセスのプーリング。ただし、それなりの規模のサイト向け。世間的にはこれを使ってバックエンドを複雑にする前に、チューニングすべきコードがあると思われる。
  • ke-tai.org > Blog Archive > OSC 2010 北海道の発表で使用したスライド資料「PHPで大規模ブラウザゲームを開発してわかったこと」

    OSC 2010 北海道の発表で使用したスライド資料「PHPで大規模ブラウザゲームを開発してわかったこと」 Tweet 2010/6/28 月曜日 matsui Posted in PHP, お知らせ | 7 Comments » 先日6月26日、札幌で「オープンソースカンファレンス2010 北海道」が行われ、無事終了することができました。 当日は来場者数が過去最高の約450名となり、閉会式は会場に収まりきらないくらいの大盛況でした。 ご来場者の方々、スタッフ・事務局の方々、当にありがとうございました。 私も1コマセミナー枠を戴くことができまして、弊社で「ブラウザ三国志」というゲームのプログラム開発を行った際の苦労やノウハウなどをまとめた、「PHPで大規模ブラウザゲームを開発してわかったこと」という発表を行わせていただきました。 お越しいただけなかった方のためにも、その際に使用したスライ

    diary193
    diary193 2010/06/29
    PHP/MySQLに限らない負荷対策。参照主体でなく、頻繁に更新が発生するゲーム開発ならではの視点なのでOLTP系にも活用できるかも。
  • れぶろぐ - [PHP] mb_convert_encoding 関数の ISO-2022-JP と JIS の違い

    ■ mb_convert_encoding 関数の ISO-2022-JP と JIS の違い mb_convert_encoding() 関数でエンコーディングを指定する際、 ISO-2022-JP と JIS では意味が違うというのはご存知でしょうか? PHP のソースコード (mbfilter_jis.c) を見てみると、 それぞれのエンコーディングが対応する文字種は、次のようになっています。 ISO-2022-JP ASCII JIS X 0201 ラテン文字 JIS X 0208 JIS ASCII JIS X 0201 ラテン文字 JIS X 0201 半角カナ JIS X 0208 JIS X 0212 要するに、JIS は半角カナに対応していますが、ISO-2022-JP は対応していません。 そのため、半角カナのメールを扱うという無茶なことをやりたい時には、 ISO-20

    diary193
    diary193 2010/06/28
    「とりあえず mb_convert_encoding() を使う際には、 ISO-2022-JP と書くよりは JIS と書いておいた方が良い」
  • 2010-05-20

    C++ の const には、2つの意味があります。 定数という意味での const と、 メソッドを呼んでもオブジェクトの状態が変異しませんよというconstです。 前者は、こんな感じの書き換え不可に使います。 const int a = 10; printf("%d\r\n" , a ) ; //読み込みはOK printf好き //書き込みは不可 const なので書き換えられない。 a = 20; 後者のメソッドを読んでもオブジェクトの状態が変異しませんよなconstはこんな風にメソッドの後ろにつけます。 class myClass { private: int a; public: // ↓これ void abc() const { //この中では、オブジェクトメンバ変数への代入が禁止になります. printf("%d\r\n" , this->a ) ; //読み込みはOK /

    2010-05-20
    diary193
    diary193 2010/05/20
    新潟の時代到来w/島根言語でいう attr_reader だよね
  • PHPの種 ブログ » xdebug追加をphp.iniに記述するとき、zend_extension=か zend_extension_ts=なのかを見極めるには。

    xdebug追加をphp.iniに記述するとき、zend_extension=か zend_extension_ts=なのかを見極めるには。 表題の、Xdebug追加時のモジュール指定、LinuxだったりWindowsだったりでも違ったりするので入れる度に迷ってしまっていた昨日にFarewell!(さらば!)です。 Eclipse用xdebug pluginについてくるマニュアルPDFに詳しく書かれていました。 If you don’t get this and you are sure the path is correct then you need to make sure you have the correct entry for zend_extension in your PHP.INI file. When you do PHP –i or run a script wit

    diary193
    diary193 2010/02/28
    zend_extension か zend_extensin_ts かの判断方法
  • Log4J徹底解説~Log4PHPの使い方

    Log4phpの使い方 さて、これはオマケだ。Apache Logging プロジェクトでは、フラグシップである Log4J だけではなくて、正規のプロジェクトとして、Chainsaw は別として、log4cxx, log4php, log4net の4プロジェクトを抱えている。それぞれ C++, PHP, .NET 用であることは言うまでもないんだが、以前 C++ 用の log4cxx については書いたので、今回の更新では「自分が良く知ってて、かつお役に立ちそうな」という基準で、Log4php について解説しよう。 実は仕事では結構 PHP を使ってたりする...だって便利なんだもん。けど、愛はないなぁ...これがこのサイトで PHP をメインにしたコンテンツがほとんどない理由じゃなかろうか。要するにハッキーな面白さがあまりないんだよね。あ、筆者は M$ はキライだ。筆者が log4ne

    diary193
    diary193 2010/02/18
    LoggerNDC::push( getenv( "REMOTE_ADDR" ) ) でアクセスを区別/log4php 直接でなく自動でやってくれるWrapperを用意すべきか
  • PHPUnit 3.4 Japanese Manual

    Welcome to PHPUnit! PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of the xUnit architecture for unit testing frameworks.

    PHPUnit 3.4 Japanese Manual
    diary193
    diary193 2010/02/16
    「振舞駆動開発」ってなんぞ?
  • サイボウズ株式会社

    サイボウズはクラウドベースのグループウェアや業務改善サービスを軸に、社会のチームワーク向上を支援しています。

    サイボウズ株式会社
    diary193
    diary193 2010/02/11
    SimpleTest と PHPunit の比較 + AzUnit
  • SimpleTest vs PHPunit

    diary193
    diary193 2010/02/11
    SimpleTest と PHPunit の違い > 「main advantage of SimpleTest is that all of the main tools, unit testing, web testing and mock objects are in one package.」
  • Eclipse3.3でPDT1.0とXdebugを使ってPHP開発環境を整える。 -  

    PHPの開発環境をなんとかしたい、とずっと思ってたけどなかなか手が進んでなかった。 でも、 テキストエディタからPHPEclipseへ移行した決め手 - EC studio 技術ブログ を読んでやっぱりなんとかしたいなあと思う。 ここの記事ではPHPEclipseをすすめていたけど、PDTの評判もよかったのでえいやでインストールしてみたところ、結論としてはこちらの記事で決め手となっていた機能はPDTにも備わっていることがわかった。なので今からがんばるならPDTがオススメっということになるのでは。 最近eclipse3.3がリリースされたということで、現状自分のPCにインストールしてあるeclipse3.2をアップグレードするにはどうするんだろ?と思って調べたり、試したりしたけどうまくいかなった。 ので結局以下のページを参考にイチからPDTのオールインワンパッケージをインストール。 PDT+

    Eclipse3.3でPDT1.0とXdebugを使ってPHP開発環境を整える。 -  
    diary193
    diary193 2010/02/10
    PDT + xdebug でステップ実行
  • PHPで失敗するかもしれない処理の返り値を配列で表現すると都合がいいという話 - id:anatooのブログ

    値を返すのに失敗するかもしれない処理を扱う場面というのは多い。 例えばあるファイルの中身を取得する処理について考えると、ファイルが存在する場合はその中身を取得して返すことができるが、そうでない場合は中身を取得するのに当然失敗する。 PHPに予め用意されているfile_get_contentsはまさにそれだが、この関数は処理に失敗するとfalseを返す。 ここでは別にもう一つ似た関数を作ってみる。 <?php function my_file_get_contents($path) { $buf = file_get_contents($path); return $buf === false ? array() : array($buf); } このmy_file_get_contents関数は、ファイルの中身を成功した場合は結果を持った配列を返し、そうでなければ空の配列を返す。 これから

    PHPで失敗するかもしれない処理の返り値を配列で表現すると都合がいいという話 - id:anatooのブログ
    diary193
    diary193 2010/02/02
    都合は良さそうだけど、どれもコメントが求められるコードだな
  • モダンPHP勉強会を開催しました & 資料 - 肉とご飯と甘いもの @ sotarok

    と,いうわけで,モダンPHP勉強会を開催しました. モダンPHP勉強会 : ATND 「モダン」などという適当なワードはどうでもいいっちゃいいのですが,SPLをテーマに勉強会やりたいなーとはなんとなく思っていて(というのは,便利なのにあんま使ってる人をみないから),Boost.勉強会で @cpp_akira さんが,「Boostライブラリ全部やる」ってのを見てて触発されて,じゃあSPL全部やろう,と思ったのが始まりでした(実はそんなきっかけw で,まあ,どうせならなんとなく最近の話題とか含めて質の高い勉強会にしたいなあ,と思い,nequal のメンバーの id:Fivestar に名前空間で話しない?と声をかけ,ついでに nequal 主催ってことにして,開催しました. 全体として,自分は自分の発表の準備とか,会場の準備とか,懇親会の準備とかで相当ばたばたしてたのですが,発表中も,笑いがと

    モダンPHP勉強会を開催しました & 資料 - 肉とご飯と甘いもの @ sotarok
    diary193
    diary193 2010/01/30
    Standard PHP Library (SPL) / 5.3からは標準で利用可能になっている
  • Zend Framework: Documentation: Zend Framework PHP 標準コーディング規約 - Zend Framework Manual

    このドキュメントは、Zend Framework に貢献してくださる開発者個人 (あるいはチーム) のためにコードの書式やドキュメント作成の指針を示すものです。 Zend Framework を用いて開発をする人たちにとってもこのコーディング規約は有用でしょう。 これに従えば、Zend Framework のコードとの一貫性が保てるからです。 そのためには、ここで完全なコーディング規約を示す必要があります。 注意: 詳細なレベルまでの設計指針を示すこと以上に、 それを標準規格として確立することが大切だと考えています。 Zend Framework コーディング規約の指針は、 これまで ZF プロジェクトでうまく回っていた方針をまとめたものです。 このライセンスのもとで、 そのまま使用するなり多少変更して使用するなりすることができます。 ZF コーディング規約では、次のような内容を扱います。

    diary193
    diary193 2010/01/30
    Zend Framework PHP 標準コーディング規約
  • 『Ethna』徹底解説

    404 お探しのページは見つかりません GREE Engineering トップへ戻る

    『Ethna』徹底解説
  • Ethnaのソースコードを読み解く 第1回 index.php · DQNEO日記

    はじめに この連載では、Ethna2.3.6のソースコードとその読み方を解説します。 Ethnaコマンドを使って"Sample"という名前のプロジェクトを作ったという前提で話を進めます。 手元にEthnaがない方は、公式サイトを見てインストールしてみてください。 Ethnaインストールガイド Windowsユーザの方はコレ↓で一発です。5分でまっさらなWindowsにEthnaをインストールしてHello Worldを表示する方法 話を単純化するために、CLI,XML-RPC,SOAPなどには一切触れませんのでご了承ください。 Ethnaのプログラム実行はどこから始まるのか EthnaでWebアプリを作るとき、通常はアクション、ビュー、テンプレートファイルの3セット(+DBクラスや自作ライブラリ)をバリバリ記述することになると思います。 では、問題です。 Ethnaで作ったWebアプリの実

    diary193
    diary193 2010/01/27
    Ethna_Controller の main 〜 _trigger_WWW まで解説
  • [Perl][PHP][SQL]: quoteメソッドの数値データ対応を検証する - 徳丸浩の日記(2009-10-19)

    _quoteメソッドの数値データ対応を検証する このエントリでは、PerlDBI、PHPのPDO、MDB2にて用意されているquoteメソッドが数値データをどのように扱えるかを検証しました。結論としてMDB2が合格、それ以外は不合格で、とくにDBD::mysqlを使用した場合、脆弱性といってもよいような結果となりました。 概要 DBI、PDO、MDB2は、いずれもデータベースアクセスを抽象化したモジュール(クラス)であり、汎用的な記述によりさまざまなデータベースを利用できるように工夫されています。これらモジュール(クラス)にはquoteというメソッドが用意されています。DBIのquoteメソッドの呼び出し例を示します。 my $dbh = DBI->connect('DBI:mysql:dbname:localhost', 'user', 'pass'); print $dbh->quo

    diary193
    diary193 2010/01/17
  • Loading...

    diary193
    diary193 2010/01/17