Node.js 교과서 3

Crmal·2021년 11월 1일
0

Node.js TextBook

목록 보기
3/3
post-thumbnail

3.5 노드 내장 모듈 사용하기

//os.js
const os = require('os');

console.log('운영체제 정보 ---------------------');
console.log('os.arch() : ',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());
console.log('경로-----------------------------');
console.log('os.homedir():',os.homedir());
console.log('os.tmpdir():', os.tmpdir());

console.log('cpu 정보----------------------');
console.log('os,cpus().length:', os.cpus().length);
console.log('os.cpus().length:', os.cpus().length);

console.log('메모리 정보---------------------');
console.log('os,freemem():', os.freemem());
console.log('os.totalmem():', os.totalmem());

os의 정보를 가져오는 다양한 명령어입니다.

os.arch() : process.arch와 동일합니다.(프로세서 아키텍처 정보)
os.platform() : process.platform과 동일합니다.(운영체제 플랫폼 정보)
os.type() : 운영체제의 종류를 보여줍니다.
os.uptime() : 운영체제 부팅 이후 흐른 시간을 보여줍니다.
os.release() : 운영체제의 버전을 보여줍니다.
os.homedir() : 홈 디렉터리 경로를 보여줍니다.
os.tmpdir() : 임시 파일 저장 경로를 보여줍니다.
os.cpus() : 컴퓨터의 코어 정보를 보여줍니다.
os.freemem() : 사용 가능한 메모리(RAM)를 보여줍니다.
os.totalmem() : 전체 메모리 용량을 보여줍니다.


os기능은 아직은 내가 많이 사용할 기능은 아닌듯하다 하지만 한번쯤 내가 사용하는 개발환경을 체크하는 정도로는 사용이 가능할것같다.


//path.js
const path = require('path');

const string = __filename;

console.log('path.sep:', path.sep);
console.log('path.delimite:', path.delimiter);
console.log('--------------------------------------------');
console.log('path.dirname():', path.dirname(string));
console.log('path.extname():', path.basename(string));
console.log('path.basename():', path.basename(string, path.extname(string)))
console.log('--------------------------------------------');
console.log('path.parse()', path.parse(string));
console.log('path.format():',path.format({
    dir: 'c//user//sannim',
    name: 'path',
    ext: '.js'
}));
console.log('path.normalize():',path.normalize('c://users\\\\zerocho\\\path.js'));
console.log('--------------------------------------------');
console.log('path.isAbsolute():', path.isAbsolute('c:\\'));
console.log('path.is absolute():', path.isAbsolute('./home'));
console.log('--------------------------------------------');
console.log('path.relative():',path.relative('C:\\users\\zerocho\\path.js', 'C:\\'));
console.log('path.join():', path.join(__dirname, '..', 'users', '.', '/zerocho'))

path는 폴더와 파일의 경로를 쉽게 조작해주는 모듈입니다.
제가 중요하다 생각하는 부분은
path.parse(경로) : 파일 경로를 root, dir, base, ext, name
path.format(객체) : parse된 객체를 파일 경로로 합칩니다.
정도로 지금은 넘어가도 될듯합니다.


//url.js
const url = require('url');

const URL = url.URL;
const myURL = new URL('http://www.gilbut.co.kr/book/bookList.aspx?sercate1=001001000#anhor');
console.log('new URL()L', myURL);
console.log('url.format():',url.format(myURL));
console.log('-----------------------');
const parsedUrl = url.parse('http://www.gilbut.co.kr/book/bookList.aspx?sercate1=001001000#anchor');
console.log('url.parse():', parsedUrl);
console.log('ulr.formate():', url.format(parsedUrl));

위에 path와 같은내용으로 url은 url의 정보를 쉽게 조작할수있는 모듈입니다
또한 중요한부분은
parse, format정도 인것같습니다.


//searchParams
const { URL } = require('url');

const myURL = new URL('http://www.gilbut.co.kr/?page=3&limit=10&category=nodejs&category=javascript');
console.log('searchParams:', myURL.searchParams);
console.log('searchParams.getAll():', myURL.searchParams.getAll('category'));
console.log('searchParams.get():', myURL.searchParams.get('limit'));
console.log('searchParams.has():', myURL.searchParams.has('page'));

console.log('searchParams.keys():', myURL.searchParams.keys());
console.log('searchParams.values():', myURL.searchParams.values());

myURL.searchParams.append('filter', 'es3');
myURL.searchParams.append('filter', 'es5');
console.log(myURL.searchParams.getAll('filter'));

myURL.searchParams.set('filter', 'es6');
console.log(myURL.searchParams.getAll('filter'));

myURL.searchParams.delete('filter');
console.log(myURL.searchParams.getAll('filter'));

console.log('searchParams.toString():', myURL.searchParams.toString());
myURL.search = myURL.searchParams.toString();

getAll(키) : 키에 해당하는 모든 값들을 가져옵니다. category 키에는 두 가지 값, 즉 node.js와 javascript 부분을 조작하는 다양한 메서드를 지원합니다.
get(키) : 키에 해당하는 첫 번째 값만 가져옵니다.
has(키) : 해당 키가 있는지 없는지를 검사합니다.
key() : serchParams의 모든 키를 반복기(iterator, ES2015 문법) 객체로 가져옵니다
valuse() : serchParmas의 모든 값을 반복기 객체로 가져옵니다.
append(키, 값) : 해당 키를 추가합니다. 같은 키의 값이 값이 있다면 유지하고 하나 더 추가합니다.
set(키, 값) : append와 비슷하지만 같은 키의 값들을 모두 지우고 새로 추가합니다.
delete(키) : 해당 키를 제거합니다.
toString() : 조작한 searchParams 객체를 다시 문자열로 만듭니다. 이 문자열을 search에 대입하면 주소 객체에 반영됩니다.


// querystring.js
const 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():', querystring.stringify(query));

querystring이란 url의 search를 쉽게 객체로 만드는 모듈입니다 url의 ?이후에 써있는것을 querystring이라 합니다.
이부분은 많이 쓰일 부분이라 생각들고 조작하는데 필요한 모듈이라 생각듭니다.


3.5는 기본적인 모듈과 암호화에 대한 내용을 다루는데 암호화에 대한 내용은 따로 다뤄보고자 합니다.

0개의 댓글