2019-01-01から1年間の記事一覧

goで継承をつかう

go

はじめに goを勉強始めるとjavaなどで学習してきたオブジェクト指向の考え方を違う場面に出くわす。 たとえば、goでは継承できないことである。 しかし委譲を使えば、同じことを実現できるのでその整理をしようと思う。 仕様整理 下図のような関係を考える。…

述語論理をつかったSQL

sql

はじめに 僕は、SQLが苦手である。 普段使い慣れている言語とは別の考えがSQLには必要なのであろうと痛感している。 ということで、達人に学ぶ SQL徹底指南書を使って最近SQLの考え方を学習中。 今回は、SQLで数列を扱うの備忘録を残す。 達人に学ぶ SQL徹底…

DataGripでクエリの大文字化設定

sql

SQLのエディタ?は、Datagripを使うようになった(勉強中) その理由は、 1. キーバインドがカスタマイズできる 2. 補完が最強 3. フォーマット機能が優秀 にある。 さらに、クエリを自動で大文字化してくれることがわかったので 載せておこう。 Datagrip > Pre…

SQLの集合演算整理

sql

はじめに SQL は集合的思考が必要ということだが、和集合や差集合など求める集合演算の仕方は複数存在するようなので、一度整理しようと思う。 集合演算子形式 exist を使った述語論理形式 (外部・内部)結合形式 3パターンで考えてみた。 データの準備 まず…

TypescriptでSequelize してみる

はじめに 前回 Sequelize の一番基本的な使い方を紹介したが、typescript で記述可能ならば、以降 ts で書きたいなと思ったので、今回は typescript の環境を紹介したいと思う。 ts で記述するメリットは、型が使えることだけではなく、エディタからの候補表…

Sequelize入門

SequelizeというORMについて知識の整理のため、記録を残そうと思う。Databaseはmysqlを使用する。 今回は、 1. database作成 2. table作成 3. insert, update, delete という基本的なことの整理をしたい 1. databaseの作り方 databaseを作成するのは、sequel…

dockerでnginx を使ってリバースプロキシをたてる

概要 前回node プロジェクトの dokcer image を作成した。 express などで作成した node でサーバは well known port を使用できないので、80 ポートで HTTP 通信するには、nginx などの web サーバが必要になる。 今回はnginx でリバースプロキシのコンテナ…

node プロジェクトの docker image をつくってみる。

社内でAWS ECS を使うことになったが、そもそも dokcer image を作ったことがなかったので 調べてみた。 目次 node プロジェクトの用意 Dockerfile の作成と build image からコンテナ起動 docker-compose 起動 1. node プロジェクトの用意 typescript & Exp…

docker run -vとDockerfileのVOLUMEは違うのか?

はじめに 最近dockerについてプログラマのためのDocker教科書(以下教科書と呼ぶ)で勉強し始めた。 プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化作者: 阿佐志保,山田祥寛出版社/メーカー: 翔泳社発売日: 2015/11/20メデ…

jsでオブジェクト配列をつかった集合演算

js

はじめに jsで集合演算についてしらべてみた。 調べた限り集合演算の例は[1,2,3]と[2,3,4]の積集合をもとめるといったプリミティブ値の配列が多くて、オブジェクト配列をつかった 集合演算が見つからなかったので、残して見ようと思う。 問題(特定の本の返却…