
CLI向けブラックボックス E2E テストランナー nao1215/atago を作った話
前書き:LLM の登場で自作 OSS の E2E テストを書く機会が増えた LLM が登場してから、E2E(End to End) テストを書くのが楽になりました。維持は相変わらず大変ですが。 ...

履歴書・職務経歴書・CVをyamlから生成するnao1215/careerを作った話
前書き:割と面倒な履歴書作成 妻との会話中、「履歴書の書き方」について話題に上がりました。妻はロシア人なので、日本のルールには詳しくありません。妻に説明するとき、私は過去の履歴書を思い出し、それぞれの作成方法に不満があったことを思い出しました。 ...

クレカ決済で用いる通信規格 ISO 8583 の概要と、iso8583tool・tornago の紹介
前書き:Fintech らしい記事を書く 2025年3月に Fintech へ転職し、2026年6月時点で1年3ヶ月ほど経ちました。知見が溜まり、Fintech らしい記事を書けそうな状態になりました。 ...

文体の一致度を評価する nao1215/omokage を作った話
前書き:LLM の文章は読みたくないが、LLM に書かせたい 私は、あなたの文章が読みたいという記事で、二律背反な気持ちを吐露しました。 要約すると、「LLM が生成したと思われる文章を見ると拒否反応が出るのに、自分自身も PR やコミットメッセージ、ドキュメンテーションを LLM に委ねている」という矛盾であり、私はもはや LLM っぽい文章を咎める資格などとっくに失いました。構造化されたリストの乱用、無駄に長くて中身のない文章、太字や絵文字の過剰な装飾。ああいったものが嫌いなくせに、私自身が量産する側に回ってしまっているのですから、ダブルスタンダードも良いところでしょう。 ...

あなたの文章が読みたい
LLMっぽい文章を見ると身構えてしまう 私は、最近3回ほど、拒否反応が出ました。 それらは全て、LLM が生成したと思われる文章をチャットツール上で渡されたときでした。一瞬で拒否反応が出ました。全文を読むまでもありませんでした。視界に入った時点で拒否反応。構造化されて箇条書きを多用した文章、無駄に長くて内容のない文章、太字や絵文字の乱用。その文章を人から渡される。 ...

関数型言語 Gleam で遊んでいる話(OSS4個を連作した話)
前書き:Gleamとは 最近、関数型言語 Gleam で遊んでいます。 Gleam は、Louis Pilfold 氏が開発した静的型付けの関数型言語であり、Erlang や JavaScript にコンパイルされます。2016年6月13日に登場したので、10年選手ぐらいです。 ...

【Rust】CLI・サーバー・Wasm で動く画像処理ツール truss を作った話
前書き 画像処理ツール nao1215/truss を開発したので、紹介します。読みは、「トラス」です。 truss は、画像の変換(拡張子変更)、リサイズ、ぼかし、透かし、切り抜き等ができるツールであり、JPEG、PNG、WebP、AVIF、BMP、SVG に対応しています。クロスプラットフォーム対応(Linux, macOS, Windows)であり、CLI・サーバー・Wasm で動作します。 ...

【Golang】クレカ番号などを検出・マスクするsensitiveライブラリを作った話
前書き sensitive テキストを見つけ、必要であればマスクする nao1215/sensitive ライブラリ(Golang)を作ったので、軽く紹介します。Fintech に所属していれば、誰でも一度は作ろうと考えるタイプのライブラリですね。なお、暇つぶしで作っただけなので、現職の業務で利用予定はありません。 ...

2025年の振り返り & 2026年の抱負
前書き 2024年に引き続き、2025年の振り返りと来年の抱負をまとめます。 トップ画像は、25年以上ぶりに訪れたサントピアワールドです。サントピアワールドは1976年に開園しており、新潟県民にとって馴染み深い場所でしょう(上越住まいにとっては、馴染みないかもしれない)。入口付近に辿り着いた時、幼少期の記憶が蘇りました。祖母と車で訪れて、途中のコンビニで買ったチョコレートが車のダッシュボードで溶けたことを不意に思い出しました。最近、息子と一緒にいると30年ぐらい前の色褪せた記憶が蘇ります。 サントピアワールドは、総括すれば面白かったです。全ての乗り物が待ち時間ゼロでした。売店にトミカ売り場があり、「こんなところにトラップが!」と思いました。案の定、息子は吸い寄せられてました。息子は、何度も弁慶号に乗っていて、スタッフさんが「また乗るの?」と苦笑していました。スピードの早いワイルドジェットに息子を乗せてみたら、無反応でした。しかし、2回目は猛烈に嫌がってました。怖かったのでしょう。スカイジェットに乗った時は、私がデブすぎて車体が大幅に傾き、「これ、落ちるのでは?」と心臓がバクバクでした。 ...

【Golang】CSV、TSV、LTSV、Parquet、Excel に前処理とバリデーションを行う nao1215/fileprep を作った話
nao1215/fileprep(前処理ライブラリ) を開発した理由 理由は、データが汚れているからです。 私は、過去に nao1215/csv ライブラリ(パブリックアーカイブ済み) を開発していました。nao1215/csv は、struct tag でバリデーションルールを指定すると、CSV ファイルの読込み後に「どの行のどのカラムが不正値なのか」を教えてくれます。 ...

