목록
'node js' 122건
-
utilutil이라는 이름처럼 각종 편의 기능을 모아둔 모듈이다. 계속해서 API가 추가되고 있으며, 가끔 deprecated되어 사라지는 경우도 있습니다. deprecated란?deprecated는 프로그래밍 용어로, '중요도가 떨어져 더 이상 사용되지 않고 앞으로는 사라지게 될' 것이라는 뜻입니다. util.jsconst util = require("util");const crypto = require("crypto");const dontUseMe = util.deprecate((x, y) => { console.log(x + y);}, "dontUseMe 함수는 deprecated되었으니 더 이상 사용하지 마세요!");dontUseMe(1, 2);const randomBytesPromise = util...
-
crypto다양한 방식의 암호화를 도와주는 모듈입니다. 단방향 알고리즘비밀번호는 보통 단방향 암호화 알고리즘을 사용해서 암호화합니다. 단방향 암호화한 복호화할 수 없는 암호화 방식을 뜻합니다. 복호화는 암호화된 문자열을 원래 문자열로 되돌려 놓는 것을 의미합니다. 즉, 단방향 암호화는 한 번 암호화하면 원래 문자열을 찾을 수 없습니다. 복호화할 수 없으므로 암호화하라고 표현하는 대신 해시 함수라고 부르기도 합니다.단방향 암호화 알고리즘은 주로 해시 기법을 사용합니다. 해시 기법이란 어떠한 문자열을 고정된 길이의 다른 문자열로 바꿔버리는 방식입니다. 노드에서 해시 함수는 다음과 같이 사용합니다. hash.jsconst crypto = require("crypto");console.log( "base64:", c..
-
querystringWHATWG 방식의 url 대신 기존 노드의 url을 사용할 때, search 부분을 사용하기 쉽게 객체로 만드는 모듈입니다. querystring.jsconst url = require("url");const querystring = require("querystring");const parsedUrl = url.parse( "http://www.gilbut.co.kr/?page=3&limit=10&category=nodejs&category=javascript");const query = querystring.parse(parsedUrl.query);console.log("querystring.parse():", query);console.log("querystring.stringify():", q..
-
url인터넷 주소를 쉽게 조작하도록 도와주는 모듈입니다. url 처리에는 크게 두 가지 방식이 있습니다. 노드 버전 7에서 추가된 WHATWG(웹 표준을 정하는 단체의 이름) 방식의 url과 예전부터 노드에서 사용하던 방식의 url이 있습니다.가운데 주소를 기준으로 위쪽은 기존 노드의 url 구분 방법이고, 아래쪽은 WHATWG의 url 구분 방법입니다. url.jsconst url = require("url");const { URL } = url;const myURL = new URL("https://melocoding.tistory.com/");console.log("new URL():", myURL);console.log("url.format():", url.format(myURL));console.l..
-
path폴더의 파일의 경로를 쉽게 조작하도록 도와주는 모듈입니다. path 모듈이 필요한 이유 중 하나는 운영체제별로 경로 구분자가 다르기 때문입니다. 크게 윈도 타입과 POSIX 타입으로 구분됩니다. POSIX는 유닉스 기반의 운영체제들을 의미하여 맥과 리눅스가 속해 있습니다.윈도: C:\Users\Zzangchae처럼 \로 구분합니다.POSIX: /home/zzangchae처럼 /로 구분합니다.path 모듈의 속성과 메소드를 알아봅시다.path.jsconst path = require("path");const string = __filename;console.log("path.sep:", path.sep);console.log("path.delimiter:", path.delimiter);console.lo..
-
OS웹 브라우저에 사용되는 자바스크립트의 정보를 가져올 수 있지만, 노드는 os 모듈에 정보가 담겨 있어 정보를 가져올 수 있습니다. os.jsconst os = require("os");console.log("운영체제 정보---------------------");console.log("os.path():", os.arch());console.log("os.platform():", os.platform());console.log("os.type():", os.type());console.log("os.uptime()", os.uptime());console.log("os.hostname()", os.hostname());console.log("os.release()", os.release());consol..
-
processprocess 객체는 현재 실행되고 있는 프로세스에 대한 정보를 담고 있습니다. process 객체 안에는 다양한 속성이 있는데, 하나씩 REPL에 따라 입력해봅니다.콘솔$ node> process.version'v22.13.0' // 설치된 노드의 버전입니다.> process.arch'x64' // 프로세서 아키텍처 정보입니다. arm, is32 등이 값일 수도 있습니다.> process.platform'win32' // 운영체제 플랫폼 정보입니다. linux나 darwin, freebsd 등의 값일 수도 있습니다.> process.pid12688 // 현재 프로세스의 아이디입니다. 프로세스를 여러 개 가질 때 구분할 수 있습니다.> process.uptime()64.8004743 // 프로세스가 시..
-
module, exports, requirevar.jsexports.odd = "홀수입니다";exports.even = "짝수입니다"; index.jsconst { odd, even } = require("./var");const checkNumber = require("./func");function checkStringOddOrEven(str) { if (str.length % 2) { // 홀수만 return odd; } return even;}console.log(checkNumber(10));console.log(checkStringOddOrEven("hello")); 콘솔$ node index짝수입니다홀수입니다 module.exports로 한 번에 대입하는 대신, 각각의 변수를 exports 객체에 하나씩 넣었습니다...
-
타이머타이머 기능을 제공하는 함수인 setTimeout, setInterval, setImmediate는 노드에서 window 대신 global 객체 안에 들어 있습니다.setTimeout(콜백 함수, 밀리초) : 주어진 밀리초(1,000분의 1초) 이후에 콜백 함수를 실행합니다.setInterval(콜백 함수, 밀리초) : 주어진 밀리초가 콜백 함수를 반복 실행합니다.setImmediate(콜백 함수) : 콜백 함수를 즉시 실행합니다.이 타이머 함수들은 모두 아이디를 반환합니다. 아이디를 사용하여 타이머를 취소할 수 있습니다.clearTimeout(아이디) : setTimeout을 취소합니다.clearInterval(아이디) : setInterval을 취소합니다.clearImmediate(아이디) : set..
-
console지금까지 사용했던 console도 노드에서는 window 대신 global 객체 안에 들어 있으며, 브라우저에서의 console과 거의 비슷합니다.console 객체는 보통 디버깅을 위해 사용합니다. 개발하면서 변수에 값이 제대로 들어 있는지 확인하기 위해 사용하고, 에러 발생 시 에러 내용을 콘솔에 표시하기 위해 사용하며, 코드 실행 시간을 알아보려고 할 때도 사용합니다. 대표적으로 console.log 메소드가 있습니다. console.jsconst string = "abc";const number = 1;const boolean = true;const obj = { outside: { inside: { key: "value", }, },};console.log("전체 시간")..
-
global브라우저의 window와 같은 같은 전역 객체입니다. 전역 객체이므로 모든 파일에 접근할 수 있습니다. 또한, window.open 메서드를 그냥 open으로 호출할 수 있는 것처럼 global도 생략할 수 있습니다. require 함수도 global.require에서 global이 생략된 것입니다. 노드 콘솔에 로그를 기록하는 console 객체도 원래는 global.console입니다.global 객체 내부에는 매우 많은 속성이 들어 있습니다.$ node> global{ global: [Circular *1], clearImmediate: [Function: clearImmediate], setImmediate: [Function: setImmediate] { [Symbol(nodejs.u..
-
모듈로 만들기모듈이란 특정한 기능을 하는 함수나 변수들의 집합입니다.모듈로 만들어두면 여러 프로그램에 해당 모듈을 재사용할 수 있습니다. 보통 파일 하나가 모듈 하나가 됩니다. 파일별로 코드를 모듈화할 수 있어 관리하기 편합니다. 모듈을 만들 때는 모듈이 될 파일과 모듈을 불러와서 사용할 파일이 필요합니다.var.js와 func.js, index.js를 같은 폴더에 만듭니다. 먼저 var.js를 작성합니다.const odd = "홀수입니다.";const even = "짝수입니다.";module.exports = { odd, even,}; var.js에 변수 두 개를 선언했습니다. 그리고 module.exports에 변수들을 담은 객체를 대입했습니다. 이제 이 파일은 모듈로서 기능합니다. 변수들을 모아둔 모듈이 되..