web開発に関するhokousyaのブックマーク (62)

  • 「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 向けに書き直したドキュメントがあったので、翻訳してみました。
  • 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 についてつらつらと書いてみました。
  • ブラウザで 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」のご紹介です。
  • リキッド・レイアウトでチェックボックスを綺麗に並べる - WebOS Goodies

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

    hokousya
    hokousya 2008/01/11
    横幅に合わせて一行のチェックボックスの数が変わるようにする方法をいくつか試してみました。
  • Gmail Greasemonkey API リファレンスを翻訳しました - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 昨年末のことですが、かの Google 情報の大御所『Gmailの使い方』の管理人様からメールが届いていました。なにごとかと思って開いてみると、 「Gmail Greasemonkey API について、例のGoogleガジェットAPIのような解説ページを書いてみる気はないですか?」 というご依頼でした。う〜む、確かに Gmail Greasemonkey API

    hokousya
    hokousya 2008/01/08
    Gmail 用 Greasemonkey スクリプトを開発するための公式 API のリファレンス邦訳です。
  • 使いやすい DHTML ポップアップなどを実現する「DragResize.js」を作りました - WebOS Goodies

    日は、現在製作中のツールの副産物としてできた、 HTML 要素をドラッグ・リサイズするライブラリをご紹介します。 DHTML でポップアップウインドウなどを実現するのに便利です。そんなライブラリいくらでもあるよ!と言われそうですが、けっこう頑張って座標補正などしていて、以下の特徴があります。 要素がドキュメントからはみ出さないように補正する。 ドラッグ中にスクロールしてもドラッグ位置がずれない。 要素が表示領域外に出たときは自動スクロール。 DragResize クラスを除き、グローバルな名前空間を汚染しない。 他のライブラリに依存せず、単独で動作する。 若干の制限はあるものの、概ねクロスブラウザで動作する。 なるべくデスクトップに近い操作性を得られるように工夫したつもりです。とくに利用制限などはありませんので、改変や商用アプリへの組み込みなど、ご自由にお使いください。ただし、動作保証な

    hokousya
    hokousya 2007/12/19
    マウスドラッグで要素の移動・リサイズをするライブラリです。自動スクロール機能などがあります。
  • Apache のリバースプロキシの設定方法 - WebOS Goodies

    日は Google Gears 関連のもうひとつのネタを書こうと思ったのですが、間に合わなかったので最近仕事で使った Apache のリバースプロキシ機能の設定方法などをご紹介します。リバースプロキシは、特定のディレクトリ以下へのリクエストを他の Web サーバーに中継する機能です。 LAN 内の複数のマシンで稼動している Web サイトをひとつのグローバル IP で公開したり、 Apache 以外の Web サーバー(Rails でよく使われる mongrel とか)を Apache の Web サイトに統合したりとかが簡単にできます。 Web サイトを柔軟に構築するために、覚えておくと便利ですよ。 前提条件 Apache のリバースプロキシ機能を利用するためには、 mod_proxy を組み込んだ Apache が必要です。通常の Linux ディストリビューションなどではデフォルト

  • Google Gears データベースの基礎(スライド) - WebOS Goodies

    口頭で説明しながら見せるつもりだったので、意味不明の部分もあるかもしれません。ご不明な点は、コメントなどいただければできるかぎりお答えします。 ODF および PDF 形式の元ファイルも Box.net で公開しておきました。以下のウィジェットからダウンロードできます。ウィジェットが表示されない場合は、こちらのページをご利用ください。 個人的に Gears のデータベースを利用する大きな利点としては以下のものがあると思っています(同期 API 以外は Gears 以外のクライアントサイド DB 共通の利点ですが)。 パフォーマンス ご存知のように JavaScript の実行はお世辞にも速いとは言えないので、大量のデータを処理するのには限界があります。しかし、高速な SQL データベースで検索・ソートなどを行った結果を JavaScript に渡すという方法をとれば、かなりの量のデータが現

    hokousya
    hokousya 2007/12/12
    Googleデベロッパー交流会用に準備していたスライドです。けっきょく使いませんでしたが。
  • [緊急] 12/10 からインライン形式 iGoogle ガジェットの新規作成ができなくなります! - WebOS Goodies

  • Google Custom Search Engine で Ajax なサイト内検索 - WebOS Goodies

    数週間ほど前からなのですが、当 blog のサイト内検索(右上の検索ボックス)の検索結果をポップアップで表示するようになっています。実はこれ、 Google Custom Search Engine の標準機能で簡単に実現できます。簡単にできて、しかもなんとなくカッコいい(笑)ので、たいへんお勧めです。 Google CSE が日語にも対応したというニュースもありましたので(いまいちどこが変わったのかわからないのですが)、日はこの Ajax 検索 Box の作り方をご紹介します。 Google Custom Search Engine でコードを生成 まずは、当然ながら Google CSE でサイト内検索エンジンを作らなくてはなりません。具体的な方法はこちらの記事をご参照ください。けっこう前に書いた記事なので、現状と違う部分がありましたら、コメントしていただけると助かります。 サイト

    hokousya
    hokousya 2007/11/22
    検索結果をその場で表示するAjaxなサイト内検索ボックスを簡単に設置する方法です。
  • 外部から渡されたエスケープ済みテキストを安全に表示する方法 - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 日は、codeなにがしウィジェットを作る過程で思いついた、ちょっとしたネタをご紹介。外部から API などで取得したテキストを安全に自サイトで表示するための Tips です。 codeなにがし API のレスポンスに含まれるデータは、ほとんどが HTML エスケープされた状態で渡されます。ですので、基的にはそのまま HTML に挿入できます。これはこれで便利な

    hokousya
    hokousya 2007/10/23
    外部APIにエスケープ漏れのバグがあっても、その影響を受けないようにする方法です
  • 高機能なファイル同期ツール rsync の使い方 - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 最近、 Infosketch の開発などで rsync を利用する機会が増えてきました。 rsync はネットワーク経由のコピーも可能なファイル・ディレクトリ同期ツールで、コマンドひとつでディレクトリツリーを一気に転送できるほか、差分のみの転送やコピー対象の条件指定といった多彩な機能を搭載しています。 rsync という名前に反してローカル間のコピーも可能で、 m

    hokousya
    hokousya 2007/09/13
    SSH経由でディレクトリツリーの同期が行えるコマンドラインツールrsyncのご紹介です。
  • iGoogle ガジェットの作り方 : ガジェット間通信機能(PubSub)を使う - WebOS Goodies

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

    hokousya
    hokousya 2007/08/29
    iGoogleガジェットAPIに新しく追加されたガジェット間通信機能「PubSub」の使い方です
  • JsUnit を使った JavaScript のユニットテスト - WebOS Goodies

    アプリケーションを開発する上で、避けて通れないもの、それがテストです。とくにブラウザごとの非互換性が大きい Web アプリケーションでは、念入りなテストが必要です。でも、テストはあまり創造的な作業ではないし、やったからといってなにか機能が増えるわけでもない。できるだけ手間をかけずに済ませたいところですね。 そんなわけで、日は JavaScript 用のテストフレームワークである JsUnit を利用したユニットテストの方法をご紹介しようと思います。 Ruby のユニットテストの記事でも書きましたが、ユニットテストによるテスト・ファースト開発は開発効率の面でも良い影響があります。まだ導入していない方は、ぜひこの機会に使ってみてください。 JsUnit について 今回利用する JsUnitJava 用の JUnit を参考にして作られた JavaScript 用のユニットテストフレーム

    hokousya
    hokousya 2007/07/26
    JsUnitを使ってJavaScriptコードのユニットテストを行う方法です。