본문 바로가기

전체 글

(55)
[19] mutsa-SNS-2 2일차 - (2) 좋아요 기능 test code 앞서 만든 좋아요 기능이 제대로 작동하는지 test code를 통해 검증해보았다. 좋아요 누르기 성공 좋아요 누르기 실패 - 로그인 하지 않은 경우 좋아요 누르기 실패 - 해당 Post가 없는 경우 1. PostControllerTest @WebMvcTest(PostController.class) class PostControllerTest { @Autowired MockMvc mockMvc; @MockBean PostService postService; @Autowired ObjectMapper objectMapper; ... @Test @DisplayName("좋아요 누르기 성공") @WithMockUser void like_do_success() throws Exception { when(postS..
[18] mutsa-SNS-2 2일차 - (1) 좋아요 기능 구현 (soft delete 복구) 좋아요 기능을 구현해 보았다. 로그인 한 유저만 좋아요 누르기 가능 이미 좋아요 상태에서 한번 더 누르면 좋아요 취소 (soft delete로 구현) 글에 달린 좋아요 수는 모두 열람 가능 기능 구현 중, SQL naming Error 이슈 발생하여 시간을 꽤나 잡아먹었다. 아래에세 좀 더 이야기를 풀어보겠다... 1. Domain Like (Entity) @Builder @AllArgsConstructor @NoArgsConstructor @Getter @Setter @Table(name = "likes") @Entity @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) //soft delete @SQLDelete(sql = "UPDAT..
[03] 230103 게임 개발 일지 - 스탯 함수 + 장비 장착시 스킬 배우기 멋사에서 진행하는 개인 프로젝트와 연말 행사와 약속에 정신이 없어 게임 개발에 소홀해졌다... 연말에 휴강하며 쉬면서 충전된 에너지를 토대로 앞으로 열심히 해야겠다... 1. 스탯 함수 전투 스킬 레벨에 따른 스탯 보너스를 구현하기 위해 스탯 함수를 튜닝 했다. 그러던 도중, 함수 내에서 스탯을 불러 올 때 원래 계산되었던 스탯이 아니라, 캐릭터 레벨에 따른 초기 셋팅값을 불러와 혼동이 많이 왔다. 또한, 아이템 착용 시 실행되는 Server.onRefreshStat 함수와, 그 함수에 추가시킨 커스텀 함수 간의 작동 차이가 있는 것을 발견했다. 이로 인해 데미지 함수에서 전투 스킬 레벨이 오를 때, 커스텀 함수가 아니라, 스탯을 다시 계산하는 unit.RefreshStats()을 불러와야 함을 깨닳았다..
[17] mutsa-SNS-2 1일차 - (2) 댓글 기능 test code 댓글 기능 관련 test code를 작성해 보았다. controller test code를 작성해 보았으며, 아래의 경우에 대하여 진행하였다. 댓글 등록 댓글 작성 성공 댓글 작성 실패(1) - 로그인 하지 않은 경우 댓글 작성 실패(2) - 게시물이 존재하지 않는 경우 댓글 수정 댓글 수정 성공 댓글 수정 실패(1) : 인증 실패 댓글 수정 실패(2) : 댓글 불일치 댓글 수정 실패(3) : 작성자 불일치 댓글 수정 실패(4) : 데이터베이스 에러 댓글 삭제 댓글 삭제 성공 댓글 삭제 실패(1) : 인증 실패 댓글 삭제 실패(2) : 댓글 불일치 댓글 삭제 실패(3) : 작성자 불일치 댓글 삭제 실패(4) : 데이터베이스 에러 PostControllerTest @WebMvcTest(PostControl..
[16] mutsa-SNS-2 1일차 - (1) 댓글 기능 구현 1주차 2주차 미션이 끝난 후 2일 휴강과 주말을 푹 쉬었다... 새로운 마음으로 새 기능을 구현해 보았다. 오늘 구현한 기능은 댓글 기능이다. 댓글 목록은 모든 유저가 조회 가능 댓글 작성은 로그인 한 유저만 가능 댓글 수정/삭제는 댓글 작성 유저만 가능 (ADMIN유저는 모든 댓글에 대하여 수정/삭제 가능) 1. Configuration SwaggerConfig @Configuration @RequiredArgsConstructor public class SwaggerConfig { private final TypeResolver typeResolver; @Bean public Docket api() { return new Docket(DocumentationType.OAS_30) //swagger ..
[15] 3주차/4주차 미션 개요 1. 기한 2023.01.03 ~ 2023.01.10 2. 필수 과제 댓글 기능 구현 좋아요 기능 구현 마이피드 기능 구현 알림 기능 구현 Swagger에 ApiOperation을 사용하여 Controller 설명 보이게 할 것
[14] mutsa-SNS 7일차 - 코드 리펙토링 팀 프로젝트의 조원분들의 피어리뷰를 토대로 코드 리펙토링을 해 보았다. @ApiIgnore annotation 추가 (Swagger 관련) Swagger Authorize button 추가 UserDto.build()의 중복 사용 개선 PostServiceTest code 개선 1. @Apilgnore @RestController @RequestMapping("/api/v1/posts") @RequiredArgsConstructor public class PostController { private final PostService postService; @PostMapping public Response createPost(@RequestBody PostCreateRequest req, @ApiIgnor..
[13] mutsa-SNS 6일차 - (2) Admin 권한 부여 기능 추가 생각보다 test code의 작성이 빨리 끝나 도전과제인 admin 권한 부여에 도전해 보았다. ADMIN 회원으로 등급업하는 기능 초기 ADMIN 회원은 하나가 존재하고 ADMIN 회원은 일반회원의 권한을 ADMIN으로 승격시킬 수 있다. ADMIN 회원이 로그인 시 자신이 쓴 글이 아닌 글에 대해 수정, 삭제 가능 밑의 두가지 기능은 이미 진행하였기 때문에, USER 회원을 ADMIN으로 등급업 하는 기능을 추가하였다. 등급업이 가능한 유저는 ADMIN 유저이다. 1. Configuration SecurityConfig @EnableWebSecurity @Configuration @RequiredArgsConstructor //WebSecurityConfigurerAdapter 는 이후 SpringB..