-
[TIL] 스파르타) project1 종료, jQuery, AJAX, FetchTIL-sparta 2024. 4. 19. 19:05
--
학습 키워드: git, merge, JSON placeholder, jQuery, fetch, ajax
1. git merge
- 협업중에 어느 순간부터 특정 branch를 merge 시킬때마다 일부 코드 (내 코드 포함)가 아무런 충돌 표시 없이 누락되는 상황이 생겼다. 짐작한 원인으로는 누군가의 rebase 혹은 merge 의 어느 시점에서 내가 작성하던 rotate-card 의 코드가 다른 사람의 branch에 있던 rotate-card의 코드보다 뒤쳐져있다고 판단하게 만든 것 같다. 한 개의 branch에서 지속적으로 이 상황이 벌어져서 기회가 되면 해당 branch의 commit history를 조사해 볼 필요가 있겠다.
2. JSON placeholder
- 가짜 JSON을 되돌려주는 사이트라고 한다. post, get 등의 method가 작동하기 때문에 코드를 테스트 하는 용도로 사용하기 좋다고하니 기회가 되면 다음 프로젝트에 사용해봐야겠다.
2. jQuery fetch / ajax
- 이번 프로젝트를 진행하면서 AccuWeather API를 이용해 만들었던 weather.js 의 날씨 불러오는 기능에서는 ajax를 통하여 URI를 전송하고 날씨 정보를 받아왔다. 그런데 생각해보니 몇 년 전에 작업했던 프로젝트에서는 fetch를 사용했던 기억이 있어서 둘의 차이가 무엇인지 찾아봤다. 일단 fetch 쪽이 ajax보다 모던한 방식이라고 한다. 당시 작업했던 프로젝트에서 promise 라는 걸 처음 접했었는데 이게 fetch로 데이터를 받아올 때 사용하는 보다 규격화된 방식이라고한다. 웹 프로젝트를 진행할 때 마다 항상 마주하는 CORS(Cross-Origin Resource Sharing)에러가 있는데, fetch는 cross domain request를 지원한다고 하니 참고하면 좋겠다.
2. RESTful API
- 구글에서 'is ajax restful?' 검색 시 'No, AJAX is not RESTful by default' 라는 Quora 결과가 가장 먼저 떠서 궁금해졌던 부분인데, 결론부터 말하자면 이번 프로젝트에서 jQuery와 AccuWeather API를 통해 사용한 ajax get요청은 "RESTful" 하다. 위의 aws 도움말에서는 RESTful API 클라이언트 요청에 다음의 3가지가 포함되어 있다고 정의했다.
1. URL 세부정보를 지정하는 경로 파라미터.
2. 리소스에 대한 추가 정보를 요청하는 쿼리 파라미터.
3. 클라이언트를 빠르게 인증하는 쿠키 파라미터.- 여기서 인증이란 HTTP 인증으로, 기본 인증, 전달자 인증, API 키, OAuth 까지 4가지의 일반적인 방법이 있다고 한다. AccuWeather API로 정보 요청을 사용할 때 URL + API Key + Query 순으로 ajax의 get method를 이용하여 정보를 받아왔으므로, 위의 조건을 충족한다.
728x90'TIL-sparta' 카테고리의 다른 글
[TIL] 스파르타) 웹개발 종합반 완강, MySQL Query SELECT 연습 01 (0) 2024.04.21 [TIL] Javascript의 Map과 WeakMap (0) 2024.04.20 [TIL] 스파르타) 미니 프로젝트 1 (2) 2024.04.18 [TIL] 웹개발 종합반 3~5주차, CSS를 이용한 Container 회전 (0) 2024.04.17 [TIL] 스파르타) 웹개발 종합반 1~3, 코드카타 (0) 2024.04.16