본문 바로가기

반응형

백엔드

(21)
[node.js] express.urlencoded 에 대한 이해 express.urlencoded 이 미들웨어 함수는 HTTP POST 요청의 본문(body)에 인코딩된 데이터를 해석하고, req.body 객체에 채워넣어주는 역할을 합니다. 간략하게 사용되는 예시를 보여 드리면 다음과 같습니다. const express = require('express'); const app = express(); app.use(express.urlencoded({ extended: false })); //false : querystring 모듈 사용 app.post('/login', (req, res) => { console.log(req.body.username); // POST 요청의 body에 포함된 username 값을 출력 console.log(req.body.passwo..
[node.js] static 파일과 static 미들웨어 미들웨어 미들웨어는 클라이언트 측의 요청과 서버의 응답 사이에서 문지기 역할을 하는 중간 계층입니다. 예를 들어 클라이언트 측에서 서버 측에 로그인 요청을 한다고 가정 할 때 중간 계층인 미들웨어는 요청으로 받은 정보가 서버 측에 전달해도 괜찮은지 그 여부를 판단하는 역할을 할 수 있습니다. static 파일 과 static 미들웨어 Node.js에서 static 파일은 클라이언트 측에서 서버에 요청을 보내면 서버에서 응답으로 전송하는 파일 중 변경되지 않는 파일을 의미합니다. 예를 들어, 이미지, CSS 파일, JavaScript 파일 등이 이에 해당합니다. Static 파일은 클라이언트 측에서 요청한 URL 경로에 대한 파일을 찾아서 응답으로 전송하는 방식으로 작동합니다. 이 때, Node.js에서는..
[node.js] MVC 패턴 MVC 패턴 MVC 패턴은 소프트웨어 아키텍처 디자인 패턴 중 하나이며, 각각의 역할을 분리하여 코드를 구성함으로써 유지보수 및 확장이 용이하게 되는 장점이 있는 모델 입니다. MVC는 모델(Model), 뷰(View), 컨트롤러(Controller)로 구성됩니다. 각각의 역할을 다음과 같이 정리 됩니다. 모델(Model): 데이터를 관리하고 처리합니다. 뷰(View): 사용자에게 보여지는 인터페이스를 제공합니다. 컨트롤러(Controller): 사용자의 요청을 처리하고, 모델과 뷰를 연결합니다. 아래는 간단한 예시 코드입니다. 대충 MVC 패턴이 각각 어떠한 느낌으로 이루어지는지 아는게 중요하다고 생각합니다. 참고) 참고로 예시는 MVC패턴의 이해를 위한 간단한 예시를 보여줄 뿐 실제 개발에서 아래와 ..
[node.js] 패키지의 버전과 기호 버전의 첫 번째 자리 0.x.x : major 버전의 첫 번째 자리는 메이저(major) 버전입니다. 메이저 버전이 0 이면 초기 개발 중이라는 뜻입니다. 1부터는 정식 버전을 의미합니다. 이는 보통 하위 호환이 안 될 가능성이 높은 패키지 업데이트가 되었을 때 올립니다. 즉, 1.0.0 에서 2.0.0 으로 메이저 버전을 올렸다는 것은 하위 버전과 호환이 안 될 가능성이 높다는 것을 의미합니다. 버전의 두 번째 자리 x.0.x : minor 두 번째 자리는 마이너(minor) 버전입니다. 마이너 버전은 하위 호환이 되는 기능 업데이트를 할 때 올립니다. 즉, 1.5.0 에서 1.6.0 으로 올릴 때 새로운 기능이 추가 되었지만, 하위 버전과 호환이 가능하다는 것을 의미합니다. 버전의 세 번째 자리 x...
[node.js] npx 와 전역설치(-g)의 장.단점 npx 와 전역설치(-g) npx는 npm 패키지 매니저에서 제공하는 도구 중 하나로, 로컬에 설치된 패키지를 실행할 수 있도록 도와줍니다. npx를 사용하면 로컬에 설치된 패키지를 명령어로 바로 실행할 수 있기 때문에, 전역으로 패키지를 설치하지 않아도 필요한 패키지를 쉽게 실행할 수 있습니다. 전역으로 패키지를 설치하게 되면 해당 패키지를 시스템 전체에서 사용할 수 있게 됩니다. 하지만 이 경우에는 여러 프로젝트에서 같은 패키지를 사용할 때 버전 충돌 문제가 발생할 수 있습니다. 또한, 전역으로 설치된 패키지를 업그레이드하거나 제거하기도 어렵습니다. 반면에 npx를 사용하면 프로젝트 내부에서 필요한 패키지 버전을 명시하고 실행할 수 있습니다. 이 방법은 프로젝트마다 다른 패키지 버전을 사용할 수 있게..
[node.js] package.json package.json package.json은 Node.js 프로젝트에서 사용되는 파일 중 하나로, 프로젝트의 설정 정보를 담고 있는 JSON 파일입니다. 이 파일에는 프로젝트의 이름, 버전, 필요한 모듈, 스크립트 등의 정보가 포함됩니다. 보통 프로젝트를 시작할 때 npm init 명령어를 실행하여 package.json 파일을 생성합니다. npm install 명령어를 사용하여 필요한 모듈을 다운로드할 때 package.json 파일에 추가된 모듈 정보를 바탕으로 다운로드하게 됩니다. 또한, package.json 파일을 사용하여 프로젝트의 메타데이터 정보를 다른 사람들과 공유하거나, 다른 환경에서 프로젝트를 실행할 때 필요한 라이브러리나 모듈의 종속성(dependency)을 정의할 수 있습니다. ..
[NodeJS] Buffer 클래스 Buffer 이진 데이터를 다루는 데 주로 사용되며, 네트워크, 파일 시스템, 암호화 등 다양한 용도로 사용되는 노드의 내장 클래스 입니다. 노드는 파일을 읽을 때 메모리에 파일 크기만큼 공간을 마련해두며 파일 데이터를 메모리에 저장한 뒤 사용자가 조작할 수 있도록 합니다. 이때 메모리에 저장된 데이터가 바로 버퍼(메모리에 저장된 파일 데이터)입니다. 또한 버퍼 객체는 고정 길이의 바이트 시퀀스를 나타내는 데 사용됩니다. 많은 Node.js API가 버퍼를 지원합니다. Buffer 클래스는 JavaScript Uint8Array 클래스의 하위 클래스이며 추가 사용 사례를 포괄하는 메서드로 확장됩니다. Node.js API는 버퍼가 지원되는 모든 곳에서 일반 Uint8Array를 허용합니다. Buffer ..
[NodeJS] fs 모듈 : 파일 시스템에 접근 시 사용 fs 모듈 파일 생성, 읽기, 쓰기, 삭제, 이동, 이름 바꾸기 등 다양한 파일 시스템 작업을 수행하는데 활용 합니다. 파일 읽기; fs.readFile() fs 모듈을 사용하여 파일을 읽을 수 있습니다. fs.readFile() 메소드를 사용하여 비동기적으로 파일을 읽을 수 있으며, fs.readFileSync() 메소드를 사용하여 동기적으로 파일을 읽을 수 있습니다. - 해당 경로의 파일에 입력되어 있는 데이터를 읽어 옵니다. const fs = require('fs'); // 비동기적으로 파일 읽기 fs.readFile('/path/to/file', 'utf8', (err, data) => { ㄴ경로 ㄴ 인코딩 방식 if (err) throw err; console.log(data); }); // ..

반응형