備忘録

新着順 人気順

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

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

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

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

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

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

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

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

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

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

C の __COUNTER__ マクロの使い方

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

Go の testing の Error/Fail/Fatal

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

TypeDI 素振り

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

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

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

Rust: VSCode の rust-analyzer extension に開発中の crate の feature を伝える

備忘録。VSCode の rust-analyzer extension を使って crate を開発している際に、自身の crate の feature を有効化する方法について。

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

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

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

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

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

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

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

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

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

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

ESLint ルールを TypeScript で書く

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Danger のプラグインの構造

プルリクエストに関する定形作業を自動化するツール Danger のプラグインを書く機会があったので、プラグインの構造について簡単にメモ。v5.13.0 を参照している。

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

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

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

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

Hugo の Markdown レンダリングについて調べた

日記兼備忘録。 Go 製の静的サイトジェネレータ Hugo の [link\\](url) という形式のリンクがうまくレンダリングされないバグを追いかける過程で、Hugo が使っている Markdown レンダリングのライブラリについて調べたのでまとめる。