Post

2020-07-19 17:51:47

vscodeでgoのLanguage Serverを有効にしたらコード定義元ジャンプができなくなった

概要vscodeでgoのLanguage Serverの設定を有効にしたらコード定義元へのジャンプができなくなってしまったので原因を調査した。 settings.json "go.useLanguageServer": true, 結論go.modがプロジェクトのルートに存在している必要がある。 cf. stackoverflow - How to properly use go modules in vscode? vscodeでフォルダを開くときに、こうではなく、 . ├── app ├── go.mod こう開くようにしないとパスが良しなに解決されないせい...

プログラミング

Golang gocode gopls Language Server vscode

2020-07-09 18:45:41

DBドキュメント(ER図など)を自動生成してくれるツールーschemaspy, tbls

概要DBドキュメントを自動生成できるツールの有名所でいうと、MySQL Workbenchが筆頭に上がると思うが、それ以外にも良いOSSがないか漁ってみてちょっと触ってみたので感想を残す。 Schemaspy schemaspy.org github.com - schemaspy/schemaspy DBに接続してhtmlでDBドキュメントを生成してくれるJava製のツール。 Dockerhubにイメージがあるので、それを使って簡単に試してみることができる。 MySQL5.7(多分5.8も大丈夫だと思う・・)は、こんな感じでいけるはず。docker run -v "$PWD/sc...

データベース

Docker ER

2020-06-26 18:56:52

PHPでUMLを自動生成してくれるツールーphUML

概要クラス設計の外観を把握したい時にUMLを自動生成してくれるツールが欲しかった。phpstormなら標準でいい感じにdiagramを生成してくれる機能があるらしいが、vscodeに入信してしまったのでいい感じのツールを探すしかない。 phUMLぐぐると色々ツールはあるのだが、簡単に使えそうなやつを探してみた。 github.com - MontealegreLuisphumlドキュメント 本家?github.com - jakobwsthoff/phumlはメンテ終了しているようなのだが、探してみると上記のfork版のようなやつが見つかった。 スターは少なくてあまり使う人いないのかな・・?と...

プログラミング

PHP

2020-06-07 11:25:58

VPS×Docker Compose×Docker Machine×Golang×Nginx×Let...

概要GolangのアプリケーションをVPSでDocker-Composeを使って本番運用してみたかったので、トライしてみた。 環境実際に自分がトライした環境をまとめておく。 VPS(Conoha) お名前ドットコム(ドメイン管理) Docker Compose(本番とローカルの構成を別ファイルで構築) Docker Machine(デプロイで使う) Let's Encrypt(TLS/SSL) Nginx(リバースプロキシ) リポジトリサンプルをつくった。github - bmf-san/go-production-boilerplate 本番環境のサーバーではユーザー作成とかポー...

ポエム

Docker Docker Compose Golang Let's Encrypt Nginx Docker Machine VPS

2020-04-04 22:26:52

失敗から学ぶRDBの正しい歩き方

失敗から学ぶRDBの正しい歩き方 第1章 データベースの迷宮 第2章 失われた事実 第3章 やり過ぎたJOIN 第4章 効かないINDEX 第5章 フラグの闇 第6章 ソートの依存 第7章 隠された状態 第8章 JSONの甘い罠 第9章 強過ぎる制約 第10章 転んだ後のバックアップ 第11章 見られないエラーログ 第12章 監視されないデータベース 第13章 知らないロック 第14章 ロックの功罪 第15章 簡単過ぎる不整合 第16章 キャッシュ中毒 第17章 複雑なクエリ 第18章 ノーチェンジ・コンフィグ 第19章 塩漬けのバージョン 第20章 フレームワーク依存症 第1章 データベー...

DB

2020-04-01 23:59:16

Webエンジニアが知っておきたいインフラの基本

Webエンジニアが知っておきたいインフラの基本 1章 Webサービスでのインフラの役割 2章 Webサービスを支えるインフラ技術の基礎知識 3章 Webサービスのサーバ構成ベストプラクティス 4章 Webサービスを始めるときのインフラ手配の基礎知識 5章 Webサービスの運用(1) システム監視の基本 6章 Webサービスの運用(2) ステータス モニタリング 7章 Webサービスのチューニング(1) ボトルネックの見つけ方 8章 Webサービスのチューニング(2) チューニングレシピ 1章 Webサービスでのインフラの役割p.23 インフラの信頼性を確保する RAS Reliabilit...

パフォーマンスチューニング

2020-03-30 21:04:11

絵で見てわかるシステムパフォーマンスの仕組み

絵で見てわかるシステムパフォーマンスの仕組み 第1章 パフォーマンスの基礎的な考え方 第2章 パフォーマンス分析の基本 第3章 実システムのパフォーマンス分析 第4章 パフォーマンスチューニング 第5章 パフォーマンステスト 第6章 仮想化環境におけるパフォーマンス 第7章 クラウド環境におけるパフォーマンス 第1章 パフォーマンスの基礎的な考え方 N/A 第2章 パフォーマンス分析の基本 N/A 第3章 実システムのパフォーマンス分析p.92 Webサーバーのアクセスログ アクセスログから負荷の集中がわかる 処理が届いているかどうかもわかる アプリ/APサーバーのログ アプリ アク...

パフォーマンスチューニング

2020-02-01 16:02:47

アルゴリズムとデータ構造 - クイックソート

概要アルゴリズム図鑑を参考に、アルゴリズムとデータ構造を学ぶ。 実装はgithub - bmf-san/road-to-algorithm-masterにも置いてある。 クイックソート データ列の中から適当なデータ(ピボット)を選択し、ピボットより小さいデータを前方、大きいデータを後方に移動させる。 分割されたデータをそれぞれソートする 分割統治法の一種 計算時間 最悪計算時間 O(n²) 最良計算時間、平均計算時間 O(n log n) 実装package main import ( "fmt" "math/rand" ) func quickSort(n [...

プログラミング

アルゴリズム データ構造 クイックソート

2020-02-01 16:02:11

アルゴリズムとデータ構造 - マージソート

概要アルゴリズム図鑑を参考に、アルゴリズムとデータ構造を学ぶ。 実装はgithub - bmf-san/road-to-algorithm-masterにも置いてある。 マージソート データ列が分割できなくなるまで(要素が1つ)再帰的に分割を行い、分割されたデータを複数回マージを繰り返していくことによってソートする 分割統治法に基づくソート 大きな問題を小さな問題に分割する 計算時間 最悪計算時間 O(n log n) 実装// cf. https://github.com/TheAlgorithms/Go/blob/master/sorts/merge_sort.go packa...

プログラミング

アルゴリズム データ構造 マージソート

2020-02-01 16:01:16

アルゴリズムとデータ構造 - ヒープソート

概要アルゴリズム図鑑を参考に、アルゴリズムとデータ構造を学ぶ。 実装はgithub - bmf-san/road-to-algorithm-masterにも置いてある。 ヒープソート 要素の並べ替えを二分ヒープ木を用いて行うソート ヒープの構築 ヒープから要素(根)を取り出す操作をヒープ木が空になるまで行う 計算時間 最悪計算時間、平均計算時間 O(n log n) 実装package main import "fmt" // Heap is a heap. type Heap struct { values []int size int max...

プログラミング

アルゴリズム データ構造 ヒープソート