web開発とプログラミングに関するhokousyaのブックマーク (15)

  • CalViz ライブラリで簡単 Google Calendar マッシュアップ! - WebOS Goodies

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

    hokousya
    hokousya 2008/09/25
    Google Calendar のデータを簡単に表示できる CalVis ライブラリのご紹介です。
  • Ruby on Rails で郵便番号検索 - WebOS Goodies

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

    hokousya
    hokousya 2008/08/13
    日本郵政のデータをインポートするRakeタスク、表記の揺れに対応するようファインダを拡張したモデルなど。
  • Rails + BackgrounDRb でメール配信 - WebOS Goodies

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

    hokousya
    hokousya 2008/07/08
    バックグラウンド処理を簡単に実現できる Rails プラグイン「BackgrounDRb」のご紹介です。
  • 「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 向けに書き直したドキュメントがあったので、翻訳してみました。
  • ブラウザで Ruby on Rails 開発! Heroku を使ってみよう - WebOS Goodies

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

    hokousya
    hokousya 2008/02/05
    Firefox 上で Ruby on Rails アプリケーションが開発できる Web サービス「Heroku」のご紹介です。
  • iGoogle ガジェットの作り方 : ガジェット間通信機能(PubSub)を使う - WebOS Goodies

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

    hokousya
    hokousya 2007/08/29
    iGoogleガジェットAPIに新しく追加されたガジェット間通信機能「PubSub」の使い方です
  • 高機能な JavaScript 圧縮ツール「jsjuicer」 - WebOS Goodies

    JavaScript を使った Web アプリケーションを公開する際にほぼ必須となるツールが JavaScript Obfuscator 、いわゆる JavaScript 圧縮(難読化)ツールです。とくに Ajax を活用したサイトでは JavScript ファイルも大きくなりがちなので、できるだけコンパクトにまとめてページのロード時間を短縮したいところです。そんなわけで、私も Infosketch を公開する際にいろいろ試しまして、日ご紹介する jsjuicer を使うことにしました。 この jsjuicer は Web 関連のツールでは珍しく C++ で組まれたコマンドラインプログラムとなっています。そのため使い始めは少々面倒ですが、 make などによる自動化がやりやすいというのは大きな利点です。他のツールにはない便利な機能もいくつか実装されていますので、実用的な JavaScri

    hokousya
    hokousya 2007/07/24
    シンボルの短縮やデバッグ用コードの削除機能を持つ実用的なJavaScript圧縮ツールです。
  • Ext JS で HTML 要素をアニメーションさせる - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 ほとんど気付かれていないかもしれませんが、先日トップページの最新記事を表示する部分のスクリプトを改良して、記事内容がアニメーションして出てくるようにしました。これまでの意味不明な挙動に比べれば(^^;)、いくぶん使いやすくなったかと思います。 で、このアニメーションを実装するのに Ext JS というライブラリを使ってみました。 Ext JS は多彩な機能を実装し

    hokousya
    hokousya 2007/07/10
    JavaScriptライブラリ「Ext JS」でHTML要素に基本的なアニメーションを適用する方法です。
  • Google Gears 活用法 : SQLAdmin for Google Gears で SQL に挑戦! - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 先日公開した Infosketch はお試しいただけたでしょうか。まだまだ Google Gears の機能のごく一部を使っているに過ぎませんが、 JavaScript のみで大容量の永続ストレージが利用できる点はとても興味深いと思います(あのレベルなら Flex のローカルストレージという手もありますが ^^;)。僅かながら Google Gears のノウハウ

    hokousya
    hokousya 2007/06/28
    SQLAdmin for Google Gears で手軽に SQL を試してみよう!という企画です。
  • Ruby で OpenSSL の乱数生成を利用する - WebOS Goodies

    単純な乱数よりだいぶ良くなっていますが、それでも思ったよりシンプルですね。また、最後に MD5 をかけると、 ID の長さが固定されてしまう(鍵空間の広さを調整できない)という欠点もあります。短期間しか使わないセッション ID なら大丈夫でしょうが、永続的な ID としてはちょっと不安が残ります。 なにか Ruby で簡単に強固な ID を生成する方法はないかなぁ、と考えていたのですが、そういえば Ruby には OpenSSL バインドが標準で添付されていました。強力な暗号化には予測困難で偏りの少ない乱数が不可欠ですから、これは期待できますね。そんなわけで、 Ruby から OpenSSL の乱数生成器を利用する方法を調べてみましたので、日はそれをご紹介しようと思います。 調べてみたところ、 C 言語なら OpenSSL の乱数は RAND_bytes という関数で利用できるようです。

    hokousya
    hokousya 2007/03/23
    OpenSSLの乱数を使って予測しにくいIDなどを作る方法です。
  • Anti-DNS Pinning について調べてみました - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 Open Tech Press で見つけた Google Desktop の脆弱性の記事に、 Anti-DNS Pinning なる言葉を見つけました。どうやら Web ブラウザを介した攻撃方法のひとつのようなのですが、恥ずかしながらまったくの初耳でしたので、少し調べてみました。これまたメモ代わりに記事にしておきます。日語で解説があるのは以下のサイト様しか見つか

    hokousya
    hokousya 2007/03/01
    Anti-DNS Pinning という攻撃方法について調べてみました。
  • UTF-8 エンコーディングの危険性の補足 - WebOS Goodies

    えー、昨日投稿した「UTF-8 エンコーディングの危険性」の記事ですが、なにを間違ったのか過去最高のアクセスを記録しています。その前の Ruby 用 JSON クラスの反響がさほどでもなく、今回も大したことないだろうと思っていたので、かなりびびってます(((゜Д゜;)))ガクガク。はてぶコメントでも多くのご指摘をいただきまして、私自身反省している点もあるので、少し補足しておこうかと思います。 昨日の記事の意図は、まず単純に不正な UTF-8 シーケンスの存在を知ってもらい、そして具体的な対策として、入力の水際で不正な UTF-8 シーケンスを潰してしまおうというものです。ここが説明の足りなかった部分ですが、入力段で HTML などのエスケープをしようということではありません。 UTF-8 の正規化は HTML などのそれと違って二重にかけても結果が変わりません。また、目的はクライアントの保

    hokousya
    hokousya 2007/02/23
    ありがとうございます。wcharサポートのない言語では文字列を数値配列として扱うことになるので、効率はむしろ落ちるように思うんです。言葉遣いは元記事でもご指摘いただきました。「正規化」が正しいでしょうか。
  • UTF-8 エンコーディングの危険性 - WebOS Goodies

    的に、まともな国際化ライブラリを使っていれば、上記のような不正な文字コードはきちんと処理してくれるはずです。実際、 Opera, Firefox, IE ともに適切にエスケープしてくれました。また、 UCS に変換した後にエスケープ処理を行うことでも対処できるかもしれません。しかし、複数のモジュールで構成されるような規模の大きいアプリケーションでは、そのすべてが適切な処理を行っていると保証するのも、なかなか難しいかと思います。ここはやはり、すべての外部入力に含まれる不正なシーケンスを、水際で正規化するという処理を徹底するのが一番かと思います。 例えば Ruby の場合、不正な UTF-8 コードを検出する最も簡単な方法は、 String#unpack を使って UCS へ変換してみることです(昨日の記事への kazutanaka さんからのはてぶコメントにて、 iconv でも同様なこ

    hokousya
    hokousya 2007/02/22
    UTF-8検証の必要性。なるほど、確かに正規化と呼ぶのが正しい気がしますね。時間を見て修正します。ありがとうございます。
  • Ruby 用 JSON パーサーを更新、 JSON への変換も追加 - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 以前公開した前バージョンにはたくさんのアドバイス、リンクなどいただきまして、ありがとうございます。少々時間が経ってしまいましたが、あれからいろいろと勉強しまして、 strscan なる便利なライブラリが Ruby の標準ライブラリに含まれていることも知りました。それらをきちんと使えばコードをだいぶシンプルにできそうだったので、思い切って書き直してみました。まだまだ

    hokousya
    hokousya 2007/02/21
    JSON生成、UTF-8検証機能、サロゲートペア対応などを追加しました。「スケーラブルWebサイト」興味深い内容なので即買いしました(笑)>kazutanakaさん
  • Yahoo! Pipes 開通、そしてすぐに詰まる - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 昨日、米国の Yahoo!Yahoo! Pipes という新しいサービスをリリースしました。複数のデータソースから RSS フィード形式でデータをフェッチし、それを加工するモジュールを繋いでいくことで簡単にマッシュアップが作れるというものです。 しかし、 digg に掲載されたとたんにエラーが頻発するようになり、最後にはトップページの表示すらできない状態に。

    hokousya
    hokousya 2007/02/09
    昨日公開されたYahoo! Pipesを少し使ってみましたが、速攻でサーバーが落ちたのでどうにもなりません(笑)
  • 1