0
1

Web基礎

Last updated at Posted at 2024-06-25

はじめに

Webシステム開発において知っておきたい観点をまとめる
自身の備忘録と初級者向け
※アプリケーションのアーキテクチャとしては、
 サーバサイドとクライアントサイドを分離しない、システムを想定して記載している。
例)php laravel フレームワークなど

テクニカル

HTTP method
Rest API
URL設計
非同期通信(ajax)
session管理(管理項目、影響スコープ、ライフタイム)
cookie
cache
暗号化
decode、encode
constant変数
環境変数
共通定義
正規表現
セマンティック バージョニング

UI関連

favicon
paging処理
パンくずリスト
メニュー
header
footer
tabindex
ポップアップ(dialog)
表示件数上限
メッセージ(メッセージタイプ定義含め)

  • 情報メッセージ(青)
  • 成功メッセージ(緑)
  • 警告メッセージ(黄)
  • エラーメッセージ(赤)

SVG
レスポンシブ対応
マルチOS、ブラウザ対応

BuildVersion表記(デプロイ後の適用確認や、試験時動作バージョンの確認のため)
環境表記(誤った環境へのアクセスを予防する)

データ関連

validation

  • 必須チェック
  • 種別チェック(文字種、ファイル種別)
  • 桁数(文字数)チェック
  • 重複チェック
  • 相関チェック
  • 上限チェック(文字数、ファイルサイズ)
  • 選択範囲チェック
  • フォーマットチェック(メールアドレスなど)

2重クリック対応
排他制御
トランザクション処理
ブラウザバック対策

性能関連

レスポンスタイム考慮
バッチ処理
スケジュール実行

セキュリティ関連

ssl証明書
ssl通信
SQLインジェクション
XSS
CSRF

ログイン認証失敗時はIDとパスワードどちらが照合失敗したか悟られないようにする
パスワードを保持する際は cleartext で持たない(暗号化する)
Oauth
basic認証
digest認証

試験

コードレビュー
静的解析
自動テスト
負荷試験
シナリオ試験
セキュリティ試験
マルチOSブラウザ試験

運用関連

ログレベル
ログローテート
ログ種類

  • アクセスログ
  • イベントログ
  • エラーログ

多言語
トランザクションデータ(日々溜まっていくデータ)の考慮

ダウンタイムレスリリース

ミドルウェア関連

WEBサーバ設定
テーブル正規化
DBチューニング(インデックス)
DBユーザ作成
クエリ最適化

インフラ関連

コンテナ
プロキシサーバー
負荷分散
オートスケーリング

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1