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

やること Edit

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

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

リクエスト Edit

これから考えること Edit


フレームワークの役割をフレームワーク/Webアプリケーションフレームワーク/WikiEngineで分担。

全てURIで Edit


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

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

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


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

MVC Edit

ユースケースクラス Edit

ユースケーススコープ Edit


Controller = Usecase

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

ビュー Edit

レスポンス Edit

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


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

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

選べるビュー Edit


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

認証 Edit

ログインログアウト Edit


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

ログアウトも?

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


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

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

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

変形MVC Edit

MVC.svg

docs.google.com

設定方法を用意 Edit

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

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


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

セッションを用意。

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

エラー対処 Edit

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

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


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

5xx Internal Errorの対処も。

セッションの用意 Edit


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

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


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

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

最適化 Edit

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


多段メモ化

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


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

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

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

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

全てURIで Edit


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

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

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

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


それをクライアントへ。

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

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

認証 Edit

ログインログアウト Edit


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

ログアウトも?

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


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

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

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

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


WikiEngineではなくこちらで。

設定 Edit

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

ログ Edit

最適化 Edit

メモ化 Edit


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

そのほか Edit

フレームワーク/疑似言語コード・Perlコード Edit

フレームワーク/出力の統合はどうやるか? Edit