miseで、 .ruby-version などのファイルを参照してバージョンを決めるよう設定してみた

以前、 rbenv から mise-en-place (mise) に乗り換えた記事を書きました。 Apple Silicon + macOS Sequoia にて、 mise で Ruby 3.0 系をビルドしたら maybe_unused のBUILD FAILEDになったため、対応した - メモ的な思考的な その後も、プログラミング言語…

Rails8.1系で、レプリカのあるRedis(スタンドアロンやクラスター)をセッションストアに設定してみた

前々回、前回と、Redisクラスターを使ったセッションストア設定などを試してきました。 Rails8.1系で、Redisクラスターをセッションストアとして設定してみた - メモ的な思考的な Rails8.1系で、Redisクラスターをセッションストアとキャッシュストアに設定…

Rails8.1系で、Redisクラスターをセッションストアとキャッシュストアに設定してみた

以前の記事で、RailsでキャッシュストアとセッションストアをRedisにしてみました。 Rails7.0系で、キャッシュストアとセッションストアをRedisにしてみた - メモ的な思考的な その時はスタンドアロンRedisだったため、Redisクラスターの場合はどうなるのか…

Rails8.1系で、Redisクラスターをセッションストアとして設定してみた

Railsではセッションの保存先(セッションストア)を指定できます。 3.2.58 config.session_store | Rails アプリケーションの設定項目 - Railsガイド 以前、セッションストアをRedisにしたときは、スタンドアロンRedisでの利用でした。 Rails7.0系で、キャ…

Railsにて、log_argumentsやconfig.filter_parametersを使って、ActiveJobでもパラメータをフィルタリングしてログへ出力してみた

Railsでは config.filter_parameters を使うことで、ログへ出力したくないパラメータを設定できます。 3.2.34 config.filter_parameters | Rails アプリケーションの設定項目 - Railsガイド ただ、この設定がデフォルトではActiveJobでのジョブ実行時のログ…

既存のRailsアプリを単体でDevContainer化し、RubyMineのDevContainerとして動かしてみた

以前、JetBrains IDEのWebStormを使ってDevContainerを構築しました。 JetBrains WebStormでDevContainerを起動し、DevContainerの中でCodex CLIを実行してみた - メモ的な思考的な その時はCodexを使えるようにしただけで、DevContainer上でアプリを動かす…

2025年の振り返りと2026年の目標

例年通り、2025年の振り返りと2026年の目標っぽいものを書いてみます。 目次 2025年の振り返り 身近な技術の素振り・深堀りをして、技術のキャッチアップを継続 技術書典18への参加 技術書典の本をベースにした商業出版 Railroadsプラグインのメンテナンス …

2025年船の旅

去年の旅がとても楽しかったため、今年も何かテーマを決めて旅をしてみることにしました。 2024年リンゴの旅 - メモ的な思考的な 上記の記事で「西の方にも行ってみたくなりました」と書いていたこともあり、西日本のリンゴを探しに行こうかと交通手段を調べ…

Web標準のMediaDevices APIやBarcodeDetector APIを使って、Androidで動くPWA版バーコードリーダーを作ってみた

5年くらい前、Djangoでバーコードを出力する機能も備えたアプリを作りました。 ダンボールに入れた本を管理するDjangoアプリ「danborary」を作った - メモ的な思考的な 当時、バーコードを読むためには物理バーコードリーダーを用意していました。ただ、物理…

DevContainer上でHTMLを配信しているHTTPサーバにHTTPSでアクセスするため、localtunnelやTailscaleを試してみた

最近、mac上のDevContainer上でHTMLを配信するHTTPサーバーを構築しました。配信しているHTMLはAndroidからブラウザでHTTPSでアクセスしたいのですが、真面目に環境構築するとなると手間がかかります。特に、開発用途のHTTPサーバーなので、特定のユーザーの…

国立国会図書館サーチ SRU APIのXMLレスポンスを元に、「SRU API向けOpenAPIスキーマ・APIクライアントを生成する」CLIを Codex + OpenSpec で作ってみた

