記事

Golangの関数についてー関数値/コールバック関数/無名関数

アプリケーション

概要Golangの関数において、以下3つについてまとめる。 関数値として扱う場合の関数 関数を引数として扱う関数 無名関数の定義 関数値 クロージャー 関数値として扱う場合の関数package main import ( "fmt" "testing" ) func sayHi() string { return "Hello" } func main() { gre...

Golang コールバック 関数 無名関数

ssh接続セットアップメモ

インフラストラクチャ

概要ssh接続のセットアップ方法についてメモ。 準備 サーバーに接続してwheelグループに所属するユーザーを作成しておく 手順ホスト側~/.ssh/にてssh-keygenで公開鍵・秘密鍵を作成。ここでは公開鍵をid_rsa.pub、秘密鍵をid_rsaとして作成する。 公開鍵の中身をコピーしておく。 ~/.ssh/にてconfigファイルを作成しておく。 Ex. Host bmf HostN...

ssh sshd

PrometheusとGrafanaでリソース監視環境を整える

インフラストラクチャ

概要PrometheusとGrafanaでリソース監視の環境を構築したのでメモ。 環境 さくらVPS CentOS7系 PrometheusをインストールPrometheus - Getting Startedに従ってprometheusをダウンロードする。 ダウンロードしたらprometheusを起動、ダッシュボードにアクセスできることを確認しておく。 ポートが開放されていない場合は開放してお...

prometheus Grafana

Golangのポインタの基本

アプリケーション

概要Golangのポインタ基礎についてまとめる。 前提 変数とメモリの関係についてイメージできる程度の知識 ポインタとは何かポインタは変数のアドレスを指す。変数のアドレスを通じて呼び出し元の変数の値を変更することができる。 GolangではC言語ライクなポインタは用意されている。Golangでのポインタでは、変数Tのポインタは*T型で、ゼロ値はnilとなる。 package main impor...

Golang ポインタ 値渡し 参照

Docker for Macのマウントが遅い問題についてメモ

インフラストラクチャ

概要Docker for Macのマウントが遅い。npmとかスロー過ぎて辛い。メモ書き。 原因Dockerのスタッフの方のコメントを参照。(リンク先中段) Docker - File access in mounted volumes extremely slow, CPU bound MacOSのファイルシステムのAPIが関連しているらしい。 解決策 WindowsやLinuxを使う docke...

Docker

複数のテーブルに多対1で紐づく時のテーブル設計のアプローチについて

データベース

概要複数のテーブルに対し、多対1でテーブルが関係付くときのテーブル設計のパターンについてまとめる。 データ設計以下のようなケースのデータ設計を例とする。  issues id title pullrequests id title comments id content commentsがissues、pullrequestsのどちらに対しても多対一で関係付くようなケース。 ...

ポリモーフィック SQLアンチパターン

ER図のリレーションシップの種類について

データベース

概要ER図のリレーションシップの種類についてまとめる。 ER図のリレーションシップの種類ER図のリレーションシップには3つの種類がある。 リレーションシップの種類 テーブル関係 線の種類 依存リレーションシップ 子テーブルが親テーブルに依存(テーブル間に親子関係がある) 実線(親→子) 非依存リレーションシップ 子テーブルが親テーブルに依存していない(テーブル間に親子関係がない)...

ER

MySQLのJOINとUNIONについて

データベース

概要MySQLのJOINの種類とUNIONについてまとめる INNER JOIN指定カラムの値が一致するレコード同士を結合する。指定したカラムの値が一致しない場合は結合しない。(両方のテーブルに一致するデータだけ結合される。) users+------+--------+------+| id | sex | name |+------+--------+------+| 0 | ...

MySQL join union