인파

You Can Become A

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

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

[NODE] 📚 쿠키 & 세션 다루기

자바스크립트 쿠키 다루기 노드 쿠키 다루기에 앞서, 자바스크립트로 쿠키 다루는 법을 먼저 공부하고 오는 것을 추천한다. [JS] 📚 쿠키(Cookie) 🍪 다루기 선행 학습 [WEB] 🌐 쿠키 / 세션 정리 비연결성(Connectionless)과 비상태성(Stateless) HTTP 프로토콜에는 비연결성(Connectionless)과 비상태성(Stateless)이라는 특징이 있습니다. 이는 서버의 자원을 절약하.. inpa.tistory.com 쿠키 전송 서버 만들기 const http = require('http'); http .createServer((req, res) => { // 만일 쿠키가 있으면, 읽는다. console.log(req.url, req.headers.cookie); // Set-..

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

[NODE] 📚 http 모듈 (서버 실행)

HTTP 모듈 http 모듈은 노드의 가장 기본적인 모듈이며, http 서버와 클라이언트를 생성하는 것과 관련된 모든 기능을 담당한다. 웹 서버의 생성과 실행 //서버를 생성 var http = require('http'); var server = http.createServer(); //서버를 실행 server.listen(52273, function() { // 포트 설정 console.log('Server Running at http://127.0.0.1:52273'); // 서버실행 하면 콘솔 출력 }); //10초 후 서버 종료 setTimeout(function() { console.log('서버 종료'); server.close(); },10000); http 모듈을 사용하기 위해 requi..

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

[NODE] 📚 url 모듈 - 링크 정보 제어 (URL / WHATWG)

URL 모듈 노드에서는 url 모듈을 사용하여 사이트 주소 정보를 url 객체로 만들 수 있다. url 모듈을 이용해 주소 문자열을 객체로 만들면 문자열 안에 있던 각각의 정보를 나누어 그 객체의 속성으로 보관한다. (ex. protocol / host / query) 따라서 요청 프로토콜이 http인지 https인지를 구별하거나 요청 파라미터를 확인하고 싶다면 url 객체가 갖고 있는 속성 값을 확인하면 된다. URL방식 과 WHATWG 방식 URL ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │ href │ ├──────────┬──┬────────────────────..

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

[NODE] 📚 버퍼 / 스트림 / 파이프 문법 💯 정리

버퍼 (Buffer) 기본적으로 자바스크립트는 이진 데이터(binary data)를 다룰 수 없다. 그런데 서버로 활용하는 노드에서는 TCP streams 이나 파일을 읽고 쓸 수 있어야 한다. 그래서 등장한 것이 buffer이다. 쉽게 말해 파일을 읽고 쓰는데 전송되는 이진 데이터를 buffer로 변환해서 활용하는 것이라고 이해하면 된다. 아래 코드는 node 내장 모듈인 fs의 readFile을 통해 파일을 읽고, 콜백으로 반환된 결과를 출력해 보면 파일 내용이 buffer로 변환한 것을 볼수 있다. const fs = require("fs"); // 파일 읽기 fs.readFile("./memo.txt", (err, data) => { if (err) { console.warn(err); } con..

category_image
인파_
2021.10.29
(0)
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)