본문 바로가기

반응형

분류 전체보기

(399)
[node.js] express.json() 간략 정리 express.json() 보통 app.use(express.json()) 형태로 쓰이는 미들웨어는 Express 애플리케이션에서 JSON 형태의 요청(request) body를 파싱(parse)하기 위해 사용되는 미들웨어(middleware)입니다. 따라서, Express 애플리케이션에서 JSON 형태의 요청 body를 받아야 한다면 이 코드를 사용해야 합니다.(사용하지 않을 경우 인간이 알기 어려운 용어로 전달되거나 예기치 못한 에러가 발생할 수 있습니다.) 예를 들어, 클라이언트에서 서버로 JSON 형태의 데이터를 전송할 때, Content-Type 헤더를 application/json으로 설정하고 요청 body에 JSON 데이터를 포함하여 전송합니다. 이때, app.use(express.json(..
[JS] 카멜표기법으로 표기된 문자열에 공백을 추가하는 2가지 방법 포스트 목적 문자열 사이에 공백을 추가해야 하는 상황이 발생하였는데, 이에 방법을 찾아보고 이를 나중에 다시 확인하기 쉽도록 정리한 포스트입니다. 문자열에 공백을 추가한다는 것은.. 예를 들어, 카멜표기법으로 표기된 문자열에 공백을 추가하여 출력해야 하는 상황에서 활용할 수 있습니다. 즉, 다음과 같이 카멜표기법으로 할당되어 있는 문자열이 있다면, const string = "RedColor" 아래와 같이 대문자 사이에 공백을 추가하여 출력할 필요가 있는 상황에서 사용할 수 있습니다. Red Color 방법1) 정규표현식 사용 첫 번째 방법은 정규표현식을 사용하는 것입니다. 정규표현식은 적은 코드수로 효율적인 문자열 처리가 가능하기 때문에 긴 문자열을 처리해야 하는 상황에서 일반적인 문자열 메서드를 사용..
[node.js] morgan "HTTP 요청과 응답에 관련한 정보를 기록하는 미들웨어" morgan Node.js 웹 애플리케이션에서 * HTTP 요청 로깅을 위한 로깅 미들웨어 패키지입니다. 이 패키지는 HTTP 요청의 상태 코드, 응답 시간, 요청 메소드, 요청 URL, 요청 바디 등을 기록할 수 있습니다. 즉, 클라이언트 측과 서버 측 사이에서 HTTP 요청과 응답 사이에 발생하는 정보들을 기록해주는 미들웨어 입니다. Morgan 패키지는 사용하기 쉽고 유연합니다. 기본적으로 콘솔에 로그를 출력하지만, 파일에 로그를 저장하거나 로그를 다른 곳으로 전송하는 등 로깅을 다양한 방식으로 구성할 수 있습니다. 또한 로그 포맷을 구성할 수 있어서, 개발자가 원하는 대로 로그를 출력할 수 있습니다. Morgan 패키지는 Node.js의 Express 프레임워크와 함께 많이 사용됩니다. Expre..
[node.js] node.js 에서 express서버를 구축할 때 포트 지정 시 process.env.PORT 를 사용하는 이유 node.js 에서 일반적으로 포트를 개설할 때 아래 두 가지 방식 중에 하나를 사용합니다. 일반적으로 아래 예시 중 전자의 방식을 자주 사용하는데, 전자 보다는 후자의 방식을 사용하는 것이 더욱 안전합니다. // 포트번호를 직접 지정한 경우 const port = 3000 app.listen(port,()=>{ console.log(port +'포트로 대기중 입니다.') }) ---------------------------------------- //process.env.URL 를 사용한 경우 const port = process.env.URL || 3000; app.listen(port,()=>{ console.log(port +'포트로 대기중 입니다.') }) 일단, 전자의 방식을 사용하는 것을 ..
[javascript] 간단한 무한 스크롤 단순히 무한 스크롤의 원리를 이해하고 활용하기 위한 용도로 작성해 보았던 무한 스크롤 인터렉티브 입니다. 시연 HTML 삽입 미리보기할 수 없는 소스 기존 JS 코드 const container = document.getElementById("container"); //추가되는 div 박스를 구분하기 위해 매기는 번호 let number = 6; // div 태그를 추가하는 함수 function addBoxFunc() { // scrollY 는 총 높이를 지속적으로 추적하는 용도이고, // Height 는 정적인 총 높이를 구하기 위한 변수입니다. const scrollY = window.scrollY + window.innerHeight; const Height = document.documentEle..
[단순용어] 스택 오버플로우/정수 오버플로우/버퍼 오버런 스택 오버플로우(Stack Overflow) 스택 오버플로우(Stack Overflow)는 컴퓨터 프로그램에서 스택 메모리 공간을 넘어서는 현상을 말합니다. 스택은 함수 호출과 반환을 관리하고 지역 변수를 저장하는 데 사용되는 메모리 공간으로, 이는 프로그램이 실행될 때 자동으로 할당됩니다. 스택 오버플로우는 일반적으로 재귀 함수에서 발생합니다. 재귀 함수는 자기 자신을 반복적으로 호출하므로, 스택 메모리에 임시 데이터가 저장됩니다. 그러나 함수 호출이 지나치게 많거나, 각 호출에서 사용되는 데이터가 너무 많은 경우, 스택 메모리가 가득 차서 오버플로우가 발생합니다. 스택 오버플로우는 보안 취약점으로서도 이용될 수 있습니다. 악의적인 공격자는 스택 오버플로우를 이용하여 프로그램의 실행 흐름을 조작하거나 ..
[단순용어] httpOnly httpOnly httpOnly 옵션은 쿠키에 대한 보안 옵션 중 하나입니다. 이 옵션을 적용하면 브라우저에서 쿠키를 접근할 수 있는 영역을 제한하여 보안성을 강화합니다. 일반적으로 쿠키는 브라우저에서 사용자가 웹사이트를 방문할 때 생성되며, 서버 측에서 데이터를 저장하고 클라이언트 측에서 접근하여 사용합니다. 그러나 쿠키는 JavaScript를 통해 접근할 수 있으므로, 악성 코드가 삽입되어 쿠키를 탈취할 수 있는 위험이 있습니다. 이 때문에, httpOnly 옵션을 적용하면 쿠키를 브라우저에서만 접근할 수 있도록 제한하므로, 악성 코드가 쿠키를 탈취하는 것을 방지할 수 있습니다. 이러한 보안적인 이유로, httpOnly 옵션은 보통 중요한 정보를 저장하는 쿠키에 적용됩니다.
[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..

반응형