Node.js - 전역 객체
안녕하세요, 프로그래밍에 도전하는 여러분! 오늘 우리는 Node.js 전역 객체의 흥미로운 세계로 뛰어들어 보겠습니다. 여러분의 친절한 이웃 컴퓨터 과학 교사로서, 이 여정을 안내해 드리는 것을 기쁘게 생각합니다. 프로그래밍 초보자라也不用担心 – 우리는 기본부터 시작해 점진적으로 올라갈 테니요. 여러분의 좋아하는 음료를 손에 들고, 편안하게 앉아, 시작해 보겠습니다!
전역 객체란 무엇인가요?
구체적인 내용으로 들어가기 전에 전역 객체에 대해 이해해 보겠습니다. 큰 집(그것이 여러분의 Node.js 환경입니다)에 있고, 방마다 가지고 다녀야 할 필요 없이 사용할 수 있는 도구들이 있다고 상상해 보세요. 이러한 것들이 전역 객체입니다. 여러분의 Node.js 프로그램에서 어디서든 사용할 수 있는 객체들이죠.
Buffer 클래스
Buffer 클래스부터 시작해 보겠습니다. 버퍼는 데이터의 일시적인 저장 공간으로, 물을 담는 그릇 같은 것입니다.
Buffer 생성
const buf1 = Buffer.alloc(10);
console.log(buf1); // Output: <Buffer 00 00 00 00 00 00 00 00 00 00>
const buf2 = Buffer.from('Hello, Node.js!');
console.log(buf2.toString()); // Output: Hello, Node.js!
이 예제에서 buf1
은 10개의 데이터를 담을 수 있는 빈 그릇입니다. buf2
는 문자열에서 생성되었으며, toString()
을 사용하여 다시 문자열로 변환할 수 있습니다.
Buffer 사용
const buf = Buffer.alloc(4);
buf.write('Hey!');
console.log(buf.toString()); // Output: Hey!
buf[1] = 111; // 'o'의 ASCII 코드
console.log(buf.toString()); // Output: Hoy!
여기서 우리는 버퍼에 쓰고 심지어 개별 바이트를 변경합니다. 그릇의 다른 부분을 칠하는 것과 같은 느낌입니다!
Console 클래스
Console 클래스는 디버깅과 정보 로그에 유용한 충실한 동반자입니다.
console.log('Hello, World!'); // Prints: Hello, World!
console.error('Oops, something went wrong!'); // Prints error in red
console.warn('Be careful!'); // Prints warning in yellow
console.time('Loop time');
for(let i = 0; i < 1000000; i++) {}
console.timeEnd('Loop time'); // Prints: Loop time: 2.845ms
이 메서드들은 코드에서 무엇이 일어나고 있는지 이해하는 데 도움이 됩니다. 프로그램과 대화하는 것 같은 느낌입니다!
Process 객체
Process 객체는 Node.js 환경과 현재 프로세스에 대한 창을 제공합니다.
console.log(`Node.js version: ${process.version}`);
console.log(`Current directory: ${process.cwd()}`);
process.on('exit', (code) => {
console.log(`About to exit with code: ${code}`);
});
process.exit(0);
이 객체는 현재 Node.js 프로세스와 상호작용할 수 있게 해줍니다. 프로그램의 컨트롤 패널 같은 느낌입니다!
전역 타이머 함수
Node.js는 코드 실행을 예약하는 여러 가지 함수를 제공합니다. 몇 가지를 살펴보겠습니다:
setTimeout(() => {
console.log('This runs after 2 seconds');
}, 2000);
setInterval(() => {
console.log('This runs every 3 seconds');
}, 3000);
setImmediate(() => {
console.log('This runs as soon as possible');
});
이 함수들은 코드가 나중에 무엇을 할 것인지 설정하는 알림이나 알람과 같습니다.
전역 변수
Node.js는 항상 사용할 수 있는 몇 가지 전역 변수를 제공합니다:
console.log(__dirname); // 현재 모듈의 디렉토리 이름 출력
console.log(__filename); // 현재 모듈의 파일 이름 출력
console.log(module); // 현재 모듈에 대한 참조
console.log(exports); // module.exports 객체에 대한 참조
console.log(require); // 모듈을 포함하는 함수
이 변수들은 현재 파일과 모듈에 대한 정보를 제공합니다. 코드의 GPS 좌표 같은 느낌입니다!
다른 전역 객체
Node.js에서 중요한 다른 전역 객체들의 표입니다:
객체 | 설명 |
---|---|
global | 전역 이름 공간 객체 |
process | 현재 Node.js 프로세스에 대한 정보와 제어를 제공 |
console | stdout과 stderr에 출력을 위한 사용 |
Buffer | 이진 데이터를 처리 |
setTimeout(), clearTimeout(), setInterval(), clearInterval() | 타이밍 함수 |
setImmediate(), clearImmediate() | "즉시" 실행 예약 |
이 객체들은 여러분의 Node.js 환경에서 항상 사용할 수 있어서, 놀라운 애플리케이션을 만드는 데 도움이 됩니다!
결론적으로, Node.js 전역 객체는 프로그래머의 삶을 더 쉽게 만드는 강력한 도구입니다. 그들은 여러분의 주머니에 항상 들고 다니는 스위스 아ーノ이와 같은 존재입니다. Node.js 여정을 계속하면서, 이 객체들을 점점 더 많이 사용하게 될 것입니다.
이 튜토리얼이 유용하고 즐거웠기를 바랍니다. 프로그래밍은 여정이며, 쓰는 각 줄은 한 걸음입니다. 계속 연습하고, 호기심을 유지하며, 가장 중요한 것은 즐거워하는 것입니다! 미래의 Node.js ninja 여러분, 행복하게 코딩하세요!
Credits: Image by storyset