タグ

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

  • <Symfony Componentsシリーズ(2)> Symfony 2の秘密兵器: Request Handler

    小川です。 日第2弾となるこの記事では、今回はリクエストを受けてからレスポンスを返すまでの全体の流れを司る、Request Handlerというコンポーネントをご紹介します。 -------------------------- 追記 どうやらコンポーネントの名称がRequestHandlerからHttpKernelに変更されたようです。まだまだ開発中なので内部実装も色々と変更が行われています。この記事はあまり当てにならないのでご注意ください。 -------------------------- Request Handlerを知るにあたって、Event Dispatcherコンポーネントを理解しておく必要があります。 先に書いた<Symfony Componentsシリーズ(1)> オブジェクトをつなぐEvent Dispatcherという記事まだ読んでいない方は、そちらから読んでい

    <Symfony Componentsシリーズ(2)> Symfony 2の秘密兵器: Request Handler
  • OpenVPNで拠点間VPN

    OpenVPNで拠点間VPN 元々、個人専用のWEBサーバーを立ち上げ、ファイルサーバーのデータを外部から参照可能にしているが、 単純にファイルを転送するだけならともかく、ディレクトリごとダウンロードや、一部だけ読み取ることなどは出来ないため割と不便。 解決法はWebDAVとかFTPとかいろいろとある中、どうせなら自宅ネットワークに直接接続出来れば、便利じゃないかと思いVPNを張ることを計画。 (NFSとかFTPとかSVNとかrsyncなどの内部用の設定なため、外部に公開したらひどいことになる通信も使える!) VPNといえば、IPSecとかPPTPなどの有名どころはありますが、割と設定が面倒で設定をしっかりしないと穴が開くこともあるので、設定が簡単な(デフォルトでもそこそこしっかりしている)OpenVPNを採用。 ・OpenVPNとは SSLVPNの一つで、設定がシンプル。そこそこ堅牢。I

    OpenVPNで拠点間VPN
  • symfonyのFormで確認画面を実装する方法

    Member: actAs: { Timestampable: ~ } tableName: member columns: name:         { type: string(255) } email:        { type: string(255), notnull: true } login_id:     { type: string(255) } password:     { type: string(255) } 登録フォームのオブジェクトを最低限で編集します。 ※ここでは最低限の処理のみの実装です lib/form/doctrine/MemberForm.class.php <?php /** * Member form. */ class MemberForm extends BaseMemberForm { public function configure

    symfonyのFormで確認画面を実装する方法
  • Twitter-APIを使ってみました

    「現在発売中の日経ソフトウエア2010年3月号に記事を書きました!Web APIに ついての特集で、今はやりのTwitterと、Google ChartのAPIを活用したPHPの アプリケーションを作成する内容になっています。ぜひ読んでみてください。 皆さまのご意見やご感想をお待ちしています! 」By Katsuhiro Ogawa こんな序文を見つけました。 ブログネタに困っていた時だったのもあり、 また、現在担当しているプロジェクトで使うかもしれないということで、 TwitterAPIをちょっと触ってみました。 まずは、APIの仕様について。 http://apiwiki.twitter.com/ ここで、原文で確認できるようです。 日語に翻訳している方がいるようです。ありがたいですね。 http://watcher.moe-nifty.com/memo/2007/04/twitt

    Twitter-APIを使ってみました
    ji_ku
    ji_ku 2010/02/10
  • PHPの名前空間と主要フレームワークの対応について

    例: pear2\text_diff\Diff zend\controller\FrontController ・名前空間は常に小文字+アンダースコア ・トップレベル名前空間にはベンダー名が入る ・ベンダー名は最短の名称(Zend Framework => zend, CakePHP => cake, symfony => symfony) ・サブ名前空間はいくつ定義してもよい ・名前空間セパレータはディレクトリセパレータに相当する ・名前空間中のアンダースコアに特別な意味はない まず、名前空間は小文字とアンダースコアで定義します。現状のPEARの規約に慣れ親しんだ方や、PerlRubyなどをお使いの方には、アッパーキャメルケース(InvalidArgumentExceptionのように単語の先頭を大文字にする形式)でないことに違和感を感じるかもしれません。 これは、名前空間とクラス名を

    PHPの名前空間と主要フレームワークの対応について
    ji_ku
    ji_ku 2010/02/10
  • Interface Builderを使わずに作るiPhoneアプリケーション作成入門

    こんにちは、亀です。 最近では、だいぶiPhoneアプリ開発に関するチュートリアルも日語で散見されるようになってきて、以前よりも状況は改善されてきたかなーと思います。 そういった様々なチュートリアルが出てくる中でちょっと気になったのは、どれもこれもInterface Builder(IB)ばりばりに活用しようぜ!なチュートリアルだということ。 多分やり方的には正しいんですが、正直なところ自分がiPhone開発をしていく上で一番苦労したのがIBでした。 ぶっちゃけていうと、iPhoneのフレームワークであるUIKitなどの挙動や感覚がわからないうちからIBを使いこなすのは結構大変なんじゃないかなぁ、と思うのです。僕がへっぽこなだけかもしれませんが。 というわけで、チュートリアル読んだけど結局 IBチンプンカンプンで開発とかできねーYO!!という方、および一度に二つのことを覚えられないOb

    Interface Builderを使わずに作るiPhoneアプリケーション作成入門
  • PHPでコマンドライン・アプリケーションを簡単に作成する

    こんにちは、小川です。 日は、PHPで簡単にコマンドライン・アプリケーションを作成できるライブラリをご紹介します。 (日ご紹介するライブラリは実際には開発途中のものでドキュメントなども存在しません。こういうものがある、程度でとらえていただければ幸いです。) さて、みなさんsymfonyはご存じでしょうか。symfonyといえば仏Sensio社が提供するオープンソースのPHPフレームワークです。symfonyはいわゆるフルスタックフレームワークでMVCをベースに様々な機能が提供されています。symfonyにはsymfonyコマンドが存在しており、実際の開発ではこのsymfonyコマンドをもちいて、アプリケーションの雛形やデータベース操作などをコマンドラインで行うことが可能です。 こういったコマンドラインでアプリケーションの雛形を生成したりする機能は、symfony以外のフレームワークでも

    PHPでコマンドライン・アプリケーションを簡単に作成する
  • 最近頻繁に使用するMySQL関数など

    こんばんは。笹亀です。 先週あたりからめっぽう寒くなってきました。 どうやら大寒波のおかげで心配されていた今年のスキー場の雪の心配はなさそうです。 さて、今回は頻繁に使うことを自分へのメモの意味でも記事にまとめさせていただきました。 みなさんの参考になれば幸いです。 ーーーMySQLシリーズーーー ■mysqldumpのオプション「--skip-extended-insert」 データベースのデータ(INSERT)を1行のINSERT文にするのではなく、複数行のINSERT文として出力する 自分が使った用途:ダンプを取ったデータを特定のキーワードでgrepするため 用途は限られますが、便利です。このオプションを見つけるのに少し苦労しました^^; ■REPLACE関数 MySQLの文字列置換する関数 自分が使った用途:データベース内の文字を一括で置換するため UPDATE hoge_t SE

    最近頻繁に使用するMySQL関数など
    ji_ku
    ji_ku 2010/01/02
  • WordPressで外部RSS(twitter等)を表示させる

    こんにちは、岡です。 ブログにRSSリーダー機能を付けると、Twitter等の情報を表示させることができます。 レンタルのブログサービスには外部のRSS情報を表示する機能が標準で搭載されている場合もあるのですが、今回はWordPressで構築した自分のブログに外部のRSS(Twitter等)を表示させるようにしました。 ■WordPressで外部のRSSを表示させる方法 1.RSS表示ウィジェットをプラグインで導入する 2.テンプレートに直接PHPを記述してRSSを表示する 3.ウィジェットでPHPを実行させるプラグインを導入し、 直接PHPを記述してRSSを表示する 一番面倒そうですが、自分の使いたいプラグインが見つからなかったので最終的に3の方法で表示させることにしました。 WordPressにはRSSを取得・表示・キャッシュする「MagpieRSS」というライブラリが利用されている

    WordPressで外部RSS(twitter等)を表示させる
    ji_ku
    ji_ku 2009/11/27
  • 仮想環境VirtualBoxでのネットワークの設定

    9月/10月社内Tech勉強会レポート – NodeJS/Privacy Sandbox API/3rdPartyCookie/NodeJS/PromiseAll/cascae/

    仮想環境VirtualBoxでのネットワークの設定
    ji_ku
    ji_ku 2009/11/12
  • Macでも無料で使える仮想環境VirtualBox

    こんにちは、熊谷です。 Mac用の仮想環境というとVMware FusionやParallels Desktopといった有料なものがあるわけですが、もちろん無料の仮想環境というものもあります。 そんなことで、今回はその無料の仮想環境であるVirtualBoxをインストールしてみました。ちなみに、このVirtualBoxはSunによってオープンソースで開発されています。 ダウンロードは以下から http://www.virtualbox.org/wiki/Downloads することが出来ます。 インストールは簡単、dmgファイルをダウンロードして開いてダブルクリックしてインストールを進めるだけです。 早速起動してみましょう。こんな画面が表示されます。 あとは「新規」ボタンで仮想マシンを作成するだけです。この辺は他の仮想環境と同じで作成する仮想マシンの環境を選択しメモリーやハードディスクの容

    Macでも無料で使える仮想環境VirtualBox
    ji_ku
    ji_ku 2009/10/28
  • MacPortsのMySQLにQ4Mをインストールする方法

    皆さん、こんばんは。笹亀です。 日はブログを書くために環境をつくっているときに、間違えてMacPortでインストールしたものを削除してしまいました;; 悲しさとむなしさと戦いながらも日のブログをお届けさせていただきます。 ※そのため、内容はちょっと少なめになっています。ごめんなさい 今年のPHPカンファレンスでもQ4Mの発表があり、いつか使う日が来るだろうと思い、 個人的にもとても興味があったので実際に使ってみたいくなりました。 Q4M (Queue for MySQL) は MySQL 5.1 のプラガブル・ストレージ・エンジンとして動作するメッセージキューであり、堅牢・高速・柔軟であるよう設計されています。(転載させていただきました 早速インストールをと思ったのですが、上記のこともあり、今回はインストールのみの紹介です。 特にMacPortsでMySQLをインスールしていて、そのM

    MacPortsのMySQLにQ4Mをインストールする方法
    ji_ku
    ji_ku 2009/10/15
  • jQuery用プラグイン「Autocomplete」を使って入力補完機能を実装してみる

    こんにちは、中川です。 アシアルブログの検索でも利用している、suggest(入力補完)機能、便利ですよね。 以前「jQuery用プラグイン「jquery.suggest」を使って入力補完機能を実装してみる」という記事で松田がライブラリ紹介しています。 しかし、「jquery.suggest」ですが、表示が味気なかったり、カスタマイズ面で、若干モノ足りない部分が出てきました。。。 で、補完機能を実装する為のJavaScriptですが、いろいろ探せば結構たくさんでてきまして、その中でも使いやすく、機能も豊富でカスタマイズもしやすいjQueryプラグインの「Autocomplete」というものを見つけましたので紹介したいと思います。 ■ダウンロード先 http://plugins.jquery.com/project/autocompletex ■デモ ※適当にアルファベットを2文字くらい入力

    jQuery用プラグイン「Autocomplete」を使って入力補完機能を実装してみる
  • 知っておくと役立つかもしれないLinuxコマンド(サーバ確認関係)

    こんばんは、牧野です。 一時期また夜型になってしまっていたのですが、最近はまた朝型生活、というよりも早朝型生活になりました。 仕事の方はというとsymfony案件は一段落して、今はオリジナルのフレームワーク、ライブラリでプログラムを作ったり、javascriptのプログラムを1から書いたりと、マイペースでやっています。 さて、今日も軽めなネタで、知っているといざという時に役立つ、かもしれないLinuxのコマンドです。 サーバ構築や緊急対応などでサーバを触る場合は使う機会があると思います。 ■サーバのOS情報を確認

    知っておくと役立つかもしれないLinuxコマンド(サーバ確認関係)
  • symfony1.2のCSRF対策について

    こんにちは、小川です。 symfony1.2ではsfFormクラスを用いてフォームのレンダリングや入力項目のバリデーションを行います。このsfFormクラスにはCSRF対策も実装されているのはご存じでしょうか。 今回はこのCSRF対策が具体的にどのように行われているかをお話ししたいと思います。 先にどのような手法で対策を行うかですが、フォームごとに異なるトークンをHTML上に埋め込み、その値をバリデーション時にチェックするという方法で対策を行っています。 具体的にどのようにトークンが生成され、どのようにチェックを行っているかは後ほど詳しく説明します。 CSRF対策を有効にするためにはどうすれば良いでしょうか。Jobeetなどでsymfony1.2について学んだ方はご存じかと思います。 CSRF対策は各アプリケーションごとに設定可能で、アプリケーション作成時に以下のようにすることで有効になり

    symfony1.2のCSRF対策について
  • phpImageCloudを使ってみました

    皆さん、こんばんは。 先週にバレーボール(観戦)とa nationを堪能して、ヘトヘトな笹亀です。 今年の夏も終わりにさしかかり、いよいよPHPカンファレンスの時期を向かえます。 今年のカンファレンスはsymfony 開発者 Fabien Potencier 氏がいらっしゃるとのことでとても楽しみにしています^^ 尚、カンファレンスには参加登録が必要になりますので登録を忘れずに。。 さて、日はphpImageCloudを紹介したいと思います。 まずは画像をご欄ください。 このように画像を雲のようにたくさん表示して見せることができます。 画像を視覚的に楽しんでみることができてとてもおもしろいと思いました。 jQueryと一緒に使う事によって画像をクリックしてアニメーションをさせて表示させることもできます。 実際にサンプルを使ってみたい場合は下記をご参照ください。 http://phpima

    phpImageCloudを使ってみました
  • symfonyのルーティングでメモリが肥大化する問題と対処法

    こんにちは。小川です。 先日、symfony(v1.2.7)で番(prod)環境に設定した場合に開発(dev)環境の数倍のメモリが消費されるという状況に陥ってしまいました。原因を追及した結果、ルーティングの設定に問題があることが発覚したので、今日はそのことを書こうと思います。 原因先には述べてあるとおり、ルーティングの設定に問題がありました。symfony1.2ではルーティングのキャッシュということを行っており、そのキャッシュが肥大化してメモリを大量に消費する原因となっていました。 対策としてルーティングのキャッシュを無効にしてキャッシュファイルの読み書きを行わないように設定ファイルを修正したところ、上記の問題は無事に解決しました。 <strong>追記@2009/09/28</strong> symfony1.2.9以降では初期状態でキャッシュが無効になるように設定されています。sym

    symfonyのルーティングでメモリが肥大化する問題と対処法
  • PHP on GAE (Google App Engine) を試してみました

    こんにちは、中川です。 今回は、ちょっとsymfonyからは離れてGoogle App Engine (以下GAE)上でのPHPを試してみました。 社内の別のメンバーがHelloWorldまでは試していたり、いろいろな記事等で動くというのは知っていたのですが、 どの程度既存のコードが使えるものかといじってみました。 「PHP on GAE」の環境については、「PHPも使える! Google App Engine for Java(前編)|CodeZine ( http://codezine.jp/article/detail/3948 ) 」のままで すんなり動作するところまで30分程度でいけました。 で、ちょっと試してみたのですが、なかなかこれが、、、 まずは、phpinfo 。 http://asialphptest.appspot.com/info.php <h2>extension

    PHP on GAE (Google App Engine) を試してみました
  • 結構使えるMySQLのTrigger機能!

    皆さん、ご無沙汰しております。 パソコン周辺機器にお金をかけはじめている笹亀です。 エンジニアはパソコンが商売道具なので、 やはり使いやすい物を使いたくなるのは自然な事ですね。 ご参考までに。。。 マウス  :Logicool MX Revolution(ビックカメラでポイントで購入 キーボード:Bluetooth Mac用キーボード(会社の人から売ってもらいましたw 今回はTriggerについてご紹介したいとおもいます。 Triggerとは、データの変更などのイベントによってあらかじめ指定した処理を自動的に実行する機能です。 最近使用しているデータベースには必ず備えてある機能です。 Oracle,Postgres,MySQLでも当たり前のようにあります。 実際にはどのようなときに使用するものなのでしょうか? ・特定のテーブルに対しての処理のログをとるため ・特定のテーブルのバックアップを

    結構使えるMySQLのTrigger機能!
    ji_ku
    ji_ku 2009/05/01
  • リバースプロキシでSSL証明書のコスト削減!

    こんにちは、岡です。 lighttpdでSSL・リバースプロキシを立ててみました。 最近ではSSL証明書も安価になりましたが、複数のサイトを運営する場合、個別にSSLを取得するとお金も設定にかかる人件費も馬鹿になりません。 そこで、リバースプロキシを導入しSSLの処理を一つのサーバに集約する構成を作りました。 ※注意:SSL認証局によっては、このような利用が禁止されている場合があります。 契約内容を確認の上、ご検討ください。 接続イメージは以下のような感じです。 SSL証明書はexample.comの分だけ取得すればOKです。 ※SSLの時だけドメインが変わってしまいますが… ■今回の設定(追記してください!) ●SSL証明書の取得 今回は省略。 @ITの記事を参考にテスト用のSSL証明書を作成しました。 Webサーバ「lighttpd」でSSLを使うには ●クライアントパソコン(Win

    リバースプロキシでSSL証明書のコスト削減!