Posts
All the articles I've posted.
-
Vocabulary for Vibe Coding: State Management — Client/Server State · Derived · Optimistic · Cache Invalidation
The 4th and final entry in the vocabulary series. Four core terms to move past the vague instruction 'AI, write me the state management' — Client/Server state separation, Derived state, Optimistic Update, Cache Invalidation + trigger patterns. I've built a separate playground so you can try out the core concepts hands-on.
-
The study method I made for myself — 5 steps for learning new technology (prerequisite knowledge → typing out code → applying to real cases → reading others' code → writing it up)
I tried both the terminology + playground approach and the type-out-code approach, and found the latter suits me better. Based on that realization, I've laid out a 5-step order for learning new technology going forward. Next time I learn something new, I'll come back to this post and follow the steps.
-
Building a RAG Q&A System with Chroma + My Blog — From Parts to System
Yesterday I played with the parts of RAG (embedding / cosine similarity / chunks). Today, I put them together into a system. I introduced the Chroma vector DB, indexed 270 chunks from my blog, and built a Q&A system with OpenAI + Claude. The most memorable moment was when it answered 'I don't know' to a question about information not covered on my blog.
-
Building RAG from Scratch — Embedding, Cosine Similarity, Chunk Search (with Korean vs English Comparison)
Carving out the inside of RAG (Retrieval-Augmented Generation) with actual code, from what embedding even is to debugging suspicious results. I pulled 1536-dimension vectors with OpenAI's text-embedding-3-small, compared them with cosine similarity, compared Korean vs English performance, and worked through chunk splitting. Surprisingly, Korean embedding similarity turned out to be lower.