タグ : #note
URL 遷移の挙動に地味にハマった時に調べた時のメモ session history / document の挙動の注意点 異なる URL に遷移する場合 session history 新規に作成される document 新規に作成される 同じ URL に遷移する場合 session history 現在の履歴を消して、新規に作成される location.state や history.scrollRestoration は引き継がれる この点に関しては、妥当かどうかの議
新卒研修で扱った TLS (SSL) のメモ 安全に通信をするためのセキュリティプロトコル SSL: Secure Sockets Layer TLS: Transport Layer Security TLS は SSL の次世代規格 (ほぼ同じと捉えて問題ない) HTTP + TLS = HTTPS 守りたいもの → 守り方 通信相手が本物であること → デジタル署名 通信内容が盗聴されないこと → 対称暗号 通信内容が改竄されないこと → メッセージ認証コード デジタル
DNS (Domain Name System) = ドメインから IP アドレスを割り出すシステム 問い合わせの流れ ドメイン → Recursive DNS → ルート DNS → 権威 DNS → ・・・ → 権威 DNS → IP アドレス hoge.cybozu.com の場合 ルート DNS: com は 192.XX.XX.XX (権威 DNS1) に聞いて 権威 DNS1: cybozu.com は 216.XX.XX.XX (権威 DNS2) に聞いて 権威 DNS
Web で支える技術で出てきたものを主に取リ扱う。 認証と認可の違い 認証 = ユーザが誰かを確認すること Determines whether users are who they claim to be 認可 = とある特定の条件に対して、リソースアクセスの権限を与えること Determines what users can and cannot access 認証せずに認可する例 「鍵の発行」 -> 鍵の持ち主が誰であろうと、施錠することができる 「チケットの発行」-> 持
新卒研修でやった内容を軽くまとめたもの 情報セキュリティの 3 要素 (CIA) 機密性:Confidentiality 認可されていない個人、エンティティ、プロセスに対して、情報を使用させない・開示しない特性 データ及び情報が、権限がある時に、権限がある方式に従った場合のみ開示されること 完全性:Integrity 改ざんや過不足のない正確な情報が保持されている特性 データ及び情報が正確かつ完全であり、それらが維持されること 可用性:Availability 認可されたエンテ
新卒研修ではデータベースの基本的な知識については扱わなかったが、一度覚えなおした方が良いと感じて勉強した時のメモ。 データベース データベース = 整理整頓されたデータの集まり データは壊れると取り戻せない 高い堅牢性、セキュリティが要求される トランザクション が ACID 特性を満たす必要がある トランザクション = データベース操作する際の一つのかたまりの処理 ACID 特性 Atomicity (原子性) トランザクションの途中の中途半端な状態にならない トランザクシ
新卒研修でやった内容を軽くまとめたもの コンテナ VM とコンテナの違い VM:OS (カーネル、OS のコア機能) から仮想化 オーバーヘッドが大きい イメージサイズも大きい、起動も遅い コンテナ:プロセス (1 つの処理単位) から仮想化 ホスト OS とカーネルを共有する、起動は早い OS 機能も含めて完全に同じ環境を再現することはしていない コンテナの実現するための技術 Linux のカーネルには互換性があるため、カーネルを共有できる Linux namespace
新卒研修でやった内容を軽くまとめたもの Cookie Cookie = サーバーから送られるデータ、ブラウザに保存される HTTP に状態を持たせることができる 「これはログイン後のやりとりだよ〜」とか ID、パスワードの 2 つが保存されていればできる ユーザーに再度入力させる必要がなくなる 簡単に見える + 書き換えもできる パスワードなどの秘密情報は扱えない Session Session = Cookie を使いつつ、安全に HTTP に状態を持たせる方法 ユーザー
新卒研修では細かな SQL 操作については扱わなかったが、一度覚えなおした方が良いと感じて勉強した時のメモ。 テーブル単位の操作 データベースの作成 CREATE DATABASE \[データベース名]; テーブル作成 CREATE TABLE \[テーブル名] (\[テーブル定義]); テーブルのスキーマ変更 ALTER TABLE \[テーブル名] \[変更内容]; データの型 数値型:TINYINT、INT、BIGINT など 文字列型:VARCHAR(n) (n
C10K 問題 = クライアント 1 万台問題 サーバーのハードウェア性能は問題ないにもかかわらず、クライアントの同時接続数が多くなるとサービスの応答が遅くなること Apache でよく発生していた問題 Apache : マルチプロセスのプロセス駆動アーキテクチャ 原因 プロセス数の上限 プロセスに振られる ID には上限がある (例: 32bit Linux 32767) マルチプロセスによるコンテキストスイッチのコスト コンテキストスイッチ :1 つの CPU が処理するプロ