반응형

node 13

콜백 함수 (Callbacks)와 콜백 지옥 (Callback Hell) 😫

콜백 함수 (Callbacks)와 콜백 지옥 (Callback Hell) 😫1. 콜백 함수 (Callbacks)란?비동기 프로그래밍에서 콜백 함수는 특정 작업이 완료된 후에 실행되도록 다른 함수의 인자로 전달되는 함수를 말합니다. "나중에 호출해줘(call me back)"라는 의미로 생각하시면 쉽습니다.Node.js의 많은 비동기 함수들은 마지막 인자로 콜백 함수를 받습니다. 이 콜백 함수는 비동기 작업이 성공적으로 완료되었을 때 그 결과를 가지고 호출되거나, 작업 중 오류가 발생했을 때 에러 정보를 가지고 호출됩니다.Node.js 콜백 함수의 일반적인 형태 (Error-first callback pattern):Node.js에서는 콜백 함수의 첫 번째 인자로 에러 객체(error 또는 err)를 전..

NPM (Node Package Manager) 심층 분석 - 전역 vs. 로컬 패키지

전역 vs. 로컬 패키지NPM으로 패키지를 설치할 때, 패키지는 로컬(Local) 또는 전역(Global) 중 한 곳에 설치됩니다. 이 둘의 차이점을 이해하는 것은 패키지를 올바르게 사용하고 관리하는 데 중요합니다.로컬 패키지 (Local Packages):설치 위치: 프로젝트 폴더 내의 node_modules 디렉토리에 설치됩니다.목적: 특정 프로젝트 내에서만 사용될 라이브러리나 도구입니다. 예를 들어, 웹 프레임워크인 Express, 유틸리티 라이브러리인 Lodash 등은 보통 로컬로 설치하여 해당 프로젝트의 코드에서 require()를 통해 불러와 사용합니다.관리: package.json 파일의 dependencies 또는 devDependencies에 기록되어 프로젝트 의존성으로 관리됩니다.명령어..

NPM (Node Package Manager) 심층 분석 - 패키지 설치, 업데이트, 삭제 명령어 (npm install, npm update, npm uninstall)

패키지 설치, 업데이트, 삭제 명령어 (npm install, npm update, npm uninstall)NPM의 가장 기본적인 기능은 외부 패키지를 프로젝트에 추가(설치)하고, 버전을 관리(업데이트)하며, 더 이상 필요 없는 패키지를 제거(삭제)하는 것입니다. 이러한 작업은 모두 터미널에서 npm 명령어를 통해 이루어집니다.1. 패키지 설치 (npm install)npm install 명령어는 다양한 방법으로 사용될 수 있습니다.특정 패키지 설치:Bash npm install 예를 들어, 웹 프레임워크인 Express.js를 설치하려면 다음과 같이 입력합니다.이 명령을 실행하면 다음과 같은 일들이 일어납니다:NPM은 NPM Registry에서 express 패키지의 최신 안정 버전을 찾습니다.exp..

NPM (Node Package Manager) 심층 분석- package.json의 역할과 중요성 (Java의 pom.xml 또는 build.gradle과 유사)

3️⃣ NPM (Node Package Manager) 심층 분석 📦이전 챕터에서 Node.js가 제공하는 핵심 모듈들을 살펴보았습니다. 하지만 실제 애플리케이션을 개발하다 보면 핵심 모듈만으로는 부족한 경우가 많습니다. 특정 데이터베이스와의 연동, 복잡한 날짜/시간 처리, HTTP 요청을 더 쉽게 보내는 방법 등 다양한 기능들이 필요해집니다.이때 등장하는 것이 바로 NPM (Node Package Manager) 입니다. NPM은 다음과 같은 주요 역할을 합니다.패키지 저장소 (Registry): 전 세계 개발자들이 만든 수많은 Node.js 패키지(라이브러리 또는 모듈)가 공개적으로 저장되어 있는 거대한 온라인 데이터베이스입니다. 필요한 기능을 가진 패키지를 검색하고 다운로드할 수 있습니다.명령줄 ..

카테고리 없음 2025.06.04

주요 내장 모듈 살펴보기 - os: 운영체제 정보 접근,url: URL 파싱 및 조작

