ソフトウェアエンジニアとして実際に手を動かす中で詰まった点や学びを残すテック記事です。AI・LLM、Go、Python、Web開発、インフラまで扱います。
99件の記事最終更新: Apr 22, 2026
Software as a Knowledge: When Code Becomes the Way You Think
How daily use of Claude Code shifted my knowledge management from Obsidian text notes to MCP servers, CLAUDE.md, and skills — executable software that acts on what I know without me having to look anything up.
Software as a Knowledge — コードが"知識"になる時代
AI(Claude Code)を使い続ける中で気づいた、知識管理のパラダイムシフト。Obsidian でのメモ管理から、MCP サーバーや skills / subagents という「ソフトウェア」として知識を結晶化させる実体験。
LLMとRAGの基礎 — AIをプロダクトに組み込むための第一歩
LLM(大規模言語モデル)とRAG(検索拡張生成)の基本概念を解説します。自社プロダクトにAIを組み込みたいエンジニア向け。
ビジネス研修で学んだエンジニアの働き方に活かせる19Tips
まえがき 新卒で入社したときに、ビジネス研修を受けたり、本を読んでくるような課題があったりしました。 自分の場合はビジネス職とも同じ研修だったので、そのほとんどが一般的な内容が多く「エンジニアとしては少し違うのではないか」と思うようなものもありました。 しかし、その中でもエンジニアの働き方に応用できそうなものがあり、1年半働いた今当時のメモを見返すと実際に活きているものがあったので、それをピックア
GORM Save Silently Upserts Associations — How Deleted Records Come Back and How to Stop It
GORM's Save(&model) automatically upserts all associated records. If a deleted association reappears after Save, a concurrent goroutine is likely the culprit. Two-stage fix: Association().Delete as a quick patch, Omit as the permanent solution. Covers GORM v1 and v2.
GORM の Save はアソシエーションを Upsert で上書きする──削除した関連が復活するバグの原因と対処
GORM の Save(&model) はアソシエーションを自動的に Upsert で上書きします。Delete したはずの関連レコードが復活する場合、別の goroutine が Save を呼んでいるのが原因である可能性が高いです。暫定対応(Association().Delete)と恒久対応(Omit)の2段階で解消した手順を紹介します。
新卒エンジニアが見積もりで失敗して学んだこと——精度を上げる4つの方法
新卒エンジニアが1ヶ月の開発遅延を経験して学んだ見積もりの考え方。なぜ見積もりがずれるのか、精度を上げるための分割・調査・複数視点の活用を実体験をもとに解説します。
Rails の `between?` が false になる原因と型を揃える解決策
RailsでTime.zone.nowとDate.newをbetween?で比較するとfalseになる原因と解決策。ActiveSupport::TimeWithZoneとDateは型が異なり比較できないため、Time.zone.localまたはTime.zone.todayで型を揃える必要があります。
人生初のQiitaに大量アウトプットを出してみての感想
Qiitaアドベントカレンダーで25記事を一気にアウトプットした感想。初めての大量執筆で得た気づき、アウトプットの効果、継続のコツを振り返ります。
RSpecからpytestへ:戸惑いがちな書き方の対応チートシート
RSpec経験者がpytestへ移行する際に戸惑いがちなポイントを対応表とコード例でまとめました。fixture、factory_boy、デバッガ、パラメータ化テストを中心に整理しています。