Top / FDSを使ったニコニコカレンダー

n-kawaiさんから寄贈ソースです♪
by satoshi

・nikonikoサンプルの説明
本ソースは、FexDataService?を利用したニコニコカレンダー(もどき)の
学習用サンプルソースです。

ニコニコカレンダーとは?
 http://www.geocities.jp/nikonikocalendar/index_ja.html

#ref(): File not found: "nikoniko_image.jpg" at page "FDSを使ったニコニコカレンダー"

・使用した環境
 APサーバ  :Tomcat5.5.17
 JVM     :J2SE5.0_update8
 データベース:MySQL5.0.22
 JDBC    :MySQLのJDBCドライバ
 Flex    :FlexDataService? Express版

※JDBCが使用できればMySQL4.xでも動作すると思います

・環境設定
(1)J2SE、Tomcat、MySQL、FlexDataService?
 それぞれインストールしてください。
 MySQL上のschemaとユーザ・パスワードを決めておきます
(2)FDS付属のsamples.warもしくはflex.warを
 デプロイし、動作するようにしておいてください。
(3)DBテーブルの作成とデータセットは、
 Javaソースにスタンドアロンで動作するコードが
 含まれているので、各ソース中のDriverManager?
 MySQL定義を使用環境に応じて変更して、実行してください。
(4)データソースの定義
 Javaソース中ではJNDI名を
  jdbc/nikonikodb_ref
 と定義しています。この名前でMySQLへのデータソースを
 定義するか、任意の名前に変更してデータソースを定義
 してください。
(5)コンパイルしたファイルの配置
 Javaクラスは、webapps/flex/WEB-INF/classes/にコピー
 Flexファイルは、webapps/flex/nikoniko/にコピー
 assetディレクトリもそのままwebapps/flex/nikoniko/にコピー
(6)data-management-config.xmlの編集
 ソースとともに例を添付しています。
 destinationタグブロックを、使用環境のdata-management-config.xml
 に追加してください
  <destination id="samples.nikoniko.account">
  <destination id="samples.nikoniko.group">
  <destination id="samples.nikoniko.status">
  <destination id="samples.nikoniko.dailyStatus">
  <destination id="samples.nikoniko.statusTotal">

・使用方法
(1)上記で配備したURLをWebブラウザ上で指定します
 ex)http://localhost:8080/flex/nikoniko/nikoniko.html
(2)ログイン処理は、本サンプルでは未実装です。
 そのままログインするとAP画面に遷移します。
(3)画面説明
 左画面:ログインしたユーザ名表示と、
     ニコニコ度の登録フォーム(当日の登録しかできません)、
     同じグループメンバの7日間の状態表示
 右上画面:組織全体のニコニコ度比率
 右下画面:グループ別のニコニコ度人数分布

・ソース(src)の内容
ds_nikoniko :Java側のFDSアセンブラとDBアクセスソースコード
 nikoniko :テスト用DBテーブルを処理するJavaアプリケーション
       (テーブル作成、テーブル削除、ダミーデータ生成)
 samples  :FDS用Javaソースコード
  nikoniko:
   common:共通(ここでは空の例外クラスをだけ)
   dao  :DAOのインタフェース定義
   dto  :DTOのインタフェース定義
   main :実装処理
       DTOの実装(_iがない)
       DAOの実装(_iがない)
       ????Assembler(FDSのアセンブラモジュール)

nikoniko  :Flex2のソースコード
       nikoniko.mxmlとnikoniko.asがメインソース
 samples  :
  nikoniko:FlexのDTOクラス(Javaと同名)、
      :UIコンポーネントで使用するデータプロバイダ用のクラス

・命名規則など
UIコンポーネント:Flashでの記法と同等
         ex)MovieClip?であれば_mcなど
          Adobeのどこかにドキュメントがある?
タグのID名   :Panel,Form,Boxなど名前の後ろにつけて、どういうタグかわかるようにする
         UIコンポーネントと同じような命名でもOK、どちらかに統一する
ステート名   :名前の後ろを_stateにする
クラス名    :任意
インスタンス変数:ハンガリー記法っぽく
         クラスの省略系文字に続き、意味を表す変数名
         ex)ユーザ情報のArrayCollection?であれば
          acUserInfo?
           ac:クラス名の省略形
            (もちろんバリエーションに限度があるので、共通認識できるよう統一する)
           UserInfo?:意味を表す名前
         ※短いスコープ(関数内のみのローカル変数や一時的に使用する変数)で
          使用される変数名は任意でよい。可読性やソースの記述しやすさを考慮
イベント関数  :addEventListener?などでコールバックされる関数には
         名前の後ろにHandlerとつけるか、
         そのイベントの種類をあらわすような名前を後ろにつける
         ex)ボタンのクリックの場合、_clickと負荷する
他の関数名   :このサンプルでは特に決めていない
         (何を行うかわかるような名前)

・コメント
ASDocに対応したコメントを記述する(が、まだASDocを試していない)

・Getter/Setterの実装
 本サンプルのActionScript?側ソースはクラス変数を直接参照しているが、
 Javaと同様、正しくは実装しておくべきだと思う

・既知の問題・課題
(1)あまりエラー処理が記述されていない
  DataService?でのエラー
  DBテーブルが空の場合を考慮していない
 など
(2)週間の状態表示DataGrid?でコメントのツールチップ表示指定でwarningが表示される(デバッグ時)
(3)ArrayCollection?SetItemAt?を使用すると、Updateではなく、Delete&Addという挙動になる。
 仕様か?

・ライセンス
この作品は、クリエイティブ・コモンズの帰属-非営利-同一条件許諾 2.1 日本ライセンスの下でライセンスされています。この使用許諾条件を見るには、http://creativecommons.org/licenses/by-nc-sa/2.1/jp/をチェックするか、クリエイティブ・コモンズに郵便にてお問い合わせください。住所は:559 Nathan Abbott Way, Stanford, California 94305, USA です。

ソースコード

http://www.fxug.net/archives/sample-source/fds/nikoniko_fxug_v0_1.zip


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Counter: 5358, today: 2, yesterday: 0
Last-modified: Thu, 08 Mar 2007 18:11:19 JST (1277d)