인파

You Can Become A

늦게 시작해도 누구든지 노력하면 개발자가 될수 있어요 !

공부한 내용을 정리합니다
Node.js/Node

[NODE] 📚 fs 모듈 - 파일 제어 명령어 💯 정리

Node File System 모듈 파일시스템 모듈이란, 파일 처리와 관련된 작업을 하는 모듈로 보통 FileSystem을 줄여서 fs 모듈이라고 줄여 부릅니다. 노드에서 가장 많이 쓰이고 중요한 모듈 중 하나입니다. fs 모듈에는 대부분의 메소드들이 동기/비동기로 나뉘는데, Sync라는 이름이 붙어있는 메소드가 동기방식을 사용한다고 보면 됩니다. 동기적 읽기 방식을 사용하면 파일을 읽으면서 다른 작업을 동시에 할 수 없습니다. 하지만 비동기적으로 읽으면 파일을 읽으면서 다른 작업도 동시에 수행할 수 있고, 파일을 다 읽으면 매개변수 callback으로 전달한 함수가 호출됩니다. 주로 비동기적 형식을 많이 사용하지만, 서버 시작 시 세팅 파일을 읽는 작업과 같이 동기적 형식이 더 적절한 경우도 있습니다...

category_image
인파_
2021.10.29
(0)
Node.js/Node

[NODE] 📚 Utility 모듈 (보조 기능 모음)

