タグ

ブックマーク / labs.unoh.net (17)

  • ウノウラボ Unoh Labs: Feedcreatorのご紹介

    yamaokaです。 PHPRSSフィードを出力する場合、 皆さんはどうされているでしょうか。 Smartyなどの テンプレートエンジンを利用して自前で組み立てるのもいいですが、 RSSフィード生成用のライブラリを使うと便利です。 Feedcreatorは、 SourceForge.netで 開発されているPHPRSSフィード生成ライブラリです。 FeedCreator.class.phpを ベースにして開発されています。 RSS 0.91/1.0/2.0、Atom 0.3/1.0のフォーマットにそれぞれ対応しています。 また、PIE 1.0やOPML 1.0などにも対応。ライセンスはLGPLです。 ライブラリをダウンロードして展開すると、 「official_demo.php」というファイルがあるので目を通しておきましょう。 おおよその処理の流れがつかめるかと思います。 利用例 ライ

  • ウノウラボ by Zynga Japan: 30分でわかる PHP Extensionの作り方を学べる記事をかいたよー \(^o^)/

    こんにちは。12月に入社した@chobi_eです。 私が所属しているチームではお菓子系男子が30%を超えているという素敵チームで 毎週チーム内の漢の子がお菓子を焼いてくるという状況でハッピハッピハッピーです。 今日は私が学んできたPHP Extension作成についてのノウハウの一部を 公開しようと思います。 PHPExtension作成についての資料はklabさんやyoyaさん rskyさんの記事が参考になりますが私のようにPHPは書けてもCが書けない人には具体的にhello world以降何をすればいいのかがサッパリよく分かりません。 そこで先人達が作ってくれた偉大なライブラリをPHPで扱えるようにする為にC/MigemoのPHPバインディングを作ってみましょう C/Migemoをインストールしてみる 読者の方の中にはC/Migemoをご存知でない方もいらっしゃるかと思いますので簡単に

  • ウノウラボ Unoh Labs: 携帯のエラーメールの種類

    harukiです。 メールを送信するサイトの場合、メールアドレスのクリーニングは定期的に行うべきです。 そのためにはエラーメールを解析しなければなりません。 そこで、エラーメールの種類をまとめてみました。 SMTPエラー 存在しないメールアドレスや、正しい形式でないメールアドレスの場合は、 DoCoMo,au,SoftBankの3キャリアともSMTPエラーになります。 例として、以下の条件でメールを送信したとします。 From: sender@example.com Return-Path: bounce@example.com To: アドレス@docomo.ne.jp MTAにより異なりますので、ここではPostfixを例にします。 Postfixではmultipart/reportのメールがbounce@example.comに届きます (※ 必要な情報のみに省略しています

  • ウノウラボ Unoh Labs: PHPでwin32serviceを使ってみる

    こんにちは。yuzoです。 今回はPHPwindowsのサービスとして動作させるwin32serviceを試してみました。 準備した環境 Windows 7 Professional(32bit) PHP 5.3.3 win32service 0.1.0-dev インストール PHPは「VC9 x86 Non Thread Safe」を利用しました。 http://windows.php.net/download/ どこに配置してもいいと思うのですが、 便宜上 C:\PHP\5.3.3 にインストールしたことにします。 もちろんPATHもとおします。 win32serviceについては、別途こちらからダウンロードが必要です。 http://downloads.php.net/pierre/ 今回は「php_win32service-svn20091206-5.3-nts-v

  • ウノウラボ Unoh Labs: リビドーに赴くままlibmemcachedをPHPから使ってみる

    Keita です。 浴衣姿の女性は人類の宝だと思います。 さて、phpのpeclのmemcache'd'ってご存知でしょうか。 長い歴史をもつpecl memcache(名前近過ぎだ)はその拡張の中でmemcachedプロトコルの実装をしていますが、pecl memcachedはlibmemcahcedにその実装を依存を任せています。 利用するときの違いとしては memcache: インストール時に他のライブラリに依存しない 長いこと使われてるライブラリなので安定性はある memcached memcacheよりも利用できる機能が多い 今後もプロトコルの拡張があったときにlibmemcachedに追従するだけなので対応が早いことが予測される という点が挙げられます。(まだまだ一杯ありますが・・) memcacheよりも利用できる機能が多いというのはかなり大きく、具体的に言うと、set時に

  • ウノウラボ Unoh Labs: DBの選択について

    皆様、はじめまして。 7月入社のトクヤマと申します。 以後、お見知りおき頂ければ幸いです。 私は以前、別の会社の仕事でPostgreSQL,MySQL,Oracle,SQLSeverを同時に運用していたことがありました。 また現在はMySQLとPostgreSQLを運用しています。 今回はそれぞれのDBを、どのようなWEBサイトやオープン系の開発を行う時に選ぶべきなのかという事をお話したいと思います。 なおOracleSQLServerは現在はWEBサイトやオープン系の開発では使われなくなっていますのでPostgreSQLMySQLに絞りたいと思います。 「定説」として以前はPostreSQLは多機能で遅い、MySQLは機能は少ないが検索が速いと言われていました。 しかし、それぞれバージョンアップを繰り返すうちに現在は、どちらもお互いの特徴をカバーしてきています。 それではどの

  • ウノウラボ Unoh Labs: 仮想マシンとLVM2で簡単サーバ構築

    はじめまして、7月に入社いたしましたsatoshiと申します。 会社でも自宅でもPCMacにして、Linuxと同じ操作感で使用できて快適な今日この頃ですが、皆様いかがお過ごしでしょうか? 今回、KVM(Kernel-based Virtual Machine)とLVM(Logical Volume Manager)を使用して、サーバ構築すると便利なケースを紹介したいと思います。 新しくサーバを構築する場合、OSインストールイメージをDVDに焼いて、DVDをドライブに挿入して、手順の通り選択して...となると思います。 (中には、Cobblerを使用しているという先進的な方もいらっしゃるかもしれませんが) 仮想マシンでは新たにサーバ環境を構築する場合、既存の仮想ディスクをコピーして使い回せるのでインストールの手間を簡略化できます。 さらに、一歩進んでLVMで作成したスナップショットLVを使

  • ウノウラボ Unoh Labs: symfonyを使ってみた所感

    こんにちは、オマタです。 4月に入社したばかりでここに書ける小ネタがないのですが、 symfonyを使い始めてみて便利だなと思ったことを書いてみたいと思います。 jobeetが用意されているところがすごい symfony初心者は、jobeetと言われるチュートリアルを参照しつつ、 説明の通りに自分の環境で動かしながら使い方に慣れていくのが一般的です。 このjobeetがとてもよく出来ていて、これを一通りこなすだけでインストールから エンジニア求人サイトの正しい作り方までを勉強することができます。 途中、日語訳の説明文に間違いや分かり辛いところがあったりしますが、 そのときは個人blogに書かれているjobeet正誤情報が助けてくれます。 ちなみにウノウではjobeetの14日目までが習得推奨となっています。 jobeetへのリンク symfonyコマンドがすごい sym

  • ウノウラボ Unoh Labs: NetBeansはじめました。

    はじめまして、今年4月に入社しましたtomohisaです。 よろしくお願いします。 今日は総合開発環境、NetBeansを紹介したいと思います。 さっそくですが、皆さんはPHPの編集にどのようなエディタをお使いでしょうか? 秀丸のようなプレーンなテキストエディタでしょうか? それともDreamweaverのようなHTMLエディタ? はたまたEclipseのような総合IDEなどもありますね。 僕はウノウに入社した直後viを使用していましたが、 どうも馴染めずいたところ、先輩に教えていただきNetBeansの存在を知りました。 ◯よいところ1:WEBアプリ開発にピッタリ 僕は以前Eclipseをメインに開発していたのですが、 一番使い勝手が悪かったのは「FTPクライアントとして動作しないこと」でした。 機能を追加できるプラグインもありましたが、どれも決め手にかけるものが多い・

  • ウノウラボ Unoh Labs: 携帯向けXHTML

    おはようございます。 最近携帯向けのページを作成することが多いので、携帯向けのXHTMLと格闘しておりますkayです。 その際に個人的に感じたこと等をまとめてみましたので、少しでもご参考になればと思います。 なお、ここでご紹介しますものはあくまでも個人的な趣味に基づいており、一定時期より古い機種は配慮しておりませんのでご了承ください。 3キャリア対応の携帯サイトを作成する場合、docomoに合わせてCSSをインラインで書く必要があります。 これはPCサイトを作成したことのある人にとってはきっととても気持ち悪いことなんですが、我慢してstyle=""を使っています。 また携帯ですので、実際に出来ることはとても限られており、機種やキャリアによっても異なりますので個人的にはベーシックなものを中心に使用してデザインすることをおすすめします。 その際、一番制限が厳しいのは相変わらずdocomo

  • ウノウラボ Unoh Labs: Varnishの使用例とか

    一部の人に鳥の人として認識されているyamaokaです。 フォト蔵では最近Varnishをコンテンツキャッシュに利用しています。 具体的には、写真のサムネイルなどの静的なコンテンツをキャッシュするために使っていたりします。 Varnishはコンテンツキャッシュ機能を備えたHTTPアクセラレータです。 同じような目的に使われるプロダクトとしてSquidがありますが、 それよりも高速に効率よく動作することを売りにしています。 サーバーへのインストールについてはCentOSなどRed Hat系のLinuxであれば EPELからrpmを入手するか、 ソースを展開するとredhatディレクトリにspecファイルが用意されているので そちらを利用すれば最新版のrpmが作成可能です。 以下、rpmを使ってインストールしたものとして話を進めます。 起動設定は/etc/sysconfig/varnishです

  • ウノウラボ Unoh Labs: iPhoneでモテモテアイコン(?)

    とうとう彼女ができたkeitaです。 やっと、デスマーチにもほどがあるfixdapを終了できそうです。ありがとう! そんなことは、どうでもよく、最近、iPhoneで複数のアイコンを並べることで画像を表示できるアプリをみて、「アプリは大変だけどWebクリップなら簡単だな」とおもって遊んでみました。 やることしては iPhoneの画面に合わせて画像をアイコンサイズに切り分け Webクリップとしてそれぞれの画像をhtmlに記述 iPhoneで1ページ、1ページ頑張って登録(全部で16個) になります。 iPhoneの画面に合わせて画像をアイコンサイズに切り分け まず1個めの画像をアイコンサイズに切り分けですが大体コードとしてはこんな感じで書けます。 横幅とかサイズとかは、ドット単位で自分で数えました。 ただ、僕の目がおかしいかもしれないので数ドット単位でずれてるかもしれません。

  • ウノウラボ Unoh Labs: PHP版 Parallel::Prefork で奥一穂さんと親に感謝しよう

    こんちにわ、去年末に入社した「ちわ」です、こんにちわ。 Perl には CPAN というものがあり、そこには様々なライブラリが登録されています。国内の方々も多くライブラリを登録されていますがその中で牧大輔さんの Queue::Q4M、奥一穂さんの Parallel::Prefork を PHP に移植したので今回は奥一穂さんの Parallel::Prefork のPHP版を紹介したいと思います。 弊社が提供しているサービスの「まちつく!mixi版」、「まちつく!モバゲー版」の地図を生成、Amazon S3 への転送をキューを使って処理していまして、そのキュー処理に Q4M を導入することになりました。キュー処理の主な流れは下記のようになります。 主な処理の流れ Web やバッチで生成キューをエンキュー 生成デーモンがデキューし地図を生成 正常に地図を生成できたら転送キューにエンキュ

  • ウノウラボ Unoh Labs: 快適なsshクライアント生活

    はじめまして、HIROKIです。 大規模コンテンツの開発に携わっていると数多くのサーバにsshでログインすることになります。その手間を軽減するために $HOME/.ssh/config を設定してみます。 sshコマンドを簡略化 例えば dev01.labs.unoh.netというサーバにsshでログインするのであれば、 $ ssh -i ~/.ssh/id_rsa.unoh hiroki@dev01.labs.unoh.net という感じのコマンドでログインしているかと思います。 これを $ ssh dev01 でログインできるように設定してみましょう。 Host dev01 User hiroki HostName dev01.labs.unoh.net IdentityFile ~/.ssh/id_rsa.unoh 秘密鍵を複数使いわけている人はIdentityFileを指定すると便

  • ウノウラボ Unoh Labs: PHPテンプレートエンジンTwigをいじってみました

    今年のX'masは一人で高いシャンパンを買って飲もうとおもってるKietaです。 しばらく、情報収集をさぼっている間に、symfonyの開発元であるSensio Labsから、PHPのテンプレートエンジンTwigが出ていたので、1時間ほど試してみました。 つかってみたよーとか、ここきついとかありましたら、コメントなどで教えていただけるとうれしいです。 インストール 家サイトのINSTALLATIONを参考に僕はtar.gzのファイルを手動どインストールして試してみました。 インストールはpearコマンドなどでもできるようです。 というか、www.twig-project.orgのフッタを見てみるとPEAR Serverも自作してること発見してびっくりました。 テンプレート側 テンプレート側のコードは下記のように記述します。 lt;html> <title>title</title> </

  • ウノウラボ Unoh Labs: Tokyo Tyrantを使ってみて

    yamaokaです。 通常のデータベースとしてではなく、Key-Valueストアの選択肢として Tokyo Tyrantを少しずつ使ってみています。 実際に運用するにあたって、いくつか行ったことを書いておきます。 ちなみに、現在の構成は1台のみでの運用です。 マルチマスター構成やレプリケーションなどは行っていません。 PHPのクライアント Tokyo Tyrantを利用するのはPHPのアプリケーションからです。 最初はmemcachedプロトコルを利用して PECL::memcacheを使っていましたが、 データの大量更新を連続で行うとデータの取得が正常に行えなくなる現象が発生したため、 Net_TokyoTyrantを一部改変したものをライブラリとして利用しています。 パフォーマンスではPECL::memcacheに負けますが、クリティカルな処理をしていないこともあり、 今のところ問題に

  • ウノウラボ Unoh Labs: サーバのネットワーク速度の調査/測定方法

    こんにちは。kyagi です。先日データセンタ内のサーバ群のうち、なぜか特定の1台だけネットワークの速度が極端に遅いという問題がありました。今回はサーバマシンのネットワーク速度の測定方法と原因についてお話しします。同様のトラブルが発生している方のお役に立てば幸いです。問題解決までの手順としては以下になります。 1. 現在の状態を調べる 2. ハード/ソフト含めて考えられる原因をいくつか挙げる 3. 原因について改善されるまでひとつひとつ検証していく まず現在の NIC の HW 情報とドライバを lspci で調査します。ここでは Broadcom の NetXtreme BCM5722 という NIC を使用していることがわかります。 # lspci -vvv | grep Ether 01:00.0 Ethernet controller: Broadcom Corporation

  • 1