Leoh

대용량 파일을 WAS에 직접 올려야 했던 비극 (feat. Chunk Upload)

문제 상황 회사 프로젝트 중 2~6GB에 달하는 대용량 압축파일을 업로드해야 하는 상황이 있었다.하지만 적절한 인프라가 갖춰지지 않아, S3 같은 외부 저장소 없이 WAS(Web Application Server)에 직접 업로드해야만 했다. 시스템 구조 화면 → A 시스템(통합포탈 백엔드) → B 시스템(파일 업로드 처리 서버) → 외부 AP...

만 2년 차 개발자의 회고: 나는 왜 성장하려고 할까?

들어가며 2023년 4월 4일 신입으로 입사한 후, 두 번째 연 회고록이다. 연차가 쌓인다는 것은 좋으면서도 달갑지만은 않다. 기회는 많아지지만, 그만큼 책임과 기대도 커진다. 하지만 연차가 쌓이는 만큼 회사에서는 나에게 당연한 수준과 책임, 실력을 기대한다. 나는 개발자로서의 역량이 연차보다 빠르게 쌓이고 있을까? 이번 회고를 하며, 신입을 벗어나기...

선언적 트랜잭션과 명령형 트랜잭션의 혼합 사용

문제 스프링부트에서 트랜잭션을 관리할 때, 대부분의 개발자들이 선언형 트랜잭션이라 불리는 @Transactional 어노테이션을 사용한다. 그 이유는 확실하다. @Transactional은 AOP로 트랜잭션을 관리해주기 때문에, 개발자가 트랜잭션을 관리하는 코드를 작성하지 않아도 된다. 그런데 만약 선언형 트랜잭션과 명령형 트랜잭션을 같이 사용하게...