1. やること
    1. フレームワーク/Webアプリケーション
  2. これから考えること
    1. MVC
      1. ユースケースクラス
      2. ユースケーススコープ
  3. クライアントからのリクエストを処理
    1. リクエスト
      1. 選べるビュー
      2. 変形MVC
    2. 設定方法を用意
      1. Webアプリの設定はWikiページに書けない
    3. エラー対処
      1. フレームワーク/エラーメッセージにクラス名
      2. フレームワーク/エラーページにクエリーを
    4. セッションの用意
    5. 最適化
      1. フレームワーク/メモ化
    6. リクエストとレスポンス
      1. 全てURIで
      2. フレームワーク/WikiEngine呼び出し
      3. リクエストをフレームワーク/WikiEngineに渡す
    7. レスポンス
      1. ログイン→HTTP_REFERERにリダイレクト
      2. :i/フレームワーク/WikiEngineからの出力をレスポンスにする
      3. フレームワーク/WikiEngineからの出力をレスポンスにする
    8. 認証
      1. ログイン/ログアウト
      2. 認証とユーザーオブジェクトの用意
      3. :i/アカウントの有効期限
      4. ユーザーオブジェクトの用意
      5. アカウントの有効期限[?]
    9. 永続化とロックシステム[?]
      1. 永続化
      2. ロックシステム
    10. セッションの維持・管理
    11. その他、実装上の細かいこと
      1. フレームワーク/WikiEngineの実装案より
    12. エラー対処
      1. :i/リクエスト再送はフレームワークで
      2. :i/疑似言語とPerlでフレームワーク[?]
      3. :i/エラーメッセージにクラス名
      4. :i/エラーページにクエリーを
      5. :i/出力の統合はどうやるか?[?]
  4. フレームワーク/WikiEngineから呼ばれて
    1. 設定
      1. :i/Webアプリの設定はWikiページに書けない
    2. ログ
    3. 最適化
      1. メモ化
  5. そのほか

フレームワーク/Webアプリケーションの実装案。

やること Edit

フレームワーク/Webアプリケーション Edit

  • -

これから考えること Edit


フレームワークの役割をフレームワーク/Webアプリケーションフレームワーク/WikiEngineで分担。
  1. やること
    1. フレームワーク/Webアプリケーション
  2. これから考えること
    1. MVC
      1. ユースケースクラス
      2. ユースケーススコープ
  3. クライアントからのリクエストを処理
    1. リクエスト
      1. 選べるビュー
      2. 変形MVC
    2. 設定方法を用意
      1. Webアプリの設定はWikiページに書けない
    3. エラー対処
      1. フレームワーク/エラーメッセージにクラス名
      2. フレームワーク/エラーページにクエリーを
    4. セッションの用意
    5. 最適化
      1. フレームワーク/メモ化
    6. リクエストとレスポンス
      1. 全てURIで
      2. フレームワーク/WikiEngine呼び出し
      3. リクエストをフレームワーク/WikiEngineに渡す
    7. レスポンス
      1. ログイン→HTTP_REFERERにリダイレクト
      2. :i/フレームワーク/WikiEngineからの出力をレスポンスにする
      3. フレームワーク/WikiEngineからの出力をレスポンスにする
    8. 認証
      1. ログイン/ログアウト
      2. 認証とユーザーオブジェクトの用意
      3. :i/アカウントの有効期限
      4. ユーザーオブジェクトの用意
      5. アカウントの有効期限[?]
    9. 永続化とロックシステム[?]
      1. 永続化
      2. ロックシステム
    10. セッションの維持・管理
    11. その他、実装上の細かいこと
      1. フレームワーク/WikiEngineの実装案より
    12. エラー対処
      1. :i/リクエスト再送はフレームワークで
      2. :i/疑似言語とPerlでフレームワーク[?]
      3. :i/エラーメッセージにクラス名
      4. :i/エラーページにクエリーを
      5. :i/出力の統合はどうやるか?[?]
  4. フレームワーク/WikiEngineから呼ばれて
    1. 設定
      1. :i/Webアプリの設定はWikiページに書けない
    2. ログ
    3. 最適化
      1. メモ化
  5. そのほか

MVC Edit

ユースケースクラス Edit

ユースケーススコープ Edit


Controller = Usecase

