SSAFY의 1학기 관통 프로젝트인 "Back-Tracking"을 마치며 회고를 남긴다.
개발 기간이 한달도 채 되지 않아서 노트에 끄적끄적거리면서 탄생한 프로젝트이다.
( 오히려 노트에 적는 감성 조흠.. )
프로젝트를 하면서 백엔드 지식에 대해서 한 번 더 차곡차곡 정리해보았다.
주요 HTTP 메서드
GET: 리소스 조회 ('url에 data 포함')
POST: 리소스 생성 ('body에 data 포함')
PUT: 리소스 전체 수정 ('body에 data 포함')
PATCH: 리소스 부분 수정 ('body에 data 포함')
DELETE: 리소스 삭제 ('url에 data 포함')
주요 상태 코드
2xx: 성공
200: OK
201: Created
204: No Content
4xx: 클라이언트 오류
400: 잘못된 요청
401: Unauthorized
403: Forbidden
404: 자원 NOT FOUND (client 가 요청한 Page나 리소스를 웹 서버에서 못 찾음)
409: 충돌/ 중복 발생 (HttpStatus.CONFILCT)
5xx: 서버 오류
500: 서버 내부 에러
502: Bad Gateway
503: Service Unavailable
복잡한 객체를 단계별로 생성할 수 있게 해주는 디자인 패턴
.userId("") 이렇게 .으로 속성값 추가가 가능하다.
빌더 패턴을 사용하면서 다른 패턴들도 있는지 궁금했고, 빌더 패턴은 왜 사용하는지도 궁금해서 찾아봤다.
빌더 패턴은 디자인 패턴의 한 종류라고 한다.
디자인 패턴이란 단어는 왜 생겼는지 또 궁금해졌다.
다른 페이지로 정리해보았다.
URL 만 봐도 어떤 자원을 삭제, 조회하는지 알아야야 한다.
URI는 '리소스를 나타내는 명사'를 사용해야 한다.
행위를 나타내는 '동사는 URI에 포함하지 않는다'
'복수형'을 사용하여 일관성을 유지한다.
GET /users # 사용자 목록 조회
GET /users/123 # 특정 사용자 조회
POST /users # 새로운 사용자 생성
< 나쁜 예시 >
GET /getUsers # 동사 사용
GET /user/all # 일관성 없는 단수형
POST /createUser # 행위를 URI에 표현
LocalStorage를 사용하면 컴퓨터 껐다가 켜도 자동 로그인이 유지되며
SessionStorage를 사용하면 새로고침을 해도 로그인이 유지된다는 차이점이 있다.
일단, 다음 프로젝트에서 해보고 싶은 것들이 생겼다.
그리고, 생각하면서 코드를 구현해야한다는 것을 다시금 느꼈다.
생각하지 않으면, 코드를 수정할 요소가 많아지고 결국 코드만 길어지는 상황이 올 수 있다. 한 번 짤 때 고려해야할 여러 상황을 시뮬레이션 한 후에 실행에 옮기는 것이 중요한 것 같다.
짧다면 짧고 길다면 긴 개발 기간이였지만, 개발하면서 '개발이 이렇게 재밌었던건가?' 라는 생각이 들었다.
가장 좋았던 건, 팀원과 으쌰으쌰 열심히 했던 것!
일 분배 챡챡 잘되고 할 거 모두 다 맡아서 해서 일사천리였던 것!
2학기에 시작할 프로젝트에서도 찬찬히 해내보자 🥰
마지막으로 취업할 회사의 분야에 관한 프로젝트를 하면 좋겠는데, 혹시 모르니까 금융 관련 프로젝트 하나랑 모빌리티 관련 프로젝트 하나 할 수 있었으면 좋겠다.