タグ

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

  • ウノウラボ Unoh Labs: daemonsで簡単デーモン

    komagataです。 mongrelを入れるときに一緒に入るdaemonsというライブラリが気になったので調べてみました。 daemonsは大まかに、サーバープログラムをstart/stop/restartなどのおなじみのやり方で操作できるようにするラッパーの機能とプログラム中で使って自分のプロセスをデーモンにする機能があるそうです。 引数を出力し続けるプログラムをデーモンにしてみたいと思います。 puts_arg.rb: #!/usr/bin/env ruby loop do puts ARGV.inspect sleep(1) end 実行結果。 $ ruby puts_arg.rb a b c ["a", "b", "c"] ["a", "b", "c"] ["a", "b", "c"] (略) これにdaemonsを使ってラッパーを用意します。 puts_arg_control.

  • ウノウラボ Unoh Labs: hasLayoutとは何か

    yamaokaです。 CSSに携わっている方なら、Holly hackを使ったことがあるかもしれません。 /* Hides from IE5-Mac \*/ * html .foo { height: 1%; } /* */ Internet Explorer(以下IE)で、レイアウトに問題のある要素に 上記のようなスタイルを指定をすると、 あら不思議、まともな表示がなされるというものです (上記のままではIE7に対応していませんが…)。 さて、どうしてレイアウトが意図したとおりに行われるようになるのでしょうか。 IEのhasLayoutプロパティ IEでは、全ての要素が 「hasLayout」という読み取り専用のプロパティを持っています。 これはそれぞれの要素がレイアウト情報(=要素の幅・高さなどに関する属性情報)を 保持しているかどうかを示す値で、 デフォルトの状態では「hasLayo

  • ウノウラボ Unoh Labs: 携帯サイトとクローラ

    harukiです。 ケータイユーザも検索エンジンから来るユーザも増えています。 そのため、携帯サイトも検索エンジンのクローラへ対応する必要があります。 ・Mobile Link Discoveryの記述を追加する PC用のページのheadタグ内に <link rel="alternate" media="handheld" href="(ケータイURL)" /> の記述を追加するだけです。 Mobile Link Discoveryに対応しているサイトでは、ケータイからのアクセス時に直接アクセスしてもらえるようになります。 Mobile Link Discovery 仕様 http://www.sixapart.jp/docs/tech/mobile_link_discovery_ja.html 検索エンジンでは、Googleモバイルのgoogle mobile proxy http

  • ウノウラボ Unoh Labs: Rubyでネットワークサーバを書く

    尾藤正人(a.k.a BTO)です 先日公開したブラウザだけでネットワーク対戦ゲームができるサイト「プラッシュ」では、 フラッシュとネットワーク通信を行う専用のXMLSocketサーバを開発しました。 このXMLSocketサーバはrubyで書かれています。 LLでデーモンを書く需要が、それほどあるとは思えませんが、デーモンを書く際に気をつけた点、工夫した点をまとめてみたいと思います。 なぜrubyを選んだのか rubyを選んだのには理由は2つあります。 Railsを採用した LLで早く開発をしたかった 僕も昨今のRailsブームにのって個人的にRailsを使い始めていました。 プラッシュは完全に新規プロジェクトで環境を選択する事ができたので、迷わずRailsを選択しました。 では、なぜCのようなコンパイル言語で書かなかったのか。 速く動くものを開発するよりも、早く開発をしたかったからです

  • ウノウラボ Unoh Labs: MP4/3GPP/3GPP2ファイルフォーマットの基礎知識

    各ボックスはその先頭8バイト(オクテット)がボックスを識別するためのヘッダで、最初の4バイト(オクテット)がボックスのサイズ、続く4バイトがそのタイプです。 上の例では先頭の4バイトが0x1Cなので、最初のボックスは0x00~0x1Bまで、続く4バイトの「ftyp」がそのタイプです。ftypボックスの中身は具体的なデータですが、続くmoovボックスは、さらにmvhdボックスを含む構成になっています(そして実際にはこの後さらに複数のボックスが入れ子になっています)。 +--ftyp +--moov | +--mvhd | +--drm | | +--dcmd | +--trak | | +--tkhd | | +--mdia | | +--(以下省略) | +--trak | | +--tkhd | | +--mdia | | +--(以下省略) | +--udta | +--titl +-

  • ウノウラボ Unoh Labs: 「サーバサイドCSS」という選択

    miyakeです。突然ですが、CSSって書くの面倒ですよね。何らかのプログラミング言語を知っている人間から見ると、CSSというのは言語としてはかなり貧弱です。 もちろんCSSはプログラミング言語では無いので、それを貧弱だと言われてもCSSもいい迷惑かも知れません。でも、 div#content { ~ } div#content div.entry { ~ } div#content div.entry p { ~ } div#content div.entry ul { ~ } こういう大したことをしていないのに、コードがどんどん長くなっていくのを見ると、もう少し何とかならないものかと思ってしまいます。 コピペするにしても、 コピー元にカーソルを移動 範囲選択してコピー コピー先にカーソルを移動 ペースト という操作が必要になります。数が増えてくるとコピペのミスも発生しかねませんし、id

  • ウノウラボ Unoh Labs: Googleマップの地図を好きな写真に簡単にさしかえられるツール

    matsuda です。こんにちは 最近Googleマップで独自の地図を表示したりするのがちょっとしたブームだったりしたので、 よーし僕も挑戦するぞーと思ったのですが、Googleマップって1枚の画像で 簡単に出来るものじゃなかったんだと挫折(ズームごとに256×256pxに分割された画像が必要のよう…)。 しかし、この問題を解決してくれるツールがあったので紹介します。 1枚の写真とズームレベルを決めればあっという間にGoogleマップに画像が表示 されて拡大縮小できる優れものです。 ↓↓↓ The Google Maps Image Cutterよりダウンロードが可能 使い方はいたって簡単 1)メニューの左にあるFileから、地図にしたい写真を選ぶ gimc001 posted by (C)フォト蔵 2)最大のズームレベルを設定する ズームレベルが大きいほど、出来あがるタイルの

  • ウノウラボ 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: JavaScriptライブラリといえば jQuery(入門編)

    こんにちわ。山下です。 最近、私の周りではJavaScriptライブラリといえば、jQuery の名前がまず最初に挙がってくるようになってきました。今回は、jQueryって何が便利なの?っていう人向けに、ポイントを掻い摘んで説明します。 1.名前空間を汚さない 他のJavaScriptライブラリとかだとStringとかArrayを直接拡張してたりしますが、jQueryはグローバルな名前空間を汚しません。eachとかmapのような便利な関数もすべてjQueryオブジェクトの属性として定義されています。 jQuery.each, jQuery.extend, jQuery.grep, jQuery.map, jQuery.merge, jQuery.trim, etc. また、標準では $ にショートカットが割り当てられるのですが、jQuery.noConflict()と書くことで proto

  • ウノウラボ Unoh Labs: 5分でできるウェブサーバのセキュリティ向上施策

    こんにちは、naoya です。 先日、ウノウが公開しているサービスの中にいくつかの脆弱性が見つかったため、社内で「脆弱性発見大会」を開催しました。この大会は、二人一チームに分かれてウノウが公開している各サービスの脆弱性を見つけることを目的とした大会です。結果は、いくつか各サービスに脆弱性が見つかり、すぐに修正することができました。 僕のチームは、ウノウのホームページやラボブログなど細かいサービスを担当しました。その中で、いくつかのウェブサーバにセキュリティ上あまい設定がありました。 今日は、ウェブサーバのセキュリティ向上のための設定方法についてエントリします。なお、ウェブサーバはApache 2.2系を前提としています。 サーバ情報の表示しない ウェブサーバ(Apache)で、404などのエラーページを表示したとき、ヘッダやページの下にApacheやOSのバージョンが表示されます。こういっ

  • ウノウラボ Unoh Labs: MySQL オペミスでデータが破損してしまった場合の復旧方法

    こんにちは satoです。 オペミスで update に where句を付け忘れたり、プログラムのバグでデータが破損してしまったりした場合でも、バイナリログには更新SQLがすべて書き込まれるので、バックアップデータからオペミスが起こるまでの全てのSQLを流し込めれば、元の状態に戻すことは可能です。 •バイナリログを取っている •オンラインバックアップをとっている(mysqldumpMySQLを止めた状態でのcpによるバックアップとバイナリログ) •バックアップ時点でのバイナリログの書き込み位置を保存している 以上のような状態でデータが壊れた時の復旧手順をまとめてみました。シナリオとして •ある1カラム email をupdateしようとしたら、間違ってwhere 句を付け忘れ 全レコードをupdateしてしまった •気がついたのが半日後 というオペミスが発生したとします 1) データベー

  • ウノウラボ Unoh Labs: Flashの新しい可能生 Asynchronous Flash + XMLSocket

    尾藤正人(a.k.a BTO)です 昨日ラボプロジェクトとして実験的に開発している新規プロジェクト「プラッシュ」をβ公開しました。 簡単に説明するとプラッシュはFlashとXMLSocketを使う事でブラウザだけでネットワーク対戦ができるゲームポータルサイトです。 今回はプラッシュで使われているFlashとXMLSocketを使ったアプローチについて考察してみたいと思います。 はじめに 正直に告白すると僕はFlashを一行も書いた事がありません。(汗) なので、Flashの部分に関してはFlash側の開発者であるyossyに聞いたり、Webで調べた情報がほとんどです。 不正確な情報が含まれてる可能性がありますが、その辺を考慮していただければと思います。 FlashのXMLSocketで何ができるのか FlashのXMLSocketを使うと直接ソケット通信を行う事ができます。 AjaxやCo

  • ウノウラボ 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: buttonタグでサブミットするあれこれ

    CSSでいつも悩まされるのはクロスブラウザですけど、フォームでは特に面倒くさい要素が山盛りですよね。ボタンの文言を動的に変えたいから画像はなるべく使いたくないけど、だからといってブラウザのデフォルトのボタンとか、味気ないですものね。 今日は、フォームにつきもののボタンについて考えてみます。 私たちがボタンに求めるモノって、何でしょう。 データを送信(submit)する どのブラウザでも同じように見える 使い回しが聞く ボタンについている文言がどんなに長くなっても、水平方向の長さがフレキシブル 上記のようにサイズ的にフレキシブルであっても、見た目の美しさを阻害しない ボタンの大きさ=クリックできるエリアの大きさ 画像がdiableされていても使用可 CSSがdisableされていても使用可 ボタンのように見えて実はただのリンクの時のもある これらの要求を解決してくれる方法が複数出

  • ウノウラボ Unoh Labs: WEBアプリテストのチェック項目リスト

    こんにちは!やまもと@テスト番長です。 TestingGeekという耳障りの良い名前のサイトをご存知でしょうか? 総合的にテストの話を取り扱っており、それでいて読みやすいサイトです。 そこのTemplatesのコーナーにWeb Application Testing Checklist という便利そうなものがありましたので、日語にしてみました。 ちょっとそのままだと物足りない感がありますが、テストポリシー作成の叩き台に使ってみるのも良さそうですね。 この手のリストを他にもご存知の方がいらっしゃれば、是非ご一報ください。 1. 機能テスト 1.1 リンク 1.1.1 記載された通りの先に遷移するか 1.1.2 どこからもリンクされないページは存在しないか 1.1.3 全ての外部リンク 1.1.4 参照しているサイトおよびメールアドレスはハイパーリンクになっているか? 1.1

  • ウノウラボ Unoh Labs: ベンチャー流Webサービスの作り方(開発チーム編)

    尾藤正人(a.k.a BTO)です 前回はWebサービスを作るときの企画の部分について書きました (ベンチャー流Webサービスの作り方(企画編))。 今回はWebサービスを作るときの組織作りについて書いてみたいと思います。 僕がウノウに入って始めたのがフォト蔵の開発でした。 当初は開発が僕、ディレクションが代表の山田という二人体制でやってましたが、 組織が大きくなるにつれてだんだんと人数が増えていきました。 現在は僕も山田もフォト蔵からは離れて新しいチームで開発を行っています。 二人体制から始めて、少しずつ人数を増やしていって、 立ち上げメンバーが開発から離れるまでいろいろ経験しながら 自分が感じた事を簡単にまとめたいと思います。 ・最終決断は一人で 何をするのか、戦略はどうするのか、方向性は何なのか、最終的な決断はリーダーが一人で行います。 個人の主張を尊重しすぎて、各々が好きな事を始め

  • ウノウラボ Unoh Labs: 3G携帯のみに限定したサイトを作る場合

    ※XHTML対応機種(FOMA 2001,2002,2101V以外) ●記述言語 HTMLが必須ではなくなり、XHTML「のみ」という選択も可能になります。 ●文字コード Shift_JISに加えてUTF-8、EUC-JPも使えるようです。 ●ページサイズ DoCoMo

  • ウノウラボ Unoh Labs: Cactiによるサーバ稼働状況の監視と異常通知

    こんにちわ。 7月2日に、エイガでつながるクチコミサイト「映画生活」のリニューアルが無事に終わってほっとしているhideです。近々、映画APIなども公開していきたいと思っていますので、どうぞよろしくお願い致します。 さて、今日は、Cactiを使ったサーバ稼働状況の監視について説明したいと思います。サーバの稼動状況を監視するツールとしてはMRTGが有名ですが、ウノウではCacti を使っています。MRTGと比べて、Webブラウザ上から設定を行うことができる、データはMySQLに保存されるので過去の任意の時点を詳しく見ることができるなどの点で優れています。 Cactiは普通にインストールしただけだとサーバから取得したデータをグラフ表示するだけなのですが、http://cactiusers.org/にて公開されている Cacti Plugin Architecture というパッチを当てるとプ

  • ウノウラボ Unoh Labs: ECサイトのユーザビリティ・ガイドライン

    こんばんわ、Sashaです。 最近、ECサイトのリニューアルを計画するお手伝いをする、という仕事がありました。特にユーザビリティ的な観点から、どんなことを網羅したらこのリニューアルを成功させることができるだろうか、ということを考えながら、様々なブログを参考にしたり実際のECサイトを検証したりしていたら、以前私が紹介したユーザビリティ・ガイドラインのようなチェックリスト的なものが出来上がったので、もしかしてどこかのだれかのお役に立つこともあるかもしれない、と思い、ここに紹介させていただきます。 まず、ECサイトで実現したい基的な目標をあげ、その目標に沿って細かく、網羅していきたい事を列挙していきました。 基的な目標とは、次の5項目です。 見つけたい商品・情報を見つけやすくする ユーザーの労力を極力削減する 買いたい気にさせる 購入までのプロセスを簡単にする オンラインショッピング

  • ウノウラボ Unoh Labs: 携帯開発向けに便利な支援ツール/サイト

    どーも8makiです。 ウノウでは携帯サイトの開発も行っています。 携帯サイトの開発ってPC用のものと比べて制限が多かったり、面倒くさいことが目白押しです。そこで開発に便利なツール・サイトをリンク集的にまとめてみました。 ~~~~~~ツール編~~~~~~ ■必須ツールi 絵文字 ドコモの絵文字が入力/表示できるようになります。 User Agent Switcher (Firefox 拡張) User Agentを書き換えて携帯になりきることができます。 インポート用の各種端末のUser Agentリストを作成していただいたので皆さんもご利用ください。 useragentswitcher.xml ■あると便利なツールiモードHTMLシミュレータIIiモードHTMLシミュレータOpenwave SDK(au) ウェブコンテンツビューア(ソフトバンク)MediaCoder .