その中だけで有効なデータ。

クライアントからのリクエストを処理 Edit

リクエスト Edit


†クラス別のセッションデータ[?]

選べるビュー Edit


リクエストとレスポンスの分離。

変形MVC Edit

MVC.svg

docs.google.com

設定方法を用意 Edit

Webアプリの設定はWikiページに書けない Edit

エラー対処 Edit

フレームワーク/エラーメッセージにクラス名 Edit

フレームワーク/エラーページにクエリーを Edit


HTTPのGETメソッドのときは…URLをデコードして表示するなら意味がある。

セッションの用意 Edit


ページ/セッション[?]の基礎。ページ/要素が扱うのはページでできたセッション領域のほう。

最適化 Edit

フレームワーク/メモ化 Edit


多段メモ化

リクエストとレスポンス Edit

全てURIで Edit

ページ名と要素部分はフレームワーク/WikiEngineでやること


それ以前のドメインとWikiの指定までを受け持つ。

ここで行うのはそれ以前まで。

フレームワーク/WikiEngine呼び出し Edit


リクエストをフレームワーク/WikiEngineに渡す。

リクエストをフレームワーク/WikiEngineに渡す Edit

レスポンス Edit

ログイン→HTTP_REFERERにリダイレクト Edit


ログイン後はHTTP_REFERRERのページへ。リファラーが同一ドメインでないなら既定のURIへ。 → :i/フレームワークの実装案

:i/フレームワーク/WikiEngineからの出力をレスポンスにする Edit

フレームワーク/WikiEngineからの出力をレスポンスにする Edit


それをクライアントへ。

レスポンスにはクライアントアプリのコードも含む。データ付きのクライアントアプリを送信。

数種類の出力バッファーを用意。グローバル変数に追加していく。HTMLヘッダー・bodyの冒頭・bodyの末尾・ページ内の記述された箇所(これが基本)など。ページ/要素でも(どこに書かれていても)HTMLヘッダー出力などができる。

認証 Edit

ログインログアウト Edit

オープン認証なんかはWikiEngineよりもこちらで。→WikiEngineは外からユーザーオブジェクトを受け入れることになる。
ログアウトも?

認証ユーザーオブジェクトの用意 Edit


ユーザー認証をして、認証済みユーザーオブジェクトを作る。作るのと破棄だけ。

一般的な情報…IDやパスワードはある。その他の内容はフレームワーク/WikiEngineが与える。内容がページになっているので。

:i/アカウントの有効期限 Edit

ユーザーオブジェクトの用意 Edit


認証済みユーザーオブジェクトを作る。作るのと破棄だけ。

内容はフレームワーク/WikiEngineが与える。内容がページになっているので。

アカウントの有効期限[?] Edit

永続化とロックシステム[?] Edit


Webアプリとは別だけど。

なにかのフレームワークでやることではある。

永続化 Edit

ロックシステム Edit


ロックフェイズ

決まった順序ロック。予約制なので必要なロックを事前に決めなければならない。

永続化クラスもこのルールを守らなければならない。ロック対象と永続化クラスで扱うファイルは区別する。例えばディレクトリを分けて。同じファイルを両者で使うことはしない。

セッションの維持・管理 Edit


セッションの基礎。ページ/要素が扱うのはページでできたセッション領域のほう。

→全て永続化クラスで。ロックシステムは必要ない。

その他、実装上の細かいこと Edit

フレームワーク/WikiEngineの実装案より Edit


WikiEngineではなくこちらで。

セッションを用意。

ページ/要素その他からのアクセスに応える。

エラー対処 Edit

:i/リクエスト再送はフレームワークで Edit


利用者の情報損失を防ぐ。リトライ可能に。使いにくくなるのを防ぐ。

:i/疑似言語とPerlでフレームワーク[?] Edit

:i/エラーメッセージにクラス名 Edit

:i/エラーページにクエリーを Edit


HTTPのGETメソッドのときは…URLをデコードして表示するなら意味がある。

:i/出力の統合はどうやるか?[?] Edit

フレームワーク/WikiEngineから呼ばれて Edit

設定 Edit

:i/Webアプリの設定はWikiページに書けない Edit

ログ Edit

最適化 Edit

メモ化 Edit


ページ/要素それぞれでメモ化すればいいのでは??

そのほか Edit