목록전체 글 (122)
Lsiron
제작한 서버에 접속했을때, 다음 오류가 나는 경우 해결 방법에 대해 알아보자. err = new ServerSelectionError(); MongooseServerSelectionError: Could not connect to any servers in your MongoDB Atlas cluster. One common reason is that you're trying to access the database from an IP that isn't whitelisted. Make sure your current IP address is on your Atlas cluster's IP whitelist: https://www.mongodb.com/docs/atlas/security-whitelist..
환경변수란? Node.js에서 환경변수(Environment Variables)는 애플리케이션의 동작에 영향을 미치는 외부 값으로, 주로 설정 정보(예: 데이터베이스 접속 정보, API 키 등)를 저장하는 데 사용된다. 환경변수를 사용하면 코드에 직접적으로 중요한 정보를 포함시키지 않아 보안과 관리 측면에서 이점이 있다. 즉, 환경변수는 민감한 정보나 가변적인 정보를 말한다. 예를 들어,database 주소 라던지 3000같은 포트 번호등이 있다. 허나, Node.js에서 이러한 환경변수를 관리하는 방법이 있다. 바로 dotenv 패키지를 사용하여, 별도의 파일에 보관하는 것. 그러면 dotenv의 사용법을 한번 알아보자. 1. 터미널을 열어서 dotenv를 설치한다.$ npm install dot..
페이지네이션을 구현해보자. 현재 '이전' 버튼과 'n페이지 이동' 버튼 그리고 '다음' 버튼을 구현해보고자 한다. JS template engine은 ejs 를 사용하였고, URL parameter 방법을 이용하여 get 요청을 하였다. 서버 측의 app.js 와 클라이언트 측의 list.ejs 가 있다. 먼저 완성본부터 확인해보자. app.get('/list/:page', async (req, res) => { let page = parseInt(req.params.page) || 1; const postsPerPage = 5; const totalPosts = await db.collection('post').countDocuments(); const totalPages = Math.ceil..
서버를 구현하다보면 데이터를 서버로 전송해야하는 순간이 생긴다. 특히 수정, 삭제 기능을 넣을 때 이에 해당된다. 방법에는 총 네 가지가 있다. Request Body: 요청의 본문에 데이터를 포함시킨다. 주로 JSON 형식을 사용한다.HTTP Headers: 요청의 메타데이터로 데이터를 전송한다. 인증 정보나 콘텐츠 유형 같은 추가 정보를 전달한다.Query String: URL의 끝에 ?로 시작하여 데이터를 전달한다.URL Parameter: URL의 특정 부분에 데이터를 포함시킨다.그럼 하나하나 코드 예시를 들어가며 살펴보자. 참고로 이 글에서 말하는 클라이언트 측은 아래와 같이 우리가 코드를 짤 때, js template인 detail.ejs, edit.ejs 등의 파일을 말하고 서버 측은..