国立国会図書館について調べていたところ、国立国会図書館サーチという機能を知りました。 国立国会図書館サーチ(NDLサーチ) 国立国会図書館サーチではAPIも提供しており、個人で収益を得ない使い方であれば、申請不要で無料で使えるとのことです。 APIの…

JetBrains WebStormでDevContainerを起動し、DevContainerの中でCodex CLIを実行してみた

先日、技術書典19で発売された「DevContainer実践ガイド」を読みました。DevContainerまわりの知見がまとまっていて、とてもためになりました。ありがとうございました。 techbookfest.org この書籍の中ではJetBrains IDE環境におけるDevContainerの記載があ…

Cloudflare Workers + Hono なWebアプリに対し、Cloudflare Accessを使って特定のGoogleアカウントのみアクセス許可してみた

ここ最近のAIの動きから、自分しか使わないWebアプリケーションが気軽に作れるようになりました。 特に、Cloudflare Workersでもフロントエンドを持つアプリが作成できるようになったため、まずはCloudflare Workersの利用を考えることが多いです。 フロント…

「JetBrains IDE プラグイン開発実践ガイド」が技術の泉シリーズから商業出版されました

技術書典18にて、「JetBrains IDE プラグイン開発・運用ガイド ~ Tool Window のあるプラグイン Railroads 編 ~」を頒布しました。 #技術書典 18 にて、「JetBrains IDE プラグイン開発・運用ガイド ~ Tool Window のあるプラグイン Railroads 編 ~」を頒布…

JetBrains IDEのプラグインRailroadsをIDE 2025.2バージョンに対応したときのまとめ

自分の開発しているJetBrains IDEのプラグインRailoradsについて、IntelliJ IDEAとRubyMineで2025.2系からエラーが出るようになりました。 Exception thrown in IntelliJ 2025.2 with latest Ruby plugin version · Issue #60 · thinkAmi/railroads 先日、Ra…

IntelliJ Platform Plugin開発にて、compatiblePlugins()を使って、依存するプラグインのバージョンを自動で設定する

自作のJetBrains IDE (IntelliJ IDEA / RubyMine)向けプラグイン Railorads にて、JetBrains IDEのバージョンに応じて、Railroadsが依存するRubyプラグインのバージョンを自動設定できるようにしたことから、メモを残します。 https://github.com/thinkAmi/r…

#kaigionrails Kaigi on Rails 2025に参加しました

2025/09/26-27に JP TOWER Hall & Conferenceで開かれた「Kaigi on Rails 2025」に参加しました。 Kaigi on Rails 2025 会場入りしました[image or embed]— thinkAmi (@thinkami.bsky.social) 2025年9月26日 13:26 Kaigi on Rails 2025のいろいろな資料は以…

Rust + pnetクレートで、macのインタフェースの一覧を表示してみた

以前、ネットワークまわりをPythonで実装してみたことがありました。 Python2 + Scapyで、Raspberry Pi 2 Model B をNAT/NAPTルータ化してみた #router_jisaku - メモ的な思考的な Mac + Python2 + Scapyで、DHCPサーバを探してみた - メモ的な思考的な Scap…

JetBrains IDEを2025.2系にしたらReworked Terminalのカラー設定が見づらかったため、見えるように設定を変更した

JetBrains IDEでは、2025.2からデフォルトのターミナルが Reworked 2025 へと変更されました。 The Reworked Terminal Becomes the Default in 2025.2 | The JetBrains Platform Blog JetBrains Terminal: A New Architecture | The IntelliJ IDEA Blog Term…

権限管理の1つであるReBAC (Relationship-Based Access Control) をTypeScriptで実装してみた

ここまで、権限管理について以下の実装を試してきました。 権限管理の1つであるUnixパーミッションをTypeScriptで実装してみた - メモ的な思考的な 権限管理の1つであるACL (Access Control List) をTypeScriptで実装してみた - メモ的な思考的な 権限管理の…

