전체 글 190

'22.07.29 Today I Learned

- @NoArgsConstructor 의 중요성 1. @NoArgsConstructor 의 중요성 최종 프로젝트 발표를 앞두고 시연 영상을 촬영하려고 하던 도중 북마크 기능이 정상적으로 작동되지 않았다. 에러 로그를 읽어보니 BookmarkRequestDto 쪽에 문제가 있는 것 같았다. BookmarkRequestDto에 들어가서 보니 @NoArgsConstructor가 빠져있고 @AllArgsConstructor만 있는 상태였다. @NoArgsConstructor를 붙여주니 정상적으로 작동이 됐다. 보통 Dto에는 @Setter는 쓰지 않는 것 같다. 그런데 @NoArgsConstructor와 @AllArgsConstructor는 붙여주는게 좋은 것 같다.

'22.07.28 Today I Learned

- swagger @ApiReponse 사용하는 방법 1. Swagger @ApiReponse 사용하는 방법 오늘 스웨거를 사용해보려고 시도했다. 그런데 @ApiResponse가 제대로 먹히지 않았다. 팀원 분의 도움으로 @ApiResponse를 쓰는 법을 알게 됐다. - 사용법 @ApiResponses({ @ApiResponse(code = 200, message = "성공", response = CommentResponseDto.class) }) 이런 식으로 @ApiResponses 안에 써주면 된다.

'22.07.27 Today I Learned

- Swagger 적용해보기! 1. Swagger 적용해보기! 이 글에선 2.9.2 버전으로 진행한 것을 적고자 한다 1️⃣ 디펜던시 추가 implementation group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.9.2' implementation group: 'io.springfox', name: 'springfox-swagger2', version: '2.9.2' 두 가지 디펜던시를 build.gradle에 추가해준다. 2️⃣ SwaggerConfig 파일 작성 @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket restAPI() { retu..

'22.07.26 Today I Learned