5. os 모듈: 운영체제 정보 길잡이 🖥️os 모듈은 현재 실행 중인 운영체제 및 시스템과 관련된 다양한 정보를 가져올 수 있는 유틸리티 함수들을 제공합니다. 애플리케이션이 실행되는 환경에 따라 다른 동작을 수행해야 하거나, 시스템 리소스 정보를 로깅해야 할 때 유용하게 사용될 수 있습니다. Java의 System.getProperty()를 통해 얻을 수 있는 일부 정보들과 유사한 기능을 제공합니다.os 모듈을 사용하려면 먼저 require 해야 합니다.JavaScript const os = require('os');주요 os 모듈 함수 예시:os.EOL: 운영체제의 줄 바꿈 문자(End-Of-Line marker)를 나타내는 상수입니다. Windows에서는 \r\n이고, POSIX 시스템(macOS..

주요 내장 모듈 살펴보기-path: 파일 및 디렉토리 경로 처리 (Java의 java.nio.file.Path와 유사)

3. path 모듈: 파일 및 디렉토리 경로 마법사 🪄애플리케이션을 개발하다 보면 파일이나 디렉토리의 경로를 조합하거나, 특정 경로에서 파일 이름 또는 확장자만 추출해야 하는 경우가 많습니다. 이때 문자열을 직접 조작하는 것은 오류가 발생하기 쉽고, 특히 Windows와 macOS/Linux 같은 서로 다른 운영체제에서는 경로 구분자(Windows는 \, macOS/Linux는 /)가 달라 문제가 생길 수 있습니다.path 모듈은 이러한 경로 관련 작업을 운영체제에 독립적인 방식으로 안전하고 일관되게 처리할 수 있도록 다양한 유틸리티 함수를 제공합니다. Java의 java.nio.file.Path 인터페이스나 java.io.File 클래스의 경로 관련 메소드들과 유사한 기능을 한다고 생각하시면 됩니다...

주요 내장 모듈 살펴보기- http: HTTP 서버 및 클라이언트 생성 (Java의 java.net.HttpURLConnection 또는 서블릿 API와 비교)

2. http 모듈: 웹 서버와 클라이언트의 모든 것 🌐http 모듈은 Node.js를 사용하여 HTTP 서버를 만들거나 다른 HTTP 서버에 요청을 보내는 클라이언트 기능을 구현할 때 사용됩니다. 앞서 "Hello Node.js!" 예제에서 간단히 경험해 보셨듯이, 이 모듈은 Node.js가 웹 서버로 동작할 수 있게 하는 핵심 기반입니다. Java의 java.net.HttpURLConnection, java.net.ServerSocket, 서블릿 API (예: javax.servlet.http.HttpServlet) 등과 유사한 역할을 수행한다고 볼 수 있습니다.주요 http 모듈 기능 및 객체:http.createServer([options], [requestListener]): 새로운 HTTP ..

주요 내장 모듈 살펴보기

주요 내장 모듈 살펴보기 🔍Node.js에는 별도의 설치 없이 require()를 통해 바로 사용할 수 있는 다양한 내장 모듈들이 있습니다. 이 모듈들은 파일 시스템 제어, HTTP 통신, 운영체제 정보 접근 등 서버 개발에 필수적인 기능들을 제공합니다. 마치 Java의 표준 라이브러리 (JDK에 포함된 java.lang, java.io, java.net 등)와 같다고 생각하시면 됩니다.이번 섹션에서는 가장 자주 사용되고 중요한 몇 가지 내장 모듈을 중심으로 살펴보겠습니다.1. fs (File System) 모듈: 파일 다루기의 모든 것 📁fs 모듈은 파일 시스템과 상호작용하는 데 필요한 모든 기능을 제공합니다. 파일 읽기, 쓰기, 디렉토리 생성 및 삭제, 파일 정보 확인 등 다양한 작업을 수행할 수..

2️⃣ Node.js 핵심 모듈: 강력한 기본기 다지기

2️⃣ Node.js 핵심 모듈: 강력한 기본기 다지기 🧱첫 번째 챕터에서 Node.js가 무엇인지, 어떻게 실행되는지, 그리고 Java와 어떤 차이점이 있는지 살펴보았습니다. 이제부터는 Node.js를 실제로 활용하는 데 필요한 강력한 도구들, 바로 **핵심 모듈(Core Modules)**에 대해 알아볼 시간입니다.Node.js는 그 자체로도 강력하지만, 다양한 내장 모듈을 통해 파일 시스템 접근, HTTP 통신, 경로 처리 등 서버 개발에 필수적인 기능들을 별도의 라이브러리 설치 없이 바로 사용할 수 있게 해줍니다. Java에서 java.io, java.net, java.nio 등의 표준 라이브러리를 사용하는 것과 유사하다고 생각하시면 됩니다.이 챕터에서는 Node.js의 모듈 시스템을 이해하고,..

Java vs. Node.js: 서버 사이드 패러다임 비교 🔄

Java vs. Node.js: 서버 사이드 패러다임 비교 🔄Java와 Node.js는 각각 다른 철학과 구조를 가지고 서버 사이드 애플리케이션을 구축합니다. 이 둘의 핵심적인 차이점을 이해하는 것은 Node.js를 효과적으로 학습하고 활용하는 데 큰 도움이 될 것입니다.1. 런타임 환경 및 실행 모델Java:런타임: JVM (Java Virtual Machine) 위에서 실행됩니다. 바이트코드로 컴파일된 클래스 파일들을 JVM이 해석하고 실행합니다.실행 모델 (주로): 멀티스레드(Multi-thread) 기반의 동기(Synchronous) 처리 모델을 주로 사용합니다.클라이언트의 요청마다 별도의 스레드를 할당하거나 (Thread-per-request), 스레드 풀(Thread Pool)을 사용하여 요..

728x90
반응형