전체 글

전체 글

    [Spring] 서비스 코드를 테스트하기 어렵다면?

    [Spring] 서비스 코드를 테스트하기 어렵다면?

    Spring 프레임워크 기반으로 서비스를 개발할 때 간혹 단위 테스트하기 어려운 경우를 마주합니다. 저는 S3 리소스 연동 모듈을 사용하여 서비스를 개발한 적이 있는데 테스트 코드를 작성할 때 서비스 클래스가 S3와 강한 의존성을 갖고 있어 테스트하기 어려웠던 경험이 있습니다. 리소스를 효율적으로 사용하기 위해서 반드시 연동을 테스트해야 하는 경우가 아니라면 임시 모듈로 교체할 필요가 있습니다. 밑에 샘플 코드를 통해 비슷한 예시를 들 수 있습니다. 샘플 코드 @Service public class GithubService { public RepositoryInformation getInformation(String owner, String repositoryName) throws IOException ..

    Naver Cloud Platform Certified Associate 합격 후기

    Naver Cloud Platform Certified Associate 합격 후기

    소개 NCP 기술 자격증이란 네이버 클라우드에서 주관하는 시험으로 Associate, Professional, Expert 단계로 구성되어 있습니다. 각 자격증 레벨별 설명은 아래 사이트를 참고하면 될 것 같습니다. https://edu.ncloud.com/certi EDU PORTAL - NCLOUD CLOUD PLATFORM Improve your company’s operational competitiveness with a simple and fast workflow. edu.ncloud.com 응시 이유 NCP에서 사용할 수 있는 크레딧을 꽤 많이 지원받아서 실습이나 실제 개발에 활용할 수 있는 기회가 주어지고 다른 클라우드 자격증에 비해 저렴할 뿐 아니라 (50,000원) 클라우드 생태계를 이..

    [Spring Data JPA] saveAll은 만능일까?

    [Spring Data JPA] saveAll은 만능일까?

    개발 환경 필자의 개발 환경에 맞추어 포스팅되었으니 참고 바랍니다. Java / Gradle Spring Boot 2.7.8 Spring Data JPA MySQL 8.0.24 개요 이번에 간단한 팀 프로젝트를 진행하면서 Spring Data JPA를 사용했습니다. 평소에 자주 애용하던 KREAM의 백엔드 서버를 분석하고 구현하는 프로젝트였는데, 필자는 이 프로젝트에서 스타일 파트를 맡았습니다. 스타일은 일종의 인스타그램과 매우 비슷했는데, 특이한 점으로는 KREAM에서 거래 중인 상품을 태그 할 수 있다는 점이었습니다. 해당 도메인의 피드 등록 기능을 개발하던 중 피드에 들어가는 해쉬태그(#)나 상품들을 별도 테이블로 분리해서 관리할 필요가 있었습니다. 테이블이 분리되었기 때문에 하나의 피드가 등록될 ..