卒業制作に向けて何かのアプリをパッケージングしなさいとどやされ続けているので(ありがたいことに)機能要件もさることながらUI/UXの分野をなにも触ってないことの不完全さを感じたので一個づつワードを実感していきたいと思います(結構大切なのかも)
機能一覧
- Web機能
- 動的ページ生成
- 動的ページ生成
ページを動的に生成するとはどういうことですか?
Webページの動的生成は、ユーザーがWebサイトにアクセスするたび、リクエストの状況に応じたHTMLドキュメントを毎回生成するWebページ表示方法の一種。 反対に、Webサーバーに保存されたHTMLドキュメントをそのままユーザクライアントに送って常に同じ表示するものは静的サイトと呼ばれる。
- テンプレートエンジン
テンプレートエンジンは、動的なコンテンツ生成に使用されるソフトウェアツールやフレームワークのことをさします。 Web開発において特によく使用されてますが、ほかのコンテンツ生成の用途でも利用されることもあります。 テンプレートとは、ある種の文書やデータの骨組みやパターンを定義したものです。
- バリデーション
ベリフィケーション(verification)には、「検証」などの意味があります。たとえば商品を製造する時、完成品が設計どおりに仕上がっているかを確認するのがベリフィケーションです。それに対してバリデーションは、「この工程で設計どおりの製品が作れるか」を検証します。質の確認をするのがベリフィケーション、プロセスの妥当性を確認するのがバリデーションです。
- 静的ページ公開
調べ出すと面白いもの沢山ありますね。
・フィルタリング
Search Labs | AI による概要
フィルタリングをしない場合、次のようなリスクがあります。
- 個人情報が漏えいしたり、個人特定されたりするリスク
- 犯罪に巻き込まれる可能性や、詐欺などの被害に遭うリスク
- 有料アプリ、アプリ内課金などを際限なく使ってしまうリスク
フィルタリングは、指定したサービスやアプリの利用を制限したり、利用時間を管理したりする機能です。たとえば、学校の授業中や一緒にお出かけをしている時、深夜帯のスマホ利用を防止することができます。
また、携帯電話事業者は、携帯電話インターネット接続サービスの使用者が青少年である場合には、原則としてフィルタリングサービスを提供する義務が課せられています。
- ファイルアップロード
参考にさせてもらったのはこちら
- REST
REST
REST(REpresentational State Transfer)はWebサービスの設計モデルです。RESTなWebサービスは、そのサービスのURIにHTTPメソッドでアクセスすることでデータの送受信を行います。
https://qiita.com/TakahiRoyte/items/949f4e88caecb02119aa
- Ajaxデータバインディング
AjaxはJavaScriptを使って、ページのリロードなしにサーバーとデータを送受信する仕組みです。画面の切り替えやサーバーとの通信がスムーズにできるのは、Ajaxならではの2つの技術に支えられています。その2つの技術について、以下に詳しく解説してあります。
https://docs.oracle.com/cd/E72987_01/adf/develop-faces/GUID-4C2B5539-17D3-4BDD-8300-362DA0F5B6A7.htm
セッション管理
セッション管理は、クライアントとサーバー間での通信において、相手を特定し、その状態を把握するプロセスを指します。この特定された状態での通信を「セッション」と呼び、セッションが確立されることで、アプリケーションとのデータのやり取りが可能になります。特に、HTTP通信やWebアプリケーションの構築においてよく用いられる概念です。
HTTPはステートレスなプロトコルであり、同一のリクエストに対しては常に同じレスポンスが返されます。これでは、ログインしたユーザーごとに異なる処理を行ったり、複数のページにまたがるトランザクションを実現することができません。したがって、ユーザーを識別し、その状態を把握する必要があります。これがセッション管理の役割です。
Webアプリケーションにおけるセッション管理の方法には、主に以下の3つがあります:
- Cookieを使用する方法:最も一般的な手法で、WebサーバーがCookieという情報をWebブラウザに送信し、ブラウザがそれを保存します。次回のリクエスト時にこのCookieが送信され、サーバーは過去の通信状態を把握できます。ただし、XSS(クロスサイトスクリプティング)の脆弱性がある場合、Cookie情報が不正に取得されるリスクがあります。
- URLにセッションIDを埋め込む方法:Cookieが使用できない場合に代替手段として用いられます。この場合、URLにセッションIDをパラメータとして追加しますが、ユーザーがIDを改ざんすることが容易であり、安全性に欠けることがあります。
- フォームにセッションIDを埋め込む方法:比較的安全ですが、Webアプリケーションの設計が複雑になり、ページ移動時にリンクが使えないなどの問題が発生します。このため、重要なフォームでの使用に限られることが多いです。
最も現実的な方法は、XSSの脆弱性を解消した上でCookieを利用することです。F5の「F5 BIG-IP」を使うことで、XSSへの対応が容易になります。
- 認証
https://qiita.com/it_tsumugi/items/263aa1f91cc8b05c93b0
- HTTPS
HTTPS(Hypertext Transfer Protocol Secure)は、インターネット上で使用されるHTTP(Hyper Text Transfer Protocol)を暗号化したプロトコルです。この仕組みは、SSL(Secure Sockets Layer)によって通信のセキュリティを強化し、データが送受信される際に第三者による盗聴や改ざんを防ぎます。つまり、HTTPSを利用することで、より安全に情報をやり取りできる環境が整います。
- キャッシング
キャッシングとは、データやファイルのコピーを一時的に保存することで、より迅速にアクセスできるようにする仕組みです。技術的には、キャッシュはその保存場所を指しますが、この用語は主にインターネット技術に関連して使われます。たとえば、Webブラウザは、ページの読み込み速度を向上させるために、HTMLファイルやJavaScript、画像などをキャッシュします。また、DNSサーバーは、素早いルックアップのためにDNSレコードをキャッシュし、CDN(コンテンツ配信ネットワーク)サーバーは、レイテンシーを減少させるためにコンテンツをキャッシュします。
DB機能
- DB機能
- DB接続
- トランザクション
- O/Rマッピング
- DBマイグレーション
- 初期データ投入
- アプリケーションコンテナ
- 起動方法
- リダイレクト
- URLリライト
- ホットリロード
- デプロイ
- その他
- ロギング
- 例外処理
- DI
- テスティング
チェッキング(チェックすること)とは、すでにある信念を確認するという動機から実施するものです。チェッキングは確認、検証、妥当性確認というプロセスになります。すでにそれが正しいと信じているときに、チェッキングによってその信念を確認します。コードを変更してもこれまで同じようにすべて動作することを確かめたいときに、私たちはチェックします。
テスティング(テストすること)とは、新しい情報を見つけるという動機から実施するものです。テスティングは探索、発見、究明、学習というプロセスになります。評価するつもりで、あるいは想定外の問題を見つけるつもりで、製品を設定して、動かし、観察するときに、私たちはテストします。
- メッセージング
- 人とソフトウェア間の通信
これは、電子メール、インスタントメッセージ、ショートメッセージなど、人間がソフトウェアとやり取りする形式です。 - ソフトウェア同士の通信
ここでは、並列処理やオブジェクト指向プログラミング、プロセス間通信など、異なるソフトウェア間でのデータ交換が行われます。 - ソフトウェアとネットワークノード間の通信
現在は主にウェブブラウザとウェブサーバーのようなソフトウェア同士の通信が中心ですが、将来的にはネットワークノード同士の通信が主流になると予想されています。例えば、端末がネットワークに対してサービスを要求し、ネットワークがそれに応じてサービスを提供する形態が考えられます。これはサービス指向アーキテクチャ(SOA)の基盤の一部としても位置づけられています。 - このように、メッセージングは多様なコミュニケーション手段を通じて、情報の流れを円滑にする重要な役割を果たしています
- 人とソフトウェア間の通信
- ジョブ