フォトアルバム

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

« 2005年11月 | メイン | 2006年3月 »

CFMXでRuby on Rails風に・・・(その2)

前回のポストで宿題にしておいた

について、CDCDEVのメーリングリストをトレースしてみた。
やはり、Sean CorfieldがML上で多くコメントしている。
彼曰く、

Reactor caches database object instances (metadata, essentially, not actual application data).
Arf! and objectBreeze do not provide caching.

Arf! and objectBreeze introspect the database without needing an XML file.
Transfer and Reactor use an XML file to describe the database.

Model-Glue + ColdSpring + Arf! / Reactor
(Arf! for simple stuff, Reactor for more complex stuff)

obJectBreezeという新しいORMサブフレームワークもあるようだが、
一言でいうと、

Reactor:大規模向き、パーシスタント機能あり、DB定義にXML使用。
Arf!:小規模向き、パーシスタント機能なし、DB定義にXML不使用。

Brian Rinaldiのブログの記事:Arf, ObjectBreeze, Reactor and More!
参考になると思います。

個人的には、
- Model-Glue - for presentation / event wiring
- ColdSpring - for model management
- Reactor - for persistence
を試してみようと思う。
早速、Doug HughesのサンプルコードにあるBLOGを試してみよう。
(ModelGlue+Reactor)

CFMXでRuby on Rails風に・・・

10月下旬から11月上旬にかけて、Seanが彼のブログで'Ruby on Rails’を
何度か取り上げていたのを、ふと思い出した。

さっそく、日本Rubyの会のRuby on Railsに飛んでみる。
おお、CFと同じくMVCフレームワークではないか!!

  • モデル:ActiveRecord(専用O/Rマッパーライブラリ)
  • コントローラ:ActiveController(アクション管理単位は、クラス単位でなくメソッド単位)
  • ビュー:ActionView+Erb(ヘルパーライブラリーをつけた埋め込みRuby)

満足せる豚。眠たげなポチ。さんのRuby on Rails日本語訳記事を除いてみると、
な、なんと、O/Rマッパーのおかげで、モデルを定義するだけで、
何もSQLを書く必要がない!!GWやDAOの機能が最初から実装されている。
便利だ!

そんなこんなで、CFでRuby on Rails風なサブフレームを探してみたら、
やはりありました。

パッと見たところでは、両方ともMVCフレームワークではなく、
他のCFフレームワークと連携するサブフレームワークのようだ。
ドキュメントを読んで、もう少し違いをまとめてみよう。

海外のColdfusionHosting

mixiのColdfusionコミュニティで、「ヘテムル」という
Coldfusionの共有ホスティングサービスが紹介されていたので、
早速サービス紹介やサポートをチェックしたのだけど・・・
イマイチ、ピンとこない。

というわけで、海外のColdfusionHosting関連の情報をネットで
あさっていたら、最初に見つけたのがこの比較サイト。

ColdFusion Hosting and CFMX Hosting Plans Comparison Table

一番上に載っている xtreme Host 。確かに安い!
このプランで、6.99USD/Month。

Disk Space: 200MB      
Transfers: 8GB
Unlimited Email Accounts
Control Panel: PLESK 7.5 RELOADED

Pleskも使える。Mysql/Postgresql/MSSQLも使える。
しかもDB数は無制限。
ColdfusionからMysqlへはDSNが無制限に設定可能。
でも、Coldfusion用PleskControlPanelは使えないみたい。
メールでのやりとりなんだろうなー。

どこにデータセンタがあるのかと思って、PINGとTRACERTを打ってみると、
PING        207msec TTL=41
TRACERT KDDI経由で海外にわたってから先の経路が見えない。
ということで、日本からのネットワークが不安なので、今回はパス。
将来的には使ってもいいかなー。

次に見つけたのは、Xtreme Hostより若干仕様が劣るけど、
日本からのネットワークがしっかりしてそうな Host Nexus

PING        193msec TTL=44
TRACERT Verio、Abovenet経由でUSのニュージャージーにあるみたい。
経路もしっかりと見えているので、ここを使うことにした。
このプランで、9.5USD/Month。

300MB Disk Space
10GB Data Transfer
Linux: 10 MySQL Databases
Host 3 Domains
Plesk Control Panel

使用レポートは、またの機会に。

AjaxCFC

昨年、CFAjaxを見て、フレームワークとの整合性が悪いなあーと思っていたら、
CFCベースのAjaxフレームワークが出てきました。
Rob Gondaのブログに行くと、ModelGlueとの連携も紹介してくれています。
Robさん、サンキュ!
これで、GoogleMapsとのマッシュアップが簡単に出来そう!

ajaxCFC for Model-Glue Explained

Ajax.cfcは、ModelGlueで利用可能な汎用modelです。したがって、コントローラで利用可能です。コントローラ内のinitファンクションで初期化し、コントローラ内のvariablesスコープに常駐させます。

<cffunction name="Init" access="Public" returnType="controller" output="false" hint="I build a new SampleController">
  <cfargument name="ModelGlue">
 
  <cfscript>
      super.Init(arguments.ModelGlue);
    variables.echo = createObject("component", "blog.projects.ajaxcfc.examples.modelgluesamples.echo.model.echo");
    variables.ajax = createObject("component", "blog.projects.ajaxcfc.examples.modelgluesamples.echo.model.ajax");
  </cfscript>
  <cfreturn this />
</cffunction>

