-
<TIL> 오늘 만난 에러들클래스/└ TIL 2022. 5. 11. 00:08
🧭 [ExceptionHandler] Nest can't resolve dependencies of the ... 에러 해당 기능의 Module에서 의존성을 설정하면 해결됩니다. MissingPrimaryColumnError: ... 에러 @PrimaryColumn을 추가하면 해결됩니다. UpdateValuesMissingError: ... 에러 DB의 데이터를 업데이트하는데 값이 제대로 들어가지 않아서 발생하는 에러입니다. DB에 넣을 데이터를 DB에서 찾아오는데 await를 누락했습니다. await만 추가하니 정상 작동하였습니다.
-
<TIL> 외부 API 요청 응답 시간 개선클래스/└ TIL 2022. 5. 10. 00:20
🧭 깃헙 이슈 생성 깃헙에서는 프로젝트에 대한 이슈를 생성해서 필요 기능 구현, 디버깅, 마일스톤 관리 등을 할 수 있습니다. 외부 API 요청 성능 개선 좌표값을 구하기 위해 카카오 API 및 공공 API를 활용하고 있습니다. 요청 3개를 보낼 경우 3.022s, 10개를 보낼 경우 9.666s 정도 소요되었습니다. 각각의 요청을 병렬처리하여 응답속도를 개선하였습니다. 요청 3개를 보낼 경우 1.027s, 10개를 보낼 경우 1.353s 정도 소요되었습니다. 그러나 429 Too Many Requests 에러를 응답받았습니다. 40~50개의 요청을 한번에 보내다보니 kakao API에서 응답을 거부하였습니다. 어쩔 수 없이 요청을 20회로 나누어 보냈습니다. 대신 시간이 4초대로 늘어났습니다. 프로젝트..
-
<gitflow> 깃, 깃헙으로 협업하기 위한 풀리퀘스트(Pull Request)패시브 스킬/git (+GitHub) 2022. 5. 8. 23:44
🎯 풀리퀘스트 순서 [ 원격(팀) ] 1. folk (팀 레포지토리 > 개인 레포지토리) - 팀 레포지토리의 전체 코드를 개인 레포지토리로 가져옵니다. - 팀 레포지토리와 연결고리가 생깁니다. (너와 나의 연결고리/) [ 원격(개인) ] 1. clone (개인 레포지토리 > 로컬) - 개인 레포지토리의 전체 코드를 로컬로 가져옵니다. - 로컬에서 코드를 작성합니다. [ 로컬(개인) ] 1. remote 설정 - git push, pull 등 원격 레포지토리 관련 작업을 효율적으로 하기 위해 미리 설정을 해둡니다. - clone을 했다면 개인 레포지토리는 origin으로 기본 설정됩니다. - 개인 레포지토리는 git push 후에 PR(Pull Request)을 날리기 위해서 필요 (여기서는 default..
-
<CI/CD> 도커, 깃헙 액션패시브 스킬 2022. 5. 8. 22:41
🧭 도커 1. 도커 사용 전의 문제점 매번 서버에 노드, DB 등을 반복적으로 세팅하는 것이 번거롭습니다. 내 PC에서는 되는데 서버 PC에서는 안되기도 합니다. (노드 버전 문제 등) 2. 도커의 특징 도커에는 앱 구동에 필요한 모든 것을 담아둡니다. cf) VM은 무거운 운영체제를 포함합니다. 도커는 기존 OS 위에 컨테이너 엔진을 이용해서 OS는 포함하지 않습니다. 컨테이너 엔진은 가볍습니다. (윈도우, 맥 OS 이용시에는 리눅스 OS 설치가 필요합니다) 컨테이너 엔진(도커 같은)이 Host OS에 접근합니다. 3. 컨테이너 만드는 순서 1) Dockerfile: 레시피의 역할 (필요한 파일, 디펜던시, 환경변수, 스크립트 등) 2) Image: 도커파일을 기준으로 빌드됨 (프로그래밍의 클래스와 비..
-
<WIL> 주특기(노드) 3주차 ~ 실전 프로젝트 1주차클래스/└ 항해99 2022. 5. 8. 22:31
🌊 # 8~9주차 8주차 진행사항 주특기 3주차에 TypeScript와 TypeORM 관련 과제가 주어졌습니다. 노드 주특기 분들끼리 실전에는 다같이 NestJS를 활용해 보자는데 의견이 모아졌습니다. 실전 프로젝트 대비를 위해 NestJS를 차근차근 익혀보았습니다. 9주차 진행사항 실전 프로젝트가 시작되었습니다. 기획, API 설계, ERD를 작성하고 피드백 받고 수정하고 하는 과정을 거치는 동안 거의 1주일이 지났습니다. 그리고 협업을 하면서 깃 충돌이 번번히 발생하여 애를 먹고 있습니다. 혼자 작업할 때는 별거 아닌줄 알았던 version control이 협업을 하기 위해서는 조금 더 많은 개념을 알고 있어야 한다는 것을 깨닫게 되었습니다. 현재 이슈 카카오 API와 juso.go.kr의 공공 AP..
-
<TIL> git(hub), API 요청클래스/└ TIL 2022. 5. 8. 00:53
🧭 에러노트 Error: connect ECONNREFUSED 127.0.0.1:80 ConfigModule.forRoot() 설정 누락으로 API KEY값이 적용되지 않았습니다. API로 주소 받아오기 key가 사라져서 재발급 받았습니다. config 파일이 적용되지 않아 .env 파일을 사용하였습니다. config 파일이 다시 적용되었습니다. .env vs config/*.yaml 공통점: 환경별 구분가능 .env - .env.dev / .env.prod / .env.test https://darrengwon.tistory.com/965 dotenv 대신 @nestjs/config을 사용해야하는 이유 + 활용 docs.nestjs.com/techniques/configuration Documentat..
-
<TIL> 한글 키워드로 주소 검색하는 방법클래스/└ TIL 2022. 5. 6. 23:27
🧭 URI에 한글 넣는법 API 요청시 한글에 적절한 처리를 해주지 않으면 'Request path contains unescaped characters' 에러를 만나게 됩니다. encodeURI 함수를 사용해서 URI에 한글을 사용할 수 있습니다. 특정한 문자를 UTF-8로 인코딩해 이스케이프 문자로 변환합니다. (띄어쓰기는 %20으로 변환) .get(https://www.juso.go.kr/addrlink/addrLinkApi.do?keyword=${encodeURI("한글키워드")}); https://hashcode.co.kr/questions/9521/nodejs-%EC%82%AC%EC%9D%B4%ED%8A%B8%EC%A0%91%EA%B7%BC-%EC%8B%9C-request-path-contai..
-
<TIL> 카카오 로컬 API, git pull클래스/└ TIL 2022. 5. 6. 00:02
🧭 git pull error repo만 설정하고 branch 설정을 안해서 에러 발생 $ git pull team (x) $ git pull team dev (o) git pull 취소 팀 레포에서 git pull 하다가 conflict를 씨게 얻어 맏고 다시 되돌리고 싶어졌습니다. $ git reset --hard ORIG_HEAD 로 되돌립니다. https://mrgamza.tistory.com/593 git. commit, add, pull, merge 취소 git은 기능이 많아서 그런지 다들 너무 어려워 합니다. 하지만 하나도 어렵지 않지만 알고 있는 자만 어렵지 않습니다. 그래서 오늘은 하나 더 알고 있는것을 남기기 위해서 글을 적어봅니다. 일 mrgamza.tistory.com 카카오 API..