フォトアルバム

2011年10月

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

なかのひと

373news.com

google Search

  • Google
    blog.ganymean.org
    WWW

Google Analytics

« 2006年4月 | メイン | 2006年6月 »

OpenID

Affelioとは別の相互認証をGoogleでググッていたら、ここギコ!さんの記事に辿りついた。
OpenIDとそれをベースにしたWebサイト間の相互認証が可能になるサービスである。

サービス名は、Videntity.org。

    例えば、Videntity.orgkokogikoというアカウントを作ると、http://kokogiko.videntity.org/という個人ページが作られ、このURL(kokogikoだけでなく、飽くまでURL全体)をIDとして、OpenIDに対応したサイト(例えばLiveJournalとか)にログインできるようになる。
    ただこれだと、どこでも共通でログインできるIDはできたけど、自分のBlogのURLとかじゃないので、面白くない。
    その場合は、OpenID Delegeteという仕様を使えばよい。

<link rel="openid.server" href="http://videntity.org/serverlogin?action=openid">
<link rel="openid.delegate" href="http://kokogiko.videntity.org/">

    とこういう記載を自分のサイトのHTMLヘッダ領域に加えておけば、http://kokogiko.net/をIDとしてログインしようとしたら、OpenIDクライアントサイト側ではそれをhttp://kokogiko.videntity.org/と読み替えて、そのURLでOpenID認証サーバに認証を行ってくれる。

Affelioが独自プロトコルであるのに対して、この技術のほうが可能性が高い。

    で、面白いのはここから。
    そうしてhttp://videntity.org/profile/kokogiko.net/にログインすると、自分の友人や家族、恋人なんかのWebサイト(Blog等、飽くまで普通のWebサイト!!)を、細かい関係性等も登録可能で、かつ公開/非公開の設定も可能な形で、登録していけるのだ。
    公開したものはSNSの友人リンクのような形でアカウントサイトで閲覧できる。
    FOAFも自動的に提供される。

これが実現できれば最高!

 

Affelioネットワーク間認証

異なるアプリケーション間の認証について調べていたら、Affelioという分散SNSに辿り着きました。
Affelioはオープンソースと商用ライセンスのデュアルライセンスなのですが、オープンソースレベルでこのようにドキュメントが開示されているのはめずらしい。
URLは、こちらです。
SAMLベースのシングルサインオンより簡素なのかもしれない。もう少し読んでみよう。

(1)Affelioの相互接続(AFLink)
  相互認証のためにAffelio間で共通の秘密鍵を生成し、2回のXML-RPCで交換する。
  鍵交換には、Diffie-Hellman交換方式を採用。
(2)セッション情報のAffelio間転送
  セッション情報のAffelio間転送を通じて、シングルサインオンを実現する。
(3)他Affelioからのログイン
(4)XML-RPCインターフェース

 

 

 

オープンソースPHPアプリ

オープンソースのコミュニティ・アプリケーションとして、ブログ、SNS、ウィキ、CMSを考えると、どうしてもPHPベースになる。
最近、試したPHPアプリケーションは、以下のとおり。
メールアドレスをキーにして認証連携する仕組みってないかなー

ブログ:Nucleus
SNS:OpenPNE2
ウィキ:MediaWiki
CMS:Geeklog

MachBlog

Matt WoodwardとPeter J.Farrellが、Mach-IIとColdSpringを使ったMachBlogを立ち上げているようです。
URLは、その名のとおり、

http://www.machblog.org/

です。興味ある方は、コンタクトしてみてください。

なんでもRSSのHack

今日、何気なくBlogWatcher( 東京工業大学 精密工学研究所 奥村研究室)を見に行ったら、BlogWatcherが3.0b公開に備えて、サービス中断がされていた。
しかたなく、BlogWatcherの一機能である「なんでもRSS!」は動いていたので、その機能をHackしてみた。

CGI-URL

http://blogwatcher.pi.titech.ac.jp/nandemorss/index.cgi

取得方法

getのみ?(postは試していない)   

パラメータ

url=http://www.synapse.jp/(ターゲットURLをutf-8エンコーディングして渡す。)
mode=rss

このレスポンス結果は、こちら
取得されるRSSフィードのURLを返してくれる。
よく見ると、CGIパラメータに'type='が追加されているので、構文パターンに応じたRSSフィードをtype指定で返すようである。
シナプストップページ(www.synapse.jp)の場合、3つのRSSフィードURL一覧が返されたので、type指定をつけて再度呼び出してみたときのレスポンス結果は、こちら
やったー、ものの見事にRSSフィードが返される。

HTMLそのものを解析するMyRSS.jpと比較して、日付を含む表現とHTML構文パターンからRSSフィードに適するものを抽出するため、Hackする際に、抽出パターンの指定が必要らしい。ターゲットサイトごとに、mode=rssを指定して、RSSフィードURL一覧を入手し、再度RSSフィード単位に再呼び出しをかければ、すべてのRSSフィードを入手できる。

明日、東京出張なので、ビジネスショウと同時開催のIPAのブースに出展している奥村先生か南野さんに、商用利用していいか訊ねてみよう。

CF-Unitedでの発表

[ColdSpring-Dev]のメーリングリストで、Sean A Corfieldが予告した。
6月下旬のCF-Unitedで、ModelGlue、ColdSpring、Reactor、そしてFuseBoxが商用利用可能なオープンソースとして公開されるらしい。
非常に楽しみだ。自社の開発に持ち込むか、このまま趣味の世界で続けるか悩むなあ・・・

