Skip to content
Bible, Lee, Data

Bible, Lee, Data

Faith, software, data, and everyday life.

CategoriesAll posts

Engineering

What Happens When Java Creates an Object?

Creating an object in Java takes only one line of code.BankAccount account = new BankAccount("100-001", 100_000);At first glance, the process seems straightforward: new creates an object, and the constructor assigns the arguments to its fields.That explanation is good enough for a simple class. It becomes incomplete, however, as soon as inheritance, static fields, field initializers, and ..

Engineering

What Do Classes and Objects Really Represent in Java?

A class is a blueprint, and an object is a concrete thing built from that blueprint.The analogy is useful. It explains why one class can be used to create many objects, just as one design can be used to manufacture many cars.But the analogy only takes us so far.Once we begin building real applications, more difficult questions appear:Which values belong together inside one object?Should an objec..

Engineering

What Does a C Pointer Store, and What Does Dereferencing Actually Change?

The most confusing part of learning pointers is rarely the amount of code involved. The example above contains only two lines, yet x, &x, p, *p, and &p all mean different things.Trying to memorize each expression as an isolated syntax rule tends to work only until pointers appear alongside arrays, functions, or structures. A more reliable approach is to begin with the objects that exist in memor..

Engineering

How C Evaluates Expressions

C operators look simple at first.Addition uses +, division uses /, equality uses ==, and conditions are combined with &&. Anyone who has worked with another programming language will recognize most of these symbols.The difficulty begins when a seemingly ordinary expression produces an unexpected result.A value assigned to a double may still lose its fractional part. A comparison may claim that -..

Engineering/Backend

Can a Timed-Out POST Request Still Succeed?

While studying retry strategies, I noticed that many explanations begin with a reasonable rule: retry an operation when the failure is temporary.The rule becomes harder to apply when the client cannot tell whether the operation failed.Suppose a client sends a POST request to create an order. The request times out before a response arrives. Retrying seems like the obvious next step. But what if t..

Life/Reviews

[Music] Caelan - Cruise

Missed texts, missed calls 놓친 문자들, 놓친 전화들 Don't worry about it 신경 쓰지 마 This stress, this mess 이 스트레스, 이 복잡한 상황도 Don't worry about it 걱정할 필요 없어 So how many times will you believe it? 얼마나 더 말해야 믿을 수 있을까? 'Til you can see it 네가 직접 볼 그 순간까지 It's me and you 우리 둘이 함께야 Carin' about the way they think (think) 남들이 어떻게 생각할지 신경 쓰고 Overthinkin' everything (thing) 모든 걸 지나치게 고민하고 We're goin' at a different pa..

Engineering/Frontend

[TypeScript] Jotai: 상태 관리 라이브러리

오늘날 웹 애플리케이션은 효과적으로 데이터를 관리하고, 반응형 사용자 경험을 제공하기 위해 점점 더 복잡해지고 있다. 이에 따라 애플리케이션의 성능과 유지보수성을 높이기 위해 체계적인 상태 관리가 필수적이게 되었다. 특히 React와 같은 프레임워크를 사용할 때 컴포넌트 간의 데이터를 효율적으로 관리하고 일관된 상태를 유지하려면 상태 관리 라이브러리를 활용할 필요가 있다. 💡Jotai란?Jotai는 일본어로 원자(atom)를 의미하는 이름에서 유래했으며, React 애플리케이션에서 가장 작은 단위의 상태를 관리할 수 있도록 설계된 상태 관리 라이브러리이다. Jotai는 Recoil과 비슷한 Atom 기반의 상태 관리 라이브러리이며, 가볍고 쉽게 전역 상태를 관리할 수 있다. 원자 (atom)원자는 상태..

Engineering/Frontend

[TypeScript] Zod: 타입 검증 라이브러리

TypeScript로 프로젝트를 개발할 때, 데이터 유효성 검증은 필수적인 작업이다. 특히 클라이언트와 서버 간의 데이터 통신, 사용자가 입력한 폼 데이터, API 응답 데이터를 검증하는 과정에서 이 작업은 매우 중요하다.TypeScript는 컴파일 시점에서의 타입은 검증하지만, 런타임에서 발생하는 에러는 방지하기 어려워 별도의 데이터 검증 라이브러리가 필요하다. 이때 사용할 수 있는 것이 Zod이다. 💡Zod란?Zod는 TypeScript 기반의 스키마 선언 및 데이터 검증 라이브러리로, 데이터가 특정 형식과 구조를 따르는지 검증하기 위해 설계되었다. Zod는 데이터 유효성 검증과 타입 안전성을 강화하기 위해 만들어졌다. Zod를 사용하면 TypeScript와 함께 타입 정의와 데이터 검증을 손쉽게..