4年間続けたOSS開発を振り返る
OSS 開発を始めてから4年経った 本記事は、私の日記に近いポエムです。5年後に見返すために書いてます。なお、OSS 開発を初めて5年経過しているつもりで記事を書き始めたら、計算したところ4年でした。 ...

【Golang】.onion(Torサイト)の匿名性チェックを行う nao1215/onionlint を作った話
onionlint とは nao1215/onionlint は、.onion(Torサイト)が匿名性を担保できないような実装になっていないかをチェックするツールです。普通の開発者が onionlint のお世話になることはないでしょう。onionlint には、34個のルールが搭載されており、以下の3カテゴリで構成されています。 ...

【Golang】tor client/server を実装するための nao1215/tornago ライブラリを作った話
悪用厳禁 本記事で紹介する nao1215/tornago は、Tor(The Onion Router)に関するライブラリです。Tor は、通信を暗号化して IP アドレスを隠蔽できるため、悪用されるケースが多々あります。 ...

【Golang】バリデーション付き CSV 読み込み機能と DataFrame 機能を持つパッケージを作った話
前書き:バリデーション付きCSV読み込み機能は2024年に開発 本記事で取り上げるのは、2024年に開発した nao1215/csv です。本来の予定では、新規に開発した機能の紹介だけ書く予定でした。しかし、本ブログで一度も nao1215/csv の説明をしていなかったようなので、まずは基本機能を説明した後に新機能(DataFrame)について紹介します。 ...

Go Conference 2025 向けに CTF を作った話(会社のテックブログのリンクを引用)
会社で書いた記事を引用 Go Conference 向けに Capture The Flag を作成し、その内容に関して記事を会社で書いたので、リンクを貼ります。後者の記事は、Capture The Flag を作る時の思考が垣間見えるので、オススメです。 ...

技術ブログ debimate のお引越し(X Server to GitHub Pages)
お引越し 2025年12月末に、debimate は X Server から GitHub Pages へ移転します。 2025年11月現在は、移行期間であり、不具合がないかのチェックをするために設けています。移行にかかった時間は、2.5時間ほどです。移行というより、ブログの見栄えの調整に時間かかりました。 ...

【TypeScript】ファイルを分割し、任意の分割ファイル数で復元できる nao1215/horcrux を作った話【分霊箱】
前書き: jesseduffield/horcrux を参考にした 「Yet Another Horcrux を作ったよ」というお話をします。 Horcrux は、ハリーポッターに登場する用語で、日本語では分霊箱と訳されています。闇の魔法使いが不死になるために自らの魂を分割して、自らの魂を隠した物体を指します。この物体が存在する限り、現世に留まれることができます。予め断っておきますが、私はハリーポッターがそこまで好きではありません。ネタとしては好き。「フォフォイのフォイさ」や「ハリー< 二次会は嫌だ、二次会は嫌だ…… 組分け防止 < フィリピンパァアアアアアアアブ!!! 」とか。 ...

【nao1215/prompt】コードを読むのが辛いから、放置されたOSSをforkせずに作り直した話
前書き:OSSが放置されることは当然のようにある 「OSSは、人気があれば活発にメンテナンスされる」 そのように考えている方がいらっしゃるのではないでしょうか。現実は、そこまで甘くありません。私が利用していた c-bata/go-prompt(5.4 stars)は、ライブラリとして採用した時点でメンテナンスが滞っており、結局3年間殆ど更新はありませんでした。 ...

【Golang】CSV, TSV, LTSVをsql.DBで操作するfilesqlパッケージを作った話
前書き:同じ機能を持つコマンドのメンテが面倒だった filesql パッケージは、SQL ドライバーであり、SQLite3 のSQL 構文を使用してCSV、TSV、LTSV ファイルにクエリを実行できます。リリースして1週間経っていませんが、過去2番目の勢いで GitHub Star を獲得できています。嬉しいことですね。 ...

夏休みの自由研究として自作プログラミング言語をClaudeでVibe Codingした話
前書き:妻と息子が不在の一足早い夏休み 仕事が谷間(= 夏休みが取れる状況)、かつ妻と息子が旅行で不在だったので、ある程度規模感があるOSSを作ろうと思いたちました。今回、実装期間2日で開発したのは、SNOW言語(関数型言語)です(補足:夏休みは2日以上あります) ...

GoユーザーがHaskell/OCamlのライブラリ配布で面食らった話
前書き 本記事画像には、Gopherを用いています。オリジナルのThe Go gopher(Gopherくん)は、Renée Frenchによってデザインされ、CC BY 4.0ライセンスが適用されています。 ...

O'Reilly Learning PlatformをAudify(耳)で学習する
前書き:O’Reilly Learning Platformは高め タイトルが全てなのですが、どのような経緯でAudifyを使い始めたかを記録として残します。 ...

