분류 전체보기(116)
-
CI(Continous Integration) 도구 선택 고민 원큐에 끝내기
2023.11.14 - [해축갤 프로젝트/CI CD] - CI(Continuous Integration) 개념, 개인 CI vs 팀 CI CI(Continuous Integration) 개념, 개인 CI vs 팀 CI 2023.10.31 - [해축갤 프로젝트/테스트 코드] - postman 띡띡딸깍 귀찮아서 테스트 코드 짭니다 postman 띡띡딸깍 귀찮아서 테스트 코드 짭니다 매번 기능 만늘때마다 postman 띡 띡 딸깍 하며 기능 테스트 xpmxf4.tistory.com 만약 CI에 대해서 잘 모르신다면 아~주 깔끔히 지난 글을 보고 오시면 좋습니다! 그리고 정말 너무너무 급하시면 아래 결론을 먼저 보시고 글을 읽으셔도 됩니다!! 그처 하트 하나만,,,! 저번 글에서 CI에 대한 기본 개념과 이를 ..
2023.11.14 -
CI(Continuous Integration) 개념, 개인 CI vs 팀 CI
2023.10.31 - [해축갤 프로젝트/테스트 코드] - postman 띡띡딸깍 귀찮아서 테스트 코드 짭니다 postman 띡띡딸깍 귀찮아서 테스트 코드 짭니다 매번 기능 만늘때마다 postman 띡 띡 딸깍 하며 기능 테스트 하는 게 너무나 귀찮습니다. '귀차니즘'이 많은 개발자냐고요? 네! 그거 잘못된 거 아니냐고요? 는 장난입니다만, 사실 진짜 알빠노이긴 xpmxf4.tistory.com 이제 테스트 코드도 다 작성했겠다, CI 를 본격적으로 구축해 보기로 했다. 근데 사실 뭐 자동 테스트 빌드 등등의 키워드로만 알고 제대로는 알지 못해 어디 가서 아는 척좀 하려고 찾아봤다! CI 란 지속적 통합은 자동화된 빌드 및 테스트가 수행된 후 개발자가 코드 변경 사항을 중앙 리포지토리에 정기적으로 병합하..
2023.11.14 -
MSA 에서 알람 메세지 Firebase Cloud Messaging(FCM) 처리하기
https://organic-hunter-0ab.notion.site/FCM-60b5f7ebbb1f486a8b139ebe4ea5a09c?pvs=4 이 글은 위 팀 노션에서 서로 공유하기 위한 글이지만, 다른 사람들에게도 공유되면 좋겠어서 옮긴 글입니다 :) 배경 Firebase Cloud Messaging(이하 FCM) 관련해서 user-service는 알람 이벤트를 어떻게 핸들링할지 의뢰가 들어왔습니다. 이 부분에 대해서 협의가 충분히 고려해야 되는 이유는 사용자에게 실제로 가는 알람까지 여러 마이크로서비스의 협업이 동반되기 때문입니다. 간략히 FCM 의 과정을 설명하자면 사용자가 애플리케이션에 로그인할 때 생성되는 FCM 토큰을 활용하여 사용자가 주문 상태 변경과 같은 중요한 이벤트를 실시간으로 받아..
2023.11.08 -
Hibernate의 "Detached Entity Passed to Persist" 오류 이해와 해결
오류 이해하기 Detached(준영속) 상태란? Hibernate 및 JPA에서 엔티티의 생명주기 중 하나인 'Detached' 상태는 영속석 컨텍스트가 더 이상 해당 객체를 추적하지 않을 때 발생합니다. 세션이 닫히거나(close), 클리어될 때(clear), 또는 수동으로 영속성 컨텍스트에서 제거(detach) 될 때 이 상태에 도달할 수 있습니다. Entity의 상태 코드 EntityState enum을 보면 public enum EntityState { PERSISTENT, TRANSIENT, DETACHED, DELETED; static final CoreMessageLogger LOG = CoreLogging.messageLogger( EntityState.class ); /** * Deter..
2023.11.08 -
org.mockito.exceptions.misusing.UnnecessaryStubbingException 해결
// PostService의 게시글 수정(updatePost) 정상 케이스 테스트 코드 @Test public void updatePost_ShouldChangePostDetails_WhenUpdateInfoIsValid() throws Exception { // given - 상황 만들기 Long postId = 1L; PostUpdateDTO postUpdateDTO = PostUpdateDTO.builder() .title("Updated Title") .content("Updated Content") .build(); Post existingPost = Post.builder() .id(postId) .title("Title") .content("Content") .build(); when(pos..
2023.11.07 -
테스트를 더 빨리 끝내보기 (feat. 자료구조, singletonList)
https://github.com/xpmxf4/HaeChuk-Gallery/blob/main/src/test/java/HailYoungHan/Board/controller/PostControllerTest.java 위와 같은 코드가 있는 데 테스트하는 게 일일이 귀찮아서 시작했던 테스트 코드를 이제는 더 빨리 굴려볼 수는 없을까 라는 고민이 들어 코드를 한번 개선해보고자 했습니다. 그렇다면 어떤 부분을 개선할 수 있을까 라는 고민을 하다가 List allPosts 부분을 봤습니다. 자료구조를 사용한다면 어떻게 더 빠른 코드가 생성이 될 수도 있지 않을까 싶었습니다. 그래서 다음 2가지 코드를 한번 짜봤습니다. List 자료구조를 활용해 게시물 담기 처음은 기존처럼 Arrays.asList() 를 사용해 ..
2023.11.02