権限管理の1つであるABAC (Attribute-Based Access Control) をTypeScriptで実装してみた

ここまで、権限管理について以下の実装を試してきました。 権限管理の1つであるUnixパーミッションをTypeScriptで実装してみた - メモ的な思考的な 権限管理の1つであるACL (Access Control List) をTypeScriptで実装してみた - メモ的な思考的な 権限管理の…

権限管理の1つであるRBAC (Role-Based Access Control) をTypeScriptで実装してみた

ここまで、権限管理について以下の実装を試してきました。 権限管理の1つであるUnixパーミッションをTypeScriptで実装してみた - メモ的な思考的な 権限管理の1つであるACL (Access Control List) をTypeScriptで実装してみた - メモ的な思考的な 今回は、RB…

権限管理の1つであるACL (Access Control List) をTypeScriptで実装してみた

前回はUnixパーミッションをClaude Codeと相談しながら実装してみました。 権限管理の1つであるUnixパーミッションをTypeScriptで実装してみた - メモ的な思考的な 今回もClaude Codeと相談しながら、ACL (Access Control List) をTypeScriptで実装してみま…

権限管理の1つであるUnixパーミッションをTypeScriptで実装してみた

アプリケーションを作っていると、権限制御が必要になってくることがあります。 幸いなことに、権限制御の詳しい内容を理解しなくても、各プログラミング言語ごとに便利なライブラリがあります。このブログでは過去にいくつかのライブラリをさわってきました…

Renovateが動くリポジトリにて、途中からRenovate対象外になったライブラリも、セキュリティアップデートのプルリクはRenovateが作るようにしてみた

Renovateが動くリポジトリにて、途中からRenovate対象外になったライブラリがありました。 「Renovate対象外になる前に作られたセキュリティアップデートのプルリクはそのままになるだろう」と考えていたところ、対象外になった途端にCloseされてしまいまし…

Bun 1.2.19から、test.eachやit.eachを使ったパラメタライズドテストにて、ラベルの中の変数展開が行われるようになった

Bun

Bun 1.2.19から、test.each や it.each を使ったパラメタライズドテストにて、ラベルの中の変数展開がサポートされるようになったので、メモ。 例えば、以下のようなテストコードがあるとします。 import { describe, it, expect } from 'bun:test' describe…

Claude Code の Hooks を使って、ブラックリスト形式で .env ファイルの読み込みを禁止できるか試してみた

Claude Codeでは、 settings.json にてツールの利用可否を設定できます。 Claude Code settings - Anthropic しかし、完全ではないようで、 Bash ツールでは利用不可としていても、Claude Codeが回避策を考えて利用してしまうことがあります。 Claude Codeの…

#技術書典 18にて、FigmaやJetBrains IDEプラグインに関する同人誌を執筆・頒布・オフライン出展しました

2025/05/31〜06/15 まで、技術書典18が開催されました。 techbookfest.org 自分は2つのサークルで参加しました。1つは会社の同僚との合同サークルであるPPSPです。 #技術書典 18 にて、 サークルPPSPの新刊合同誌向けに「デザインしない人のためのFigma操作…

GitHub App installation access token + GitHub ActionsによるSelf-Hosted Renovateで、プライベートリポジトリのgemやnpmパッケージが含まれるGemfileを更新する

GitHubでソースコードを管理しているアプリにおいて、利用ライブラリのアップデートを自動で行う方法として Dependabot や Renovate などがあります。 Renovateを使う場合、Mend社が提供している Renovate GitHub App (Mend-hosted GitHub App)を使うのが簡…

Claude Codeに、メンテナンスしている JetBrains IDE プラグイン Railroads のソースコードを解説させてみた

最近、JetBrains IDE と Claude Code が統合できるようになりました。 IDE統合 - Anthropic JetBrains IDEのマーケットプレイスでも、 Claude Code と統合する Anthropic 製プラグインが公開されています。 Claude Code [Beta] Plugin for JetBrains IDEs | …