A personal memo space where Jeong Dongwoo practices code and records decisions.
Practice conveyor
A Bloom Filter is a probabilistic data structure that approximates membership without storing every element in the set directly, relying instead on a single bit array and multiple hash positions. When the result is "absent" (negative), you can be certain the element is not in the set; when the result is "present" (positive), the element may actually exist, or it may be a false positive. Burton Bloom's 1970 paper introduced this structure, which trades "tolerable errors (false positives)" for significant savings in space and lookup time.
Aggregation is decomposed into five stages: filter, group, sum, sort, and take, each made explicit in the pipeline. Accumulation is handled with a map, and top-N selection is separated into sorting followed by slicing. Monetary amounts are represented as integers or decimals, and group keys are normalized before grouping.
Resources that "must be closed once opened" β such as files, sockets, database connections, locks, and temporary directories β must be handled differently from ordinary values. The scope that acquires a resource is responsible for releasing it.
Code Card
An Idempotency Key is not merely a duplicate-request guard; it is a state-transition boundary design for POST APIs that involve uncertain external I/O.
This is the first structure to apply in functions that mix validation, authorization, and dependency failures. Close off failure conditions early, and keep the function body focused on the success path. Failures are returned as Result data rather than thrown as exceptions.