GitHub Personal Access Tokenをコミットする人がいた話、類似例、漏洩対策ツール【GitHub Secret scanning、gitleaks、git-secrets、gitguardian】
前書き:セキュリティのお勉強中 本記事は、ユーザー2376名のGitHub リポジトリ8017件を調べたら、GitHub Personal Access Token 16件(全て失効済み)が見つかったという話です。悪用されたら困るので、トークン探しに使ったコードは公開しません。 ...

【稼ぐ力が上がらない】ソフトエンジニア向けの副業は労働時間が長く、OSS開発はリターンが少ない話
前書き:リアル人生ゲームに対する結論のないポエム まず前提を書くと、そこまでお金に困っていない。 しかし、私の脳内は以下のように漠然とパニパニしていた。 私は一馬力家庭の単一障害点。34歳。これから脳が衰えてパフォーマンスがでなくなる。もはや政治も信用できない。この状況で子供増やすのか?何にせよ、稼げるうちに稼ぎたい。凄腕のエンジニアは、自分の1.5倍ぐらい稼いでる。周囲の人は副業してるし、自分もすべきではないか。遊ぶお金も欲しい(自作PCを組みたい)。 ...

【機能強化】RDBMS/CSV/TSV/LTSVクライアントであるsqluvをhttps/s3/圧縮フォーマットに対応させ、カラースキームを追加
前書き:大幅に機能追加 nao1215/sqluvは、2週間前に「【Go】sqluvコマンド:DBMS用のTUI + CSV/TSV/LTSVにSQLを実行可能【開発背景や使い方、生成AIの活用】」に記事で紹介しました。この記事に対する反応がそこそこあったので、「これはチャンスだ」と考えて、大幅に機能追加/バグ修正をしました。 ...

qhqで管理しているリポジトリをVS Codeで開くシェル関数
前書き 複数のリポジトリを用いて開発している人は、x-motemen/ghqでリポジトリを管理するケースが多いでしょう。本記事では、ターミナルからghqで管理しているリポジトリをVS Codeで開く方法を紹介します。 ツールインストール x-motemen/ghq および peco/peco を利用します。以下はgoコマンドを利用したインストール方法です。他のインストール方法を利用する場合は、公式サイトを確認してください。 ...

【Go】sqluvコマンド:DBMS用のTUI + CSV/TSV/LTSVにSQLを実行可能【開発背景や使い方、生成AIの活用】
sqluvとは nao1215/sqluv は、DBMS(例:MySQLやPostgreSQL)クライアントの一種であり、Text User Interfaceを提供します。 sqluvは、ローカルのCSV/TSV/LTSVファイルをインポートし、それらのファイルに対してSQLを実行する機能も持ちます。この機能は、私が以前開発したnao1215/sqlyコマンドから移植しています。 ...

【Golang】fe3dback/go-arch-lintでアーキテクチャの破壊を防ぐ
前書き:アーキテクチャは容易に壊される アーキテクチャリンターであるfe3dback/go-arch-lintをnao1215/sqlyに導入したので、使用方法のメモを記事として残します。結論としては、初期設定が面倒ですが、期待通りの効果が得られました。なお、既存コードがカオスなアーキテクチャの場合、go-arch-lintを採用できないと思われます。 まず、アーキテクチャをリンターでチェックする発想に至った理由から、説明します。以前、ペアプロ中にドライバ側(実装する人)がアーキテクチャルールに反しているのを偶然目撃しました。違反内容は、「外部サービス操作用パッケージ内でのみ使用できる構造体をユースケースレイヤーから呼び出した」というものです。構造体の定義場所が悪いと思いつつも、ルール違反してしまう理由はアーキテクチャを理解していないからだと考え、対策が必要と考えました(ちなみに、ドライバの方に「その使い方、ダメですよ」と声をかけたら、「そうなんですか?」と返答がありました) ...

【退職エントリ代わり】バケットリスト(死ぬまでにやりたいこと)を書き出し、目標達成に向けて動き出した話
前書き:今回は詳細な退職エントリを書きません 2025年2月28日付でフラー株式会社を退職します。 前職の退社エントリでは、詳細な情報を記録として残しました。しかし、今回は完全に個人都合の退職であるため、詳細情報を残しません。在籍した3年間が楽しかったのは、間違いありません。狭い業界なので再会できると考え、意図的に個別の挨拶を避けました。フラーの皆さん、また周年懇親会でお会いしましょう。 最終出社日に、花束、色紙、中華ゲーム機のMiyoo mini plusを貰いました。私は人間ができていないので、「花束持って電車乗るのかー」と軽口を叩いてしまいました。何故、素直にありがとうと言えないのか。この場を借りて、感謝申し上げます。帰宅したら、息子が「おはな、だいすきなの」と抱きしめていました。 ...

【何をどこに書く?】Pull Requestマージ速度を上げるためにドキュメンテーションコメントを書く
前書き:ドキュメンテーションコメントの書き方が分からん 本記事は、「【GitHub Actions】 github/issue-metrics でPRマージにかかる時間を分析」に関連する記事です。2024年は、Pull Request(以降PR)をマージするまでにかかる時間を如何に短縮するかに、課題感がありました。 ...