삽질
PostMan
-PostMan 이용해 Mock server 생성하고 request가 오면 지정한 response를 반환하는 서비스 구축 중. user-id-vaildation은 되는데 email은 안됨.
- [x] request body의 차인가 싶어서 시도
- [x] URL을 다시 확인하기.
- [x] example의 method 차이였음. get이면 성공, post면 실패 -> url로 보는 건 get방식만 가능.
Heroku로 API 배포
- heroku로 중복 유효성 체크하는 API 배포가 안됨. 진이 정리한대로 하려는데 안된다.
git subtree push --prefix BE heroku master
위 명령 입력하면
git push using: heroku master
To https://git.heroku.com/hyunjun2.git
! [rejected] 24483eac814fa6c7439560dd805f0e742447b94c -> master (non-fast-forward)
error: 레퍼런스를 'https://git.heroku.com/hyunjun2.git'에 푸시하는데 실패했습니다
힌트: 현재 브랜치의 끝이 리모트 브랜치보다 뒤에 있으므로 업데이트가
힌트: 거부되었습니다. 이 브랜치를 체크아웃하고 푸시하기 전에
힌트: ('git pull ...' 등 명령으로) 리모트 변경 사항을 포함하십시오.
힌트: 자세한 정보는 'git push --help'의 "Note about fast-forwards' 부분을
힌트: 참고하십시오
위와 같은 에러를 줘서 권한 문제인가 싶다.
git pull heroku master를 해도 안된다.
- 헤로쿠 홈페이지에서 권한을 해결해본다.
- heroku clone 명령으로 해본다.
- 클론하니 마지막으로 배포한 저장소를 가져온다. 프로젝트 저장소에 했다면 큰일 날뻔.
- 새로 만든다.
- 헤로쿠 홈페이지에서 회원가입한다.
- 기존에 heroku가 저장된 저장소에서 heroku login으로 user를 바꾼다.
-
heroku git:remote -a <헤로쿠 앱 이름>
으로 heroku remote를 변경한다. 기존에 있다면 덮어진다. - 그 뒤 기존대로 하면 된다.
git subtree push --prefix BE heroku master
이명령하면 배포는 완료.git push heroku BE-Feature-007:master
이 명령하면 gradle이 없다고 함. 그래도 위 명령만 해도 배포는 잘된다.
JDBC
- @Query를 설정하면 findByUserId의 return을 컬럼 하나만 할 수 있다. User 전체를 가져오면 비싼 연산이기 때문이다.
Cors 이슈
- cross origin resource Sharing : 웹페이지의 제한된 자원을 외부에서 접근할 수 있게 허용하는 것을 말한다.
- 보안의 이슈로 외부 도메인에서 접근할 수 없는 경우가 있다. XMLHttpRequest가 막는다고 하는데 이걸 허용해주는 것이다.
- 서버 단에서 해결하는 방법 : http://jmlim.github.io/spring/2018/12/11/spring-boot-crossorigin/
- 클라이언트가 해결하는 방법 : https://cors-anywhere.herokuapp.com/hyunjun.herokuapp.com/user-id-vaildation 처럼 앞에
cors-anywhere.herokuapp.com
으로 지정한다.
회고
- 시작 하기 전에 모든 기술을 알고 시작할 수는 없다. 먼저 기능 구현을 시작하고 막히는 부분이 있을 때마다 기술을 배우고 찾아본다.
- 어제 회고대로 막히는 부분이 있더라도 급급하게 찾지 않고 시간을 정했다. 1시간 정도 정하고 도중에 에러 메세지, 시도한 해결방법, 시도할 방법들을 기록하고 체크하면서 했다. 확실히 시간이 단축되고 에너지가 덜 쓰인다.
'TIL(Today I Learned)' 카테고리의 다른 글
20.04.01) TIL (0) | 2020.04.01 |
---|---|
20.03.24) TIL (0) | 2020.03.25 |
20.03.22) TIL (0) | 2020.03.23 |
20.03.21) TIL (0) | 2020.03.21 |
20.03.20) TIL (0) | 2020.03.21 |