이번주 주제는 API!
API는 어떤 응용프로그램에서 데이터를 주고 받기 위한 방법을 의미한다. 이번에 배운 REST API는 API의 한 종류인데, API를 요청하는 방식 중 GET Method와 POST Medthod가 있다. (PUT, UPDATE 등도 있지만, 이번에 사용 했던 것은 GET과 POST였다.) 둘다 HTTP 프로토콜을 이용해 서버에 무엇을 요청하는 Method지만 차이가 있다.
- 통상적으로! 데이터를 요청(READ)할때
- 데이터를 요청할때 HTTP Request Message의 Header 부분의 url에 담겨서 전송된다.
- 요청시 url 상에 ?뒤에 데이터가 붙어 request를 보낸다.
? : 여기서부터 전달할 데이터가 작성된다는 의미이다.
& : 전달할 데이터가 더 있다는 뜻이다.
예시) google.com/search?q=아이폰&sourceid=chrome&ie=UTF-8
- 통상적으로! 데이터 생성(Create), 변경(Update), 삭제(Delete) 요청 할 때
- Body부분에 데이터를 담아 전송한다. 그래서 GET과 비교해 제한적인 크기/보안의 측면에서 낫다고 할 수 있다.
(보안은 암호화를 따로 하지 않는 다면 비슷하다고 한다!)
- 데이터 전달 : 바로 보이지 않는 HTML body에 key:value 형태로 전달
항해 OT주차가 끝났다. OT주차에는 웹개발 종합반 강의를 들을 수 있는 웹개발 종합반과 토이프로젝트를 진행할 수 있는 토이프로젝트 반으로 나뉘었는데, 나는 사전스터디에서 웹개발 종합반 2회독을 했기때문에 토이프로젝트 반을 선택했다. 결과적으로 내 상황에서는 그 선택이 옳았다. 토이프로젝트를 하면서 git으로 협업하는 방법을 배웠는데, 혼자서 add로 staging area에 올리고 commit 하고 merge 하다가, 협업으로 branch도 만들어보고 conflict도 나보고 여러 에러도 경험하면서 아 git은 이렇게 사용하는 거구나를 알게되었다. 물론 완벽하게 아는것은 아니고 가끔 명령어를 까먹어서 찾아보고, 아직도 더 많은 에러를 경험해 봐야겠지만! 그래도 협업이라는 귀중한 경험을 한 것에 대해 만족한다. 토이프로젝트 자체는 웹개발 종합반에서 배웠던 스파르타피디아를 바탕으로 만들었기때문에 어려운 점은 없었다. 하지만 웹개발 종합반을 하면서 내가 알겠다고 생각했던 것들을 바로바로 코드에 적용하지 못한 것들은 좀 아쉬웠다. 또, 내가 다른 분들에 비해 열정이 많이 부족하다는 것을 깨달았다. 우리조는 프로젝트가 빨리 끝난 편이었는데, 프로젝트가 끝났다고 바로 다른걸 공부하고 있던 나에 비해, 다른 팀원들은 이 프로젝트를 어떻게하면 더 완벽하게 만들 수 있을까에 대해 고민을 하고 있었다. 그리고 실제로 팀원 분들 중 한 분은 따로 프로젝트에 이것 저것 넣어보며 프로젝트를 더 완성도 높게 꾸며주셨다. 그런 열정적인 자세를 보며 굉장히 자극 받았고, 나도 저렇게 몰입해야 항해를 더 성공적으로 마칠 수 있을 것 같다고 생각하게 됐다. 항해에 들어오기전에 많은 리뷰들을 보며 나도 항해에 들어가서 열심히 해야지 하고 막연하게만 생각했었는데, 정말 열정적인 사람들이 많이 모인 곳 이라고 깨닫게 되었고, 나도 지금보다 미쳐서 공부하지않으면 언젠가 뒤쳐질 수도 있겠다는 생각이 들었다.
https://github.com/JellyKingdom/veggi
완성도 ⭐️⭐️⭐️⭐️(마지막에 리하님이 웹페이지 비슷하게 만들어주셔서 완성도가 아주 높아졌다!)
기여도 ⭐️⭐️ (내가 맡은 것만 하고, 능동적으로 하지 않았으므로 2점.. 이것도 높다고 생각..!)
팀 호흡 ⭐️⭐️⭐️⭐️⭐️ (나만 좋았나요..?)
만족도 ⭐️⭐️⭐️⭐️ (전체적으로 팀원들이 너무 좋았고, 많이 배울 수 있었다!)
처음 git으로 협업해 git-flow가 엉망이지만, 정말 많이 배울 수 있었던 프로젝트였다!
내가 기여한게 많이 없어 아쉽지만, 첫 팀프로젝트치고는 정말 성공적이었던 것 같다!(나만 그렇게 느낄수도..!)