개인적으로 Claude Code를 사용하게 되면서, 코드를 직접 작성하는 데 쓰는 시간은 거의 0에 가깝다고 해도 과언이 아니게 된 것 같다. 작년 말부터 지금까지 반년 정도 사용하면서 느낀 점과, AI를 어떤 태도로 활용해야 할지에 대한 생각을 정리해보려고 한다. 느낀 점 생산성이 비약적으로 높아졌다. 코드의 퀄리티는 기존 코드베이스나 ...
오늘 드는 생각 (260510, 관성)
쉬기 시작하면 계속 쉬고 싶어진다. 쉽게 도파민을 얻는 것들도 마찬가지다. 유튜브를 보거나, 배달 음식을 시켜 먹거나, 별생각 없이 돈을 쓰는 행동들은 순간은 즐겁지만 남는 건 별로 없는 것 같다. 반대로, 당장은 조금 힘들더라도 꾸준히 했을 때 시간이 지나며 빛을 발하는 것들이 있다. 멋진 몸은 반복된 웨이트 트레이닝의 결과물이고 내...
오늘 드는 생각 (260406, 견고한 삶)
개발자로서 견고한 시스템을 만든다는 건, 단순히 기획서에 있는 요구사항이 정상적으로 동작하게 만드는 것 이상이라고 생각한다. 정말 중요한 건, 시스템이 정상적으로 작동하기 위한 전제조건이 깨졌을 때 대비책이 마련되어 있는지인 것 같다. 즉, 시스템의 안정성은 ‘정상 상황’이 아니라 ‘예상하지 못한 상황’에서 얼마나 잘 버티는지에 달려 있다고 본다. ...
JPA / MyBatis 혼용시 주의사항 (in 배치 애플리케이션)
JPA와 MyBatis는 서로의 존재를 모른다. MyBatis는 JDBC를 직접 사용하므로 JPA 영속성 컨텍스트를 우회하여 DB를 변경하고, JPA는 이를 감지할 수 없다. 결과적으로 JPA 1차 캐시에는 변경 전 데이터(stale data)가 남게 되어 데이터 불일치가 발생한다. 문제 상황 예시 1. 같은 엔티티를 JPA로 읽고 ...
이슈 - JpaItemWriter로 엔티티 저장시, ChunkSize만큼 SELECT 쿼리 발생하는 상황
상황 배치 애플리케이션에서 A 테이블에서 조회 -> 가공 -> B 테이블에 저장 흐름으로 동작하는 청크 기반의 Job이 있음 B 테이블에 저장시 JpaItemWriter 사용 B 테이블에 저장하는 엔티티의 PK는 A 테이블의 PK와 동일. 즉, A 테이블에서 조회한 엔티티의 PK가 사용됨 (Assigned ID + @Vers...
JPA/Hibernate ID 생성 전략
@GeneratedValue 기본 키(primary key) 값의 생성 전략을 지정하는 데 사용 즉, 데이터베이스에 새 레코드를 삽입할 때 기본 키 값을 자동으로 생성하는 방법을 지정 @GeneratedValue는 @Id와 함께 엔티티 또는 매핑된 슈퍼클래스의 기본 키 속성이나 필드에 적용할 수 있다. @GeneratedValu...
젠킨스 Pipeline 알아보기
Jenkins Pipeline CD(Continuous Delivery) 파이프라인을 코드로 정의하는 Jenkins 플러그인 모음 핵심 개념 Pipeline └── Stage └── Step 개념 설명 예시 Pipeline 전체 ...
EntityManager와 영속성 컨텍스트
Architecture Hibernate는 ORM 솔루션으로서 Java 애플리케이션의 데이터 접근 계층과 관계형 데이터베이스 사이에 위치 Java 애플리케이션은 Hibernate API를 사용하여 도메인 데이터를 로드, 저장, 쿼리한다. Data Access Layer (데이터 접근 계층) ↓ ┌───...
AWS 리전과 가용 영역
AWS 서비스는 전 세계 여러 위치에 분산되어 호스팅되며, 이러한 위치들은 AWS Region, Availability Zone, Local Zone, Wavelength Zone으로 구성된다. AWS Regions 물리적으로 분리된 독립적인 지리적 영역이다. (출처 : https://docs.aws.amazon.com/glob...
AWS VPC(Virtual Private Cloud) - 기초 개념
AWS VPC(Virtual Private Cloud) 논리적으로 격리된 가상 네트워크 물리적으로 서버가 따로 있는 건 아니지만, 네트워크 주소(IP), 라우팅, 접근 규칙 관점에서는 완전히 분리된 전용 네트워크 IP 대역(CIDR), 서브넷 구조, 라우팅 방식 등을 사용자가 직접 설계 즉, AWS 안에 내가 직접 만든 가상 ...