CFGoogleMapsサンプル

CFGoogleMapsとGeocode.JPを使って、GoogleMapsのサンプル表示を行なってみました。
私の住む鹿児島市(たぶん、鹿児島市役所)と自宅(鹿児島市上福元町・・・)の住所をGeocode.JPに投げると緯度経度が帰ってくるので、これをCFGoogleMapsに食わせると、

こんな

感じになります。

PHPベースのGoogleMapAPIもインストールしてみました。

こちら

このPHPサンプルソースは、MVCスタイルになっていないので、PEAR(オープンソースコード構造化ライブラリ)やSmarty(テンプレートエンジン)に対応させようと思っているんだけど、うまくいかない・・・やはり、PHPは苦手だ・・・。
苦手なことには、あえてチャレンジしなきゃね!!

ColdFusionMapにJoin!

Joe Rinehartのブログに、ColdfusionDeveloper's Mapへの参加を呼びかける記事があったので、参加してみました。日本一番乗りみたいだ。ちょっぴり、うれしい。

Frappr map for CF:  http://www.frappr.com/cfdevelopers.

ModelGlue 1.1.10 RC

Joe Rinehartが彼のブログで、ModelGlue 1.1.10RCについてアナウンスした。

今回のリリースの特徴は、パフォーマンスの改善(ModelGlue2.0 Unityからのフィードバック)。Sessionスコープを使った場合のパフォーマンスが6倍に改善されたとのことです。
サンプルアプリ:PostMarket

This release is focused on performance, but also removes the necessity for the session scope to be enabled. Without session, you will simply lose the state container during a redirect/forward and all references to asynchronous requests.

Below is a series of benchmarks against the Model-Glue PetMarket homepage. Each test consisted of 100 concurrent threads, 50 requests each thread, 3 seconds between each request.

Average response times:   

Model-Glue 1.1:  2591ms   

Model-Glue 1.1.1 Private Test:  1144ms   

Model-Glue 1.1.1 Release Candidate: 491ms   

Model-Glue 2.0 (Revision 78): 308ms

   

やってしまった

昨晩、マイホスティングのhttpdocs以下のディレクトリデータをうっかりロストしてしまいました。

  1. HostNexusのトップページを、MamboというCMSからNucleusというCMSに切り替えようと、ディレクトリ整理をしようとメンテナンスをはじめたところ、Apacheが作成したディレクトリやデータが削除できないことに気づいた。
  2. バックアップを取って、必要なディレクトリだけリストアすればいいや考え、バックアップを共用ホスティング内のローカルレジストリに保存。
  3. ドメインデータを一旦削除して、リストアしようとしたら、ディレクトリデータのリストアだけができない旨のメッセージを吐いて、終了・・・
  4. MySQLデータは、無事リストアされたので、とりあえずmediawikiを復活。
  5. そして、DNSのCNAMEセッティングを追加して、ブログのドメインマッピングも復活。

あーあ、ローカルPCから再度FTPしなおしだー。

CFGoogleMaps

GoogleMapsAPIのPHP用クラスライブラリに続いて、Coldfusion用クラスライブラリが引っかかりました。

作者:Bryan Kaiser
CFCクラス名:CFGoogleMaps
対応バージョン:GoogleMapsAPI V1
リリース日:2005/10/27

サンプルスクリプト例は、以下のとおりです。
  1. CFCコンポーネント名を与えて、オブジェクト化
  2. GoogleMapsAPI KEYとマップセンターの緯度と経度を与えて初期化
  3. あとは、CFOUTPUTで呼び出すだけ
<html>
<body>
<cfscript>
    //Create the object
    cfgm = CreateObject('component','cfgooglemaps');
    //Pass the init function your google key and the
    //lat and lon on which the map should be centered
    cfgm.init('INSERT GOOGLE MAP KEY',38.898748,-77.037684);
</cfscript>

<cfoutput>
    <!--- Now just output the map --->
    #cfgm.getMap()#
</cfoutput>
</body>
</html>

ModelGlue+GoogleMaps+AjaxCFC+αで面白いことができそう・・・
Rob Gondaのサンプルを例に、あれこれ模索してみます。

GoogleMapsAPI for PHP

OpenPNEを使った地域SNS:ショコベに、GoogleMapsを使ったマップサービスが登場しているので、PHP用のGoogleMapsAPIクラスライブラリがあるのだろうと思い検索してみたら、ありました。-- GoogleMapsAPI.class.php --
本家サイトはこちら、国内では、ほそいりょすけさんが紹介している。
GoogleMapsAPIのV2にも対応していて、GOverviewControllにも対応しているので、使えそう。
ただし、GeoCodingが米国しか使えないYAHOOをデフォルトになっているので要注意。また、GeoCoding結果をDBにキャッシュする仕組みも実装されています。
個人的には、これを継承して以下のように使いたいと思います。

  1. GeoCoding用とGoogleMapsAPI用オリジナルクラスを新規に作成
  2. GeoCoding用クラスは、独自に実装。(キャッシングも独自実装、日本版GeoCodingは、Googleかgeocoding.jpを使用する)
  3. GoogleMapsAPI用オリジナルクラスは、GoogleMapsAPIを継承しつつ、拡張する。
  4. Mapクラスを新規に作成し、GeoCoding用とGoogleMapsAPI用オリジナルクラスを継承する。


ログイン

  • コントロールパネルへのログイン
    アカウント:

    パスワード:

更新ブログ

最近のトラックバック

Google

ブログ powered by TypePad
Member since 04/2005