記事

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を使う ...

Docker Tips

複数のテーブルに多対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

Linuxのパーミッションの読み方と指定方法について

コンピューターアーキテクチャ

概要Linuxのパーミッションについてまとめる パーミッションの読み方ファイル種別最初の1文字は、ファイル種別を表している。 ファイルd ディレクトリl シンボリックリンク 以降3文字単位でファイルのオーナー別に権限を表している。 2~4文字目 ユーザー ファイルの所有者に対する権限5~7文字目 グループ ファイルの所有グループに対する権限8~10文字目 その他 その他に対する権限...

Linux パーミッション

JavaScriptで始めるアルゴリズム

アルゴリズムとデータ構造

概要JavaScriptでアルゴリズムを学ぶ。 サーチのアルゴリズムリニアサーチリストや配列のデータに対して、先頭から順番に比較を行っていくアルゴリズム。 配列の長さ分処理を繰り返し、目的のデータに到達したら処理を終了する。目的とするデータが後ろにあるほど処理が遅くなる。 const targetData = 5; const data = [1, 2, 3, 4, 5, 6, 7, 8, 9, ...

バイナリーサーチ リニアサーチ バブルソート セレクションソート