패스트캠퍼스 미니프로젝트 후기
2주동안 진행한 미니 프로젝트가 끝났다. 토이 프로젝트는 백엔드 개발자들끼리만 진행했다면 이번 미니프로젝트는 프런트엔드 개발와 함께 협업하여 진행하였다.
토이 프로젝트와 마찬가지로 야놀자 앱에서 제공하는 일부 기능을 구현하는 것이었다. 이번에 내가 맡은 부분은 인증과 회원 부분이다. 로그인, 회원가입, 회원정보 조회, 수정 등 회원이 포함된 인증/인가 부분을 맡아 진행하였다.
프런트엔드와의 협업이기 때문에 초반 설계 기간 및 준비해야 되는 문서 작업이 많았다. API 명세문서 및 개발용 서버 작용 작업등을 얼마나 빠르게 세팅하는 것이 중요했다. 사실 개발서버를 세팅하는 것은 큰 문제가 되지 않았지만 기획이 완벽하지 않은 상태에서 API 명세를 만드는 것은 생각보다 쉽지 않았다. 그리고 Swagger를 이용해 문서 작업을 했는데 yaml파일이 아닌 스프링 코드로 작성했기때문에 빈 껍데기 컨트롤러를 만들어 명세 작업을 하게되었다.
Swagger API는 어느정도 기능 구현이 되있으면 코드상으로도 작성이 어렵지 않지만 그렇지 않은 상태로 만들려고 하니 후에 맞지 않은 부분이 너무 많고 추가 작업을 지속적으로 해줘야했다.
2주라는 짧은 시간이라 최대한 빨리 프런트엔드 작업을 진행해야했기에 코드에 종속적인 방식말고 차라리 다른 문서화를 했으면 더 나았을 것 같다는 생각을 하였다.
그리고 프로젝트간에 가장 시간적인 소요가 많이 발생한 부분은 JWT 토큰에 대한 처리 이슈였다. JWT 토큰을 쿠키로 전달하는 방식을 사전에 정해서 진행했는데 각자 개발할때는 문제가 없었지만 막상 테스트를 진행하여니 문제가 발생하였다. 쿠키로 JWT를 진행하긴 위해선 사전 도메인 작업을 맞추는 작업이 필요했는데 백, 프런트엔드 모두 그 사실을 몰라 도메인이 서로 다르게 설정하였다. 그 부분을 몰라 시간을 너무 허비하여 이후 시간이 촉박해지는 문제가 발생하였다.
프로젝트 진행 간 정리 내용
2023.12.07 - [Knowledge/네트워크] - [네트워크] 세션(Session) vs 쿠키(Cookie) vs 토큰(Token)
[네트워크] 세션(Session) vs 쿠키(Cookie) vs 토큰(Token)
개발자들이 인증 관련 처리를 하다 보면 세션, 쿠키, 토큰, JWT 등의 단어들을 맞닥뜨리게 된다. 이 단어들의 각각 의미가 무엇이며, 인증처리 간의 어떻게 연결되어 사용될 수 있는지 알아보자.
jh7722.tistory.com
2023.12.12 - [Knowledge/네트워크] - [네크워크] CORS란? (+ Spring Boot에서 설정하기)
[네크워크] CORS란? (+ Spring Boot에서 설정하기)
이번에 프런트엔드와의 협업을 하다 CORS 설정을 접하게 되었다. 설정은 검색을 해서 해결은 했지만 CORS에 대해 자세히 이해하면 더 좋을 것 같다는 생각을 해 정리를 해보았다. CORS란? CORS란 Cross-
jh7722.tistory.com
2023.12.14 - [Knowledge/네트워크] - [네크워크] HTTP Status Code(HTTP 상태 코드)
[네크워크] HTTP Status Code(HTTP 상태 코드)
스프링 프로젝트 하면 ResponseEntity 나 Custom 응답을 만들어서 프런트엔드와 소통한다. 거기에 꼭 포함되는 게 HTTP Status Code이다. 자주 사용하는 200, 201, 400, 401은 알지만 나머지는 그냥 안 쓰는 코드
jh7722.tistory.com
'프로젝트&부트캠프 > 패스트캠퍼스x야놀자 백엔드과정' 카테고리의 다른 글
[패스트캠퍼스x야놀자 개발자벡엔드 부트캠프] 토이 프로젝트 1차 후기 (0) | 2023.09.15 |
---|---|
[패스트캠퍼스x야놀자 개발자벡엔드 부트캠프] Java 과제 2 (0) | 2023.09.01 |
[패스트캠퍼스x야놀자 개발자벡엔드 부트캠프] Java 과제 1 (0) | 2023.08.25 |
패스트캠퍼스 미니프로젝트 후기
2주동안 진행한 미니 프로젝트가 끝났다. 토이 프로젝트는 백엔드 개발자들끼리만 진행했다면 이번 미니프로젝트는 프런트엔드 개발와 함께 협업하여 진행하였다.
토이 프로젝트와 마찬가지로 야놀자 앱에서 제공하는 일부 기능을 구현하는 것이었다. 이번에 내가 맡은 부분은 인증과 회원 부분이다. 로그인, 회원가입, 회원정보 조회, 수정 등 회원이 포함된 인증/인가 부분을 맡아 진행하였다.
프런트엔드와의 협업이기 때문에 초반 설계 기간 및 준비해야 되는 문서 작업이 많았다. API 명세문서 및 개발용 서버 작용 작업등을 얼마나 빠르게 세팅하는 것이 중요했다. 사실 개발서버를 세팅하는 것은 큰 문제가 되지 않았지만 기획이 완벽하지 않은 상태에서 API 명세를 만드는 것은 생각보다 쉽지 않았다. 그리고 Swagger를 이용해 문서 작업을 했는데 yaml파일이 아닌 스프링 코드로 작성했기때문에 빈 껍데기 컨트롤러를 만들어 명세 작업을 하게되었다.
Swagger API는 어느정도 기능 구현이 되있으면 코드상으로도 작성이 어렵지 않지만 그렇지 않은 상태로 만들려고 하니 후에 맞지 않은 부분이 너무 많고 추가 작업을 지속적으로 해줘야했다.
2주라는 짧은 시간이라 최대한 빨리 프런트엔드 작업을 진행해야했기에 코드에 종속적인 방식말고 차라리 다른 문서화를 했으면 더 나았을 것 같다는 생각을 하였다.
그리고 프로젝트간에 가장 시간적인 소요가 많이 발생한 부분은 JWT 토큰에 대한 처리 이슈였다. JWT 토큰을 쿠키로 전달하는 방식을 사전에 정해서 진행했는데 각자 개발할때는 문제가 없었지만 막상 테스트를 진행하여니 문제가 발생하였다. 쿠키로 JWT를 진행하긴 위해선 사전 도메인 작업을 맞추는 작업이 필요했는데 백, 프런트엔드 모두 그 사실을 몰라 도메인이 서로 다르게 설정하였다. 그 부분을 몰라 시간을 너무 허비하여 이후 시간이 촉박해지는 문제가 발생하였다.
프로젝트 진행 간 정리 내용
2023.12.07 - [Knowledge/네트워크] - [네트워크] 세션(Session) vs 쿠키(Cookie) vs 토큰(Token)
[네트워크] 세션(Session) vs 쿠키(Cookie) vs 토큰(Token)
개발자들이 인증 관련 처리를 하다 보면 세션, 쿠키, 토큰, JWT 등의 단어들을 맞닥뜨리게 된다. 이 단어들의 각각 의미가 무엇이며, 인증처리 간의 어떻게 연결되어 사용될 수 있는지 알아보자.
jh7722.tistory.com
2023.12.12 - [Knowledge/네트워크] - [네크워크] CORS란? (+ Spring Boot에서 설정하기)
[네크워크] CORS란? (+ Spring Boot에서 설정하기)
이번에 프런트엔드와의 협업을 하다 CORS 설정을 접하게 되었다. 설정은 검색을 해서 해결은 했지만 CORS에 대해 자세히 이해하면 더 좋을 것 같다는 생각을 해 정리를 해보았다. CORS란? CORS란 Cross-
jh7722.tistory.com
2023.12.14 - [Knowledge/네트워크] - [네크워크] HTTP Status Code(HTTP 상태 코드)
[네크워크] HTTP Status Code(HTTP 상태 코드)
스프링 프로젝트 하면 ResponseEntity 나 Custom 응답을 만들어서 프런트엔드와 소통한다. 거기에 꼭 포함되는 게 HTTP Status Code이다. 자주 사용하는 200, 201, 400, 401은 알지만 나머지는 그냥 안 쓰는 코드
jh7722.tistory.com
'프로젝트&부트캠프 > 패스트캠퍼스x야놀자 백엔드과정' 카테고리의 다른 글
[패스트캠퍼스x야놀자 개발자벡엔드 부트캠프] 토이 프로젝트 1차 후기 (0) | 2023.09.15 |
---|---|
[패스트캠퍼스x야놀자 개발자벡엔드 부트캠프] Java 과제 2 (0) | 2023.09.01 |
[패스트캠퍼스x야놀자 개발자벡엔드 부트캠프] Java 과제 1 (0) | 2023.08.25 |