WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。
WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 皆さんご存知のとおり、 Rails をはじめとする多くの Web アプリケーションフレームワークは、リクエストベースで設計されています。つまり、すべての処理は HTTP リクエストごとに起動され、それにレスポンスを返すことで終了します。ほとんどの場合、これは非常にうまく機能しますが、タイムアウトが発生してしまうような時間のかかる処理、一定間隔で定期的に起動したい処
WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 ようやく少しずつ時間が取れるようになってきたので、 Google App Engine の勉強をはじめています。 Python の書き方や App Engine 自体の使い方を覚えるのは苦ではないのですが、大変なのはその先、ライブラリやフレームワークなどを把握するのが厄介なんですよね。 まあとりあえずは App Engine に付属している Web フレームワーク
Heroku は現在リミテッドβの状態なので、ユーザー登録を行うにはこちらのページでメールアドレスを登録し、招待メールが来るのを待たなくてはなりません。私が登録したときは 2 週間待ちだったのですが、現在はだいたい 1 日以内に招待が来るようです。ちょっと面倒ですが、ぜひサインアップして、 Heroku の素晴らしい世界を体感してみてください。 ・・・どうでもいいけど、サインアップのページにある看板はいったい。 無事にサインアップできたら、さっそくこちらのページから heroku にログインしましょう。すると、最初に以下のアプリケーション管理画面が表示されます。 heroku では同時に複数の Rails アプリケーションが開発できるので、この画面でそれらを管理するわけです。しかし、現在はひとつもアプリケーションが存在しませんので、新たに作成してみましょう。アプリケーションの作成は「Cre
WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 つい先日のことですが、 iGoogle ガジェット API になかなか画期的な機能が追加されました。なんと、同じページに追加されたガジェット同士で、簡単な通信ができるようになったのです。これにより、個々のガジェットの連携が可能となり、さまざまな新しい可能性が見えてきます。例えば、検索窓を表示して入力された検索文字列を他のガジェットに送信するガジェットを作っておけば
JavaScript を使った Web アプリケーションを公開する際にほぼ必須となるツールが JavaScript Obfuscator 、いわゆる JavaScript 圧縮(難読化)ツールです。とくに Ajax を活用したサイトでは JavScript ファイルも大きくなりがちなので、できるだけコンパクトにまとめてページのロード時間を短縮したいところです。そんなわけで、私も Infosketch を公開する際にいろいろ試しまして、本日ご紹介する jsjuicer を使うことにしました。 この jsjuicer は Web 関連のツールでは珍しく C++ で組まれたコマンドラインプログラムとなっています。そのため使い始めは少々面倒ですが、 make などによる自動化がやりやすいというのは大きな利点です。他のツールにはない便利な機能もいくつか実装されていますので、実用的な JavaScri
WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 ほとんど気付かれていないかもしれませんが、先日トップページの最新記事を表示する部分のスクリプトを改良して、記事内容がアニメーションして出てくるようにしました。これまでの意味不明な挙動に比べれば(^^;)、いくぶん使いやすくなったかと思います。 で、このアニメーションを実装するのに Ext JS というライブラリを使ってみました。 Ext JS は多彩な機能を実装し
WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 先日公開した Infosketch はお試しいただけたでしょうか。まだまだ Google Gears の機能のごく一部を使っているに過ぎませんが、 JavaScript のみで大容量の永続ストレージが利用できる点はとても興味深いと思います(あのレベルなら Flex のローカルストレージという手もありますが ^^;)。僅かながら Google Gears のノウハウ
単純な乱数よりだいぶ良くなっていますが、それでも思ったよりシンプルですね。また、最後に MD5 をかけると、 ID の長さが固定されてしまう(鍵空間の広さを調整できない)という欠点もあります。短期間しか使わないセッション ID なら大丈夫でしょうが、永続的な ID としてはちょっと不安が残ります。 なにか Ruby で簡単に強固な ID を生成する方法はないかなぁ、と考えていたのですが、そういえば Ruby には OpenSSL バインドが標準で添付されていました。強力な暗号化には予測困難で偏りの少ない乱数が不可欠ですから、これは期待できますね。そんなわけで、 Ruby から OpenSSL の乱数生成器を利用する方法を調べてみましたので、本日はそれをご紹介しようと思います。 調べてみたところ、 C 言語なら OpenSSL の乱数は RAND_bytes という関数で利用できるようです。
WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 Open Tech Press で見つけた Google Desktop の脆弱性の記事に、 Anti-DNS Pinning なる言葉を見つけました。どうやら Web ブラウザを介した攻撃方法のひとつのようなのですが、恥ずかしながらまったくの初耳でしたので、少し調べてみました。これまたメモ代わりに記事にしておきます。日本語で解説があるのは以下のサイト様しか見つか
えー、昨日投稿した「UTF-8 エンコーディングの危険性」の記事ですが、なにを間違ったのか過去最高のアクセスを記録しています。その前の Ruby 用 JSON クラスの反響がさほどでもなく、今回も大したことないだろうと思っていたので、かなりびびってます(((゜Д゜;)))ガクガク。はてぶコメントでも多くのご指摘をいただきまして、私自身反省している点もあるので、少し補足しておこうかと思います。 昨日の記事の意図は、まず単純に不正な UTF-8 シーケンスの存在を知ってもらい、そして具体的な対策として、入力の水際で不正な UTF-8 シーケンスを潰してしまおうというものです。ここが説明の足りなかった部分ですが、入力段で HTML などのエスケープをしようということではありません。 UTF-8 の正規化は HTML などのそれと違って二重にかけても結果が変わりません。また、目的はクライアントの保
基本的に、まともな国際化ライブラリを使っていれば、上記のような不正な文字コードはきちんと処理してくれるはずです。実際、 Opera, Firefox, IE ともに適切にエスケープしてくれました。また、 UCS に変換した後にエスケープ処理を行うことでも対処できるかもしれません。しかし、複数のモジュールで構成されるような規模の大きいアプリケーションでは、そのすべてが適切な処理を行っていると保証するのも、なかなか難しいかと思います。ここはやはり、すべての外部入力に含まれる不正なシーケンスを、水際で正規化するという処理を徹底するのが一番かと思います。 例えば Ruby の場合、不正な UTF-8 コードを検出する最も簡単な方法は、 String#unpack を使って UCS へ変換してみることです(昨日の記事への kazutanaka さんからのはてぶコメントにて、 iconv でも同様なこ
WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 以前公開した前バージョンにはたくさんのアドバイス、リンクなどいただきまして、ありがとうございます。少々時間が経ってしまいましたが、あれからいろいろと勉強しまして、 strscan なる便利なライブラリが Ruby の標準ライブラリに含まれていることも知りました。それらをきちんと使えばコードをだいぶシンプルにできそうだったので、思い切って書き直してみました。まだまだ
WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 昨日、米国の Yahoo! が Yahoo! Pipes という新しいサービスをリリースしました。複数のデータソースから RSS フィード形式でデータをフェッチし、それを加工するモジュールを繋いでいくことで簡単にマッシュアップが作れるというものです。 しかし、 digg に掲載されたとたんにエラーが頻発するようになり、最後にはトップページの表示すらできない状態に。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く