タグ

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

  • ウノウラボ Unoh Labs: Tips for HyperEstraier

    先月、VX Revolution VX-Rを購入して、その使い心地の良さに素直に感動しているbokkoです。 HyperEstraier HyperEstraierは平林幹雄さんが開発されている全文検索エンジンです。全文検索エンジンとして使えるのはもちろん、全文検索のためのライブラリとして使うこともできます。ウノウではHyperEstraier(以下HE)をフォト蔵の写真検索に利用しています。 今回はHEの活用や運用に関するTipsについて紹介します。 インデックスの作成 HEのインデックスを作成する方法はいくつかありますが、単にデータが空のインデックスを作るのであれば以下で十分です。 $ estcmd create idx 実際には想定されるインデックスのサイズなどに応じてオプションを追加するといったことが必要になるでしょう。ファイルやディレクトリ(内のファイル)をインデックスに追加する

  • ウノウラボ Unoh Labs: PHPで携帯位置情報を扱うライブラリ「Geomobilejp_Converter」を作りました

    中村です。 PHPで携帯の位置情報を簡単に取り扱うことができるライブラリ「Geomobilejp_Converter」を作りました。もう半年近く前に作ったものですが、コードを少し整えたので公開することにしました。 GPSに対応した携帯では、各キャリアで指定されている特定のHTMLを記述することで、携帯サイトに位置情報(緯度経度や測地系)を送信することができます。この位置情報を利用すると、「位置情報付きで掲示板に書き込む」などの機能を実装することができます。 キャリアによっては位置情報のなかに土地名を含むものもありますが、通常は緯度経度だけでは土地名がわかりません。そこでGeomobilejp_Converterでは、docomoの提供するオープンiエリアのiエリアデータファイルを利用して土地名を関連付ける機能を実装しています。iエリアデータを利用することで、各キャリアで共通したiエリアコー

  • ウノウラボ Unoh Labs: Apache MPM の基礎をしっかりと理解しよう!

    naoya です。最近、とうとう花粉症の季節に入ったので、生まれて初めて空気清浄機を購入しました。 さて、今日は Apache HTTP サーバの MPM (Multi Processing Module) について解説したいと思います。普段、ウェブサーバを構築するとき、Apache HTTP サーバを使うことが多いと思いますが、Apache HTTP サーバを使う上で MPM について理解しておくことは大事です。 この MPM ですが、Apache HTTP サーバではリクエストを処理する部分のことをさします。MPM は、Apache HTTP サーバ 2.0 系から採用されています。Apache HTTP サーバの MPM には、次の種類があります。 prefork worker perchild winnt それぞれの MPM について解説します。まずは、一番代表的な prefork

  • ウノウラボ Unoh Labs: プロセスの監視を行う デーモン monit

    こんにちは satoです。 monitは プロセスの監視を行うデーモンです。 条件とそれに伴うアクションを指定することができます。 条件とは例えば以下のようなものがあります プロセスが起動していなかったら 特定のプロセスのメモリの使用量が あるサイズを超えたら 特定のプロセスのCPUの使用率が 50%を超えている状態が 10分続いたら 特定のポートに接続できなくなったら など アクションには以下のような物があります 起動、再起動する アラートメールを送信する ユーザスクリプトを実行する など これらを組み合わせて、プロセスの監視を行います。とくにユーザが作成したプログラムの監視などに効果を発揮します。インストールは RedHat系なら yum install monit で入ります。(CentOSや商用のRedHatはrpmforgeをリポジトリとして追加する必要があります) 主な設定ファ

  • ウノウラボ Unoh Labs: ベンチャー流サーバ構築のススメ(ネットワーク編)

    尾藤正人です。 前回のエントリ ベンチャー流サーバ構築のススメ(ハードウェア編) では多くのコメント、トラックバック、ブックマークをしていただきました。ありがとうございます。僕自身多くのことで勉強になりましたし、新たな発見もありました。 技術は公開、共有して発展するものだと思っていますので、自分の無知をさらけ出すのを恐れずにいろいろ公開して、自分自身も成長していければと思っています。 今回はサーバ構築するときのトピックとして、どのようにネットワークを構築したかを書いてみます。 サーバ構築に限ったことではありませんが、重要なのは質を下げずにコストを下げることです。ネットワーク部分でお金がかかるのは回線ぐらいですから、ネットワーク周りで重要なのは人的コストを下げること、つまり管理コストを下げることです。 ・回線は2回線以上用意する 2回線以上用意するのは高可用性を確保するためです。通常は全ての

  • ウノウラボ Unoh Labs: ベンチャー流サーバ構築のススメ(ソフトウェア編)

    尾藤正人です ラボブログではウノウのエンジニアで1日1人1エントリ(早く書くのはあり)で書いてます。おかげさまでウノウも順調にエンジニアの数が増えて、僕の順番に回ってくるのが少しずつ遅くなってきました。でもまだまだウノウではエンジニアを大募集中です!!我こそはと思う方はぜひご連絡ください。 前回のベンチャー流サーバ構築のススメ(ネットワーク編)ではネットワーク周りについて書きました。前回のエントリで言ったように、今回はソフトウェア周りのことについて書きたいと思います。 ソフトウェア周りで重要なのは、同じ構成にする、これにつきます。web サーバにだけ apache をインストールしたりとか、DB サーバにだけ MySQL をインストールしたりだとかいうことはしません。全てのサーバに同じパッケージ、同じプログラムをインストールします。それによる管理コストの軽減ははかりしれないものがあります。

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

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

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • ウノウラボ Unoh Labs: ブラウザでER図が描ける「WWW SQL Designer」紹介

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

    ウノウラボ Unoh Labs: ブラウザでER図が描ける「WWW SQL Designer」紹介
  • ウノウラボ Unoh Labs: Migrateのご紹介

    こんにちは、chihiroです。今回はデータベース・スキーマのバージョン管理ツールであるMigrateを紹介します。 Migrate http://erosson.com/migrate/docs/index.html インストール 開発版の方を使いますので、レポジトリからコードをチェックアウトしてインストールします。 $ svn co http://erosson.com/migrate/svn/migrate/branches/monkeypatch_removal migrate $ cd migrate $ python setup.py install もしくは、easy_installで直接インストールします。 $ easy_install http://erosson.com/migrate/svn/migrate/branches/monkeypatch_removal

  • ウノウラボ Unoh Labs: 携帯サイト作成のためにも使えるPHPのライブラリ

    harukiです。 携帯サイト作成の際に使えるPHPのライブラリを知っているだけ羅列してみます。 Net_UserAgent_Mobile 基となるライブラリです。機種判定など、様々な用途に使用します。 細かい情報については、スクレイピングなどをしたりして自前で用意する必要があります。 PEAR::Mail メールの送信に使用できます。 特殊な送信の際は、Mail::factory()にsmtpで使用することになりますが、キャリアの迷惑メールの設定にも気をつける必要があります。 Mail_mime_Decomail (Y-110's Wiki) Mail_mimeと同じ使い方で、デコメール送信用にMIMEを組み立てることができるのでとても便利です。 Mail_mimeDecode 空メール・エラーメールなどを受け取って解析する際に使用します。 解析の際には、Mail_RFC822:

  • ウノウラボ Unoh Labs: JavaScriptを使わないスターレイティングの作り方

    こんにちわ、山下です。 Amazonなどで使われているような商品を☆の数で評価するスターレイティングというものがあります。今回は、CSS The Star Matrix Pre-loadedに紹介されている記事を参考に、その作り方を簡単に紹介しようと思います。 1.画像を用意する まず次のような1枚の画像を用意します。16×16ピクセルの☆が、横に5個、縦に11個並んでいて、下に向かうに従って色の付いている☆の数が増えているのがポイントです。 2.HTMLを書く HTMLはとてもシンプルで、ULリストを使います。 <ul class="rating onestar"> <li class="one"><a href="#" title="1 Star">1</a></li> <li class="two"><a href="#" title="2 Stars">2</a></li> <l

  • ウノウラボ Unoh Labs: Rails風フレームワークPylonsで簡易Wikiを作ってみる

    Yet Another Sakatokuです。今回はPyhonで書かれたRuby on Rails風のフレームワークPylonsの使い方を簡単に紹介したいと思います。 PylonsはPythonのWebフレームワークとしては、現在のところ、Django, TurboGearsにつぐ三番手(以下)と見なされていますが、TurboGears 2がPylonsと合流して、Pylons上に旧TurboGearsのAPIを提供していくことが表明されましたので、今後大きな勢力になっていくと思われます。 サンプル・アプリケーション サンプルとして、簡易Wiki(CoCoWiki)を作ってみました。以下のURLからダウンロードできるので参考にしてみてください。 cocowiki.tar.gz Pylonsの開発サーバ上で動作させるには、ダウンロードしたtar.gzを解凍し、cocowikiディレクトリで"

    nob18
    nob18 2007/07/18
  • ウノウラボ Unoh Labs: MySQL最適化のミニtips

    yukiです。 今回はWebサイトを製作する上で欠かせないデータベース(DB)のお話です。Linux、Apache,MySQL,PHPを組み合わせたLAMPという言葉が登場して久しいですが、Webサービスを構築する上で欠かせないのがDBの存在ですね。 運用後Webサイトが順調に拡大し規模も大きくなってきた頃、パフォーマンスに悩むことも出てくるものです。 ハードウェアや構成に問題がある場合、ロジックに問題がある場合など様々ですが、DBを見直してみるのも手かもしれません。 銀行の預金残高などのようにミッションクリティカルである場合や、ともかくパフォーマンス性を求められるなど様々あり、一概に言えるものでもありませんが、 Webサービスにおいては有名な8秒ルールも、最近では6秒、3秒、1秒と求められるパフォーマンスはどんどん短くなって来ています。 パフォーマンスだけでなく、メンテナンスコ

    nob18
    nob18 2007/07/18
  • ウノウラボ Unoh Labs: メンテナンス画面を簡単に出してみる

    カレーはあまり好きじゃないKeitaです。 映画サイトの映画生活のデザインリニューアルをして、いくつかデザイン以外の修正もあり、サーバ停止時間が発生するため、メンテナンス画面を作ることにしました。今日はその簡単なトピックスを書いてみたいと思います。 まず最初に、メンテナンス画面は次のような形の要件があるかなと思っています。 ドメイン以下すべてがメンテナンス画面になる クローラー対策でヘッダで503を出力する 癒される 特にクローラー対策は、クローラーがきておかしいものをキャッシュされると結構痛いかなと思うので、503が的確かはともかく、そこらへんのエラーを出すことにしました。 最初、ここら辺のすべての処理をmod_rewriteだけで実現できるかなと思ったのですが、残念ながら、mod_rewriteでは300番系のエラーを出すことができますが、503のエラーは出せないようなのでさくっ

  • ウノウラボ Unoh Labs: mod_expires と mod_rewrite を使ってウェブサーバへのアクセスを減らす方法

    最近、雨の日が続いて自転車通勤ができていない naoya です。 今日は、先週ぐらいからフォト蔵に導入した Apache で mod_expires と mod_rewrite を使ったウェブサーバへのアクセスを減らす方法を紹介します。 通常のウェブサーバは、更新されていないリリースに対してアクセスすると、ステータスコード 304 とIf-Modified-Since ヘッダをつけて応答データを返しますが、CSSJavaScript など比較的更新頻度の少ないファイルに対して、毎回応答を返すのはウェブサーバから見ると無駄なアクセスです。 Apache の mod_expires と mod_rewrite を使うと、この無駄なアクセスをブラウザキャッシュを有効活用にすることにより、静的なファイルに対するアクセスを減らすことができます。 まず、仕組みから説明すると、とても単純で mod

  • ウノウラボ Unoh Labs: PHPによるテキストファイルへのロギング

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

    ウノウラボ Unoh Labs: PHPによるテキストファイルへのロギング
    nob18
    nob18 2007/05/11
  • ウノウラボ Unoh Labs: PHPの画像処理の紹介と簡単な比較

    Keita です。 僕は、フォト蔵チームではないので、フォト蔵の画像処理については見ていませんが、個人的に画像処理に興味があるためPHPにおいての画像処理を簡単に調べたことがあります。 その時の結果をお話させていただきたいとおもいます。 この他に、もし、こういう選択肢があるよというのがあれば、教えていただけると大変うれしいです。 主要なライブラリの一覧 GDで処理 LibGDを操作するPHP標準のライブラリです。 ほぼ、レンタルサーバなどで利用できる反面、対応形式が、JPEG,GIF,PNG,WBMP,GD{,2}にしか対応していないなどのいくつか機能的に制限があります。 (WBMPは、Wireless Bitmapという、WindowsBitmapとは別の形式です) imagick ImageMagick/GraphicsMagickという画像編集ソフトのPECLの拡張で

  • ウノウラボ Unoh Labs: 専用サーバを構築するときにまず行う4つの設定

    こんばんは、最近寒い夜が続いていて自転車通勤がつらくなってきた naoya です。 ウノウでは、フォト蔵や社内システムなどは、すべて専用サーバを構築して運用をしています。 今日は、専用サーバを構築するときに、僕がウノウで学んだ専用サーバでまず行う4つの設定を紹介します。 なお、今回の設定はすべて Fedora Core 5 をもとにしています。 (1) sudo を使えるようにする sudo コマンドを使えるようにします。sudo コマンドは、別のユーザとしてコマンドを実行できるコマンドです。 sudo コマンドを使えるようにするには、/etc/sudoers に sudo を許可するグループを追加します。次の例は、unoh グループを追加する例です。 %unoh ALL = (ALL) ALL, !/bin/su, /bin/su postgres, /bin/su * postgres

  • ウノウラボ Unoh Labs: WEBサービス運用における監視体制

    こんにちは satoです WEBサービスは作るよりも運用の方がコストがかかるとも言われています。 運用を極力自動化して、コストを減らしたいものです。 ここではウノウで使っているツール類を紹介したいと思います。 1) 疎通、生存監視 webの生存監視などは nagiosを使って監視しています。 nagiosには - いつ(土日を除く、10時~22時までの間で など) - どのタイミングで(N回連続で ,復旧したら など) - 何が起こったった時に(疎通が取れない など) - どうするか(メールで通知する) などを細かく設定できる監視ツールです。 ウノウでは MySQL、memcached、HTTP、ping、DNS、SMTPなどの監視をnagiosで行っています。 2) システムやアプリケーションLOG ログの監視には swatch を使用しています swatchの機能には -

  • ウノウラボ Unoh Labs: ウェブアプリ開発を助けるGETコマンドを使ってハックしてみよう!!

    2GBのSDカード買って意気揚々と歓迎会に突撃したらカメラごと持って帰るのを忘れて生きていくのがつらくなったjokagiです. ガジェットには名前と連絡先をお忘れなく. さてウェブアプリケーションの開発をしていると当然ですがブラウザーで画面の確認をしたりしますが,ブラウザーで確認をしているとキャッシュに悩んだり面倒くさいことが少なくありません. 普通そういう時はtelnetなどで直接HTTPプロトコルでウェブサーバーと会話するわけですが面倒くさいですよね. $ telnet www.yahoo.co.jp 80 Trying 203.216.231.160... Connected to www.yahoo.co.jp. Escape character is '^]'. GET / HTTP/1.1 Host: www.yahoo.co.jp HTTP/1.1 200 OK Date:

  • 1