ACID를 실무적으로 이해하기 Notes ACID란 ACID는 트랜잭션의 신뢰성을 설명할 때 가장 먼저 나오는 네 가지 속성이다. Atomicity Consistency Isolation Durability MySQL 매뉴얼은 ACID 모델을 업무 데이터에 중요한 신뢰성 측면을 강조하는 설계 원칙의 집합으로 설명한다. MySQL: InnoDB and the ACID M... 2025/08/14 Notes, Database
데이터베이스 트랜잭션을 어떻게 봐야 하는가 Notes 트랜잭션이란 트랜잭션은 여러 작업을 하나의 논리적 단위로 묶어서, 전부 성공하거나 전부 실패하도록 다루는 메커니즘이다. 실무에서 트랜잭션은 단순히 BEGIN, COMMIT 문법이 아니라 “어디까지를 하나의 일관된 작업으로 볼 것인가”를 정하는 설계 도구다. 왜 필요한가 중간 실패 시 데이터가 반쯤 반영되면 안 된다. 동시에 여러 요청이... 2025/08/14 Notes, Database
2025-08-13-TIL TIL Today I Learned 2025-08-13-Mentoring 오늘은 간만에 가슴에 불을 지피는 멘토링이었다. 최근에 개인적인 이유로 멘토링에 대한 학습시간을 많이 내지 못 했는데, 열심히 해야겠다는 다짐이 다시 생겼다. MySQL의 레코드 락 InnoDB 스토리지 엔진 수준의 잠금 기능으로, 레코드 자체만을 잠그는 락을 의미한다. 실제로는... 2025/08/13 TIL, 2025-TIL
Preventing Cache Write Amplification under High Concurrency Notes @Service public class PriceQueryServiceImpl implements PriceQueryService { private final CachePriceRepository redisRepository; private final TimeSeriesPriceRepository timeSeriesRepository; ... 2025/08/13 Notes, Cache
2025-08-12-TIL TIL Today I Learned 2025-08-06-Mentoring-Review 과제 피드백 최근 chatGPT로 코딩테스트가 검증이 어려워져서 과제 전형으로 많이 채용하는 추세 의존성이 너무 불필요한게 많은데, 보일러 플레이트로 보일 수 있음. 의존성이 무엇을 포함하고 왜 쓰는지 명확히 할 것 답변을 달면서 레퍼런스를 다는 것은 좋은... 2025/08/12 TIL, 2025-TIL
Resolve Git Conflicts Notes Resolve Git Conflicts main 브랜치에서 feature/1 브랜치를 생성하고, feature/1에서 feature/2 브랜치를 생성해서 작업했다. 그런데 feature/1 브랜치에서 PR의 코드리뷰에 대한 피드백으로 수정이 있었다. 이때 기존에 feature/2 -> main으로의 PR에 충돌이 감지되었다. 상황을 요약해보면... 2025/08/11 Common, Git
@RestController는 무엇을 의미하는가 Notes @RestController의 의미 @RestController는 Spring MVC에서 REST API를 만들 때 사용하는 대표 애너테이션이다. 뷰 이름 대신 응답 본문 자체를 반환하는 컨트롤러를 표시한다. 스프링 문서는 이를 “nothing more than a meta-annotation marked with @Controller and @R... 2025/08/08 Notes, Spring
Problem Details for HTTP APIs Notes Problem Details란 에러나 예외 상황에 대한 표준화된 응답 형식을 제공하는 개념이다. 특히 HTTP API에서 오류 정보를 구조적으로 전달할 때 많이 쓰인다. 1. 정의 출처: RFC 7807 — Problem Details for HTTP APIs 목적: 오류를 단순히 상태 코드로만 전달하는 대신, JSON이나 XML 형식... 2025/08/08 Notes, Web
@SpringBootApplication은 실제로 무엇을 하는가 Notes 진입점 애너테이션으로 끝나지 않는다 @SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } } @SpringBoot... 2025/08/07 Notes, Spring
Spring Boot DevTools를 언제 써야 하는가 Notes DevTools는 무엇을 해결하는가 DevTools는 개발 중 애플리케이션 재시작과 캐시 설정을 더 편하게 만들어주는 도구다. 목적은 코드를 고친 뒤 결과를 보기까지의 시간을 줄이는 것이다. 주요 기능 1. Automatic Restart 클래스패스에 있는 파일이 바뀌면 애플리케이션을 다시 시작해 준다. 계기는 컴파일 결과의 변경이라 Intel... 2025/08/06 Notes, Spring