애프랩(F-Lab) Java Backend 1개월 후기 TIL F-Lab 신청이유 먼저, F-Lab에 신청하게 된 이유를 스스로 명확히 하는 것이 중요하다고 생각했다. 이유가 명확해야 확실한 목표 의식이 생기고, 내가 성취하고자 했던 목표를 이룰 수 있다고 믿기 때문이다. 사실, 나는 이미 신입 개발자로 지원할 당시 부트캠프를 수료한 경험이 있다. 그래서 이번에는 이러한 교육 프로그램에 대해 더욱 신중하게 고... 2025/07/08 2025-TIL
Java의 Garbage Collection을 어떻게 이해해야 할까 Notes Java의 Garbage Collection은 흔히 “사용하지 않는 객체를 자동으로 지워주는 기능” 정도로 설명된다. 이 설명 자체는 틀리지 않지만, 실무에서 중요한 것은 GC가 있다는 사실보다 GC가 언제 비용이 되고, 어떤 기준으로 동작하며, 왜 튜닝이 필요한지를 이해하는 것이다. GC의 기본 역할 GC의 목적은 더 이상 사용되지 않는 객체... 2025/07/04 Java
State in REST API Notes API에서 말하는 state API 문맥에서 state라는 단어는 두 가지 의미로 자주 쓰인다. 리소스의 현재 상태 서버가 클라이언트의 이전 상호작용을 기억하는가 이 둘을 섞어서 이해하면 REST 개념이 쉽게 흐려진다. 리소스의 상태 리소스 상태는 특정 시점에 서버가 가진 데이터 스냅샷이다. 예를 들어 주문 리소스라면 다음 정보... 2025/07/03 Web
Stateless(무상태)가 Idempotent(멱등성)을 의미하는가? Notes “Stateless(무상태)”가 “Idempotent(멱등성)”을 의미하는가? 결론부터 말하면 “아니다”. 두 개념은 관련은 있지만 다른 의미를 가지며, Stateless하다고 해서 반드시 Idempotent한 것은 아니다. Stateless 애플리케이션은 종종 멱등성을 고려해 설계되고, 멱등성은 무상태 서비스에서 바람직한 특성이다. 그래도 두 개... 2025/07/03 Web
Microservice Architecture Notes Microservice Architecture 마이크로서비스는 하나의 큰 애플리케이션을 작고 독립적인 서비스들로 분해하여, 각 서비스가 하나의 비즈니스 기능에 집중하고, 독립적으로 개발, 배포, 확장 가능한 아키텍처 스타일이다. James Lewis와 Martin Fowler는 Microservices (2014)에서 이 스타일을 “an a... 2025/07/01 Web
2025-06-30-TIL TIL Today I Learned 오늘은 R사 면접을 보았다. 최근에 몇 번의 면접을 보면서 느낀건, 분명히 똑같은 이력서인데도 물어보는 내용이 완전히 다르다는 것이다. 확실히 각 기업에서 필요로 하는 기술이나 사용하는 기술이 다르다. 그리고 그 성향이 면접에서 고스란히 드러난다. 따라서 너무 광범위하게 면접을 준비하는 것은 비효율적이다. 그리고 내가 ... 2025/06/30 2025-TIL
Spring Bean Lifecycle 정리 Notes 왜 생명주기를 알아야 하는가 스프링 빈은 단순히 new로 객체를 만들고 끝나는 대상이 아니다. 생성, 의존성 주입, 초기화, 후처리, 사용, 소멸까지 컨테이너가 관리한다. 그래서 어느 시점에 어떤 코드가 실행되는지 알아야 다음 같은 문제를 제대로 디버깅할 수 있다. @PostConstruct가 왜 안 불리지? AOP 프록시는 언제 감싸지지... 2025/06/30 Spring
2025-06-25-TIL TIL Today I Learned 주식 시세를 다루는 사이드 프로젝트의 설계를 시작했다. 아직은 무엇을 만들지 정리하는 단계라서, 오늘은 멘토링에서 받은 질문들을 정리하는 데 시간을 더 썼다. 질문은 대부분 “그 기술을 왜 골랐고, 내부는 어떻게 생겼는가”였다. 하나씩 공식 문서로 다시 확인했다. GraphQL을 쓰면 생기는 문제 GraphQL은 ... 2025/06/25 2025-TIL
equals()와 hashCode()를 함께 오버라이드해야 하는 이유 Notes Java에서 equals()와 hashCode()는 객체 동일성을 다룰 때 가장 자주 마주치는 메서드다. 문제는 이 둘을 따로 생각하면 거의 항상 오류가 생긴다는 점이다. 특히 HashMap, HashSet 같은 해시 기반 컬렉션에서는 둘의 계약을 지키지 않으면 겉으로는 멀쩡해 보여도 논리적으로 잘못된 동작이 발생한다. 왜 두 메서드를 같이 봐야... 2025/06/25 Java
Java에서 static은 무엇을 의미하는가 Notes Java의 static은 자주 쓰이지만, 정확히 설명하려고 하면 의외로 애매하게 남는 키워드다. 단순히 “객체 없이 접근할 수 있다”로만 이해하면, 왜 어떤 경우에는 적절하고 어떤 경우에는 위험한지 판단하기 어렵다. 핵심은 static이 인스턴스가 아니라 클래스에 속한 멤버를 만든다는 점이다. static이 붙으면 무엇이 달라지나 일반 인스턴... 2025/06/25 Java