タグ

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

  • ウノウラボ Unoh Labs: Pythonのテンプレートエンジン

    こんにちは、chihiroです。今回はPythonのテンプレートエンジンを紹介したいと思います。 Pythonを使い始めた頃、PHPのSmartyや、JavaのVelocity/FreeMarkerに相当するテンプレートエンジンとして、Pythonにはどんなものがあるのか、どれを使えばよいのかよく分からなかった経験があるので、これからPythonを始める方の参考になれば幸いです。 テンプレートエンジンを使う目的の一つに、Webサイト構築・運営の容易化ということがあると思いますが、今回はテンプレートエンジンの性格をざっと紹介したいと思いますので、HTMLの出力ではなく、次のような単純なテキストの出力を例にとって話を進めていきます。 * Hello unoh!! ** Unoh services - photozou - eiga seikatu - video pop - sugu.cc C

  • ウノウラボ Unoh Labs: PECL::oauthでxAuth

    yamaokaです。 TwitterのBasic認証によるユーザー認証が6月に廃止されるようですね。 認証はOAuthで行ってください、とのことなのですが OAuthの認証画面を表示するためにブラウザを起動するのがふさわしくないケースや、 そもそも貧弱なブラウザでうまく利用できないケースもあります。 そうした場合の解決方法として、xAuthという仕組みがTwitterに実装されています。 詳しくは次に紹介するweb上の記事を参照してください。 s-take Blog.: Twitterによる簡易版OAuth: "xAuth" OAuthでデスクトップアプリがブラウザを経由させたくないときのxAuth - Codin' In The Free World the.hackerConundrum: Sneak peek at Twitter's browserless OAuth creden

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

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

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

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

  • ウノウラボ Unoh Labs: ブラウザ上で翻訳ファイルが編集できるソフト「Pootle」

    komagataです。 アプリケーションを国際化する場合は大体gettextを使ってPOファイルを作って、MOファイルを作ってという感じですが、エンジニアでない人に使ってもらったり、複数の人と共同で翻訳作業をしたい場合に敷居の高さを感じてしまいます。 もっと手軽に翻訳作業が出来るソフトが無いかと思って探したところ、Pootleというソフトを知りました。 Pootleの特徴: ブラウザ上でPOファイルの編集。 CVS, Subversion, darcsといったバージョン管理ソフトとの連系。(updateやcommitができる) 複数プロジェクトの管理。 ブラウザ上でユーザー管理。 プロジェクト毎にユーザー単位の細かい権限管理。 単数系・複数系への対応。 Fuzzyへの対応。 Python製。 BitTorrentやFirefox, GNOME, KDE, OpenOffice.orgの一部

    ymorimo
    ymorimo 2008/07/04
    ちゃんとこういうのあるし
  • ウノウラボ Unoh Labs: Rubyでネットワークサーバを書く

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

  • ウノウラボ Unoh Labs: IE6でアルファチャンネルを含むPNGを表示する

    yamaokaです。 webサイトで背景が透明な画像を使用する場合、画像を透過GIFまたはアルファチャンネルを含むPNGで作成する必要があります。どちらを使用してもかまわないのですが、下図のように背景を指定した場合はPNGの方がきれいにアンチエイリアスがかかります。 透過GIFとアルファチャンネルを含むPNGの比較 posted by (C)フォト蔵 PNGを使いたくなるところですが、Internet Explorer 6(以下IE6)はアルファチャンネルに対応していないので、一工夫する必要があります。IE6でアルファチャンネルを含むPNGを表示するには、IE6のフィルタ機能であるAlphaImageLoaderを使用します。フィルタを使用すると、画像としてではなく要素の背景のように振る舞います。したがって、表示させるにはIE6でアクセスがあった場合のみ以下のような処理を行えばよいことにな

  • ウノウラボ Unoh Labs: ブログパーツ貼り付けタグのまとめ+Googleガジェット@はてな

    ごらんの通りこれらのタグは、一部例外を除き少なくとも上表にあるブログサービスでは、すべてOKかすべてNGかのどちらかで、つまりこれらのひとつがNGなら他のタグもNGであるようなので、どのタグを選択するか、ブログサービス側の制限を考慮して悩む必要はないようです。 そうするとFlashオブジェクトの表示は、「Internet ExplorerでのActiveXコントロールのアクティブ化問題」を考慮するなら、OBJECTタグを直接記述するのは避けて、JavaScriptで行ったほうがよいのかなと。 全般的な留意点 貼り付けコードはブログの投稿設定などに影響されないように配慮しておく必要があります。特に、サイドバーだけではなく記事文中にも貼り付けられることを想定している場合は、以下の設定は、殆どのブログサービスで記事文の投稿についてはデフォルトでONの筈なので、こうした設定に影響を受けないもの

  • ウノウラボ Unoh Labs: iPhone/iPod touch対応サイトを構築するための情報

    こんにちわ、山下です。 9月に発売された人気のiPod touchですが、私も即予約して購入してしまいました。二の指で操作するインタフェースは、Mac OS X譲りの滑らかな動作と相まって非常に楽しいです。ベッドで寝る前にSafariでWebブラウジングしているうちに眠ってしまって、一緒に朝を迎えることもしょっちゅうです。iPhoneと違ってGoogle Mapsのアプリがない、カレンダーに予定を入力できないなど、いろいろ制限もあるのですが、今は自由で楽しいiPodライフを送っています。 さて今回は、世の中にiPhone/iPod touch対応サイトがもっと増えればいいなという願いを込めて、iPhone/iPod touch対応サイトを作るために参考になるページを紹介します。 iPhone向けWebアプリケーションとコンテンツの最適化 アップル家によるiPhone向けWeb開発ガイド

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

    ymorimo
    ymorimo 2007/08/08
  • ウノウラボ Unoh Labs: 簡単Ajaxライブラリ「jQuery」と便利なプラグインたち

    こんにちわ、hideです。 最近は、jQueryというJavaScriptライブラリを使ってAjax関連の処理を書くことが多いです。なんといっても軽量で高速、XPathによる要素の指定がとても便利です。今回は、その便利なjQueryをもっと便利にするプラグインをいくつか紹介します。 ThickBox LightBoxのようなもので、画像の他にHTMLの表示も可能です。難点は、$()を使って書かれているので、他のライブラリと混ぜて使えないこと。僕はソース内の$()をすべてjQuery()に書き換えて使っています。 JSON for jQuery AjaxでJSONを取得して、処理できるようにするプラグイン。これは必須とも言っていいと思います。CallBack関数を指定してのJSONPも簡単。 BlockUI Plugin 画面の一部や全体を半透明のレイヤーで覆って操作できなくするものです

    ymorimo
    ymorimo 2007/08/07
    noConflictがいい
  • ウノウラボ Unoh Labs: ベンチャー流Webサービスの作り方(開発チーム編)

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

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

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

  • ウノウラボ Unoh Labs: 商品を”つなげる”サイト TilePlexβオープン

    komagataです。 日、TilePlexという新しいサイトをオープン(β版)しました。 TilePlexはある商品と関連する商品をひたすらつなげていく不思議なサービスです。ユーザー登録不要で追加していけますので是非試してみてください。 また、Web APIも同時に公開されていますので面白いアイデアを思いついて何か作ってしまった方は100%見に行くのでトラックバック等いただければ幸いです。 (トップページのFlashもこのAPIのみを使って作られています。) TilePlex: http://tileplex.jp TilePlex API: http://tileplex.jp/top/api

  • ウノウラボ Unoh Labs: エラスティック・レイアウトのご紹介

    yamaokaです。 エラスティック・レイアウトというwebサイトのレイアウト手法をご存知でしょうか?  「エラスティック(elastic)」とは、ゴムのように弾力性がある状態のことです。 言い換えると「伸び縮みするレイアウト」になるでしょうか。 webサイトの代表的なレイアウト手法として、次の2つが挙げられるかと思います。 固定幅レイアウト リキッド・レイアウト 固定幅レイアウト 固定幅レイアウトでは、 コンテンツを格納するボックスの幅を以下のように絶対値で指定します。 div#container { width: 800px; } 固定幅レイアウトの場合、ウィンドウや文字のサイズが変更されてもレイアウトの枠は変わりません。 したがって、ウィンドウを大きくすると表示されるエリアが小さくなってしまったり、 文字のサイズを変更すると外枠が変わらないので読みづらくなってしまったりします。 リキ

  • ウノウラボ Unoh Labs: ベンチャー流のスパムメール対策術(後編)

    今日もあいにくの雨で、最近めっきり自転車通勤が減っている naoya です。 今日は、前回の続き「 ベンチャー流のスパムメール対策術」と題した後編のエントリです。前編では、オープンソースで提供されているスパムフィルターの設定方法を紹介しました。 前編の設定を行った後、約2週間ほど僕宛に届く全てのメールでスパムの学習をさせるため、受信したメールをスパムフィルターに通して、スパムメールは spam ディレクトリに、スパムではないメールは Inbox のディレクトリに残しておきました。 この手作業の後、さっそくスパムフィルターの選定をするため、それぞれのスパムフィルターがどの程度効果があるのか測定することにしました。 測定する方法は、僕宛のメールに対して3種類のスパムフィルターをかけて、それぞれのスパムフィルターでスパムと判定されたメールを、どのスパムフィルターにかかったのか分かるようにそれぞれ

    ymorimo
    ymorimo 2007/05/30
    うーんうちもMailmanに設定したいな
  • ウノウラボ Unoh Labs: Global standard programming with GNU Autotools

    尾藤正人です。 UNIXのソフトウェアをインストールするときに、よくやるのが ./configure make make install という手順ですが、この configure スクリプトや Makefile を自動的に生成してくれるツールは GNU Autotools と呼ばれます。 GNU Autotools は使うとすごく便利なんだけど、結構知らない人が多そうだった(実際あまり知らなかった)ので、昨日の勉強会の時に紹介しました。せっかくなので資料を公開します。 プレゼン資料(OpenOffice) プレゼン資料(PowerPoint) bat.tar.gz bat-0.0.1.tar.gz プレゼン資料はOpenOfficeで作りました。念のためPowerPoint用に変換したのもおいておきます。 単に説明だけだと内容がよく分からないので簡単な例として bat コマンドを作

  • ウノウラボ Unoh Labs: IE6 CSS 『border-leftとpadding-bottom』の謎

    こんばんは、sashaです。 次のような形のスタイルを実装しようとしていて、 実例 posted by (C)フォト蔵 IE5.5や6でこんな状況に出会ったことはありませんか? (赤と青のボーダーは、elementの境目がわかりやすいように入れてあります) 実例バグ posted by (C)フォト蔵 どこがおかしいかお分かりになりますでしょうか。2項目目の赤と青で囲まれたテキストが、左に飛び出ていますね。その下にあるテキストまで、左にずれてます。 これは、多くのデザイナーの悩みの種である、「IE」の代表的なバグのひとつです。 このバグを再現させるのに必要なことはたったこれだけ。 「divの中にdiv」など、ブロック要素を2重にする 外側のブロック要素に、border-leftとpadding-bottomを定義する 以上。これだけでIEさんの地雷を踏めます。 以下のH

    ymorimo
    ymorimo 2007/05/13
    バグが直るのが本当
  • ウノウラボ Unoh Labs: Python開発環境を整えよう

    こんにちは!4月から入社したYet Another Sakatoku、酒徳千尋です。今まで同じクラス、同じ職場に別の「酒徳さん」がいるのを経験したことがないので不思議な気分です。 ウノウでは新規サービスの開発を担当することになったのですが、言語やフレームワークの選択は開発者に任されているということなので、PythonとDjangoの組み合わせで開発を始めることにしました。 PythonでのWeb開発は、日ではまだメジャーではないと思うので、このウノウラボでtipsや、ライブラリ・フレームワークの使い方を紹介できればと思います。 今回は、僕が入社してから最初に行ったPython開発環境のセットアップについて書いてみたいと思います。 virtual-pythonで開発環境をつくる 開発にあたって様々なライブラリをインストールする必要が出てきますが、通常のPythonのホームディレクトリ、例え