deezus blog

.Net Core、Typescriptを中心に技術的ノウハウを公開しています

yamlでデータベースを管理するツールを作りました

はじめに 開発中のデータベースのテーブル構造変更が簡単にできるようなツールを作成しています npmで公開しました @deezus/dac データベースに特化したAnsibleのようなものを目指しています インストール方法 npmでインストールします npm install @deezus/…

テーブルのカラムにチェック制約を追加する方法

はじめに 例えば年齢制限のあるシステムなどデータベースに登録できる値に制限をかけたい場合があります そのようなカラムにチェック制約を追加すれば、条件に合わない値を登録しようとした場合エラーにすることができます クエリ例 以下の例ではusers.ageに…

郵便番号を取得する方法

はじめに 郵便番号検索を作りたい場合、zipcloudなど既存のAPIを使えば簡単にできます ただ状況によっては完全に自前で実装したい場合もあると思います そういう場合は郵便番号の一覧は郵便局のサイトで公開されているcsvを使用します csvの入手 全国の郵便…

ジェネリック型制約

はじめに C#では関数に型引数を指定することができます public void TestFunction<T>(){ // 何かしらの処理 } ジェネリック制約 型引数は便利なのですが、どんな型でも許容するため状況によっては使いにくい場合もあります 指定可能な型を制限したい場合、関数</t>…

node.jsでMySQLに接続する

はじめに typescript+node.jsでMySQLに接続するにはpromise-mysqlを使用します インストール方法 npmでインストールします npm install promise-mysql --save typescriptを使用するので型定義もインストールします npm install @types/mysql --save 使い方 …

node.jsでSQLServerに接続する

はじめに typescript+node.jsでSQLServerに接続するにはmssqlを使用します インストール方法 npmでインストールします npm install mssql --save typescriptを使用するので型定義もインストールします npm install @types/mssql --save-dev 使い方 データベ…

node.jsでpostgresqlに接続する

はじめに typescript+node.jsでpostgresqlに接続するにはpgを使用します インストール方法 npmでインストールします npm install pg --save typescriptを使用するので型定義もインストールします npm install @types/pg --save-dev 使い方 データベースへの…

FileResultでメディアファイルを返す場合の注意点

サーバの処理を通じてcsvなどをダウンロードする際、FileResultを使用します この場合のActionは例えば以下のようなコードになります public IActionResult Csv() { return File(System.IO.File.OpenRead("xxx.csv"), "text/csv"); } 非常に簡単ですが多くの…

DockerHubでautomated buildする場合のタグのつけ方

GitHubと連携してDockerHubでコンテナをビルドする DockerHubにはGitHubのリポジトリと連携して自動でコンテナをビルドする機能があります 特に指定しなければ自動でlatestのタグが付けられます 例えば以下はmasterブランチにpushされるとlatestタグのコンテ…

dockerでwordpressを構築する

概要 dockerでwordpressを構築し、ホストのnginxをリバースプロキシとして使用します docker-compose 使用するコンテナはwordpressとmysqlです docker-compose.ymlは下記のようにしました wp-contentはボリュームとしてマウントしています version: "2" serv…