タグ

ブックマーク / blog.masuidrive.jp (11)

  • Geohashのアルゴリズム

    Photo by Ludovico Cera 前回、最後にGeohashのエンコード・デコード方法を解説、とか書いたのですが、私が書く前にyuroyoroさんがブログで解説していました。しっかり解説されているので、ぜひ、そちらをご覧ください。 Geohashのミソは、座標を2進数にして、それを交互に並べる所にあります。そしてそれをBASE32でエンコードすることで、座標を文字列にして表現しています。 BASE32は、5ビットで1文字なので、Geohashの長さが奇数の場合は、経度の方がビットが短くなります。 (例: 5文字の場合 全25ビット 緯度が13ビット、経度が12ビット) そのため、グリッドの大きさが、Geohashが奇数の場合は縦長、偶数の場合は横長になります。 ビット列から文字列へのエンコード方法に、BASE32を使っているのは大文字小文字を区別しないためだと思いますが、これを

    Geohashのアルゴリズム
    kdaiba
    kdaiba 2010/01/17
    興味深い
  • 緯度経度を文字列で表すGeoHash - @masuidrive blog

    なんか世間的に位置情報アプリが流行ってるらしいし、Google App Engine(GAE)も楽しそう。どうせだから、GAEでなんか位置情報アプリでも作ってみよう!と思ってTwitterに書き込んだところ、Geohashという、位置情報のプロトコル?を教えてもらいました。 これは、その名の通り、位置情報をハッシュで表す規格なのですが、いろいろおもしろい特徴があり、調べているうちに楽しくなってきたので、勢い余ってPure Rubyのライブラリまで書いちゃいました。 そのあと、結局ライブラリを作ったところで満足して、アプリは何も作らなかったので、せめてGeohashの解説でも書いておこうと思います。 位置情報は通常、緯度経度で表します。たとえば東京タワーの緯度経度は35.65861, 139.745447です。 北を上にした地図でいうと、緯度がY座標で経度がX座標です。英語では緯度をlati

    kdaiba
    kdaiba 2010/01/14
    これはすばらしい
  • iPhoneが起動不能になった場合の復活方法

    iPhoneのアプリを色々と入れていると、突然iPhoneが起動しなくなることがあります。 iTunesから認識する場合は、「復元」ボタンを押せばいいのですが、iPhoneが起動せず、認識すらしない場合があります。 その場合は、一度Home+電源長押しで、電源を切った後、USBに接続して、Homeを押しながら電源をいれてください。 このようにすると、下のような画面が出てiTunesがリカバリーモードになってiPhoneを認識するので、iTunesから復元を実行してください。

    iPhoneが起動不能になった場合の復活方法
    kdaiba
    kdaiba 2008/08/01
    うへ
  • BigCanvas PhotoShareリリース!

    中島さんと立ち上げた、Big Canvasのファーストプロダクト、Big Canvas PhotoShare (www.bcphotoshare.com)をリリースしました。AppStoreでのダウンロードは、こちらから。 このアプリケーションは、何よりも手軽に写真を使ったコミュニケーションが出来ることを目指したアプリです。 煩雑なユーザ登録などせずに、写真をサーバへアップロードし、友人や家族と共有できます。誰かを指定して写メするのと違い、自分の日常を流していくTwitterのようなユルいコミュニケーションを目指してます。 すでに取った写真をアップロードしたい場合には、右下の四角のアイコンを、その場で写真を撮りたい場合はその隣の、カメラのアイコンをクリックします。写真をアップロードするときには、「非公開」「家族と共有」「友人と共有」「全員に公開」を選んでください。 「友達と共有」とした写真

    BigCanvas PhotoShareリリース!
    kdaiba
    kdaiba 2008/07/13
    誰も似たようなことを考えるものだ
  • masuidrive on rails - ブログにはてブのコメントを表示するhatana_bookmark_anywhere.js

    Photo by puddles for snails ブログを書いていると、はてなブックマークにいいコメントが付くことがあって、これが多くの人に見てもらえないのは、勿体ないなぁーと思うことがたまにあります。 当はブログのコメント欄に残してもらえるとうれしいのですが、敷居が高いのかなかなか書いてもらえません。 それなら、ブログにはてなブックマークのコメントを表示すればいい!と思って作ってみました。 どこでもはてなブックマークのコメントを表示するスクリプト、「hatana_bookmark_anywhere.js ver 0.1」をリリースします。 実際の設置例はこのページの下の方を見てください。 設置方法は超簡単。https://raw.github.com/masuidrive/hatena-bookmark-anywhere/master/hatena-bookmark-anywhe

    masuidrive on rails - ブログにはてブのコメントを表示するhatana_bookmark_anywhere.js
  • Apache(mod_rails)とmongrelでHTTPレスポンスヘッダに特定の値を返す

    Photo by icanteachyouhowtodoit レスポンスコードでステータスを判断するとFreeSpotとかで問題にならない?からの続き。 ステータスコードで200が帰ってきたときに、ほんとに自分が通信したいサーバから帰ってきたかを検証する方法を考えてみました。 ほんとに相手のサーバを認証したい場合はSSLを使うべきですが、そんなに大事にしたくない場合は、HTTPレスポンスヘッダに特定の値をセットすることで、相手を特定できるのではないかと思います。 Railsのbefore_filterなどでresponse.headersをセットしてもいいのですが、これだとcacheに入った場合など、Railsを通らないときには、ヘッダが追加されません。 そのため、mod_railsの場合はApacheで、mongrelの場合はmogrel内でヘッダにセットする必要があります。 Apach

    Apache(mod_rails)とmongrelでHTTPレスポンスヘッダに特定の値を返す
    kdaiba
    kdaiba 2008/04/15
    なるほどね
  • レスポンスコードでステータスを判断するとFreeSpotとかで問題にならない?

    Photo by Paco CT いま、Sticka用などに外部からデータの更新と参照をするためにWebAPIを計画しているんだけど、WebAPIと一口に言っても、いろいろなプロトコルがあって、どれを採用するかでとても悩み中。 候補になっているのは下記の4つ。 RESTful (Rails) XML-RPC AtomPP GData Railsだけを考えるなら、サービス全体をRESTfulにして、HTML以外にXMLも返す様にしておけば、外部から使うのも比較的容易。Rails同士ならActiveResourceも一応使えるし。ただ、Rails以外でクライアントを作るのがメンドクサイ。また、実際問題、HTMLのコントローラとAPI用のコントローラを一緒にするのは難しいケースもあるので、一つのクラスでHTMLAPIもとはなかなか行かない。 サービスをRESTfulにしてXMLを返すのはいいけ

    レスポンスコードでステータスを判断するとFreeSpotとかで問題にならない?
    kdaiba
    kdaiba 2008/04/15
    WebAPIを作る時の選択肢と課題
  • Amazon EC2でインスタンスを終了しても消えないディスク領域を年内にリリース

    Photo by callumalden Amazon EC2を人に勧めると必ず言われるのが、「インスタンスを再起動したらディスクが消えるのが怖い」。 これは「インスタンス」を再起動であって、OSを再起動してもディスクは消えないのだが、確かに起動に必要なファイルを消してしまって、OSが起動できなくなってしまうと、確かに取り出せなくなってしまいます。 ただ、このようなケースは相当少ない上に、S3という巨大なストレージがあるので、再起動まえなどバックアップをマメに行なう事で、ほぼ解消できる。事実、Stickaでは1時間おきにdumpを取って、1週間分をS3に保持するようにしています。 それでも、やはり容量が大きなデータベースを構築する場合などは、dumpを取るのが難しいなどの問題は出てきます。 これに対する回答として、Amazonがやっと、EC2でも使えるインスタンスを終了しても消えないディス

    kdaiba
    kdaiba 2008/04/14
    永続インスタンス
  • EC2の固定IPを使ってみる

    初期状態では、一つのインスタンスに、EC2の中だけで使えるPrivate IPと、外部からアクセスするためのPublic IP(グローバルアドレス)が割当たってます。 インスタンス自体への割当IPはPrivate IPですが、上位のルータに1:1のNATがあり、これによって外部からPublic IPでアクセスできる様になっています。 今までの、Private IPとPublic IPに加えて、今度は固定IPのグローバルアドレスが割り当てられるElastic IPを選択出来るようになりました。 これは、Public IPと同じ様に、外部からアクセスするためのグローバルアドレスですが、AWSアカウント毎に発行されるので、インスタンスの再起動などによって代わる事はありません。 これを使えば、EC2で最大の問題点であった、「インスタンスを再起動するとIPアドレスが代わる」という問題から解放されます

    kdaiba
    kdaiba 2008/04/06
    Erastic IP の使い方
  • Adobe AIR for Linuxの日本語対応度

    Adobe AIR for Linux アルファ版がリリースされたので、早速インストール。 やっぱり気になるのは、日語の対応度。Linux版にコードが近いであろう、OSX版は表示は出来るけど入力がだめだったので、入力はあまり期待できない。でもせめて表示だけは出来てほしいなと思いつつ、適当なアプリを実行してみる。 サンプルで配布されているFreshというExtJSを使ったフィードリーダを実行して、日語のフィードを入れてみると、無事表示。 で、問題は入力。これは他のアプリで試したけど、案の定ダメ。他のアプリで入力した後、コピペしても2バイト文字以降がペーストされない。これはWindowsなどで日語版が出ないと解決されないようだ。残念。 あと気になるのは、フォント処理。同じ処理で表示しているはずの文字でフォントサイズが違う場合がある。 このスクリーンショットの下の文のフォントが、さっきの

    Adobe AIR for Linuxの日本語対応度
    kdaiba
    kdaiba 2008/04/03
    日本語はまだなんだ
  • masuidrive on rails » Blog Archive » [予告編 30分]AIRとBlazeDSとRubyでメッセンジャーを作る[129ページ]

    今日デブサミライブで話をしてきた資料を公開します。 Adobe AIRとBlazeDS、JRubyを合わせて企業内向けメッセンジャーを作ろうという話です。 時間が30分と短いのでざっくりとした内容ですが、BlazeDSとAIRの連携を中心に、JRubyからメッセージを送信するまでを解説しています。 この話は、まだ途中で、続きは3月に入ってからAdobe Developer Connectionで公開する予定です。 実装してほしい機能などありましたら、コメントください。よろしくお願いします。 PDFダウンロード

    kdaiba
    kdaiba 2008/02/14
    adobeベースのチャットシステムを作る
  • 1