본문 바로가기

반응형

분류 전체보기

(654)
[ Node.js ] fs.rm(), fs.rmdir() 디렉토리 삭제하기 Node.js에서 디렉토리를 삭제하는 방법은 fs(File System) 모듈을 사용하여 가능합니다. 디렉토리를 삭제할 때는 동기(synchronous) 방식과 비동기(asynchronous) 방식 모두 사용할 수 있습니다. 또한, Node.js v12.10.0부터는 fs.rmdir() 대신, 재귀적으로 디렉토리를 삭제할 수 있는 fs.rm() 함수를 사용할 수 있습니다.1. 비동기 방식 (Asynchronous)비동기 방식은 콜백 함수 또는 Promise를 사용하여 디렉토리를 삭제할 수 있습니다.1.1. fs.rm() (Node.js v14.14.0 이상)fs.rm() 함수는 비어 있지 않은 디렉토리도 삭제할 수 있는 최신 방법입니다. { recursive: true } 옵션을 사용하여 하위 파일이나 ..
[ JavaScript ] null 의미와 사용방법 알아보기 Node.js에서 null은 JavaScript와 동일하게 사용되며, null은 "의도적으로 값이 없음을 나타내는 값"입니다. 즉, 변수가 선언되었지만 의도적으로 비어 있거나 값이 설정되지 않았음을 나타내는 데 사용됩니다. null은 값의 부재를 명시적으로 나타내기 위한 값이며, 이는 JavaScript의 undefined와는 다른 개념입니다.null의 의미값이 없다는 것을 명확하게 표현할 때 사용됩니다.이는 변수에 아무 값도 할당되지 않았다는 의미로 사용되며, 의도적으로 값을 제거하거나 비우는 상황에서 주로 활용됩니다.null과 undefined의 차이점null: 프로그래머가 "이 변수에 아무 값도 없다"는 것을 명시적으로 지정할 때 사용합니다.undefined: 값이 할당되지 않은 변수, 혹은 정의되..
[ Node.js ] path.dirname() 파일 경로에서 경로만 가져오기 Node.js에서 파일의 경로가 포함된 path에서 상위 경로만 가져오려면 path.dirname() 메서드를 사용할 수 있습니다. 이 메서드는 주어진 파일 경로에서 디렉터리 경로만 반환합니다.다음은 그 예시입니다.const path = require('path');const filePath = '/home/user/documents/example.txt';const directoryPath = path.dirname(filePath);console.log(directoryPath); // '/home/user/documents'위 코드에서 path.dirname()은 example.txt 파일 경로의 디렉터리 경로를 반환하여 파일 이름을 제외한 상위 경로만 얻을 수 있습니다.
[ Node.js ] file 확장자 제외하고 이름만 가져오기 Node.js에서 파일에서 확장자를 제외하고 파일명만 가져오려면 path 모듈의 basename 함수와 extname 함수를 사용할 수 있습니다. 예를 들어, 다음과 같이 사용할 수 있습니다:const path = require('path');const filePath = '/path/to/file/example.txt';// 확장자를 제외한 파일명만 가져오기const fileName = path.basename(filePath, path.extname(filePath));console.log(fileName); // 'example'설명:path.extname(filePath)는 파일의 확장자를 반환합니다.path.basename(filePath, path.extname(filePath))는 파일명에..
[ JavaScript ] var, let, const 변수 선언하기 JavaScript에서 변수를 선언하는 방법은 세 가지가 있습니다: var, let, const. 각 방법은 변수의 범위(scope)와 재할당 가능 여부에 차이가 있습니다.var:함수 스코프(Function scope)를 가집니다.중복 선언이 가능합니다.var는 블록({}) 내부에서도 블록 외부에서 접근 가능합니다. (이 때문에 예기치 않은 동작이 발생할 수 있습니다.)var x = 10;console.log(x); // 10let:블록 스코프(Block scope)를 가집니다.중복 선언이 불가능합니다.변수에 값을 재할당할 수 있습니다.let y = 20;console.log(y); // 20const:블록 스코프(Block scope)를 가집니다.상수(constant)를 선언할 때 사용하며, 선언과..
[ Vim ] tab을 space로 변경하기 (expandtab, shiftwidth, tabstop) vi 또는 vim 에서 탭(Tab)을 스페이스(Space)로 변경하는 방법은 설정을 통해 가능합니다. 이 과정은 탭을 입력할 때마다 스페이스가 입력되도록 하는 설정을 하는 것이며, 이를 위해서는 두 가지 주요 옵션을 사용합니다:expandtab 옵션: 입력한 탭을 스페이스로 변환합니다.shiftwidth와 tabstop 옵션: 스페이스의 개수를 설정합니다.1. 설정 방법먼저 vim을 열고 명령 모드에서 아래와 같은 명령을 입력하여 설정합니다::set expandtab:set shiftwidth=4:set tabstop=4expandtab: 입력한 탭을 스페이스로 변환합니다.shiftwidth=4: 들여쓰기나 자동 들여쓰기 시 사용할 스페이스의 개수를 설정합니다.tabstop=4: 기존의 탭 문자가 화면에..
[ Node.js ] unzipper로 압축 파일 풀기 Node.js에서 파일 압축을 풀기 위해서는 zlib 모듈이나 unzipper, adm-zip 등의 라이브러리를 사용할 수 있습니다. 가장 일반적인 사용 사례는 .zip 파일을 여는 것이며, 이를 위해 unzipper 라이브러리를 사용할 수 있습니다. 아래는 unzipper를 사용해 Node.js에서 .zip 파일을 여는 방법의 예입니다.1. unzipper 라이브러리 설치먼저, 프로젝트에 unzipper 라이브러리를 설치해야 합니다:npm install unzipper2. .zip 파일 압축 풀기 코드아래는 특정 디렉터리로 .zip 파일을 압축 해제하는 예제 코드입니다:const unzipper = require('unzipper');const fs = require('fs');const path = ..
[ Node.js ] require() vs import 비교 import와 require는 모두 Node.js 환경에서 모듈을 가져오는 데 사용되는 방법이지만, 몇 가지 중요한 차이점이 있습니다. 이 둘의 차이는 주로 사용 시점과 지원하는 모듈 시스템에서 발생합니다.1. 모듈 시스템 차이require: CommonJS 모듈 시스템require는 Node.js에서 기본적으로 사용되는 CommonJS 모듈 시스템의 일부입니다.CommonJS는 Node.js의 초기 모듈 시스템이며, 대부분의 기존 Node.js 코드베이스에서 사용됩니다.import: ES Module (ECMAScript Module) 시스템import는 ECMAScript Module(ESM) 표준에 기반한 모듈 시스템입니다.이 모듈 시스템은 JavaScript의 최신 표준에 맞춰 도입되었으며, 브라..

반응형