728x90
반응형

Node.js, MongoDB 9

여러 글을 한 번에 출력해보자 (EJS 문법2)

console.log(1)console.log(2)console.log(3)그럼 직접 이렇게 노가다해서 3줄 작성해놨는데이렇게 비슷하게 생긴 코드는 반복문 쓰면 쉽게 복붙할 수 있습니다.  for (let i = 0; i 반복문 안에서 쓸 수 있는 i라는 변수가 있습니다. i 변수 출력해보면 복붙될 때 마다 0, 1, 2 이런 식으로 변합니다. 왜냐면 실은 소괄호 안에 뭘 적은거냐면1. i라는 변수를 0으로 만들고 2. 이게 3이 되기 전까지3. 계속 i에 +1 하면서 안에 있는 코드를 복붙해주세요라고 적었기 때문에 그렇습니다. 그래서 i 변수는 복붙할 때마다 0, 1, 2 ... 이런 식으로 변합니다   ejs 파일 안에서 자바스크립트 문법 쓰기 ejs 파일안에서도 자바스크립트 문법을 그대로 쓸 수 있..

Node.js, MongoDB 2025.03.10

Ajax와 Axios, Fetch, API 에 대해서

Ajax(Asynchronous JavaScript and XML)는 비동기적으로 서버와 데이터를 주고받을 수 있게 해주는 기술이에요. 페이지를 새로 고치지 않고도 서버와 통신할 수 있어서, 더 빠르고 부드러운 사용자 경험을 제공할 수 있죠.🌟 Ajax의 주요 특징비동기 통신: 페이지 전체를 새로 고치지 않고 필요한 데이터만 로드할 수 있어요.서버와의 데이터 교환: XML, JSON, HTML, 일반 텍스트 등 다양한 포맷을 주고받을 수 있어요.사용 기술:JavaScript: 비동기 요청을 처리해요.XMLHttpRequest (XHR) 또는 Fetch API: 서버와 데이터를 주고받아요.서버 측 언어(예: PHP, Node.js) 및 데이터베이스: 데이터를 처리하고 응답을 보내요.📄 Ajax의 간단한..

Node.js, MongoDB 2025.03.07

웹페이지에 DB데이터 꽂기 (EJS, 서버사이드 렌더링)

html안에 데이터를 꽂아넣는 법은 템플릿 엔진이라는걸 쓰면 가능합니다.그거쓰면 html 안에다가 서버에 있던 데이터들을 막 꽂아줄 수가 있습니다 템플릿엔진은 여러가지중에 고를 수가 있는데 우리는 이 중에서 가장 쉽고 간단한 ejs를 써볼 것입니다. 다른 템플릿엔진들은 새로운 문법 많이 익혀야되는데 이건 딱히 새로운 문법 익힐 필요없이 자바스크립트 문법그대로 사용할 수 있음     ejs 셋팅 템플릿엔진을 쓰려면터미널 열어서 npm install ejs 입력해주고  app.set('view engine', 'ejs') 그 다음에 서버파일 상단쯤에 view engine을 쓰겠다고 위처럼 적어봅시다. 왜냐고요? express 만든 사람이 이래야 ejs 템플릿 엔진을 쓸 수 있다고 하는군요. 그럼 이제 ejs..

Node.js, MongoDB 2025.03.05

MongoDB에서 데이터 출력하기 (array/object 문법)

DB에 게시물 한 두개만 저장해보도록 합시다.- mongodb.com 사이트 들어가서- collection 버튼 누르면현재 DB에 저장된 데이터들을 구경해볼 수 있는데저번시간에 forum이라는 데이터베이스안에 post 라는 컬렉션 (폴더)를 만들어봤습니다.  이제 심심하니까 여기다가 데이터 몇개만 저장해볼건데 게시판을 만든다고 했으니까 유저 게시물을 post 컬렉션에 임시로 몇개 만들어봅시다. insert document 버튼이 어딘가 있을텐데 누르면 데이터를 저장할 수 있습니다.  title : '어쩌구'content : '저쩌구' 이런 형식으로 대충 유저 게시물을 두어개 정도 저장해보도록 합시다. document에는 데이터이름 : 데이터값 형식으로 데이터를 저장할 수 있습니다. 자바스크립트 objec..

Node.js, MongoDB 2025.03.01

MongoDB와 서버 연결하려면

DB에 글을 저장할 준비가 다 된 것 같은데 DB에 데이터 입출력은 누가합니까?유저가 직접 글을 DB에 집어넣고 그러면 편할거같은데 그렇게 해버리면 3일 후에 금방 서비스 종료하는 것입니다. 유저에게 다이렉트로 DB 입출력 권한을 주면유저가 DB에 이상한 짓을 하면 큰일나기 때문에중간에 검열하는 친구가 하나 필요합니다.   중간에서 이거저거 검사하는 역할은 서버가 담당합니다. 예를 들어 글을 하나 DB에 저장하고 싶으면 1. 유저가 서버로 게시물을 보내고 2. 서버는 그걸 검열해본 후 DB에 저장시켜주면 됩니다.오늘은 서버가 DB와 통신하는 법을 좀 알아보도록 합시다.      서버와 MongoDB 연결 서버 프로젝트에서 mongodb를 연결하고 싶으면 일단 mongodb 라이브러리를 설치합시다.  np..

Node.js, MongoDB 2025.02.28

MongoDB 호스팅받고 셋팅하기

1. 구글에 Mongodb atlas 라고 검색해서 들어가거나 mongodb.com 홈페이지를 방문합니다.  2. 가입합니다. 아마 메일인증 필요  ▼ 3. 가입시 뭐 채우라고 하면 잘 채워봅니다      ▼ 4. 무료 티어를 선택해서 서버위치도 선택합니다. 한국 유저들에게 빠른 서비스 제공하려면 서울을 선택합시다.        ▼ 5. 좌측 Database Access 메뉴에서 DB 접속용 아이디/비번을 생성합니다.데이터베이스 접속할 수 있는 아이디/비번을 새로 만들어주는겁니다.왜냐면 하나의 데이터베이스를 여러사람이 사용할 수도 있으니까요.  아주 안전해보이는 admin/qwer1234 이런 아이디 비번은 어떨까요 아무튼 만들고 잘 기억해두십시오.    ▲ 주의점은 역할을 atlas admin으로 설정..

Node.js, MongoDB 2025.02.28

웹페이지에 디자인 넣으려면

이쯤되면 귀찮은 점이 하나 있을텐데  소스코드를 수정했을 경우 ctrl + c 눌러서 터미널에 실행하던걸 끄고 다시 node server.js를 입력해야 수정사항을 미리볼 수 있습니다. 매번 입력하는게 귀찮으면 nodemon 사용하면 됩니다. 터미널 열어서 실행되고있던거 ctrl + c 눌러서 끄고  npm install -g nodemon 입력해서 설치해봅시다.  그럼 이제 서버파일을 띄울 때 node말고 nodemon server.js 이렇게 입력해둘 수 있는데그러면 소스코드를 변경 후 파일저장하면 얘가 알아서 서버도 재시작해줍니다. 이제 코드짜고 저장만 하면 끝임      static파일 (css파일) 첨부하기 html에 디자인을 넣고 싶으면 css 파일에 작성하는게 일반적인데  css 파일 하나 ..

Node.js, MongoDB 2025.02.27

웹페이지 보내주려면 (라우팅)

app.get('/어쩌구', (요청, 응답)=>{ 응답.send('보내줄 웹페이지 내용')}) 새로운 페이지를 하나 만들고 싶으면 express문법으로 이렇게 작성하면 됩니다. /어쩌구 부분은 자유롭게 작성하면 끝입니다.   app.get('/news', (요청, 응답)=>{ 응답.send('오늘 비옴')}) 아까 /news로 접속하면 뉴스같은거 보내주는 페이지 만들고 싶다고 했으니저는 이렇게 작성해봤습니다.   app.get('/news', (요청, 응답)=>{ 응답.send('오늘 비옴') }) 요청, 응답은 어떤 역할을해?요청(request, req)과 응답(response, res)은 클라이언트와 서버 간의 통신을 담당하는 객체야.🔹 요청(request, req)클라이언트(브라우저, 앱 등)..

Node.js, MongoDB 2025.02.27

Node.js 란, 개발환경세팅하기

웹서버를 만들고 싶으면 여러 언어와 프레임워크가 있는데이 중에 자바스크립트 기반의 Node.js를 사용하는 사람들이 많습니다. 일단 쉽고 성능도 어느정도 나와서 많이 쓰는 것도 있고 (Bun이나 Fastify 사용시 Rust, Go로 만든 서버와 성능이 삐까뜨는 벤치마크도 많습니다)non-blocking I/O, 비동기처리가 가능하다는 장점이 있어서 쓴다고 하는데 그게 대체 무슨 뜻인지 알아봅시다.     Node.js가 뭐냐면 자바스크립트라는 언어가 있습니다.실은 서버만들고 그런 용도는 아니고 html 웹페이지에 여러가지 기능을 넣기 위해 만들어진 언어입니다.그래서 비유하자면 html 를 조작하는 언어가 자바스크립트임  근데 자바스크립트를 짜놨으면 이걸 누가 실행해줘야하지않겠습니까실은 여러분들이 짠 자..

Node.js, MongoDB 2025.02.25
728x90
반응형