Unlearn RDBMS

アンラーンいいたかっただけというのはさておき、一念発起してRDBMSについての知識を棚卸ししてモダンな製品ないしデータ構造ないしアルゴリズムをさらってみようと思い立った。 イノシシ本をベースにしつつ、その他書籍やWebサイトを参考に自分なりに理解をまとめていくつもり。 なぜ思い立ったか MySQL5系ばかり(+たまにNoSQL製品)としか向き合ってこなかったことに危機感を覚えたから。 流石に最先端のDB研究を追いたいみたいなことは考えていないが、世のDB界隈の進歩に対して自分のキャリアの中で触れる技術があまりにも変わらなすぎた。 所謂NewSQLと呼ばれるような製品が普及し始めているし、MySQLですら8がでて久しいというのに、だ。 言い換えれば、シングルリーダーのMySQLで提供できるスケーラビリティや可用性を超えたプロダクトを作ることができない1。やばいやん。 ...

September 27, 2021 · garsue

GoでGCのタイミングをprintデバッグする

runtime.SetFinalizerを使って値ごとのデバッグプリント関数を仕込むことでGCされたときにデバッグログを残すテクニックを教え...

September 12, 2021 · garsue

WSLから起動したGoLand(IntelliJ)で日本語入力する

WSL内のGoLand1をVcXsrv経由で使う際、日本語入力で困る人は多い。最低限入力できるようになるまでの手順を残しておく。 2021/08/09現在、GoLandの日本語入力まわりに不具合があるらしく、そのあたりがハマりどころになっている。おそらく以下の不具合と同様の問題と思われる。 IntelliJ IDEA 2019.2等でmacOS環境において日本語入力中に発生する問題と回避策 uim-mozcのインストール まずは普通にIMEを使える状態にする。 ここではuim-mozcを利用する。fcitx-mozcやibus-mozcよりも依存が少なくコンパクトかつシンプルに思えるので個人的にはuim-mozcがおすすめ。 sudo apt install uim uim-mozc uim-xim uim-mozcの設定と起動 mozcをuimに登録する。 sudo uim-module-manager --register mozc 以下の環境変数を設定し、uim-ximを起動する。ぼくは$HOME/.profileに書いている。 export GTK_IM_MODULE=uim export QT_IM_MODULE=uim export XMODIFIERS="@im=uim" export UIM_CANDWIN_PROG=uim-candwin-gtk uim-xim & これで一度再起動し、xtermやgeditなど適当なXアプリケーションで日本語入力できることを確認すると良い。 デフォルト設定ではShift + SpaceでIMEを切り替えられる。設定はuim-pref-gtkで変更できる。 しかし冒頭で述べた問題があるため、これだけではGoLandで日本語入力できるようにはならない。 ...

August 9, 2021 · garsue

スプレッドシートでDSUMにインラインで複数の条件を渡す方法

以下のように配列中にKey-Valueのペアを書く。 DAVERAGE とかも同様。 =DSUM(A1:C7,"価格", {{"銘柄...

July 18, 2021 · garsue

git commit --fixupの機能がちょっと増えた

Gitのv2.32.0から git commit で指定できる --fixup オプションで amend, reword が使えるようになった。 既存のコミットにちょい足しして後でまとめ上げたいときに便利な --fixup だが、今までコミットメッセージは変えることが出来なかった。 今回追加された git commit --fixup=amend:<commit> を使うと、コミットの内容だけでなくコミットメッセージまで変更できる。 git commit --fixup=reword:<commit> を使えばコミットメッセージだけ変更できる。 それらの修正コミットを積んだあとでおもむろに git rebase -i --autosquash を叩けばいい感じにコミットをまとめやすい。 rebaseの際には fixup -C コマンドとしてtodo list1にあらわれてくる。 todo listはこんな感じ。 ...

July 10, 2021 · garsue

主としてコードを書くポジション

仕事においてひさびさに主としてコードを書くポジションにいるので改めて感じたことを残しておく、要するにポエム。 ...

June 21, 2021 · garsue

手元のコンテナをざっと俯瞰するならctopが便利

手元の開発環境でコンテナのリソース消費やログをざっと確認するツールとして ctop が便利。 常時10個以上コンテナを動かしてるような人におすすめ。 ctopとは topコマンドっぽい感じでコンテナごとのCPUやメモリ消費を表示するコンソールアプリケーション。 それだけなら docker container stats でも事足りるが、ctopはもう少しインタラクティブに操作できる。 Docker DesktopのGUIをターミナルにもってきた感じ。 ...

May 30, 2021 · garsue

ghコマンドでブラウザでGitHubを開かない生活

GitHub CLIがついにGitHub Actions操作をサポートしたので、ここらでぼくがよく使ってるパターンをまとめておく。 主に日々の開発作業で使っているパターン。 ...

May 15, 2021 · garsue

HugoのテーマをPaperModに変えた

前のテーマも悪くなかったけどページネーションされないのが辛かったのでPaperModに変えた。

May 9, 2021 · garsue

Docker ComposeがDockerコマンドに統合されて良くなってた

言いたいこと 開発環境だったらdocker-composeじゃなくてdocker compose使おう。 Docker Compose CLIとは 実はDocker Composeが昨年末リリースのDocker Desktop 3.0.0からDocker Compose CLIとしてdockerコマンドに統合されていた。 単に既存のdocker-composeコマンドが統合されたのではなく、別ツールとしてGoで再実装されたものが統合された。 ...

May 2, 2021 · garsue