タグ

ブックマーク / blog.asial.co.jp (8)

  • PHP+Kestrel+Supervisorでお手軽タスクキューイング

    こんにちは、久保田です。 ウェブサービスでは、ユーザのアクションに従ってバッチ処理を行わなければならないケースがままあります。この記事では、バッチ処理の手法の一つであるタスクキューイングをPHPとKestrelとSupervisorを利用して行うやり方の導入を紹介します。 なぜなにタスクキューイング ウェブサービスでは、ユーザのアクションに従って非同期にバッチ処理を行うようなケースがよくあります。 例えばflickrのような写真を共有するウェブサービスで言えば、ユーザが写真をアップロードしたあとに非同期でその画像の複数のサムネイル生成や加工をしなければならないケースがあります。 よく見られるのは、DBにバッチ処理のためのタスクデータを入れておいて、後でcronで定期的に起動するワーカープロセスからバッチ処理を行う方法です。このやり方には、ワーカーを複数プロセスで扱いづらい、処理がリアルタイ

    PHP+Kestrel+Supervisorでお手軽タスクキューイング
  • Doctrineのオブジェクト単位での悲観的ロックについて

    皆さん、こんばんは。 笹亀です。 ついにiphone4の白を待ちきれずに黒を買いました。 いまさらながらiphoneの素晴らしさを体感しております。 さて日はDoctrineのオブジェクト単位での悲観的ロックについて解説をさせていただきます。 Doctrineのトランザクション処理を行う際にConnection単位で行うのが一般的な方法ですが、あまり知られていませんが、Doctrineには通常のデータベースで行う方法とは別にオブジェクト単位でロックをかけることができます。 http://www.doctrine-project.org/documentation/manual/1_1/ja/component-overview#%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%A3%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83

    Doctrineのオブジェクト単位での悲観的ロックについて
  • 続続・イラストでわかるgit入門の入門:checkoutをする

    <pre wp-pre-tag-0=""></pre> nbsp;ls -al total 8 drwxr-xr-x   4 masa  masa   136  7 26 09:44 . drwxr-xr-x+ 54 masa  masa  1836  7 26 09:44 .. drwxr-xr-x  13 masa  masa   442  7 26 09:44 .git -rw-r--r--   1 masa  masa   104  7 26 09:44 index.html

    続続・イラストでわかるgit入門の入門:checkoutをする
  • PHP5.5 Alpha1リリース! 新機能を俯瞰する

    こんにちは、久保田です。 PHP5.5 Alpha1が11/15日付けでリリースされました。この記事では以下のような新機能や変更を紹介します。 ・ジェネレータとコルーチンの追加 ・finallyキーワードの追加 ・配列や文字列のデリファレンスのサポート ・foreachの中でのlist表現 ・PCRE正規表現での/e修飾子が非推奨化 ・NEWS翻訳 ジェネレータとコルーチンの追加 PHP5.5での一番大きな新機能は、ジェネレータとコルーチンの追加です。文法にyield構文が追加されました。 まずは、ジェネレータを説明します。例えば以下の様なコードが動きます。 <?php function hoge() { yield "hoge"; yield "fuga"; yield "piyo"; } foreach (hoge() as $str) { var_dump($str); }

  • Symfony 2のアプリケーション構成を読む

    HelloKernel.php  cache/  config/  console  logs/ 先ほど説明をしたKernelというものが出てきます。Kernelの中にはいくつかのメソッドが実装されています。簡単に説明します。 ◆registerRootDir() Kernelのルートとなるディレクトリです。またカーネルを配置してあるディレクトリ、ここではhelloがカーネルの名称、つまりアプリケーションの名称となります。 ◆registerBundles() Bundleとは日語にすると束とか1つにまとめたものという意味です。このBundleはSymfony 2では非常に重要な役割を持ちます。 このメソッドの中でZendBundleやDoctrineBundleを返しているのをみると、Bundleは従来のPluginのように思われるかもしれませんが、あながち間違いではないでしょう。 こ

    Symfony 2のアプリケーション構成を読む
  • PHP5.3.0がついにリリース

    こんにちは。小川です。 PHP5.3.0がついにリリースされました。新機能の紹介もかねて色々と使ってみたいと思います。 PHP5.3.0では様々な機能追加などが行われています。詳しくはphp.netを参照してください。 いくつかピックアップしてみます。 ●名前空間のサポート ●遅延静的束縛 ●無名関数 ●パフォーマンスの向上 特に名前空間や無名関数などの機能は期待していた方も多いのではないでしょうか。説明するよりもまずは動かしてみたいと思います。 まずはインストールです。php.netからソースをダウンロードしてインストールします。 $ wget http://jp2.php.net/get/php-5.3.0.tar.gz/from/jp.php.net/mirror $ tar zxvf php-5.3.0.tar.gz $ sudo mv php-5.3.0 /usr/local/l

    PHP5.3.0がついにリリース
  • VMware Server 2.0をちょっと便利に使うための設定

    こんにちは、ThinkPadというかWindowsマシンに戻ってきたというのにここ最近新しいMacBookが気になりだしてきた、熊谷です。MacBook Airで懲りたというのにまたアップル製品が欲しくなってきています・・・。 そんなことで、前回VMware Server 2.0のインストールについて書いたわけですが、今回はそれをちょっと便利に使うための私なりの設定をメモ書きしたいと思います。 1. 仮想マシンの起動方法ですが、毎回毎回、仮想マシンのショートカットをクリックするというのは面倒になってきます。そこでホストマシンの起動時に一緒に起動するように設定します。 管理画面を表示し、Configure Optionsにある「Edit Virtual Machine Startup/Shutdown Settings」をクリックします。 表示されるウインドウの中にある「Allow virt

    VMware Server 2.0をちょっと便利に使うための設定
  • VMware Server 2.0をインストールする

    こんにちは、新しいMacBookらが発表されちょっとカッコイイなと思いつつも、最近いろいろと我慢できなくなりMacBook AirからThinkPadに戻ってきた熊谷です。 普段使用している分にはMacBook Airでも問題ないのですが、開発マシンとして使用するには私的にいろいろ問題がありちょうど安くなっていたThinkPad X61sに変更した次第です。 そんなことで、Windowsに戻ってきたからには開発環境を整えないといけないということで、先日リリースされたVMware Server 2.0をインストールしてみました。 まずはダウンロードですがこれはVMwareのサイトからダウンロードします。ご存じのとおりVMware Serverは無料ですがユーザ登録をしないと使用できないので、まだ登録していない場合は先にしておく必要があります。 http://www.vmware.com/jp

    VMware Server 2.0をインストールする
  • 1