전체보기

· Tool/Spring
멀티미디어 파일을 포함한 글 작성 요청을 처리하는 서버를 개발할 때, 파일 저장소로 AWS S3를 사용하고 있다고 가정하자. 만약 글 작성 요청을 처리하는 중에 서버에 장애가 발생하여 요청이 중단될 경우, 트랜잭션이 실행 결과를 롤백할 때 외부 서비스인 S3의 작업은 함께 롤백되지 않는다. 그렇다면 어떻게 S3의 작업을 롤백해야 할까? 고민하고 검색해서 여러 가지 방법을 찾아봤다. 내가 작성한 메서드의 초기 형태는 아래와 같은 형식이다. S3에 이미지 파일을 올리는게 비즈니스 로직 사이에 있다. @Transactional public PostResponseDto createPost( MultipartFile[] images ) { // 불필요한 코드 지움 Post savedPost = postReposi..
· TIL
오늘 한 일 Spring Data JPA를 쓰는데 쿼리 메소드로 여러 연관관계를 표시하는게 복잡해서 JPQL을 공부하고 사용했다. 조금 복잡한 조회 조건(좋아요 누른 글 목록을 얻는데, 글 작성자가 비공개 계정이라면 얻을 수 없다)을 쿼리로 작성하려고 하니 서브쿼리 때문에 가독성이 많이 나빠졌다. 그래서 서버에서 글 필터링 조건을 처리할지 고민했는데, 글이 많아지는 경우에 서버가 처리하는 것보다 DB에서 처리할 때 인덱스를 걸어서 가독성은 나쁘지만 조회 속도는 최적화 할 수 있다고 생각했다. 그냥 흘깃 봐도 아래의 쿼리는 보기가 싫어진다.. 더 가독성 좋은 쿼리를 위해서 다음엔 QueryDsl를 사용해야겠다. // 좋아요를 누른 글 목록 조회(글 작성자가 비공개 상태라면 팔로잉 중일 때만 조회) @Que..
· TIL
오늘 한 일 Spring boot가 jackson에 추가하는 설정을 공부했다. gradle로 빌드할 때와 intellij idea로 빌드할 때 jackson의 직렬화/역직렬화에 필요한 생성자와 접근자가 달라지더라.. SNS 프로젝트에 좋아요와 관련된 기능을 개발했다. 유저가 여러 글에 좋아요를 할 수 있기 때문에 N:M이라 유저-좋아요-글을 1:N:1로 풀었다. 알고리즘 문제 1개 풀었다.
프로그래머스의 레벨 2 문제 최솟값 만들기 문제 요구 조건 두 리스트에서 원소 하나씩을 꺼내 곱한 값을 모두 더했을 때, 최소가 되는 값을 구해야 한다. 풀이 방법 a에서 가장 작은 수 순서대로, b에서 가장 큰 수 순서대로 곱하면 그게 최소다. def solution(A,B): answer = 0 A.sort() B.sort(reverse=True) for i in range(len(A)): answer += A[i]*B[i] return answer
· TIL
오늘 한 일 아웃소싱 프로젝트의 주제로 SNS 백엔드 서버를 만들기로 했다. 인스타그램으로 가입할 수 있는 Thread의 기능을 비슷하게 만드는게 목표다. 기능을 분석하면서 게시글을 조회하는 방법이 생각보다 다양해서 놀랐다. ㅋㅋㅋㅋ 하나씩 해봐야지.. 추천 시스템은 흉내만 내야겠다. 프로젝트 S.A 문서를 작성하는데 오늘 하루를 거의 다 썼다. 기능을 기획하면서 의견을 나누다 보니 시간이 순식간에 지나가네.. 그래도 (쉬운)알고리즘 문제 1개 풀었다. [프로그래머스] Python3 - 최솟값 만들기 프로그래머스의 레벨 2 문제 최솟값 만들기 문제 요구 조건 두 리스트에서 원소 하나씩을 꺼내 곱한 값을 모두 더했을 때, 최소가 되는 값을 구해야 한다. 풀이 방법 a에서 가장 작은 수 순서대로 ouohoo..
· TIL
오늘 한 일 Spring boot + spring security 환경에서 Junit5와 Mockito로 dto, entity, controller, service, repository 및 통합 테스트 하는 방법을 공부하고 테스트 코드를 작성했다. [Spring boot] controller layer 테스트 코드 작성하기 service layer의 테스트 코드에 이어서 controller layer의 테스트 코드 작성하는 방법을 정리해두자. controller를 테스트하기 위해서 주로 @WebMvcTest 애너테이션(이름대로 WebMvc와 관련된 Bean이 등록된다)을 ouohoon.tistory.com [Spring boot] Service layer 테스트 코드 작성하기 Spring boot와 JU..
도_유
'분류 전체보기' 카테고리의 글 목록 (4 Page)