タグ

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

  • ウノウラボ 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

  • ウノウラボ Unoh Labs: RDBで階層構造を扱うには?

    yukiです。ダイエットを始めて3kg減ったと思ったら、風邪を引いて見事に1kg増量。 運動しないと駄目ですね。あと残り20kg、道のりは遠いです。 さて今回は、「RDBで階層構造を扱うには?」です。 あるサイトを構築中に階層構造をもったカテゴリ構造にすることになり、どのようにDBで扱うか悩みました。 DBMySQLを採用していたので、この時点でぱっと頭に浮かんだ選択肢は以下のようなものでした。 XML-DBを利用する 親カテゴリレコードのプライマリIDを子カテゴリレコードに持たせる 親を含めた『絶対パス』を名称として扱い、取り出した後にパース ファイルシステムに同様のディレクトリ構造を作り、毎回パースする (1)のXMLDBはオープンソースのeXistやXindice、Yggdrasillなど様々な選択肢がありましたが、カテゴリのみの利用な割にメンテナンスコストが高すぎるので見送りま

    cvyan
    cvyan 2009/06/26
  • ウノウラボ Unoh Labs: OpenSocialを始めよう!第1回

    こんにちは五十川です。 先日、gooホームとmixiアプリが立て続けに公開され、いよいよ日でもOpenSocialが注目を集めるようになりました。そこで今回は、これからOpenSocialアプリケーションの開発を始めるにあたっての基礎的な内容をまとめてみたいと思います。 OpenSocialとは Google Code - OpenSocialの冒頭には、OpenSocial は複数のウェブサイト間で使用可能な、ソーシャル アプリケーションの共通 APIの定義であると書かれています。 あるOpenSocial対応のウェブサイトで動作するプログラムは、他のOpenSocial対応アプリケーションでも動作する — 例えばmixiアプリ用のプログラムは、gooホームやMySpaceなどでもそのまま動作する可能性があるというのがOpenSocialの重要な点です。もちろんウェブサイトごとに細部の

  • ウノウラボ Unoh Labs: テスト計画書のテンプレート

    こんにちは!やまもと@テスト番長です。 巷ではインフルエンザが流行っているようですが、皆さんお元気にお過ごしでしょうか。 さて、プロジェクトが立ち上がったとき、(特に受託案件の場合) テストのドキュメントはどうしようか?という話が出ると思います。 適当にやる訳にも行かないけれどIEEE829をベースにしたものだと重かったり、割と迷う部分です。 英語ですがテスト計画のテンプレートを配布しているサイトがあったので、ご紹介してみます。 Pragmatic Software http://www.pragmaticsw.com/ Software Development Templates http://www.PragmaticSW.com/Templates.asp テスト計画書 Test Design - http://www.pragmaticsw.com/Template_Te

    cvyan
    cvyan 2009/01/22
  • ウノウラボ Unoh Labs: PHPとMecabでキーワード自動リンクを実装する

    こんにちは、山下です。 今年もどうぞよろしくお願い致します。 Webサービスを開発していると、特定のキーワードを自動でURLリンクにする処理が必要になることがあると思います。今回は、このキーワード自動リンク機能を形態素解析ツールMecabを使ってPHPで実装する方法を紹介したいと思います。 説明に入る前に少し補足しておくと、Trieの実装であるDouble-Array処理だけ利用したいのであれば、MecabからDouble-Array処理の部分を切り出したDartsというライブラリがあります。しかし、なぜMecabを使うかというと、PerlだとDartsのバインディングが公開されているのですが、現時点でPHP版はありません。また、最近のLinuxディストリビューションでは、Mecabのパッケージが最初から用意されているため、より簡単に利用できると思ったからです。 それでは、順を追って説明

  • ウノウラボ Unoh Labs: デザイナの立場からの「デザイン依頼のコツ」

    こんにちは。yamazakiです。 このブログをご覧になっているのはエンジニアの方が多いと思いますので、デザイナの方とのやりとりをされている方も結構いらっしゃるはず。 社内で「どういうふうに依頼されるのがデザイナとしてはいいもの出てきやすい?」というお話を振られたので今回はそれについて書いてみようと思います。 ※もちろんあくまでこれは私個人が思うところであり、全てのデザイナにあてはまるわけではないと思います。 ので、できればこれをご覧になったデザイナーの皆様も、「こういうふうに依頼してくれると力が発揮できる」というポイントなど書いていただけたら非常に嬉しいです。 また逆に、デザイナにはこういう点気をつけて欲しい、といった、エンジニア視点でのデザイナへのリクエストなどもいただけると嬉しいです。 ---- ビジョン、ゴールを共有するこれは複数の人間が関わるプロジェクトなら当たり前といえば

  • ウノウラボ Unoh Labs: Apache で特定のコンテンツへのアクセスに対して帯域制限しよう

    こんばんは、最近自転車のライトを交換した naoya です。 今日は、Apache で特定のコンテンツへのアクセスに対して帯域制限する方法を紹介したいと思います。まず、特定のコンテンツの帯域を制限しようと思った背景から説明したいと思います。フォト蔵では、写真と動画をサポートしています。そのため、動画へのアクセスが増えると他の写真などへのコンテンツに対するレスポンスが悪くなってしまうことがあります。動画は、FLV 形式ですが比較的ファイルサイズが大きいものが多いため、FLV のみ帯域制限を行ってみることにしました。 まず、Apache で帯域制限できるモジュールについて調査しました。調査には、Software Design 2007年9月号をおもに参考にさせていただきました。 Software Design (ソフトウエア デザイン) 2007年 09月号 [雑誌] posted with

  • ウノウラボ Unoh Labs: jQueryのパフォーマンス最適化に関するTips

    こんにちは、山下です。 今回は、jQueryのパフォーマンス最適化について説明したいと思います。 軽量と言われているjQueryですが、いろいろな機能を実現しようとして複数のプラグインを導入すると、だんだんと動作が重くなってきます。サーバ側をいくらチューニングしたところで、ブラウザ側での処理に時間がかかっていたら、せっかく訪問してくれたユーザに重いサイトとして認識されてしまいます。以下に、ウノウで運営している「映画生活」で実際に行っている方法を紹介します。 1. Packed版ではなくMinified版を使う jQuery1.1まではPacked版のみだったのですが、jQuery1.2からMinified版もダウンロードできるようになりました。Packed版よりもMinified版を使うことをお勧めします。どう違うのかというと、Packed版はファイルサイズを極限まで削減するために静的辞

  • ウノウラボ Unoh Labs: Linuxをネットワーク経由で自動インストールする方法(前編)

    miyakeです。今回は近頃流行りの、サーバの自動インストール方法をご紹介します。 1エントリにまとめるには内容が多かったので、2回に渡って書きたいと思います。ひとまず今日のところは「ネットワークブートから手動インストール」までです。 自動化の部分を期待された方は申し訳ありませんが、次回のエントリをお待ちください(普段より早めに書きたいとは思います)。 ウノウラボでは「 ベンチャー流サーバ構築のススメ(ソフトウェア編)」と題して、OSをインストールではなくコピーする方法をご紹介しています。両者を簡単に比較してみると、それぞれ以下のような特徴があります。 ■OSコピーのメリット 新サーバの環境構築の手間がほとんどない 最低限、IPアドレスの設定だけ変更すればすぐに実践投入できます。 完全に同じ構成のサーバを用意出来る 当然ながら、インストールされたパッケージだけでなく、サーバ内のファイルも同

  • ウノウラボ Unoh Labs: ブラウザから使用できる仕様書を書くツールまとめ

    こんにちはsatoです。Windows以外の環境で仕様書を書こうと思うと、なかなか良いアプリがなかったりまします。今回はブラウザから使用できる仕様書作成ツールをまとめてみました。 1) オンラインで配置図などを描く Gliffy 配置図などをオンラインで描くことができます。また 画像への出力なども対応しています。いわゆるVisioの代わりになるツールです。 2) pdfファイルをtextに変換する PDFTextOnline pdftextに変換することができます。pdfの内容をスクリプトなどで切り出して、データ化するときなどに役に立ちます。他にもいろいろな変換するサイトやツールがあるのですが、ここは日語が正常に通って見た目通りに変換できます。 3) データベースのテーブル定義などを書く WWW SQL Designer オンラインでER図などが書けます。以前miyakeさんが紹介して

  • ウノウラボ Unoh Labs: 携帯へメールを送る際の確認事項

    harukiです。 ケータイ宛にメールを送信するサイトにおける確認事項をまとめてみました。 サーバ側 DNS IPアドレスが逆引きできるようになっているか SPFレコードが正しく設定されているか SPFは、2007年11月1日からDoCoMoも対応します。 http://www.nttdocomo.co.jp/service/mail/imode_mail/sender_id/index.html MTA EHLO/HELOコマンドでのドメイン名が正しいか エンベロープFrom/Toは正しいか その他 Fromフィールドのドメインが正しいか (Aレコード、MXレコードが存在しているドメインか) Return-Pathは設定しているか 端末で表示できる文字コード・形式で送っているか あとは、OP25B(Outbound Port 25 Blocking)に該当する場合は、その確認も必要にな

  • ウノウラボ Unoh Labs: DRBDによるコンテンツの相互バックアップ

    こんにちは satoです。 DRBDは誤解を恐れないで、簡単に言ってしまうと、ネットワーク越しにRAID1を構築できるオープンソースのソフトウェアです。 DRBDには以下の特徴があります。 ・カーネルモジュールで動作し、有償でサポートが受けられます ・電源等が壊れても、ソフトウェアRAIDやPICカード型のRAIDと違ってサービスを続けることができます ・heartbeat等と組み合わせて、HAなシステムを構築できます ・secondary(slave、待機系)はマウントすることができません。 DRBDの設定から使用までを簡単に解説しようと思います。また待機系が必要なのですが、待機だけではもったいないので、相互に違う領域をバックアップ(s1のsda3のバックアップ先は s2のsda3、s2のsda4のバックアップ先はs1のsda4)をしてみました。 構成 s1.unoh.n

  • ウノウラボ Unoh Labs: auとSoftBankの絵文字一覧YAML

    auとSoftBankの絵文字については、下記のページに公式の情報が掲載されています。しかし、情報がPDFであったり、HTMLであったりと、プログラムから使うのが難しいという問題があります。 EZFactory 絵文字 EZWeb絵文字一覧【タイプD】(リンク先はPDF) ソフトバンク 絵文字一覧 そこでこのPDFHTMLYAMLにしてみました。 諸般の事情により公開を停止しました。代わりに、同様の情報の取得方法に関する記事へのリンクを紹介いたします。 Ruby: http://d.hatena.ne.jp/tokuhirom/20070706/1183707279 Ruby: http://moriq.tdiary.net/20070211.html#p01 Ruby: http://d.hatena.ne.jp/urekat/20070927/1190905959 Perl: ht

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

    miyakeです。皆さんドキュメントはしっかり書いていますか? 近頃のWeb界隈では、詳細仕様書的なものは作らずにスピーディーに開発を進めるケースも多いかも知れません。ドキュメント作成のコストは小さくありませんし、内容を最新に保つのも一苦労です。とは言え、複数の人間が関わるプロジェクトにはER図はあると嬉しいなと個人的には思います。 今日はそんなER図をブラウザ上で作成するアプリケーション「WWW SQL Designer」をご紹介します。 以下のスクリーンショットは、このアプリを実際に触って試せるlive DEMOのものです。 WWW SQL Designer posted by (C)フォト蔵 上部のメニューからテーブルやカラムを作ったり消したりして、テーブルをドラッグアンドドロップで配置、リレーションを同じくドラッグアンドドロップで設定、というのがおおまかな作業の流れになります。まず

  • ウノウラボ Unoh Labs: DRBDで2TBのハードディスク容量を使う方法

    こんにちは、naoyaです。 先日、フォト蔵のサーバのハードディスク空き容量が減ってきたので、ハードディスクを500GBx4から1TBx4のハードディスクに交換しました。 フォト蔵のサーバでは、以前satoが紹介したようにDRBDを使って写真や動画のデータを相互バックアップしています。 フォト蔵のサーバのハードウェアとソフトウェア環境は、次のとおりです。 HDD: 1TB x 4 OS: Fedora Core 5(2.6.20) DRBD: 0.7.24 ハードディスクは、二ずつソフトウェアRAID0で組んでいます。 # cat /proc/mdstat Personalities : [raid0] md1 : active raid0 sdb1[0] sdc1[1] 1953519872 blocks 64k chunks md0 : active raid0 sda3[0] sd

  • ウノウラボ 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: Webブラウジングを快適にするAutoPagerize

    こんにちわ、山下です。 Software Design 10月号にサーバ監視ツールCactiについての記事を書きました。この号のNagios,Swatch,Wiiの記事もウノウ・エンジニアによるものですので、ぜひ興味のある方はご覧ください。 さて、今日はWebブラウジングを快適にするAutoPagerizeというツールを紹介します。AutoPagerizeはGreasemonkey用の拡張スクリプトで、今、自分のまわりで爆発的に流行っています。先日の出張 Shibuya.js 24でも作者の方が発表されていたのでご存じの方も多いのではないでしょうか。 念のために何をするツールかを説明しておくと、Googleなどの検索結果で次のページを表示するときに「次へ」ボタンを押さなくてもページ下部までスクロールすると、勝手に次のページを読み込んでその下に付け足してくれるものです。なかなか文章では伝わ

  • ウノウラボ Unoh Labs: 正規表現の勉強法

    bokkoです。 テキストの整形処理を行う上で正規表現は非常に重要です。正規表現なしでテキストの整形処理をするくらいなら自分で正規表現ライブラリを書いてやるという人がいるのかどうかは知りませんが、実際、相当大規模なWebソフトウェアのプロジェクトならそっちの方が早いかもしれません。なんだか自分で書いてて何が言いたいのかわからないような文章になってしまいましたが、私が言いたいのは正規表現はそれくらい強力で、習得して使う価値があるということです。 ただ、正規表現にはじめて触れる場合、非常にとっつきにくく思う方もいると思います。私も最初、意味のわからない文字の羅列に圧倒されたような気がします。 このように最初の段階でとっつきづらく思ってしまうのは大抵慣れの問題なので、とりあえず、正規表現を使ったプログラムでも書いてみるのが一番の近道です。何かしらのテキストを整形するというのがいい題材ですが、私が

  • ウノウラボ 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: 「視線を導く」方法あれこれ

    yamazakiです。毎度毎度技術系なこのウノウラボには馴染まない話題を振りまいているわけですが、さてはてどの程度お役に立てているものか…。 今回のテーマは「視線」です。例えばWebサイトは「見てもらう」ことが大事ですし、また、UI設計の場面などでも、「視線をうまく導いてやる」のは使い勝手をよくする上でも大切なことだと思います。といったわけで、ユーザの視線をうまく捕まえてみたり導いてみたりする上で役に立つかもしれない情報を簡単にまとめてみます。 1.視線をつかまえる Web上にも街にも広告だの何だのと情報が氾濫しています。その中で「見てもらう」ためには何かしらの工夫が必要になることがあります。というわけでまずは「人の視線をつかまえる」ための方法論を少し。 「人の顔」を使う まずはこの画像を見てみてください。 01 posted by (C)フォト蔵 最初に、どれを「見てしまいました」か?