분류 전체보기66 [nodeJS] Node.js에서 생명 주기 활용하기 Node.js는 서버 측 애플리케이션을 효율적으로 관리하기 위한 다양한 내장 이벤트를 제공합니다. 그중 process.on 이벤트 리스너는 애플리케이션의 생명 주기 동안 발생하는 중요한 이벤트를 처리하는 데 유용합니다.1. process.on 이벤트 리스너Node.js의 process 객체는 실행 중인 애플리케이션의 상태를 제어하고 정보를 제공하는 핵심 객체process.on 메서드는 특정 이벤트를 감지하고 해당 이벤트가 발생했을 때 실행할 리스너 등록 가능주요 이벤트exit: 애플리케이션이 종료될 때 발생.SIGINT: Ctrl+C 입력 시 발생.uncaughtException: 처리되지 않은 예외가 발생했을 때 발생.SIGTERM: 운영 체제에서 종료 신호를 보낼 때 발생.warning: 경고가 발생.. 2025. 1. 31. [nodeJS] Node.js에서 이벤트 기반 아키텍처 구현하기 Node.js는 이벤트 기반 아키텍처를 사용하여 비동기 작업을 처리하는 데 최적화된 환경을 제공합니다.이벤트 기반 아키텍처는 애플리케이션의 주요 동작을 이벤트로 정의하고, 해당 이벤트가 발생했을 때 적절한 리스너가 동작하도록 설계하는 방식입니다. 이벤트 중심의 설계는 코드의 응집력과 유지 보수성을 높이는 데 큰 도움을 줍니다. 1. 이벤트 기반 아키텍처 장점비동기 처리: 작업을 비동기로 처리하여 효율성과 응답성을 높임.확장성: 새로운 기능을 추가하기 쉽고, 특정 이벤트 처리 로직을 독립적으로 작성 가능.유지 보수성: 모듈화된 설계로 코드 가독성과 유지 보수성을 높임. 2. EventEmitter 소개이벤트를 생성하고, 리스너를 등록하거나 제거하며, 이벤트를 발생시키는 기능을 제공하는 클래스 EventE.. 2025. 1. 24. [nodeJS] Node.js에서 DB 프로시저 활용하기 데이터베이스 프로시저는 반복적인 작업이나 복잡한 비즈니스 로직을 데이터베이스 레벨에서 처리할 수 있게 해주는 강력한 도구입니다. Node.js와 MariaDB를 연동하면 애플리케이션의 효율성과 유지 보수성을 높일 수 있습니다. 1. 프로시저란프로시저(Stored Procedure)는 데이터베이스에 저장된 SQL 쿼리의 집합으로, 미리 정의된 작업 수행 가능효율성: 클라이언트-서버 간 데이터 전송 감소.재사용성: 동일한 로직을 여러 애플리케이션에서 재사용 가능.보안성: SQL 쿼리를 애플리케이션 외부에 노출하지 않음.유지 보수성: 비즈니스 로직을 데이터베이스 레벨에서 관리. 2. MariaDB와 Node.js 설정1) MariaDB 설치 및 초기화MariaDB를 설치한 후 데이터베이스와 사용자 계정 생성C.. 2024. 12. 31. [nodeJS] Node.js에서 SQLite를 사용한 로컬 데이터베이스 구축하기 SQLite는 경량화된 데이터베이스 관리 시스템(DBMS)으로, 로컬 환경에서 간단히 사용할 수 있는 강력한 도구입니다.Node.js와 SQLite를 통합하면 서버나 클라우드 기반 데이터베이스 없이 로컬에서 데이터를 저장하고 관리할 수 있습니다. 1. SQLiteSQLite는 파일 기반의 경량화된 관계형 데이터베이스 관리 시스템간단한 프로젝트나 로컬 데이터 관리에 적합[주요 특징]경량성: 설치가 간단하며 별도의 서버 없이 작동 가능독립성: 데이터베이스가 하나의 파일로 관리빠른 처리 속도: 소규모 애플리케이션이나 로컬 데이터 저장에 최적화SQL 지원: 대부분의 표준 SQL 구문 지원로컬 개발에 적합: 테스트 환경이나 간단한 애플리케이션 개발에 적합 2. Node.js와 SQLite의 통합1) Node.js.. 2024. 12. 18. [nodeJS] Node.js와 Apache Kafka를 사용한 스트리밍 데이터 처리 Apache Kafka는 대규모 데이터를 효율적으로 스트리밍하고 처리할 수 있도록 설계된 분산 메시징 플랫폼입니다.Node.js와 Kafka를 통합하면 실시간 데이터 처리, 로그 처리, 이벤트 기반 시스템 등 다양한 활용이 가능합니다. 1. Apache Kafka란?LinkedIn에서 개발된 오픈 소스 분산 메시징 시스템실시간 데이터 처리와 스트리밍을 위한 강력한 도구Producer(데이터를 보내는 역할)와 Consumer(데이터를 읽는 역할)를 기반으로 동작[Kafka의 주요 특징]높은 처리량: 초당 수백만 건의 메시지 처리 가능확장성: 클러스터를 확장하여 더 많은 데이터를 처리 가능내구성: 데이터를 디스크에 저장하여 손실 방지실시간 처리: 데이터를 실시간으로 스트리밍 및 처리 2. Kafka 설치[K.. 2024. 12. 3. [nodeJS] Node.js에서 Bcrypt를 사용한 비밀번호 해싱 및 검증하기 비밀번호 보안은 웹 애플리케이션에서 매우 중요한 요소입니다. 사용자 비밀번호를 안전하게 저장하기 위해서는 해싱(Hashing) 기법을 사용해야 합니다. Bcrypt는 비밀번호 해싱에 널리 사용되는 라이브러리로, 강력한 암호화 기능과 사용의 편리성을 제공합니다. 1. Bcrypt란[Bcrypt의 개요]Bcrypt는 비밀번호를 안전하게 해싱하기 위해 설계된 암호화 알고리즘Bcrypt는 해싱된 결과를 생성할 때 Salt를 추가하여 동일한 비밀번호라도 서로 다른 해시 값 생성 가능[Bcrypt의 특징]Salt를 통한 보안 강화: Bcrypt는 비밀번호 해싱 시 임의의 Salt 값을 추가하여 보안 강화반복적인 해싱: 해싱 과정에서 여러 번 반복 연산을 수행하므로, 무차별 대입 공격(Brute Force Atta.. 2024. 11. 21. [nodeJS] Node.js에서 Worker Threads 사용하기 Node.js는 싱글 스레드 기반의 이벤트 루프를 사용하여 비동기 작업을 효율적으로 처리합니다. 하지만 CPU 집약적인 작업, 예를 들어 복잡한 계산이나 데이터 분석 등을 처리할 때는 멀티스레딩이 필요할 수 있습니다. Node.js는 이러한 작업을 위해 Worker Threads를 제공합니다. 1. Worker Threads란[정의와 개념]Threads는 Node.js에서 멀티스레딩을 구현하기 위한 모듈기본적으로 Node.js는 싱글 스레드로 작동하지만, Worker Threads를 사용하면 CPU를 많이 사용하는 작업을 별도의 스레드에서 실행 가능메인 이벤트 루프가 차단되지 않으면서도 성능 향상 가능[Worker Threads 사용 이유]CPU 집약적인 작업 처리: 비동기 작업은 이벤트 루프에서 잘 .. 2024. 11. 13. [nodeJS] Node.js에서 재귀 함수 이해하고 활용하기 재귀 함수는 프로그래밍에서 중요한 개념으로, 함수가 자기 자신을 호출하여 문제를 해결하는 방법입니다. 재귀를 잘 활용하면 복잡한 문제를 간단하게 해결할 수 있지만, 잘못 사용하면 무한 루프나 메모리 초과를 초래할 수 있습니다. 1. 재귀 함수란재귀 함수(Recursive Function)함수가 자기 자신을 호출하는 함수재귀는 특정 문제를 더 작은 하위 문제로 나누어 반복적으로 해결하는 데 유용재귀는 수학적 개념이나 알고리즘 문제를 해결할 때 자주 사용기본 구조기본 종료 조건(Base Case): 재귀가 끝나는 조건. 이 조건이 없으면 함수는 계속해서 자기 자신을 호출하여 무한 루프에 빠질 수 있음.재귀 단계(Recursive Step): 문제를 더 작은 하위 문제로 나누어 자기 자신을 호출하는 부분. 2.. 2024. 11. 5. [PowerToys] 윈도우 생산성 향상을 위한 Microsoft PowerToys 활용법 Microsoft PowerToys는 Windows 사용자의 작업 효율성을 크게 높여주는 다양한 유틸리티 모음을 제공하는 도구입니다. PowerToys는 윈도우 환경에서 더 빠르고 효율적인 워크플로우를 만들 수 있도록 돕는 다양한 기능을 제공합니다. 이번 포스팅에서는 PowerToys의 핵심 기능들을 살펴보고, 이를 활용하여 작업 효율을 높이는 방법을 설명하겠습니다. 1. PowerToys 설치 방법PowerToys는 GitHub에서 최신 버전을 다운로드하여 설치할 수 있습니다. PowerToys GitHub 페이지에서 설치 파일을 찾아 다운로드하면 됩니다.설치 후에는 각 기능을 설정하고 사용자에 맞게 커스터마이징할 수 있습니다. 2. 주요 기능 소개1) PowerToys RunWindows의 검색 기.. 2024. 10. 7. 이전 1 2 3 4 ··· 8 다음