- 람다 메서드 참조 1. 람다 메서드 참조 람다와 스트림에 대해서 간단하게 공부를 했는데 그 중에서 람다의 메서드 참조에 관해서 오늘 정리를 해보면 좋을 것 같다. - 언제 쓰는가? 람다식이 하나의 메서드만 호출할 때는 '메서드 참조' 라는 것을 사용할 수 있다. public class Main { public static void main(String[] args) { List cities = Arrays.asList("서울", "부산", "속초", "수원", "대구"); cities.forEach(x -> System.out.println(x)); } } 이런 코드가 있다고 할 때 메서드 참조를 사용하면 아래와 같이 된다. public class Main { public static void mai..

'22.07.25 Today I Learned

- 고객피드백 반영 페이징 부분 개선 1. 고객피드백 반영 페이징 부분 개선 고객피드백을 주말동안에 받고 오늘은 피드백 받은 부분에 대해서 개선할 수 있는 부분들을 수정하면서 시간을 주로 보냈다. 피드백에서 제일 언급이 많았던 것이 댓글 페이징 부분이었다. 실제 댓글 개수보다 더 많은 페이지 번호가 있어서 그 페이지로 계속해서 넘어가진다는 피드백이 많았다. 이 부분은 일단 페이징을 급하게 만든거라 어느정도 예상을 하고 있던 부분이었다. 그래서 일단 이 부분을 고쳐보려고 했다. 그런데 쉽지 않았다. 제공해준 강의에 있는 코드와도 같고 이 기능을 구현한 다른 팀의 코드와도 비교해서 프론트엔드 쪽 코드는 차이가 없는데 대체 왜 난 안 되는 것인지 알 수가 없었다. 한참을 고민한 끝에 그러면 백엔드 쪽 문제가 ..

'22.07.18 ~ '22.07.22 (내일배움캠프 14주차) Weekly I Learned

How to record Weekly I Learned ? => 4F What is 4F? Fact : 이번주 있었던 일, 내가 한 일 Feeling : 나의 감정적인 반응, 느낌 Finding : 그 상황으로부터 내가 배운 것, 얻은 것 Future : 배운 것을 미래에 어떻게 적용할 것인가 1. Fact - 프로젝트 4주차 진행 - 고객 피드백 받음 2. Feeling & Finding 프로젝트 4주차가 마무리 됐다. 정말 프로젝트가 막바지에 접어들었다는 것이 실감이 난다. 시작할 때만 해도 어떻게 시작해야될지 막막해서 한참 고민하고 끙끙댔던 기억이 있는데 벌써 고객 피드백도 받고 있다니 시간이 빠른 것 같다. 프로젝트 4주차엔 새로운 기능을 더 만드는 것보다는 코드를 보완해야할 것들을 더 보완하고 ..

'22.07.22 Today I Learned

- git push가 안 될 때 해결법 1. git push가 안 될 때 해결법 프로젝트를 하다가 갑자기 git push가 안 됐다. 다음과 같은 에러가 뜨면서 말이다. 에러를 읽어보니 Personal Access Token 문제인 것 같았다. 에러를 검색해보니 push 하려는 브랜치에 .github/workflow라는 디렉토리가 있는데 토큰에 workflow에 관한 권한이 없어서 그런 것이므로 workflow를 열어주면 된다는 결과를 찾을 수 있었다. [참고] https://velog.io/@yulhee741/refusing-to-allow-a-Personal-Access-Token-to-create-or-update-workflow-Error-%ED%95%B4%EA%B2%B0 refusing to a..

'22.07.21 Today I Learned

- git stash - 페이징 처리하는 법(어이없는 실수 포함..) 1. git stash 프로젝트를 하면서 git을 쓰고 있다보니 git에 대해서 다양하게 공부해보게 되는 것 같다. 그동안 commit, push만 쓰다가 이제 rebase도 알게 되고 cherry-pick도 알게 되고 오늘은 stash에 대해서 알게 됐다. git stash는 일종의 현재 작업한 코드 변경사항을 임시저장을 하는 것이다. git stash를 하면 임시저장이 되면서 작업하던 변경사항들은 사라진다. git stash는 주로 어떤 작업을 하다가 다른 요청이 있어서 다른 작업을 해야되는 경우에 브랜치를 바꿀 일이 있을 때 쓰면 꽤 유용하게 쓸 수 있을 것 같다. 하던 작업을 커밋하기는 좀 껄끄러울 때 stash를 해두면 좋을 ..

'22.7.20 Today I Learned

- git cherry-pick 사용법 1. git cherry-pick 사용법 프로젝트를 진행하다가 PR을 날렸는데 이슈 성격에 맞지 않는 커밋이 섞여있어서 새로운 브랜치를 만들어서 새롭게 PR을 할 일이 있었다. 이 때 새로운 브랜치에 이전에 작업했던 브랜치에서 내가 원하는 커밋만 딱 가져다가 붙일 수 있는 기능이 바로 cherry-pick이었다. 그동안 프로젝트를 하며 git을 많이 쓴다고 썼지만 cherry-pick은 들어만 보았지 실제로 쓸 일이 없었는데 오늘 공부도 할 겸 써보기로 했다. 생각보다 쓰는 방법은 간단했다. 우선 브랜치가 두 개 있다고 가정하겠다. branch1, branch2가 있고 새로운 브랜치가 branch2 이다. 이 때 branch1에 있는 일부 커밋을 branch2에 가..

'22.07.19 Today I Learned

- 깃허브 이슈, PR 템플릿 만드는 법 1. 깃허브 이슈, PR 템플릿 만드는 법 무슨 작업을 하든지 간에 이슈를 만들고 브랜치를 파서 PR을 하면서 작업을 하기로 한 이후로 이슈도 많아지고 PR도 많아졌는데 정작 템플릿을 통일하지 않고 사용하고 있었다. 깃허브 관리의 통일성과 좀 더 명확한 이슈와 PR 파악을 위해 템플릿을 통일해보았다. • 이슈 템플릿 만드는 법 1. 만들고자 하는 레포지토리의 settings 들어간다. 2. 스크롤을 내리다 보면 Features 에 Set up templates가 보인다. 3. Add template을 눌러서 만들고자 하는 템플릿 유형을 선택한다. (Custom도 할 수 있음) 4. Preview and Edit을 눌러준다. 5. 연필 모양을 눌러서 수정을 시작한다..