[ 1주차 회고록 📚]
📌 커리큘럼
📌 코드리뷰 with 깃허브
github.com/CodeSoom/spring-week1-assignment-1/pull/9
1. 한 것
- Git : Pull request 날리기, 월-토 commit 하기
- 코드숨 스프링 1회 강의 2개 듣기 (환경설정, REST API 만들기, Jackson)
- HTTP, REST API, JSON, Jakson 개념 공부
- ToDo REST API 만들기 과제 수행
- 코드 리뷰 확인 후 리팩토링 진행
2. 배운 것
- Git Pull request 개념 공부 요청하는 방법
- Git commit Message 제목 작성 방법(commit 유형은 어떤 것들이 있는지 확인)
- Git add 취소 방법, Git commit 취소 방법
- HTTP Request Method 종류, HTTP Response status code 종류
- static 사용을 지양해야 하는 이유
- 특정 포트의 프로세스를 죽일 때 사용하는 명령어
- Magic literal을 표현하는 상수를 만들었을 때의 장점
(* Magit literal 이란? 코드에서 단순한 숫자 혹은 문자열을 직접 사용하는 것)
- 함수의 매개변수명을 지을 때, 함수명과 매개변수명의 연관성을 생각하기
- String.format 이란 무엇인가
- If문 조건 작성시 최대한 부정문 보다는 긍정문 사용하기
- else를 최대한 사용하지 말기
- 코드 마지막 줄에는 빈 줄이 하나 추가 되어야 한다는 것
- 리턴이 어떤 의미인지 추측하기 어렵게 코드를 짜지 않도록 노력하자
(추측할 수 없기 때문에 불필요한 주석을 쓰게 된다. 예외를 활용하는 방법도 잘 이용해 보자.)
3. 느낀 것
트레이너님으로부터 많은 코드 리뷰를 받았다.
강의 내용을 이해하고 기능을 구현하는 것에도 많은 시간이 필요했고,
받은 피드백을 적용해서 코드를 수정하는데도 꽤나 많은 시간이 들었다.
git이 아직은 익숙치 않아서 삽질도 많이 했고 스트레스도 많이 받았다.
하지만 회고록 작성을 하려고 ‘내가 한 주간 무엇을 배웠나?’ 돌아보기 위해 받은 코드리뷰를 다시 살펴보니
‘얻은것이 많다.’라고 결론 내릴 수 있을 것 같다.
이 강의를 수강하는 동기분들의 출발점과 상황은 모두 다르다.
나의 출발점이 상대적으로 뒤처져 있다면 내가 가져가야 할 방향성은 무엇일까 생각해보았다.
1) 한 주의 강의가 시작하는 날은 월요일이다.
그리고 과제를 마무리하고 다음 주차를 준비해야 하는 날은 일요일이다.
그렇다면 월요일의 나보다 일요일의 내가 어떤 면에서든 나아져 있으면 된다고 생각하자.
2) 열심히만 한다면 오히려 부족함이 많기에 더 채울 것도 많다고 생각하자.
나는 부족하기 때문에 이 곳에 온 것이고, 하나씩 채워나가면 된다.
4. 자기 선언
- 피드백을 받았어도 내 것으로 만들지 못하면 소용이 없다.
다음번에 똑같은 내용으로 피드백을 받지 않도록 최대한 노력하자.
[ 특히 기억에 남았던 피드백 ]
[ 1주차 삽질기 📈 ]
📍깃허브 pull request 보내기 과제 (일명 pr 날리기)에서 만난 에러
1) 에러 상황
과제 페이지에는 pull request를 하기까지 터미널창에 쳐야할 명령어들과 함께
순서에 따라 설명이 되어있었다.
원격 저장소 추가, upstream 원격 저장소 추가, 브랜치 만들기, fetch하기,
commit하기, origint 원격 저장소에 작업 브랜치 올리기까지 한 후....
내가 기대하는 상황은 아래와 같이 pull request를 보내는 글을 작성할 수 있는 화면이 뜨는 것이었다.
하지만 아래와 같은 메세지와 함께
꽤나 오랜시간동안 내가 원하는 화면이 나오지 않았다.
(내가 원하는 화면 : pull request를 보내는 글을 작성할 수 있는 화면)
2) 에러의 원인
"fork"를 간과했다.
과제 내용 중 아래 이미지에 있는
"origin - 공용 repository를 내 계정에 fork한 repository" 에서
fork했다는 것을 주의깊게 보지 못하고 fork를 하지 않았던 것이다.
(그냥 내가 만든 repository에서 뭔가 작업을 하고 있었음.)
* fork 는 다른 사람의 github repository를 복제하여 어떤 부분을 수정, 추가, 삭제를 용이하도록 해주는 복제기능이다.
포크로 찍어먹듯이 가져올 수 있어서 fork인가 생각해봤는데,
아래 사전적 의미처럼 뭔가 여러 사람이 복제할 수 있으니
갈라진다(?)는 느낌이 더 크지 않나... 하고도 생각해본다.
아래 참고자료를 통해 다시 pull request를 한다는 것이 무엇인지 정리했다.
📍brach를 git-training 폴더가 아닌, git-training의 상위폴더에 만듦
1) 에러 상황
본격적인 수업 시작 전, 연습을 위해 내주신 깃허브 과제를 하면서
제대로 pull request를 한 것인지 이리저리 확인하고 있는데
SourceTree에서 branch가 "main" 밖에 안 보이는 것이었다.
(내가 원하는 상황은 아래 이미지와 같이 내가 만든 "lsyBranch"도 같이 보여야 함)
2) 에러의 원인
분명 branch는 만들어졌고, pull request도 날렸는데 sourceTree에서 branch가 왜 안 보이는겨.....
-> 알고보니 branch를 git-training안에서 만들지 않고
git-training의 상위폴더에서 만들었음.
3) 해결
pull request close하고 git-training 폴더 안에서 branch 생성 후 다시 pull request 날림
4) 트레이너님과의 conversation
Q : 저렇게 제가 작업하는 폴더 바깥에 brach를 만들 수는 있되,
되도록이면 그렇게 하지 않아야 된다고 이해하면 되나요?
A : 하나의 깃 프로젝트 안에 또 다른 깃 서브 프로젝트들이 있을 때 그런 상황이 생길 수 있는데
많이 생기는 경우는 아닙니다!
📍 gradle-wrapper not found 에러
1) 에러 상황
원래 같으면 아래 코드 9번째 줄 옆에 ▶️ run 버튼이 보여야 하는데 안 보임 (run이 비활성화 되어있음...)
구글링해서 찾은 게시물을 보고 Edit configulation 에서 application을 추가해보는 등..
몇 가지 시도를 해봤지만 해결되지 않음.
윤석 트레이너님께서 preference - gradle 부분을 살펴보라고 하셔서 살펴봤더니
아래 이미지와 같이 gradle-wrapper.properties not found 에러가 뜨는 상황.
2) 해결
강의를 보면서 터미널로 gradle 프로젝트를 생성할 때 뭔가 잘못 따라한 부분이 있는듯 싶어서
다시 강의를 돌려보며 만들었더니
새로운 프로젝트에서는 run 버튼도 잘 활성화 되어있고 문제 없이 돌아감
본격적인 시작도 전에 난관이 많았구나...^^
'회고록 모음 > 코드숨-스프링 과정 회고록' 카테고리의 다른 글
[회고록] 코드숨 Spring - 6주차 코드리뷰 (JWT) (0) | 2021.03.06 |
---|---|
[회고록] 코드숨 Spring - 5주차 코드리뷰 (Validation, DTO, Dozer Mapper) (3) | 2021.02.27 |
[회고록] 코드숨 Spring - 4주차 코드리뷰 (클린 아키텍처, Spring Data JPA, Repository) (0) | 2021.02.19 |
[회고록] 코드숨 Spring - 3주차 코드리뷰 (JUnit5, AssertJ, MockMvc, Mockito) (1) | 2021.02.02 |
[회고록] 코드숨 Spring - 2주차 코드리뷰 (Spring Web MVC, ControllerAdvice, Marko.js) (0) | 2021.01.25 |