Problem-Solving
-
mongoDB 불필요 쿼리 제거Problem-Solving 2022. 4. 5. 12:03
자신이 찍은 사진을 공유하고 댓글을 남길 수 있는 서비스를 개발중에, 게시글의 댓글을 불러올 때 불필요하게 많은 쿼리들이 데이터베이스(mongoDB)에 요청이 되어서 로딩 시간이 길어짐. User Comment _id _id email "test@test.com" author nickname "Lee" description "beautiful image!" password "encrypted" createdAt "2022-04-04T05:03:00.293Z" : 댓글을 렌더링하기 위해서는 1. 작성자의 닉네임, 2. 댓글의 내용 총 두가지가 필요한데 현재 댓글 도큐먼트에 작성자의 닉네임은 없고 작성자의 id만 있기 때문에 서버에 해당 유저의 정보를 불러온 다음 ..
-
AWS : ELB를 이용한 HTTPS 구현Problem-Solving 2022. 3. 28. 17:51
1. AWS의 Route53에서 도메인 구입 2. AWS Certificate Manager(ACM)을 이용해 인증서 발급 후 도메인과 연결 3. EC2콘솔에서 로드밸런서 설정 => 이후 서버에 접속을 해보니 HTTPS 연결은 잘 되었지만, 503에러 출력과 함께 오류 발생 : 서버의 플로우가 Browser(Client) ELB EC2 Server 이기 때문에 HTTPS연결이 잘 되었다는 것은 ELB까지의 통신은 잘 되지만, ELB에서 나의 EC2 Server까지의 통신에 오류가 있다고 판단함. '503 Service Temporarily Unavailable' 에러코드가 정확히 무엇인지 파악하기 위해 AWS의 공식 문서에서 관련 에러 메세지를 찾아보았다. 참고 문서: Cl..
-
HTTP Request의 query로 온 배열을 이용해 필터링 할 때Problem-Solving 2022. 3. 25. 11:04
req.query로 "["화창한", "신나는", "눈이오는"]" 과 같이 해시태그를 배열 + 문자열 형식으로 받고 이 해시태그를 포함하는 게시글들을 데이터베이스에서 가져와야 하는 상황이다. 하지만, 로직 구현 후 데이터베이스에 쿼리를 날렸을 때 빈 배열을 받아오는 문제가 발생했다. : req.query로 받아온 hashtags에서 양쪽 대괄호를 날리고(문자열이니까) ' , ' 쉼표를 기준으로 나눠서 배열로 만들어주기 : 그래서 내가 새로 정렬한 hashtags가 어떤 형식인지 파악하기 위해 Postman을 이용해 확인해보니 "도시"라는 키워드 안에 공백이 포함되어 있었다. => .split(',') 쉼표를 이용해 배열을 나눠주니 배열의 각 요소에 공백도 포함되는 문제! 현..
-
카카오 맵 API 실행 안되는 경우Problem-Solving 2022. 3. 18. 10:34
카카오 맵 API 가이드를 따라 지도를 띄우는 코드를 작성해도 지도가 띄워지지 않는 문제 : 가이드를 따라 애플리케이션 추가, 앱 키 발급, 사이트 도메인 추가 : 이후 index.html 작성 후 chrome으로 실행 시 지도가 안 띄워지는 문제 발생 코드는 여러번 확인해도 결함이 없어 보여서, 다른 문제라고 생각했다. 그래서 개발자 도구의 에러로그를 확인해보니 콘솔창에 'Failed to load resource' 에러가 발생한 걸 확인할 수 있었다. : 카카오맵 리소스에 접근할 수 없다는 건 1. 받아온 앱 키가 잘못되었거나, 2. 사이트 도메인에 등록되어 있는 도메인이 아니라서 리소스에 접근하지 못하는 경우라고 생각했다. => 받아온 앱 키는 문제가 없다는 걸 확인..
-
AWS : EC2 서버실행 오류Problem-Solving 2022. 3. 7. 11:20
EC2 서버에서 만들어놓은 서버(깃허브 리파지토리) clone 후 npm install 및 .env 파일 설정 후 서버 실행하니 서버가 실행되지 않는 문제 : 깃허브 리파지토리 가져오고 필요 라이브러리 설치(npm install) : 서버 작동에 필요한 환경변수(.env) 설정 : 이후 서버 실행 시 ReferenceError : TextEncoder is not defined 발생 서버 실행 시 ReferenceError 에러가 발생했고, 이에 대한 내용이 터미널에 찍혀있으니 이를 토대로 이게 무슨 오류이고 왜 발생하였는지 찾아보았다. 찾아보니, next.js 나 mongoose, mongodb 사용 등 다양한 상황에서 이 문제가 발생한다. TextEncoder라는 함수..
-
AWS : EC2 서버에 연결되지 않을 경우Problem-Solving 2022. 3. 2. 22:23
EC2 인스턴스 생성 후 서버를 키고, 해당 도메인으로 GET요청을 보내니 EC2 서버와 연결되지 않는 문제 먼저 문제를 크게 나누어 생각해보았다. EC2 서버를 세팅하면서 SSH프로토콜을 사용해 원격으로 서버에 접속했을 때는 접속이 잘 되었지만, HTTP 프로토콜을 브라우저에서 요청을 보내니 통신이 안되는 걸 생각해 해당 EC2 서버의 보안그룹 설정을 해 주었다. : 해당 인스턴스가 속한 보안그룹으로 들어감 : 기존에 SSH 프로토콜을 이용한 통신만 가능하던 설정 : HTTP 및 HTTPS 통신도 가능하게끔 설정 보안그룹 재설정 후 다시 EC2 도메인으로 접속하니 여전히 서버와 통신할 수 없었다. 혹시 요청이 잘못가고 있는지, 어떻게 통신되는지 확인하기 ..
-
.env 파일 안 환경변수들이 안 불러와질 때Problem-Solving 2022. 1. 24. 17:07
- pg 라이브러리를 이용해 서버와 postgresSQL 데이터베이스 연결 : user, password, host등 민감한 정보는 .env 파일에 저장 후 이용함 => 서버 실행 후 Postman에서 POST메소드를 실행하니 콘솔에 "이상훈" ��(role) ���� 이라는 오류메시지 출력되면서 서버의 response가 돌아오지 않는 문제 발생! POST메소드에만 오류가 나는지, 아니면 GET이나 PUT등의 메소드에도 오류가 나는지 확인 - GET과 PUT역시 서버 실행 후 Postman에서 요청을 보내보니 똑같이 무한 요청 및 "이상훈" ��(role) ���� 오류메시지 출력 => 메소드 문제가 아니라 서버 및 데이터베이스 문제 dotenv를 이용해 ..