Cute Running Puppy
본문 바로가기
728x90

분류 전체보기96

IntelliJ 테스트 코드 한글 깨짐 현상 해결 IntelliJ 테스트 코드를 실행하는 중에 한글이 깨지는 현상이 발생했다. 어떠한 내용을 테스트 했는지 보려했는데... 이러면 알 수 없자나용! File > Settings... gradle 검색 후 run tests using에서 IntelliJ IDEA 선택 잘 보이는 모습! jacoco에서 한글이 깨진다면? Help > Edit Custom VM Options -Dfile.encoding=UTF-8 추가 후 저장 프로그램을 종료 후 재실행 2023. 3. 30.
JPA Query 사용하기 인스타 처럼 태그 값을 저장하고 Top3를 선정하는 로직을 짜기 위해서는 JPA 기본 메서드로 해결이 되지 않아서 Query문을 직접 작성하여 불러오는 방법을 사용해 보았다! Entity 우선 Tag를 저장하는 Entity는 이렇게 설계했다. id : 키값 post : 저장할 게시물 tag : 태그명 해당 태그를 한 게시글을 가져와야하니 JoinColumn으로 Post 객체를 연결했고 게시물에 태그가 여러개 등록되므로 @ManyToOne을 설정했다. @Getter @Entity @NoArgsConstructor public class Tag { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @ManyToOne @JoinC.. 2023. 3. 23.
CI/CD 파이프라인 CI (지속적 통합) local에서 github에 병합될 때 코드가 올바르게 동작하는지 검증하고 빌드 ( ex. dev → main) CD (지속적 배포) 프로젝트의 변경 사항을 가상 환경에 자동으로 배포 보통 CI와 CD를 함께 구축 CI만 하는 경우는 거의 없음 → CI / CD파이프라인을 통해 병합할 때 자동으로 빌드되어 배포 무중단 배포 배포의 과정에서 기존 서비스를 종료하고 새로운 서비스를 시작 → 그 사이 유저가 서비스를 이용할 수 없는 시간을 다운타임(downtime)이라 함 서비스가 중단되지 않은 상태(zero-downtime)로, 새로운 버전을 사용자들에게 배포하는 것을 무중단 배포라 함 다른 서버에 배포한 후 원래 서버를 제거하는 등 여러 방법이 있음 다른 서버에 배포를 해야하므로 최소.. 2023. 3. 22.
JPA 연관 관계(cascade, orphanRemoval) 없이 user 삭제하기 연습 JPA는 연관 관계를 맺어놓으면 함부로 삭제를 하지 못 한다. 부모를 가진 자식 테이블이 고아가 될 수 없기 때문이다..! DataBase 설계 사용자는 게시판과 일대다 관계 게시판은 좋아요와 일대다 관계 사용자는 좋아요와 일대다 관계 회원 탈퇴를 하기 위한 삭제 순서 회원 탈퇴를 하기 위해서는 모든 관계를 제거해야한다 → 고아가 될 수 없어! 내가 한 좋아요를 모두 삭제 → user_id를 기준으로 삭제 내가 쓴 게시글을 삭제하고 싶다! → 연관된 좋아요가 있으므로 먼저 제거를 해야한다! 내가 쓴 게시글의 좋아요를 삭제 → post_id를 기준으로 내가 쓴 ⭐모든⭐ 게시글을 ✔️검색✔️하여 게시물 마다의 좋아요를 삭제한다. 게시글의 연관된 좋아요가 모두 삭제 됐으므로 게시판을 삭제 가능하다. 내가 쓴 .. 2023. 3. 21.
728x90