hokousyaのブックマーク (244)

  • Rails + BackgrounDRb でメール配信 - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 皆さんご存知のとおり、 Rails をはじめとする多くの Web アプリケーションフレームワークは、リクエストベースで設計されています。つまり、すべての処理は HTTP リクエストごとに起動され、それにレスポンスを返すことで終了します。ほとんどの場合、これは非常にうまく機能しますが、タイムアウトが発生してしまうような時間のかかる処理、一定間隔で定期的に起動したい処

    hokousya
    hokousya 2008/07/08
    バックグラウンド処理を簡単に実現できる Rails プラグイン「BackgrounDRb」のご紹介です。
  • Ruby で bash の特殊文字をエスケープする - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 日は Ruby のちょっとしたユーティリティー関数のご紹介です。 Web アプリケーションを作っていると、ときには入力されたデータを引き渡して外部コマンドを実行したいときがあると思います。そのときに重要なのが、特殊記号のエスケープです。これを忘れると、 Web サーバー上で任意コマンドを実行されてしまう可能性もあります。 そこで、 bash が特殊文字として認識

    hokousya
    hokousya 2008/07/01
    信頼できない文字列を外部コマンドに渡すために、特殊文字をエスケープする関数を作りました。
  • Dragonfly を補完する「Opera's Debug Menu」 - WebOS Goodies

    先日、ついに待望の Opera 9.5 が正式リリースされましたね。開発者向けツールの Dragonfly も標準搭載され、 Opera でもようやくトップクラスの開発環境が利用できるようになりました。 しかし、それだけではありません。 Dragonfly を補完する第二の開発者向けツールとして、 Opera's Debug Menu というものも、密かに公開されているのです。これは以前ご紹介した Web Developer Toolbar から Dragonfly にはない便利な機能を抜き出してメニューにまとめたもので、 Opera のメニュー設定ファイルとして配布されています。 なかなか便利なツールなのですが、あまり話題になっていないんですよね。 Dragonfly と組み合わせれば開発効率 UP 間違いなしですので、ぜひ活用してください! インストール インストールはとても簡単。以下

    hokousya
    hokousya 2008/06/26
    Dragonfly を補完するために Opera が公開している開発者向けメニューバーです。
  • Google API Experts のミーティングに参加しました - WebOS Goodies

    hokousya
    hokousya 2008/06/24
    Google API Experts のミーティングに参加してきました。 Google Gadgets API コミュニティー参加者募集中!(^^;
  • Google Developer Day 2008 レポート(後編) - WebOS Goodies

    ちょっと間が空いてしまいましたが、遅ればせながら Google Developer Day 2008 のレポートの続きです。「マッシュアップアプリケーションと Google API」、「Mashup から Mapplets へ」の 2 つのセッションに参加しました。座った位置が悪くて、残念ながら写真が撮れませんでした。文章だけでご勘弁ください。 「マッシュアップアプリケーションと Google API」はリクルートの川崎さんによる Google API を使ったマッシュアップについてのセッションです。 まずは Google APIs の紹介。 Google Code のページで Google API の数をカウントする JavaScript コード(アドレスバーに入力して使う)で API の数をカウント。なんと 60 もあるそうです。そしてこのセッションで使っているプレゼンテーションツール

    hokousya
    hokousya 2008/06/18
    「マッシュアップアプリケーションと Google API」と「Mashup から Mapplets へ」の 2 セッションをレポート。
  • Google Developer Day 2008 レポート(前編) - WebOS Goodies

    12 日は待ちに待った Google Developer Day に行ってきました。今回初参加だったのですが、すごく盛況でびっくり。これまで交流会などでお世話になった方々にも再会できて、楽しい一日でした。私は最後の「Ask The Expert」というセッションにパネリストとして参加したので、後半のセッションはあまり見れなかったのですが、できるだけレポートしたいと思います。とりあえず日は基調講演の模様をお伝えします。 会場 会場は東急みなとみない線みなとみらい駅からすぐにあるパシフィコ横浜。みなとみらい駅を降りるとなが〜いエスカレータがあり、巨大スヌーピーがお出迎え。 お洒落な遊歩道を抜けると 会場のパシフィコ横浜に着きます。 この写真を撮ったときには気付いていなかったのですが、実際の会場は右に少しだけ写っている会議棟でした orz Google Developer Day 基調講演 午

    hokousya
    hokousya 2008/06/12
    Google Developer Day 2008 の基調講演の様子をレポート。
  • Google APIs まとめ - WebOS Goodies

    Google Developer Dayもいよいよ明日ですね。日はその予習として、 Google Code で公開されている API やその他のリソースの総まとめを書いてみました。当は先週中に公開したかったのですが、どうしても時間が取れず前日になってしまいました・・・ orz 単なる Google Code のコピーを書いても仕方ないので、関連する Google サービスごとにカテゴライズしています。これなら、マッシュアップしようと思っているサービスでどんな機能が使えるのかがすぐにわかるかと思います。ぜひ参考にしていただければと思います。 基 API Google Account Authentication プライベートな GData フィードへのアクセスなどに利用する認証 APIデスクトップアプリケーション向けの ClientLogin API と Web アプリケーション向

    hokousya
    hokousya 2008/06/09
    Google の API にどんなものがあるのか、簡単にまとめてみました。
  • あなたの知らない Google ガジェットの素晴らしき世界 - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 Google Developer Day の打ち合わせのときに聞いたのですが、どうも日では Google Gadgets API の人気がイマイチだそうです。ちょっと理由を考えてみたのですが、まあいろいろ事情はあるものの、やはり Google Gadgets API の利点や重要性に関する理解が広まっていないのが最大の原因だと思うのです。 特別に興味を持っている

    hokousya
    hokousya 2008/05/30
    Googleガジェットに対応したサービスや関連APIなどをまとめました。
  • 「Using Django with Appengine」邦訳 - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 ようやく少しずつ時間が取れるようになってきたので、 Google App Engine の勉強をはじめています。 Python の書き方や App Engine 自体の使い方を覚えるのは苦ではないのですが、大変なのはその先、ライブラリやフレームワークなどを把握するのが厄介なんですよね。 まあとりあえずは App Engine に付属している Web フレームワーク

    hokousya
    hokousya 2008/05/22
    Django チュートリアルを App Engine 向けに書き直したドキュメントがあったので、翻訳してみました。
  • iPhone 用サイトをサイドバーで活用する - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 だいぶ長い間記事を投稿できなくて、申し訳ありません。やはりこれだけブランクがあると、いざ記事を書こうと思っても、どう書いたら良いかわからなくなりますね(笑)。まずは軽いネタからはじめて、だんだんと調子を取り戻していこうと思っていますので、よろしくお付き合いくださいませ。 さて、 iPhone や iPod touch が人気を博したことで、いわゆる iPhone

    hokousya
    hokousya 2008/05/15
    iPhone用サイトをブラウザのサイドバーに表示すると便利かも、というネタです。
  • iGoogle ガジェット の設定共有機能を試す - WebOS Goodies

    いつもどおり、サンプルガジェットを作ってみました。こちらも付箋ガジェットですが、上下 2 つのテキストボックスを用意して、それぞれ別々のユーザー設定にデータを保存するようにしました。テキストボックスの更新を検知するとボックスが赤くなり、 5 秒間放っておくと保存されて黄色に戻ります。ブラウザによっては、 IME 経由では変更が検知されないのでご注意ください。一応、下に貼付けておきますが、当然ながらこの状態では共有機能が働かないので、ご自分の iGoogle に追加してお試しください。 ソースはこんな感じです。例の option 要素が追加されている以外は、いたって普通のガジェットだと思います。 <?xml version="1.0" encoding="UTF-8" ?> <Module> <ModulePrefs title="設定共有のテスト" title_url="http://we

    hokousya
    hokousya 2008/04/18
    設定を他のユーザーと共有できるガジェットの作成方法です。
  • Flickr のような画像編集機能を実現する「Picnik API」 - WebOS Goodies

    たぶん去年(2007 年)末あたりからだと思うのですが、 Flickr に画像編集機能が追加されました。アップロードした画像に対して、トリミングやリサイズ、各種フィルター等の加工をブラウザ上で行えるものです。さすがにデスクトップのペイントツールほどではありませんが、日常的な画像の加工にはじゅうぶんな機能があります。こんな機能を自分のサイトでも実現できたら素晴らしいはと思いませんか?日はそんな希望を叶てくれる素晴らしい Web API 、「Picnik API」をご紹介します! まず最初に API を提供している Picnik というサイトについてご紹介しましょう。 Picnik では前述のような画像編集機能を提供する Flash ベースの Web アプリケーションを公開しています。基機能を利用するだけならユーザー登録の必要もなく、誰でも自由に使えます。画像編集 Web アプリとしては最

    hokousya
    hokousya 2008/04/15
    自分のサイトに画像編集機能を組み込めるAPIです。
  • Google のインフラで Web アプリを公開できる!「Google App Engine」 - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 こ、これは・・・ Web 開発に革命が起きようとしているのかもしれません。 Google がその膨大なサーバーリソースを全世界の Web 開発者に開放するべく、 Google App Engine を公開しました! Google のサーバーファームで透過的に負荷分散される Python ベースの Web アプリケーションサーバーに、 Google が誇る分散データ

    hokousya
    hokousya 2008/04/09
    Googleが公開したWebアプリケーションのホスティング環境。初期投資不要で大規模サイトまで対応(予定 ^^;)
  • ブラウザで Web サイトを編集できる「TypeRoom」 - WebOS Goodies

    日は Web ブラウザ上で任意のページの内容を編集できる TypeRoom というサービスをご紹介しようと思います。実はプライベートベータの頃からちょこちょこ使っていたのですが、最近オープンベータに移行して誰でも利用できるようになったので、この機会に記事にしておきます。 基的には、編集したいページの URL を指定すると、それが編集画面に読み込まれ、 WYSIWYG っぽいエディタで編集できるというサービスです。編集結果はダウンロードするかメールの添付ファイルとして取得できます(PRO 版には FTP アップロードの機能もあり)。使い方しだいではなかなか便利なツールなので、皆さんもぜひお試しください! 使ってみる それでは、さっそく使ってみましょう。まずは TypeRoom のトップページを表示してください。サポートブラウザは Firefox と IE6 以降のみとなっていますので、ご

    hokousya
    hokousya 2008/04/03
    ページデザインなどの試行錯誤にどうぞ
  • Google Visuaization API リファレンス - WebOS Goodies

    昨日の記事は尻切れトンボになってしまって申し訳ありませんでした。掲載できなかった Google Visualization API リファレンスをお届けします。これまでの記事ともども、ぜひご活用ください! google.visualization.Query データのリクエストを発行するためのクラスです。インスタンスの生成は、以下のように new を使って行います。 google.visualization.Query(データソースURL) データソース URL については、前回の記事をご参照ください。以下は利用可能なメソッドです。 setRefreshInterval(秒数) 指定した秒数の間隔で自動的に send メソッドを実行し、新しいデータへの更新を行います。デフォルトの秒数は 0 で、この場合は自動更新を行いません。このメソッドは send よりも前に呼ぶ必要があります。 set

    hokousya
    hokousya 2008/03/28
    昨日掲載できなかったリファレンスです。
  • Google Visualization API 詳細、および Gadgets-in-Docs の作り方 - WebOS Goodies

    前回の Query Language の記事はたくさんの方に読んでいただけたようで、たいへん嬉しく思っております。とりあえず最もインパクトがあり、しかも他所ではあまり触れられていない機能ということで Query Language にネタを絞って書いたのですが、そのために Google Visualization API そのものや Gadgets-in-Docs について、きちんとご紹介できませんでした。 そこで、日はそのあたりの補足も兼ねて、 Google Visualization API 全般についてご紹介しようと思います。 Google Docs 活用の参考にしていただければ幸いです。 Google Visualization API 概要 さて、まずは Google Visualization API 自体について、軽くご紹介しておきましょう。この API をひと言で言えば、「

    hokousya
    hokousya 2008/03/27
    Google Visualization APIの使い方とGadgets-in-Docsの作り方をまとめました。
  • Google Spreadsheets を簡易 SQL DB に!「Google Visualization API」 - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 皆さん、 Google Docs のガジェット機能はもう使ってみましたでしょうか。データをさまざまな方法で可視化するガジェットをシート上に配置できるというもので、このガジェットは自作することもできます(iGoogle ガジェットベース)。その際にスプレッドシートの情報を取得するために使われるのが、日ご紹介する Google Visualization API

    hokousya
    hokousya 2008/03/25
    SQLに似た文法でGoogle Spreadsheetsのデータを取得できるGoogle Visualization APIの機能をご紹介しています。
  • OpenSocial についての考察 - WebOS Goodies

    今週の話題にも書きましたが、第 5 回 Google デベロッパー交流会に行ってきました。第 5 回の題材は OpenSocial 。 Google が昨年立ち上げた SNS 向けのアプリケーション・プラットフォームです。実は交流会に参加する前の私の認識は「SNS のページに配置できる iGoogle ガジェット」程度のものでした。しかし、それは OpenSocial の一面でしかなく、実際にはさらに多くの可能性を持った魅力的な技術でした。 そんなわけで、日はその OpenSocial について、いろいろと考えてみました。基的に独断と偏見によるうんちくですが、たまにはこういうのもいいかな、ということでご了承ください(^^; OpenSocial の概要 OpenSocial 自体に触れる前に、それが登場した背景について少し書いておきます。ただし、実は私も SNS に関してあまり詳しくは

    hokousya
    hokousya 2008/03/21
    OpenSocial についてつらつらと書いてみました。
  • ファイルアップロードフォームの params を擬似的に生成する - WebOS Goodies

    今週もまたもや記事を書かずに終わってしまいそうなので、 Rails 関係の小技をご紹介。 Rails で attachment_fu などを使ってモデルレベルでファイルアップロードを実装すると、基的にフォーム経由でしかファイルアップロードができなくなります(フィールドに直接アクセスすれば別ですが)。これではユニットテストや Rake タスクでのデータの初期化などに不便ですよね。 そんなわけで、ファイルアップロードフォームが生成する params を擬似的に再現する関数を作ってみました。これを使えば、ローカルファイルやプログラム的に生成したデータを直接モデルに引き渡せます。けっこう便利だと思いますので、ぜひ使ってみてください。 基的に、関数にアップロードしたいファイルやデータを渡すと params のデータを返しますので、それをモデルのコンストラクタや attributes に渡すだけで

    hokousya
    hokousya 2008/03/06
    Railsなどでファイルアップロードフォームが生成するparamsを擬似的に生成して、ローカルファイルやStringをモデルにアップロード(?)できます | こちらこそ、fixture_file_upload()勉強になりました。
  • 2 つのディレクトリツリーの差異を調べる Ruby クラス「DirDiff」 - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。

    hokousya
    hokousya 2008/02/27
    2つのディレクトリツリーを比較し、相違点(片方にしかないファイル・ディレクトリや内容が変更されたファイル)を取得するRubyクラスです。