テーブル設計の流れ ハンバーガーショップのレシート メインとなるテーブル名を出す(イベント系エンティティを洗い出す) 「誰が・何が」、「誰を・何を」を考えてテーブル名を出す(リソース系エンティティを洗い出す) 各テーブルのカラムを出す 表現でき…
テーブル設計の流れ 図書館の予約申込書 メインとなるテーブル名を出す(イベント系エンティティを洗い出す) 「誰が・何が」、「誰を・何を」を考えてテーブル名を出す(リソース系エンティティを洗い出す) 各テーブルのカラムを出す 表現できていない情報…
テーブル設計の流れ お持ち帰りご注文用紙 メインとなるテーブル名を出す(イベント系エンティティを洗い出す) 「誰が・何が」、「誰を・何を」を考えてテーブル名を出す(リソース系エンティティを洗い出す) 各テーブルのカラムを出す 表現できていない情…
IDの導入 業務視点からの正規化 データベース設計における3つのポイント 箱(エンティティ)の見い出し方 主キーの設定 重複の削除 データベースの設計手順 参考 データベース設計の要点は、『One Fact in One Place:1つの事実は1つの場所にのみ存在する…
ウィンドウ関数 ウィンドウ関数は、ランキング、連番生成等の集約関数で通常できないような操作をする際に用いる。別名としてOLAP関数(OnLine Analytical Processing)とも呼ばれ、データベースをリアルタイムに処理して、オンラインでデータ分析などを行う際…
テーブルの足し算と引き算 UNION:テーブルの足し算 INETRSECT:テーブルのAND EXCEPT:レコードの引き算 テーブルを列方向に連結する 内部結合 外部結合 クロス結合 参考 テーブルの足し算と引き算 2つ以上のテーブルを使う場合のSQL文を学ぶ。テーブルのレ…
データ通信時の4つの問題 暗号化 ハイブリット暗号方式 メッセージ認証コード デジタル署名 デジタル証明書 参考 データ通信時の4つの問題 インターネット上でのデータ通信時に起こりうる代表的な問題として下記の4種類がある。 項目 説明 対策 盗聴 伝送路…
関数 算術関数 文字列関数 日付関数 変換関数 述語 LIKE述語:文字列の部分一致検索 BETWEEN述語:範囲検索 IS NULL, IS NOT NULL:NULLか非NULLかの判定 IN述語:ORの便利な省略形 EXISTS 述語 CASE式 参考 関数 関数には大きく下記の関数がある。 関数名 …
ビューとテーブル ビューの旨味 ビューを使う ビューを作る ビューを実行する ビューを削除する サブクエリ スカラ・サブクエリ 相関サブクエリ 参考 ビューとテーブル テーブルを作る(CREATE TABLE)、検索する(SELECT)、更新する(INSERT,DELETE,UPDATE)を学…
要約 解説 参考 要約 オブジェクトのコンストラクタの書き方には2パターンある。 メンバ初期化子で書く コンストラクタ本体の中に書く 両者の違いは、 メンバ初期化子で行うオブジェクト生成が初期化であり、コンストラクタ本体の中に書くものは代入と言う点…
INSERT:データの登録 データを登録する 他のテーブルからデータをコピー DELETE:データの削除 テーブルデータを全部削除 テーブルデータを指定して削除 UPDATE:データの更新 全行の値を更新する 条件を指定して更新する トランザクション トランザクション…
集約関数 COUNT:テーブルのレコード数(行数)を数える SUM:合計値を求める AVG:平均値を求める MAX,MIN:最大値・最小値を求める 重複値を除外して集約関数を用いる GROUP BY:グループに分ける HAVING:集約結果に条件を指定する ORDER BY:並び替え 参考 下記…
SELECT文の基本 全ての列を出力 特定の列を出力 列に別名をつける 重複行を省く コメント 行を選択する 算術演算 比較演算 NULLで分ける 論理演算子 参考 SELECT文の基本 下記のようなテーブルからデータを選択したい時に使用するのが、SELECT文。 全ての列…
データベースの構成 テーブルの構成 SQLの概要 参考 データベースの構成 RDBMS(Relational DataBase Management System)のシステム構成は、一般的にクライアント/サーバ型になっている。データベースに読み書きにするために、クライアントはサーバに対してSQ…
PostgreSQLの環境構築 Docker Engine インストール(Debian 向け) Docker Composeを入れる コンテナを立てる PostgreSQLの環境構築 ゼロからはじめるデータベース操作を進めるためにPostgreSQLの環境構築を進めた。本の中ではWindowsの説明があったけど、せ…
nginxの設定ファイルにserverディレクティブを複数立ててあげる。それぞれに設定を書いてあげればよい。 server { listen 443 ssl; server_name goruchan.net; ssl_certificate ***/fullchain.pem; # managed by Certbot ssl_certificate_key ***/privkey.pe…
証明書は、サイトを証明するための認証方法の違いによって種類が異なり、3種類ある。 暗号強度に関しては違いはない。 名称 認証方法 費用 DV ドメイン所有のみ証明 0〜数万円 OV ドメイン所有、会社実在性を証明 数万円〜 EV ドメイン所有、会社実在性、電…
snapdのインストール Let’s Encryptを使うにはACME プロトコルというルールを使用するソフトウェアを使う。Certbot という ACME クライアントを使うことを公式では推奨している。このCertbotを使うためにsnapdをインストールする。 Installing snap on Debia…
サーバ証明書はどんな時に使うのか? HTTP通信とHTTPS通信の違い なぜサーバ証明書が必要? サーバ証明書発行の流れ 参考 サーバ証明書はどんな時に使うのか? サーバ証明書は、HTTPS通信に対応したサイトにする際に必要になる。HTTPS通信は下記のようなサー…
課題修正時に、commitを複数回やってレビューしてもらう場合、みてもらった時からの差分の見せ方がなんとかならないかなーと思っていたのだけど、やはりありました。 例えば下記のようなcommitAをレビューしてもらい、いくつか修正を行いcommitEで再度レビュ…
リーダブルコードに書かれているが、アーリーリターンの美味しさは下記。 メソッドの途中でリターンすることで読むコード数を減らせる 7.5節 関数から早く返す ネストを浅くできる 7.7節 ネストを浅くする 指摘を受けた部分は下記のところ。 def run_wc(file…
オレオレ証明書を発行する nginxの設定ファイルを変更する 参考 オレオレ証明書を発行する 証明書発行の流れは下記のような感じ。 オレオレ証明書では、認証局でやることを自分でやることから『オレオレ』証明書と言われる。 オレオレ証明書の発行の流れは下…
お名前.comでドメインを取得する お名前.comで取得したドメインのネームサーバを切り替える さくらのDNSに登録する 参考 全体的な作業手順のイメージは下記のような感じ。 お名前.comでドメインを取得する https://www.onamae.com/ にアクセスして、好きなド…
Beginner’s Guideを読んでいてなんとなく感じたのは、設定ファイルにも種類があるっぽいと感じた。 nginxは、設定ファイルに記述されたディレクティブによって制御されるモジュールで構成されてる。ディレクティブは2種類に分けられる。 種類 説明 シンプル…
コンテナを立てる Powershellのコマンドでやる場合 docker-compose.ymlでやる場合 GitLabにアクセスする 参考 Docker-DesktopにオンプレGitLabを立てる方法を学んだのでまとめておく。 注意として、クライアントOSのWindows(Enterprise, Pro, Home)でサーバ…
配列を転置するためには、一度対象を行列にした上でtransposeなどをしてあげれば転置できる。 ただ、配列は行列の要素を満たしていないこともあるので、足りない部分にnilを入れる必要がある。これが地味にめんどくさい。 そこで登場するのが、zipメソッド。…
ls -lで表示されるタイムスタンプについて、『具体的に何の時間?』という部分が曖昧だったのでまとめておく。 man lsを叩くと下記の説明を確認できた。タイムスタンプは『modified(変更された)』時間とのことだった。 The Long Format If the -l option is …
ファイルタイプの分類をとりあえず3パターン以上ならcase文しか思い浮かばず、下記のように記述していた。ただ、見た目はわかりやすいけど、冗長でなんだんかなーと思っていた。 # case-when def replace_file_type(file_name) p File.ftype(file_name) case…
nginxの特徴 nginxのインストール nginxの実行 nginxの特徴 静的なコンテンツを提供するWebサーバ 動的なコンテンツはnginx単体では提供せずに。Webアプリケーションサーバと連携することで動的コンテンツを提供する。Webアプリケーションサーバから取得した…
イラスト図解式 この一冊で全部わかるWeb技術の基本を読んだので、大事だなと思ったことをまとめる。 大雑把には、『Webアプリケーションの構造』を学べる。 Webアプリケーションの3層構造 Webクライアント(Webブラウザ) Webサーバ アプリケーションサー…