備忘録

Go 1.13 の error について

備忘録。 Go 1.13 で入った error の機能について。

Go の testing の Error/Fail/Fatal

備忘録。 Go の testing パッケージでいつも Error, Fail, Fatal の違いがわからなくなるので、まとめる。

Songmu/gitconfig で Go から git config を取得する

備忘録。 git config の Go クライアントと言える Songmu/gitconfig について。

Python の文字列/バイトバッファ

備忘録。 Python で IO 同様のインタフェースで扱えるインメモリバッファ(Ruby における StringIO)について。

Go の 構造体のタグを取得する

備忘録。 json などで構造体のフィールドに付ける json:omitempty などのタグを取得する方法について。 構造体フィールドのタグは標準パッケージ reflect を使って実行時に取得する。 以下、構造体 Tagged のフィールド Foo に付いているタグを取得するサン…

openapi-generator で生成した Go クライアントで Bearer 認証をする

備忘録。 openapi-generator で生成した Go クライアントで Bearer 使い方について。

Vue で子コンポーネントのメソッドを呼び出す

備忘録。 refs を経由でコンポーネント内で利用している子コンポーネントのメソッドを呼び出す方法について。

Gatling のシナリオをデバッグする

備忘録。 Scala DSL でシナリオを書けるパフォーマンステストツール Gatling を使い始めたが、シナリオをデバッグしたいことがままあるので、そのメモ。 バージョンは3.2。

t.Run で Go のテストをサブテストに分割する

備忘録。 Go のテスト関数内でサブテストに分割する方法について。 testing.T は Error や Skip などのように関数で実装しているテストの制御を行うメソッドがあるが、サブテストに分割するためのメソッド Run も実装されている。以下のように使える: func T…

Go のテストを testify/assert で書く

備忘録。 最近 Go のテストで使い始めたアサートライブラリについて。

MyBatis で Auto Increment された ID を取得する

備忘録。 MyBatis で DB に INSERT した際に ID などの特定のカラムの値を取得する方法について。

Collectors::toMap の値マッピング関数の制約

備忘録。Java でストリームをマップに変換する Collectors::toMap の NullPointerException にハマった。 Collectors::toMap はストリームに K 型のキーへマッピングするための関数と V 型の値へマッピングするための関数を受け取って、Map<K, V> 型のマップを返す</k,>…

MySQL でツリー構造 by 閉包テーブルモデル

備忘録。 SQL アンチパターンに載っていた木構造を RDB で表現するためのモデルの1つ、閉包テーブルモデルの MySQL による実装について。

MySQL でツリー構造 by 経路列挙モデル

備忘録。 SQL アンチパターンに載っていた木構造を RDB で表現するためのモデルの1つ、経路列挙モデルの MySQL による実装について。

Nuxt.js のカスタムローディングコンポーネントで throttle を再現する

備忘録。 Nuxt.js のローディングにカスタムコンポーネントを使っている際に、描画を遅延させる方法について。

Git でブランチを切り忘れてコミットした時の戻し方

備忘録。 ブランチを切り忘れて master ブランチにコミットした際に、ブランチを切り直してコミットをそちらへ移動させる方法をいつも忘れるのでメモとして残しておく。

oas_parser を使って OpenAPI の YAML をパースする

備忘録。 OpenAPI の定義をパースしてあれこれしたい機会があったので、パーサを試してみた。パーサ実装は色々あったが、とりあえず慣れ親しんでいる Ruby 向けの oas_parser を使ってみた。

MyBatis でパラメータが null 以外の時にカラムを更新する

備忘録。MyBatis における UPDATE 文のパラメータの扱い方について。

nuxt-i18n を使っている時の nuxt-link の params

備忘録。 nuxt-i18n を使っている時に Nuxt.js の nuxt-link の params が動かなくなるケースとそのワークアラウンドについて。

Vue コンポーネントに渡された props の更新時に data を書き換える

備忘録。 Vue.js でコンポーネントの props が更新された時に何かしらの処理を実行する方法について。

<nuxt-link> でパラメータを渡す

備忘録。 Nuxt.js の <nuxt-link> の使い方。</nuxt-link>

Nuxt.js で Atomic Design ベースの設計をする時にコンポーネントのあり方

備忘録。 Nuxt.js で Atomic design を実践する際の各コンポーネントの役割が自分の中でまとまってきたので書き残す。

Go の io.Reader 覚書

備忘録。 Go の io.Reader の使い方について。

ruby-build の各バージョンの仕組みについて

備忘録。 Ruby の trunk に入った新機能を試す過程で ruby-build のスクリプトを調べたので、その概略についてのメモを残す。 ruby-build のコミット ca85eba に基づいた情報です。

Fiddle 経由で取得した char ** を Ruby の文字列配列に変換する

備忘録。 C の文字列配列(char**)を返す関数を fiddle 経由で呼び出し、String の Array に変換する方法について。

C の __COUNTER__ マクロの使い方

備忘録。 GCC や Clang で利用できる C の拡張機能 __COUNTER__ マクロについて。

Node.js の import の大文字小文字問題について

備忘録。 Nuxt.js を使っている時にファイルシステムの仕様で Mac と Linux でビルドの成否が変わる問題に当たった。

Fiddle で C のメモリを free した時にやらかした話

備忘録。 少し前に Fiddle を使って C 関数を呼び出す Ruby プログラムを書いた時にやらかした時のメモ。 Fiddle とは とてもざっくりというと dlopen/dlsym のラッパー。以下は C の strlen を Ruby から呼び出す例がドキュメントにある。 起きたこと 以下…

Ruby の子プロセスの終了ステータスの取得方法

備忘録。 Ruby での子プロセスの終了ステータスの取得方法について、定期的に自分でやらかしたり他の人がやらかしているのを目撃するので書き残す。

Ruby の独自エラークラスのデザイン

備忘録。 Ruby の例外クラスのインタフェース、とりわけコンストラクタと生成後に取得できるメッセージについて考えることがあったので、いくつかの事例をまとめる。