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 Cache
2025-08-12-TIL TIL 2025-08-06 멘토링 리뷰 과제 피드백 최근 chatGPT로 코딩테스트가 검증이 어려워져서 과제 전형으로 많이 채용하는 추세 의존성이 너무 불필요한 게 많은데, 보일러 플레이트로 보일 수 있음. 의존성이 무엇을 포함하고 왜 쓰는지 명확히 할 것 답변을 달면서 레퍼런스를 다는 것은 좋은데, 레퍼런스를 달게 되면 그 내용이 반드시 포... 2025/08/12 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 Spring
Problem Details for HTTP APIs Notes Problem Details란 에러나 예외 상황에 대한 표준화된 응답 형식을 제공하는 개념이다. 특히 HTTP API에서 오류 정보를 구조적으로 전달할 때 많이 쓰인다. 1. 정의 목적: 오류를 단순히 상태 코드로만 전달하는 대신, JSON이나 XML 형식으로 에러의 세부 정보를 제공 일반적인 HTTP 상태 코드(예: 404 Not F... 2025/08/08 Web
@SpringBootApplication은 실제로 무엇을 하는가 Notes 진입점 애너테이션으로 끝나지 않는다 @SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } } @SpringBoot... 2025/08/07 Spring
Spring Boot DevTools를 언제 써야 하는가 Notes DevTools는 무엇을 해결하는가 DevTools는 개발 중 애플리케이션 재시작과 캐시 설정을 더 편하게 만들어주는 도구다. 목적은 코드를 고친 뒤 결과를 보기까지의 시간을 줄이는 것이다. 주요 기능 1. Automatic Restart 클래스패스에 있는 파일이 바뀌면 애플리케이션을 다시 시작해 준다. 계기는 컴파일 결과의 변경이라 Int... 2025/08/06 Spring
실제 면접에서 받은 질문: 회고와 보완한 답변 Recruit 다섯 곳(W사, 엔라이즈, 뤼이드, Toss, 두들린)의 면접에서 받은 질문과, 그중 내가 충분히 답하지 못한 지점, 그리고 그 답변을 다시 정리한 내용이다. 질문은 면접관이 직접 한 것을 위주로 모았고, 질문 형식은 아니어도 문맥상 의도가 분명한 문장도 포함했다. 답변이 부족했다고 본 기준은 다음과 같다. 답변 중에 “잘 모르겠다”, “정확... 2025/08/05 Interview
시스템 디자인 면접 준비 Recruit 이력서에 적은 프로젝트를 기준으로 나올 만한 기술 질문, 화이트보드에서 그릴 수 있는 아키텍처, 백엔드 시스템 디자인 예상 문제를 정리한 준비 노트다. 이력서 기반 예상 질문 아키텍처와 시스템 디자인 MCP 개편에서 기존 시스템 구조의 어떤 점이 문제였고, 어떻게 리팩토링했는가. 대용량 음원 데이터를 안정적으로 처리하기 위한 구조를 ... 2025/08/05 Interview
Gap Lock Notes Gap Lock이란 Gap Lock은 MySQL InnoDB에서 기존 레코드 자체가 아니라 인덱스 레코드 사이의 빈 구간을 잠그는 락이다. 예를 들어 인덱스 값이 10, 20, 30이라면 다음과 같은 구간을 생각할 수 있다. (-∞, 10) (10, 20) (20, 30) (30, +∞) Gap Lock은 이 구간에 새로운 값... 2025/07/29 Database