備忘録

Spring WebFlux: Flux<DataBuffer> を InputStream へ変換する

備忘録。Spring WebFlux を使っている中で、Flux<DataBuffer> ((実際には FilePart.contents() から取り出した。))を単一の java.io.InputStream へ変換したいシチュエーションに出くわしたので、その方法についてのメモ。</databuffer>

TypeDI 素振り

TypeScript 向け DI コンテナライブラリの TypeDI を素振りしたのでメモ。

Go の os.ProcessState からプロセスを終了させたシグナルを取得する

備忘録。Go の os.StartProcess() や os/exec.Cmd で実行した外部プロセスがシグナルによって終了した場合に、そのシグナルを取得する方法について。Go のバージョンは1.16。 注: GOOS=linux or GOOS=darwin で動作すること、および GOOS=windows で動作しな…

ESLint ルールを TypeScript で書く

備忘録。ESLint のルールを含むプラグインを TypeScript で書く時のポイントについて。 プラグインの仕組み自体は公式ドキュメントに従いつつ、TypeScript でどう対応させるかについて述べる。

Typescript Compiler API で tsconfig.json を指定する

備忘録。TypeScript の Compiler API を特定の tsconfig.json の設定で使う方法について。 TypeScript のバージョンは 4.1.3。

Typescript Compiler API で定義元の AST ノードを取得する

備忘録。TypeScript の Compiler API を使ってソースコードのパースから特定の型・関数の定義元の AST ノードへジャンプする方法について。 TypeScript のバージョンは 4.1.3。

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 に基づいた情報です。