[TIL] JS Callback, Promise, Fetch, Axios
in TIL on Til, Javascript Last modified at:
2025-02-06 TIL
📝 TIL (Today I Learned)
🔗 원본 이슈: #12
📅 작성일: 2025-02-06
🔄 최종 수정: 2025년 02월 07일
🍀 새롭게 배운 것
- JavaScript 비동기 처리
- Callback
- Promise, async, await
- JavaScript 네트워크 요청
- Fetch, Axios
🍎 오늘의 문제 상황
- GitHub Actions를 사용하여 TIL 목록을 자동으로 업데이트하는 작업을 진행했지만, 매번 전체 TIL 리스트가 중보 추가되는 문제가 발생했다.
원인 분석
gh issue list
명령어를 실행할 때마다 최신 TIL 10개를 가져와 덮어쓰기 때문에 기존 목록과 중복된 항목이 계속 추가됨sort -u
로 중복을 제거하려 했지만 이미 있는 내용과 비교하는 기능이 없었음awk
를 사용한 TIL리스트 추출 방식이 정확하지 않아 비교 대상이 제대로 생성되지 않았을 수도 있음
해결 과정
awk
대신sed
를 사용하여 TIL List 이후 목록을 정확히 가져옴grep -Fxvf
를 사용하여 기존 리스트에 없는 새로운 TIL만 추출- 새로운 TIL이 있는 경우
sed
로 기존 TIL 리스트 완전 삭제 후 새로운 TIL을 포함한 리스트 모두 새로 추가 - 새로 추가된 TIL이 없는 경우 커밋 만들지 않은 코드 추가
🦄 느낀 점
gh issue list
가 GitHub의 REST API를 활용하는 방식으로, JS의 fetch나 axios와 유사한 원리로 작동한다고 한다.- 스크립트 언어는 처음 봤고, 잘 몰랐었는데 뜯어보니가 작동 방식은 비슷했다.
- 단순히 자동화를 하는것이 아니라 데이터를 관리하고 처리하는 것이 내가 원하는 기능을 구현한는데 더 중요한 것 같다.