Ajaxのリモートリクエストは、標準的なWebリクエストと同じく、以下のようにフローします。 

  1. ページがAJAXリクエストを発生させる。
  2. ModelGlueフレームワークによって、イベントが捕捉される。
  3. ModelGlueのイベントハンドラーがメッセージをブロードキャストする。
  4. コントローラでメッセージをピックアップする。
  5. AjaxCFCを使い、onRequestStart内で、メッセージをパースする。
  6. イベントに応じて他のmodelを利用し、レスポンスデータを作成する。
  7. 再度AjaxCFCを使い、レスポンスに備える。
  8. 'ajaxResponse'にレスポンス値をセットし、viewに渡す。
  9. modelGlue.xmlで、レスポンスを運びJavaScriptのコールバックファンクションに返すviewとしてのajaxResponse.cfmを含める。

ModelGlue+AjaxCFC+ColdspringでGoogleMapsとの連携版を作ってみよう!

ブログ人マップ:地図にトラックバック

OCNのブログ人が地図にトラックバックする「ブログ人マップ」が昨日リリースされています。
GoogleMapsを地図エンジンに使って、専用ブログでトラックバックを受け付けています。
でも、最新トラックバックを表示するだけじゃあ、全然ひねりがないなあー。

ModelGlueV1.1近し!

Joe Rinehartのブログに、ModelGlue V1.1のリリースが近いことが
1月になって発表されていたようです。

彼の記事を2件引用すると・・・・こんな感じになるようです。
Model-Glue 1.1 Preview

  • ColdSpringとの統合
    1. ChiliBeansとColdspringの簡易切替(modelglue.xml内の<setting>タグ)
    2. Controllerとservice/conponent間の自動ワイヤリング(自動Bean化、beanFactoryLoader使用)
  • スタータキット(テンプレート)のリニューアル
    1. MySQL/MSSQLサポート(ColdSpringのDAO/Gateway経由?)
    2. 基本Webアプリ用テンプレート(ログイン/ログアウト、プロフィール管理、ユーザ管理)
  • redirectタグのバグフィックス
    1. リダイレクト先未指定の場合に、リダイレクトを実施しないようにした
  • 静的ブロードキャスト機能の追加
    1. controller内のOnRequestStartファンクション内でスタティックなリダイレクトが可能になった。

Model-Glue "Headstart" Preview (screenshots!)

  • MySQL and MS SQL Server Support

  • ロールベース/キーベースセキュリティ(グループレベル/レコードレベルセキュリティ)

  • ユーザ管理ツール

  • ユーザサインアップの設定(on/off)

  • ログインアクセスの設定(on/off)

  • 手のかかる例外処理のハンドリング

    • エラー情報、スコープ情報、デバッギングスタック情報付メールの自動通知

  • メールサービス用CFCのビルトイン

上記管理ツールのスクリーンショットはこちら

Fusebox5

Sean Corfieldのブログに、Fusebox5開発スタートの記事があったので紹介しておきます。

  • Fusebox4.1と後方コンパチ
  • コアファイルをリビルド(メンテナンス性の追求)
  • 文法の構造化

メーリングリストも作成されたようななので、興味のある方はどうぞ参加してください。
http://groups.yahoo.com/group/fusebox5/

mach-ii.jp

会社の同僚からmixiへの招待をもらった。
Coldfusion関連で2つのコミュニティがあった。
ひとつは、ColdFusion。もうひとつは、Mach-II for ColdFusion。
Mach-II for ColdFusionの中を覗くと、管理人の侍さんが
Mach-IIの日本語ウェブサイト http://www.mach-ii.jp/ を
立ち上げていたので、Mach-IIの日本語化に人肌脱いでみようと
思い、協力を申し出たところ管理人からOKをいただいた。
Mach-II.comのドキュメントの更新チェックと過去に翻訳した
ドキュメントのチェックを今月は集中的にやろうと思う。

ちず窓

ここぎこさんのブログを見ていたら、前回紹介した位置情報SNS「ポジタル」を記事していました。

この記事の中で「ちず窓」という昭文社さん地図サービスが紹介されているのですが、

ブログ上で友達などに待ち合わせ場所などを知らせるのはこちらの方が便利かもしれません。

自宅あたりにポイントマーカを付けてみました。

自宅

この地図エントリーは、"ブログ"というカテゴリーで登録したのですが、

ちず窓ビューでは、BLOGアイコンで表示されるようです。

GoogleMaps利用例3「ポジタル」

ポジタルという位置情報付SNS で、GoogleMapsを使ったルートマップ機能を見つけました。
<iframe>ベースのスクリプトを生成してくれるので、
自宅界隈から職場までのルートマップを貼り付けてみました。

GoogleMaps利用例2「Route Map」

Google Mapsをブログに貼り付ける方法の第二弾です。

Route Map for 歩ってみる--ためしてみる

1.表示したい中心ポイントを表示する。
2.旅行記ページのアドレス(URL)を入力する。
3.地図の幅と高さを指定する。
  幅300、高さ400くらいがいいかな?
4.スケールを指定する。
  3 か 4あたりがいいかも。
5.'試してみる'ボタンをクリックして、表示される地図を確認する。
6.一番下の<iframe ・・・・ </iframe>をコピーする。
7.エントリーの投稿画面で、表示させたい場所のHTML部分に
  ペーストする。

ログイン

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

    パスワード:

更新ブログ

最近のトラックバック

Google

ブログ powered by TypePad
Member since 04/2005