タグ

ブックマーク / webos-goodies.jp (22)

  • supervisord を使って Tornado をデプロイする - WebOS Goodies

    先日、 Tornado の使い方を解説しました。日はその続きで、デプロイについて書きます。 Tornado で構築したアプリケーションを格的にデプロイするためには、プログラムをデーモン(バックグラウンドプロセス)化する必要があります。 Tornado 自体にはその機能がないのでググってみると、どうやら Supervisor というプログラムを利用するのが一般的なようです。 この Supervisor がまた便利で、複数の通常アプリケーションをバックグラウンドで起動でき、その開始・終了を個別に管理できます。汎用的に作られているので Python 以外で構築されたアプリケーションも管理できますし、異常終了時の再起動やログのローテートの面倒もみてくれます。覚えておけばなにかと役に立ちそうですから、 Tornado アプリケーションのデプロイを題材にして使い方をまとめることにしました。 Sup

  • canvas : 画像の合成方法いろいろ - WebOS Goodies

    使い方がわかったところで、実際に試してみましょう。以下のサンプルでは、合成モードを変更して効果の違いを確かめられます。ついでに描画する図形(パス or ビットマップ画像)、透明度、描画色なども変更できますので、それぞれを組み合わせてどのような効果が得られるかも確認できるようにしておきました。 ※ペンギンの画像は Image * After で公開されていたものを Flickr に保存して利用しています。 ディスティネーション画像の下半分は半透明で描画しています。ただし Opera では画像に対する半透明指定は機能しません。また、透明部分が確かめやすいように背景画像を設定していますが、この背景は CSS の background-image プロパティーによるものであるため、 globalCompositeOperation の影響を受けずに描画されます。ソースは以下のようになっています(簡

  • サイトを Amazon S3 に移行しました - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 遅ればせながら、新年明けましておめでとうございます。今年もよろしくお願いいたします。 2008 年に移行してからずっと XREA で動いていたこのブログですが、さすがにこのご時世にレンタルサーバーはないだろということで、年末年始の休みを利用して Amazon S3 に移行してみました。 DNS は以前から Route 53 に移行済みなので、サイトのほぼ全体で 9

  • OpenSSL でオレオレ証明書を手っ取り早く作成する方法 - WebOS Goodies

    先日、とある理由で SSL の動作テストのためのオレオレ証明書が必要になったので、作り方を調べてみました。基的にインフラ部分は他人におまかせなことが多いので、これまでやったことなかったんですよね (^^ゞ で、ググったりして調べたのですが、たいてい OpenSSL の設定を書き換えが必要で、少し面倒な手順ばかり。単なる動作テスト用で正式な証明書である必要はないので、環境の書き換えは最小限で済ませたくないところです。何回か試して、環境を変更せずに証明書を生成することができたので、手順をまとめておきます。 デフォルト設定等を確認する 証明書の作成をはじめるまえに、念のため以下の手順が使えるかどうか確認する方法を書いておきます。たいてい大丈夫だと思うんですけどね。少なくとも Mac OS X Lion と Ubuntu 11.04 はデフォルトで以下の設定になっていました。 確認するファイルは

  • iGoogle ガジェットの作り方 : ガジェット間通信機能(PubSub)を使う - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 つい先日のことですが、 iGoogle ガジェット API になかなか画期的な機能が追加されました。なんと、同じページに追加されたガジェット同士で、簡単な通信ができるようになったのです。これにより、個々のガジェットの連携が可能となり、さまざまな新しい可能性が見えてきます。例えば、検索窓を表示して入力された検索文字列を他のガジェットに送信するガジェットを作っておけば

  • Google の新言語「Dart」は新しい JavaScript か? - WebOS Goodies

    Google が開発しているという新言語「Dart」を覚えていますでしょうか。来月の GOTO Aarhus 2011 Conference にて発表があるということで数日間は話題に登ったものの、その後は続報もなく忘れ去られているようです。 実はこの Dart に関連して、 2010 年 10 月に書かれた Google の内部文書 (?) が注目されています。その中では、 JavaScript の次期版である Harmony と平行して新たな言語「Dash」を開発することが示唆されており、それが来月発表される Dart の正体ではないかと言われています。また、 Google が新言語の開発を決断した理由や今後のオプション、そして僅かながら関連するプロジェクトについてなども語られており、なかなか興味深い内容です。 そこで、日はこの文書のハイライトをご紹介したいと思います。いつもながら翻訳

  • Subversion でリポジトリの場所が変わったら - WebOS Goodies

    今日は Subversion でサーバー側のリポジトリの場所が変更された際に、ローカルの作業用コピーに登録されている URL を手軽に変更する方法をご紹介します。まだ Subversion に関してなにも記事を書いていない状態なので恐縮ですが、会社で必要になったので備忘録です。ご勘弁ください (^^ヾ Subversion では、ローカルの作業用コピーの各フォルダに対応するリポジトリの URL が記録されています。そのため、サーバー側のリポジトリの場所が変更されると、そのままではアクセスできなくなってしまいます。もちろん作業用コピーを削除して再び checkout すればよいのですが、時間がかかりますし、コミット前の変更はすべて消えてしまいます。 そこで、作業用コピーの状態を変更することなく URL だけを書き換えることが必要になります。それを実現するのが switch コマンドの --r

  • Closure Library でローカルファイルのドラッグ&ドロップを実装する - WebOS Goodies

    簡単なサンプルを作ってみましたので、ファイルのドラッグ&ドロップをサポートしたブラウザ(現時点では Google Chrome, Safari, Firefox のいずれか)で試してみてください。灰色の部分に適当なファイルをドラッグ&ドロップすると、そのファイル名を表示します。複数のファイルをドロップすることも可能です。 ソースコードは以下のような感じです。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ファイルのドラッグ&ドロップのテスト</title> </head> <body style="margin:0; padding:0;"> <div id="droptarget" style="width:100%; height:200px; background-color:#eee;"> ここにドラッグして

  • ssh-agent でパスフレーズの入力を省く - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 SSH ではログインするときにパスフレーズの入力が必要ですが、ときどきこれが億劫になるときがあります。例えば scp コマンドでファイル転送を繰り返すときなど、転送のたびにパスワードを打ち込まなければなりません。 元来、人間というのは単調作業が苦手です(プログラマーなどと呼ばれる人種はこの傾向が顕著なようです^^;)。同じパスフレーズを何回も入力するなど、苦痛以外

  • いますぐ始める RDoc によるドキュメント生成 - WebOS Goodies

    先日公開した Ruby 用 JSON クラスを RubyForge にスニペットとして登録しました。使い方も書かないで登録しても意味がないので、この機会に今まで興味がありながら手が出せなかった RDoc を使ってみました。これがもう驚くほど簡単で、なんで今まで使わなかったのかー!!と後悔しきりです。そんなわけで、私のようにわず嫌いをしている方に向けて、「30 分で始める RDoc」を目標に(あくまで目標^^;)使い始めの手引きを書いてみました。まだ RDoc をご利用でない方、挑戦してみてはいかがでしょうか。 なお、すでに Ruby 一式がインストール済みで、最低限の Ruby の知識があることを前提にしていますので、あらかじめご了承ください。 まず最初に、 RDoc について軽くご紹介しておきます。すでにご存知の方は読み飛ばしてください。 RDoc は Ruby 専用のドキュメント生成

  • ブラウザで Ruby on Rails 開発! Heroku を使ってみよう - WebOS Goodies

    Heroku は現在リミテッドβの状態なので、ユーザー登録を行うにはこちらのページでメールアドレスを登録し、招待メールが来るのを待たなくてはなりません。私が登録したときは 2 週間待ちだったのですが、現在はだいたい 1 日以内に招待が来るようです。ちょっと面倒ですが、ぜひサインアップして、 Heroku の素晴らしい世界を体感してみてください。 ・・・どうでもいいけど、サインアップのページにある看板はいったい。 無事にサインアップできたら、さっそくこちらのページから heroku にログインしましょう。すると、最初に以下のアプリケーション管理画面が表示されます。 heroku では同時に複数の Rails アプリケーションが開発できるので、この画面でそれらを管理するわけです。しかし、現在はひとつもアプリケーションが存在しませんので、新たに作成してみましょう。アプリケーションの作成は「Cre

  • Closure Library を使うべき 10 の理由 - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 先週 Closure Library で構築したドローウィジェット Closure Draw を公開しましたが、はてぶ数などを見る限りさほど多くの反響はなかったようです。まあ、機能が中途半端だったり作りが甘かったりというところが大きいのは間違いありませんが、 Closure Library 自体がまだメジャーではないのもあるのかな、とも思います。実際、ぐぐってもフ

  • Closure Libraryによるアプリ開発のはじめ方 - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 Python Hackathon のネタとして Closure Library を使って以来、だいぶ Closure Library を使い込んできました。個人的には非常に手に馴染んでいて、もはや Closure Library なしで Web アプリを作るなんて考えられないくらいです。 しかし、世間ではまだまだ使っている人が少ないようです。理由はいろいろあるでし

  • 私も執筆に参加した Chrome OS 本が発売されました! - WebOS Goodies

    日、私も執筆に参加した Chrome OS 、「Google Chrome OS -最新技術と戦略を完全ガイド-」が発売されました。私が担当したのは第一章と第四章の一部です。 Chrome OS については発表直後にもこのブログで紹介しましたが、 Google が開発している(主に)ネットブック向けの軽量 OS です。発表直後は「Google Chrome ブラウザしか動かない」ことが最大の特徴と書きましたが、その後いろいろな資料を読むにしたがい、その背後にある可能性がいろいろと見えてきました。今回、運良く書の執筆という機会をいただいたので、そのあたりのことを思い切りぶつけています。 ということで、日はこの Chrome OS について、私の担当した部分を中心に、簡単に紹介させていただきます。 Chrome OS のポイントは「ステートレス」 書で Chrome OS の概要を

  • Google Code Project Hosting で Web サイト構築 - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 日は、 Google のちょっと変わったサービスをご紹介しようと思います。タイトルにもありますが、 Google のオープンソース向けプロジェクトホスティングサービス Google Code Project Hosting です。基的には、オープンソースのソフトウェアプロジェクトに対して Subversion サーバー(ファイルの保管とバージョン管理を行うサー

  • Chrome OS 情報まとめ - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 ついに姿を現した Chrome OS 。朝は個人的な考察を書きましたが、いろいろと情報が出そろってきたようなので、まとめておこうと思います。 公式リリース Releasing the Chromium OS open source project - Google の公式リリース Hello, open source developers. Would you l

  • Chrome OS 雑感 - WebOS Goodies

    日早朝、 GoogleChrome OS のプレスイベントを開催し、 Chrome OS の説明を行いました。私も英語が苦手にも関わらず WebCast を見たので、雑感というか、ありそうな疑問への自分なりの考えを書いてみようかと思います。私も実際に Chrome OS を触ったわけではないので、間違いがあったらご勘弁を。 まあ、個人的なごたくを並べているだけですが、なにかの参考になれば幸いです。 Chrome OS ってなに? Google が開発しているネットブック向けの OS です。その特徴は、 Google Chrome ブラウザしか動かない というひと言に集約されます(汗) OS を起動すると同時に(若干カスタマイズされた) Google Chrome ブラウザが起動し、すぐに Web ブラウズが可能です。いわゆるデスクトップアプリケーションを動作させることはできず、 W

  • 多言語対応テキストビュアー "lv" を使う - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 今日は多言語対応したコマンドラインのテキストビュアーである lv コマンドをご紹介しようと思います。コマンドラインのテキストビュアーとしては less コマンド、およびそれを多言語化した jless コマンドが有名ですが、 lv は grep や文字コード変換フィルタとして使えるという面白い機能があります。 インストールする Gentoo Linux でのインスト

  • Apache リバースプロキシ→ Lighttpd + Rails の設定方法 - WebOS Goodies

    今週はあまり時間がないので、 Rails 関連の Tips でお茶を濁すことにします。 以前投稿した Apache のリバースプロキシの設定方法という記事では、 Apache ベースのサイトの一部として Rails アプリケーションを公開する方法をご紹介しました。今回はその mongrel を Lighttpd で置き換え、 Apache → Lighttpd + Rails という構成にする設定をご紹介します。まあ、仕事でやった作業の覚え書きです。 Lighttpd ならパフォーマンスも出るので、一般公開するサイトでもじゅうぶんに使える方法です。 Apache で運用しているサイトに Rails アプリケーションを組み込みたいという際は、参考にしていただければと思います。 なお、 Lighttpd や Ruby fcgi ライブラリのインストールは OS のパッケージ管理コマンド等で一発

  • 高速な CSS セレクタエンジン「Sizzle」「Peppy」を試す - WebOS Goodies

    最近のほとんどの JavaScript フレームワークには、 CSS セレクタによる DOM エレメントの取得機能が実装されています。複数の要素を柔軟な条件で取得できるので、 DOM ツリーの操作がシンプルに記述でき、とても便利です。しかし、単に CSS セレクタを使いたいだけなのに、フル機能のフレームワークを読み込むのはちょっと抵抗がありますよね。 そんな悩みを解決してくれるのが、日ご紹介する Sizzle, Peppy という 2 つのライブラリです。これらは他のフレームワークに依存しない独立した CSS セレクタエンジンで、しかも jQuery 等の既存のエンジンより数倍高速に動作します。 unobtrusive な Web ウィジェットの開発や、独自フレームワークの開発に最適ですね。その他にも広範な用途に使えるでしょう。 以下でこれらのライブラリの使い方や動作速度等の検証結果を掲