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

  • ウノウラボ Unoh Labs: 2009年版Python開発環境を整えよう

    なでしこの作者じゃない方のsakatokuです。 以前書いた「Python開発環境を整えよう」という記事からだいぶ時間が経ってしまったので、内容を更新したいなぁと思っていたのですが、ようやくその機会が来ました。 virtualenvで開発環境をつくる 開発環境をつくるにあたって次のような問題が生じると思います。 root権限がないためにインストールしたいライブラリが使えない 新しいライブラリをインストールしたり、既存のライブラリをアップグレードすることで、既に動いているアプリケーションを壊したくない 複数のバージョンのPythonを使って開発、テストを行いたい 自作したPythonパッケージのインストールのテストを行いたい 以前の記事ではvirtual-pythonという解決策を紹介しましたが、現在ではvirtualenvというツールが広く使われるようになってきています。 virtuale

    harupiyo
    harupiyo 2009/12/04
  • ウノウラボ Unoh Labs: PubSubHubbubとは

    yamaokaです。 Twitterのみならず、FriendFeedやFacebookなど よりリアルタイムに近い更新がwebで求められるようになってきています。 従来、更新情報の配信はRSSなどのフィードやAPIを通して行われてきました。 しかしその場合、配信している側のサーバーに 定期的にリクエストを投げないと更新があったかどうかわかりません。 サーバーへのアクセスが多くなった場合、結構な負荷になります。 さらにお行儀の悪いクライアントが存在すると、頻繁なアクセスを繰り返し、 あたかもDoS攻撃のような状況が起こることもありえます。 そこで考えられたオープンなHTTPベースのプロトコルがPubSubHubbubです。 Google ReaderとFriendFeedが対応している他、 日国内ではlivedoor Blogとliverdoor Readerがそれぞれ対応しています。 で

    harupiyo
    harupiyo 2009/08/20
  • ウノウラボ Unoh Labs: やってみようBDD on Sinatra

    おはようございます。 うちだです。 みなさんテストコード書いてますか? 私はテストと言われると、どうもやる気がおこりません。 そこでBDD! 今回はBDD初心者の私が、やってみた過程を綴ります。ツッコミ大歓迎 BDDとは? Behavior Driven Development 振舞駆動開発 テスト駆動開発ではテストのためにコードを書く 振舞駆動開発では振舞(仕様)のためにコードを書く 結果的にやる事はほぼ一緒 言い方でモチベーションがかなり変わる スペック!スペック! 各言語のBDDフレームワーク Ruby RSpec .NET NSpec Java JBehave PHP PHPSpec 10ステップでやってみるBDD 1. インストール $ sudo gem install rspec 2. スペックを書く # spec/hello_spec.rb require 'hell

    harupiyo
    harupiyo 2009/07/23
  • ウノウラボ Unoh Labs: iモードブラウザ 2.0まとめ

    こんばんは、五十川です。 ご存知の通り、5月以降に発売開始されたNTTドコモの携帯電話の殆どには、新しいiモードブラウザ 2.0が搭載されています。iモードブラウザの大幅な仕様の拡張はi-XHTMLの登場以来ということになりますが、iモードの登場から10年経って登場した新しいブラウザは、i-XHTMLのときよりも遥かに大きな、過去最大の変化を遂げています。 iモードブラウザ 2.0の詳細は、ドコモ公式のiモードブラウザ 2.0にまとめられています。以下では主要な変更点を確認していこうと思います。 キャッシュ容量拡大 1画面あたり読み込めるデータの最大量が、従来の100Kバイトから500Kバイトに、大幅に拡大されました。ご存知の通りiモードの場合この値は、画像などの外部リソースもすべてひっくるめた値ですが、iモードブラウザ 2.0では、新たにCSSファイルやJavaScriptファイルも外部

    harupiyo
    harupiyo 2009/07/14
  • ウノウラボ Unoh Labs: テスターの人権

    こんにちは!やまもと@テスト番長です。 最近、15年住み続けた築40年以上になる木造アパートから、築2年の駅近マンション引越しました。 あまりの住環境の落差に、今までは何だったんだろうと呟いていたりします。 変化することを面倒臭がらずに、日々快適な暮らしを目指すべきだったんでしょうね。 さて、テスターが快適に仕事をするに当たって、保障されるべきこととは何でしょうか? 「テスターの権利章典」というものを考えた方がいるのをご存知ですか? 昨年秋に訳されたもので旬は逃しておりますが、最近ふと思い出したのでご紹介してみます。 テスターの権利章典 Tom Gilb & Kai Gilb : Testers Bill of Rights こちらのページの下のほうに、大西建児さん訳の日語版があります。 これはテスターの方のみならず、むしろプログラマの方に見ていただきたいなと思います。

    harupiyo
    harupiyo 2009/06/02
  • ウノウラボ Unoh Labs: 5分で分かるHaml

    先日、まちつく!が正式リリースになりました。よろしければ是非携帯でアクセスして遊んでみてください。 こんにちは、ryosukeです。 ラボブログの前々回のエントリーで ruby で実装された web application framework の Sinatra が紹介されていたのですが、私もあまりのお手頃感に触発されて少しさわってみました。 その時にふとモデルやビューにいつもは使わない物を使ってみようと思い立ち、 Sequel と Haml を選んでみたのですが、 Haml の構文が見た目に反して(?)思いの他わかりやすかったので、今更感もありますが私同様 erb 以外使おうとも思わなかった人も少なくないのでは無いかと思いご紹介させて頂こうと思います。 Haml は XHTML Abstraction Markup Language の略で...という所から説明するのが筋なのですが、あっ

    harupiyo
    harupiyo 2009/05/28
  • ウノウラボ Unoh Labs: JavaFXを使ってブラウザアプリを作る(MIDI楽器編)

    ウノウでは特に最近、積極的にエンジニアを採用しています。 ご興味のある方はFind Job!から、ぜひご応募ください!! こんにちは。中村です。 JavaFXを使って非常に簡単なMIDI楽器を作ってみました。JavaFXならでは、というよりはJavaアプレットのコードを書かずにブラウザでJavaを動かすことができるという動機で、またつまらぬものを作ってしまった感じです。マウスで鍵盤をクリックすると音が鳴ります(インストールされているJavaのバージョンによっては動作しない場合があります)。 JavaFXとは? JavaFXはRich Internet Applications Developmentとページタイトルに書かれているとおりなのですが、特にインターネット環境に限らずJavaFX Scriptと呼ばれるスクリプト言語を使ってデスクトップアプリケーション、ブラウザ、そしてモバイル端

    harupiyo
    harupiyo 2009/03/05
  • ウノウラボ Unoh Labs: いまさらコマンドラインの便利さを主張してみる

    尾藤正人(a.k.a BTO)です 僕の偏見かもしれませんが、Webプログラマの方の多くはコマンドラインをうまく活用できてないように感じます。 コマンドラインを使いこなすには最初にある程度の勉強が必要で、その敷居の高さのせいであまり便利さが感じられないのかも。 そこで、今更ながらコマンドラインの便利さを高らかに主張してみます。 ワイルドカード ワイルドカードという特殊文字を使うと特定パターンのファイル名を簡単にしてできます。 これは知ってる人も多いので、詳細は割愛。 ワイルドカードでうまくいかない場合は後述するfindコマンドを使います。 zshのワイルドカード zshのワイルドカードを使うと、ちょっとしたfindコマンドのようなファイル名のマッチができます。 簡単に紹介すると次のようなことができます。 echo **/foo # 再帰的に 'foo' にマッチ echo *(/)

    harupiyo
    harupiyo 2008/12/24
    svn add の件は便利ですね。コマンドラインは好きだけど、いまいち効率化に徹し切れていないことに気づかされました。もっと好きになろう。
  • ウノウラボ Unoh Labs: 画像の遅延読み込み

    yamaokaです。 webページの表示を高速化する手法にはいろいろありますが、 その一つとして遅延読み込みという手法があります。 初期状態で表示する必要のない要素については読み込まず、 必要になったタイミングで読み込み、表示するようにする手法です。 ページの読み込みにかかる時間の大半を 画像の読み込みが占めている場合が多いので、 画像の読み込みを遅延させるという手法が多く取られます。 検討するべきケース では、画像の遅延読み込みはどのような場合に検討されるべきでしょうか。 最初から表示されている必要がない画像が存在し、その画像のサイズが大きかったり、 そうした画像の数が多い場合は検討してみる価値があると思います。 例えば、次のようなケースです。 初期状態では表示されないブロックに属する画像が存在し、 JavaScriptで表示するかしないかを切り替えているような場合 ページのずーっと下の

    harupiyo
    harupiyo 2008/12/24
    ここで説明されている「ページ全体のDOMツリーの読み込みが完了したタイミング」とは、具体的にはEvent.observe(document, 'dom:loaded', initLazierLoad, false); でフックされるイベントになります。
  • ウノウラボ Unoh Labs: シェル(bash)スクリプトを書くときのTips

    尾藤正人(a.k.a BTO)です UNIXを使う時にはシェルスクリプトをよく使います。 ちょっとしたコマンドを実行するには、シェルスクリプトは非常に便利です。 今回はシェルスクリプトを書くときに覚えておいた方が便利なTipsを紹介します。 非互換性 ここで紹介するものは基的にbashで動作するものになります。 伝統的なBourne Shellでは動作しないことが多くあると思います。 しかしながら最近はbashがメインで使われることが多いので、"だいだいの環境で動くからおk"ぐらいのノリで使ってもらえればと思います。 $(...) コマンドを"$(", ")"で囲むと実行結果をコマンドラインに代入してくれます。 一見これは"`"(バッククオート)と同じに見えますが、"$()"にはネストができるという利点があります。 例えばシェルスクリプト自身の絶対パスを取得するのは次のようにで

    harupiyo
    harupiyo 2008/09/02
  • ウノウラボ Unoh Labs: 仕事用Ubuntu導入レポート

    yukiです。 最近は会社で扱うPCをPanasonicのLet's note CF-Y7 にUbuntu(8.04)を導入してみようと思い、試行錯誤の日々を送っています。 今回はそんな導入までの道のりと、使い方を簡単にレポートしてみたいと思います。(そのままだとVista仕様になっていたので、Wubiで試すのも面倒でしたのでそのままクリーンインストールしました。) GRUB まず最初にハマったポイントは最初のGRUBオプション時に「acpi=off」と「pnpbios=off」をつけないとまともに起動しなかったこと。 $ cat /boot/grub/menu.lst (中略) title Ubuntu 8.04, kernel 2.6.24-16-generic root (hd0,0) kernel /vmlinuz-2.6.24-16-generic root=UUID=XXXXX

    harupiyo
    harupiyo 2008/08/21
  • ウノウラボ Unoh Labs: Mercurialでバージョン管理

    stoplightで最大化したターミナル上でzshとscreenとEmacsを立ち上げ、 明朝体フォントでプログラミングするbokkoです。 今回はバージョン管理システムの1つであるMercurialについて紹介します。 ウノウではSubversionとTracを組み合わせて開発を行っていますが、 僕個人では今年の春ぐらいからEmacsやzsh、screenなどの各種設定ファイルをMercurialでバージョン管理しています。 Mercurialとは? Mercurialは分散型のバージョン管理システムです。 これに対して、CVSやSubversion(以下SVN)は集中型のバージョン管理システムにあたります。 分散型と聞くと難しそうなイメージがわくかもしれませんが、 CVSやSVNに比べてると、より手軽にバージョン管理を行うことができるというのが、 Mercurialに対する僕の印象です

    harupiyo
    harupiyo 2008/06/11
  • ウノウラボ Unoh Labs: mod_proxy_balancer 小技集

    こんにちは sato です。 ベンチャーでは高価なハードウェアバランサなどを購入することはできないですが、 apache2.2 から mod_proxy_balancerという apacheモジュールの ソフトウェアバランサが 追加されたので、フォト蔵でも使用しています。  今のところ proxy サーバがボトルネックになることはないです。 想定構成は以下とし、apacheは 2.x を使用しました。 proxy1 +------web1 +------web2 ... +------webN ・基設定 httpd.conf LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so ProxyPass / ba

    harupiyo
    harupiyo 2008/02/13
  • ウノウラボ 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

    harupiyo
    harupiyo 2007/08/29
    jQuery よさげ。プラグインは心強いですね。
  • ウノウラボ 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

    harupiyo
    harupiyo 2007/08/02
  • ウノウラボ Unoh Labs: yumのローカルミラーリポジトリを構築する方法

    naoya です。 フォト蔵などのサービスは、社内にあるサーバ群で運用しています。現在、サービスの規模が成長するにつれて、サーバの台数も約20台強くらいになってきました。 すべてのサーバには、Fedora Core 5がインストールされていて、すべてのサーバにまったく同じパッケージがインストールされています。パッケージの更新には、Fedora Core 5に付属しているyumを使ってすべてのサーバを定期的に更新をしているのですが、yum-fastestmirrorをインストールしている状態でもパッケージの更新に時間がかかるようなってきました。 そこで、一台のサーバにyumのローカルミラーリポジトリを構築してパッケージのダウンロード時間を減らしてみました。今日は、yumのローカルミラーリポジトリを構築する手順を紹介します。 1.必要なパッケージのインストール yum-utilsとcreate

    harupiyo
    harupiyo 2007/08/02
  • ウノウラボ Unoh Labs: ベンチャー流Webサービスの作り方(企画編)

    尾藤正人(a.k.a BTO)です 僕はウノウが株式会社化するタイミングでウノウに参画しました。 それ以来はずっと二年半程Webサービスの開発に従事してきました。 ウノウに参画した当初はWebサービスのことは全く分かっておらず、 単なるLinux好きのエンジニアにすぎませんでした。 ウノウ株式会社の創業時に参画することにより、 サービスの企画から開発、運用まで携わることができました。 最初はエンジニアが自分一人だけだっとところから、 現在のように数多くの優秀なエンジニアを抱える企業に成長するまでの組織作りにも関わることができました。 全く経験のないところから始めたので、それこそいろんな失敗を重ねてきました。 そこで今までの経験を元にベンチャーがWebサービスを開発するにあたって気をつけておいた方がいいことをまとめてみます。 Webサービスの開発を始めるには、何はなくとも企画から。 今回はW

    harupiyo
    harupiyo 2007/06/22
  • ウノウラボ Unoh Labs: バグに効く習慣〜より良いテストを実現する企業文化

    こんにちは! やまもと@テスト番長です。 プロダクトの品質を上げるには、会社ぐるみで品質管理に取り組む意識が重要です。 より良いソフトウェアテストを実現する為の企業文化として、大事だと思うことを幾つか挙げてみたいと思います。 新人にまずやってもらうことは? 新人テスターをいきなりテストに参加させるのは良くありません。製品への理解が深くないと有効なテストは出来ないからです。 まずは製品の仕様を覚えてもらったり、バグレポートの書き方を覚えてもらったりしなくてはいけないのですが、仕様書をポンと渡して、「これを見ながら製品を全部動かしてみて」といった指示を出しても現実味がなくモチベーションは揚がらないでしょう。 最初にやってもらうことは、先輩テスターの書いた障害報告の再テストか、 画面遷移図の更新など手探りで学習しながら行えることが良いと思います。 極力固定したビルドでテストする テスト対象の

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

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

    harupiyo
    harupiyo 2007/06/22
  • ウノウラボ Unoh Labs: 携帯におけるメールアドレスの制限について調べてみました

    まず、携帯のメーラでは宛先に入れられるByte数が決まっています。 DoCoMo: 50Byte au: 64Byte SoftBank: 128Byte

    harupiyo
    harupiyo 2007/06/22