Utility 모듈 Utility 모듈은 node.js의 보조적인 기능 중 유용한 기능만을 모아놓은 모듈입니다. 모든 메소드는 API 문서에서 볼 수 있습니다. util.format(format, [...]) : console.log() 메소드와 비슷한 기능이지만 console.log()는 화면에 출력하고 util.format은 문자열로 반환합니다. printf와 같은 형식으로 첫 아규먼트를 사용해서 포맷팅된 문자열을 반환합니다. 플레이스 홀더는 다음과 같은 아규먼트의 값으로 대체됩니다. util.debug(string) : 프로그램의 실행을 멈추고 즉각적으로 string을 출력합니다. util.log(string) : 타임스탬프 시간과 함께 string을 출력합니다. util.isArray(object..

category_image
인파_
2021.10.29
(0)
Node.js/Node

[NODE] 📚 __dirname / __filename / process.cwd() 차이 정리

__dirname 와 __filename 노드에서는 모듈 관계가 있는 경우가 많아 현재 파일의 경로나 파일명을 알아야 하는 경우가 많다. 노드는 __filename, __dirname 이라는 키워드로 경로에 대한 정보롤 제공한다. 파일에 __filename, __dirname 변수를 넣어두면 실행시 현재 파일명과 파일 경로로 바뀐다. 아래 에제의 js 파일의 위치는 /Users/ano/temp/directory.js 이다. // file 명을 포함한 절대경로 console.log(__filename); // C:/Users/ano/temp/directory.js // file 명을 제외한 절대 경로 console.log(__dirname); // C:/Users/ano/temp __dirname 와 pr..

category_image
인파_
2021.10.28
(0)
Node.js/Node

[NODE] 📚 Path 모듈 (경로 제어)

Path 모듈 path 모듈은 운영체제별로 경로 구분자가 달라 생기는 문제를 쉽게 해결하기 위해 등장했다. 문제는 운영체제 별로 달라지는 구분자에 대한 이슈는 다음과 같다. 크게 Windows, POSIX 로 갈리는데, POSIX는 유닉스 기반의 운영체제를 말하고, macOS 와 Linux 가 이에 속해있다. Windows: C:\Users\ano 처럼 \ 를 사용해 폴더를 구분한다. POSIX: /Users/ano 처럼 / 를 사용해 폴더를 구분한다. path 모듈을 사용하면 폴더와 파일의 경로를 쉽게 조작할 수 있어 위와 같은 경로 구분자 이슈를 쉽게 해결하고, 이외에 파일명에서 파일명, 확장자를 별도로 때어서 활용할 수 있 수 있다. path 모듈 method path 모듈은 내장 모듈이므로 별도 ..

category_image
인파_
2021.10.28
(0)
Node.js/Node

[NODE] 📚 Event 모듈 (이벤트 제어)

Event 모듈 Node.js 에선 Event를 매우 많이 사용하고, 이 때문에 다른 비슷한 기술들보다 훨씬 빠른 속도를 자랑합니다. Node.js 기반으로 만들어진 서버가 가동되면, 변수들을 initialize 하고, 함수를 선언하고 이벤트가 일어날때까지 기다립니다. 이벤트 위주 (Event-Driven) 어플리케이션에서는, 이벤트를 대기하는 메인 루프가 있습니다. 그리고 이벤트가 감지되었을시 Callback함수를 호출합니다. 이벤트가 콜백과 비슷해 보일 수 도 있습니다. 차이점은, 콜백함수는 비동기식 함수에서 결과를 반환할때 호출되지만, 이벤트핸들링은 옵저버 패턴에 의해 작동됩니다. 이벤트를 대기하는 (EventListeners) 함수들이 옵저버 역할을 합니다. 옵저버들이 이벤트를 기다리다가, 이벤트..

category_image
인파_
2021.10.25
(0)
Node.js/Node

[NODE] 📚 OS / Process 모듈 (시스템 확인)

OS 모듈 OS 모듈은 실제 개발에서 많이 사용되는 모듈은 아니지만 운영체제와 시스템의 정보를 가져올 수 있는 모듈입니다. CPU나 메모리, 디스크 용량이 얼마나 남았는지 확인이 필요할 때 사용합니다. 즉 사용자가 실행하는 환경에 따라서 값이 다르게 나옵니다. 전체 메소드는 API 문서를 참조바랍니다. os.tmpdir() : 임시 저장 폴더의 위치 os.endianness() : CPU의 endianness(BE 또는 LE) os.hostname() : 호스트(컴퓨터) 이름 os.type() : 운영체제 이름 os.platform() : 운영체제 플랫폼 os.arch() : 운영체제 아키텍처 os.release() : 운영체제 버전 os.uptime() : 운영체제가 실행된 시간 os.loadavg()..

category_image
인파_
2021.10.25
(0)
Node.js/Node

[NODE] 📚 require 모듈 (모듈 관리하기) 정리

require() CommonJS 방식으로 모듈을 내보낼 때는 ES6처럼 명시적으로 선언하는 것이 아니라 특정 변수나 그 변수의 속성으로 내보낼 객체를 세팅해줘야 합니다. 특히, 제일 햇갈리는 부분이 exports 변수와 module.exports 변수를 상황에 맞게 잘 사용해야 한다는 점입니다. 기본적으로 다음 2가지 규칙만 기억하면 됩니다 여러 개의 객체를 내보낼 경우, exports변수의 속성으로 할당합니다. 딱 하나의 객체를 내보낼 경우, module.exports 변수 자체에 할당합니다. 단, 객체를 묶어서 여러개 값을 export할수 있습니다. 노드 복수 객체 내보내기/불러오기 내보내기 아래는 미국과 캐나다 달러를 상호 변환해주는 자바스크립트 예제 코드입니다. 이 파일에는 3개의 함수가 있는데..

category_image
인파_
2021.10.25
(0)
Node.js/Node

[NODE] 📚 노드 콘솔창에서 입출력 IO 하는법

노드 콘솔 입력 받기 보통 자바스크립트를 쓰면서 입출력은 웹에서 처리했다. 웹페이지에서 form으로 입력 받고, console.log나 document.write() 등 을 통해서 출력을 했다. 하지만 이는 어디까지나 브라우저에서 묶인 자바스크립트로서의 동작이다. 브라우저로부터 독립된 node.js의 자바스크립트는 다른 C나 JAVA같이 콘솔창에서 입출력을 제어할수 있을까? 정답은 할수는 있지만, C같이 결코 간단하게 처리될수는 없다. 차근차근 하나씩 알아보자. 노드 콘솔 입력 readline 모듈 readline 모듈은 JS 내장 모듈로, 한 번에 한 줄씩 Readable 스트림 (예 : process.stdin)에서 데이터를 읽기위한 인터페이스를 제공한다. 처음 생성 시 createInterface를..

category_image
인파_
2021.10.24
(0)
Node.js/Node

[NODE] 📚 REPL 터미널 사용하는 방법

REPL REPL은 Read-Eval(evaluation)-Print Loop의 약어로 사용자가 특정 코드를 입력하면 그 코드를 평가하고 코드의 실행결과를 출력해주는 것을 반복해주는 환경을 말합니다. node.js 에서도 REPL 환경을 지원하기 때문에 자바스크립트 학습중에 간단한 자바스크립트 코드등을 즉석에서 바로 실행해 결과를 확인해 볼 수 있다는 장점이 있습니다. 파이썬 등의 많은 언어들도 REPL을 지원하고 있죠. 간단한 수식을 테스트한다던가 가끔 헷갈리는 문법등이 생겼을 때 간단하게 시도해보기가 좋아서 애용하기에 좋습니다. Node.js는 REPL 환경과 함께 제공되며 다음과 같은 기능을 수행 할 수 있습니다. Read – 유저의 값을 입력 받아 JavaScript 데이터 구조로 메모리에 저장합..

category_image
인파_
2021.10.22
(0)
Node.js/Node

[NODE] 📚 npm(node package manager) 완벽 정리

npm(node package manager) npm(node package manager)은 자바스크립트 패키지 매니저이다. Node.js에서 사용할 수 있는 모듈들을 패키지화하여 모아둔 저장소 역할과 패키지 설치 및 관리를 위한 CLI(Command line interface)를 제공한다. 자신이 작성한 패키지를 공개할 수도 있고 필요한 패키지를 검색하여 재사용할 수도 있다. 패키지 설치 Node.js에서 사용할 수 있는 모듈인 패키지를 설치할 때에는 npm install 명령어 뒤에 설치할 패키지 이름을 지정한다. $ npm [명령어] [타겟 모듈 이름] [옵션] $ npm install 지역 설치 / 전역 설치 npm install 명령어에는 지역(local) 설치와 전역(global) 설치 옵션..

category_image
인파_
2021.09.20
(0)
Node.js/Node

[NODE] 📚 노드 듀토리얼

Introduction Node.js는 Chrome V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경(Runtime Environment)으로 주로 서버 사이드 애플리케이션 개발에 사용되는 소프트웨어 플랫폼이다. Node.js는 브라우저 외부 환경에서 자바스크립트 애플리케이션 개발에 사용되며 이에 필요한 모듈, 파일 시스템, HTTP 등 Built-in API를 제공한다. ​ Node.js는 자바스크립트를 사용해 개발한다. Front-end와 Back-end에서 자바스크립트를 사용할 수 있다는 동형성(isomorphic)은 별도의 언어 학습 시간을 단축해 주는 장점이 있다. ​ Node.js는 Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 Request 처리 성능을 가지고..

category_image
인파_
2021.09.20
(0)