Node.js

Node.js

[Node.js] fs 기본 기능 정리 (파일 저장 및 수정, 내용 읽기, 이름 변경, 디렉토리 체크 등)

회사에서 피그마 변환 프로젝트를 수행하며피그마 변환 -> HTML 파일로 저장 하는 과정에서 fs 모듈을 많이 사용했다.그 중 가장 기초가 되고 많이 호출한 메서드를 정리해보려 한다.(거의 비동기로 작성했다.)  0. 경로 생성fs 모듈을 사용하기 위해서는 경로값이 필요하다. 노드 서버를 실행하는 컴퓨터마다 서버 파일의 위치가 달라질 수 있으므로,1) fileURLToPath(import.meta.url) -- 실행 컴퓨터의 현재 파일의 절대경로를 먼저 추출하고 2) path.dirname(절대경로) -- 추출한 경로에서 현재 위치의 파일만 추출한 뒤3) path.join(현재위치, '목표파일상대경로') -- 현재 위치를 기준으로 상대 경로를 찾는다.import fs from "fs/promises";i..

Node.js

[Node.js] 보안 이슈 챙기기

어웅 내일 출근하자마자 url 부터 parse 한다;  1. 입력정보에 대한 보안url 을 그냥 사용하게 되면 엔드포인트가 어떻든간에 '../passoword.js' 를 url에 써서 서버 컴퓨터의 디렉토리 정보를 탐색할 수 있다.path.parse('../passoword.js'); 를 하게 되면 { root: '',   dir: '..',   base: 'password.js',   ext: '.js',   name: 'password' }이렇게 객체 형태로 url을 리턴해주는데, 그러면 디렉토리 정보값('..') 을 제외하고 엔드포인트만 취해서외부 침입을 막을 수 있다.즉, 사용자로부터 경로가 들어오는 모든 곳을 parse 로 바꿔줘야 한다.외부 정보가 유입되거나 유출되는 모든 경우 오염될 수 있으..

Node.js

[Node.js] 동기와 비동기, 그리고 콜백 (추후 내용 갱신할 것)

동기적 방식 (synchronous): 순차적 실행(sample.txt 에는 B라고 적혀있음)var fs = require('fs');console.log('A');var result = fs.readFileSync('syntax/sample.txt', 'utf8');console.log(result);console.log('C');// A B C  비동기적 방식 (asynchronous): 병렬적으로 여러가지 일을 동시 실행(작업이 끝나는걸 기다리지 않고 다음 작업을 수행): Node.js 는 비동기적 방식을 선호함var fs = require('fs');console.log('A');fs.readFile('syntax/sample.txt', 'utf8', function(err, result){ ..

Node.js

[Node.js] readFile 로 동적 웹페이지 만들기

var http = require('http');var fs = require('fs');var url = require('url');function templateHTML(title, list, body) { return ` WEB ${list} ${body} `;};function templateList(filelist) { var list = ''; for (var i = 0; i ${filelist[i]}`; } list = list + ''; return list;}var app = http.createServer(functi..

함s
'Node.js' 카테고리의 글 목록