2024/09 6

JS Object.frezee() 함수 알아보기

Object.frezee..?1. Object.freeze란?Object.freeze() 메소드는 자바스크립트에서 객체의 변경을 방지하는 메소드입니다. 이 메소드를 사용하면 객체의 속성을 추가하거나, 삭제하거나, 변경할 수 없게 됩니다. 또한, 속성 값이 객체인 경우 해당 객체는 얕은(freeze의 깊이가 1단계만 적용됨) 동결이 되며, 중첩된 객체는 여전히 변경될 수 있습니다.const obj = { name: 'John' };Object.freeze(obj);obj.name = 'Doe'; // 무시됨, 값은 'John' 그대로 유지console.log(obj.name); // 'John'Object.freeze()는 데이터가 예기치 않게 변경되는 것을 방지하는 데 매우 유용합니다. 특히 애플리케..

Language/Typescript 2024.09.24

Git reset 커밋 기록 완벽하게 제거하는 방법

Git reset 명령어로 커밋 기록을 안전하게 제거하는 방법을 알아보고, Hard, soft, mixed 모드의 차이점을 알아봅니다.Git reset 커밋 기록 완벽하게 제거하는 방법1. Git reset의 개요Git은 버전 관리 도구로 개발 중 발생한 문제나 불필요한 커밋을 취소하고 싶을 때 reset 명령어를 사용하여 기록을 수정할 수 있습니다. 특히, 혼자 작업하는 경우 Git reset을 사용해 커밋 기록을 완전히 제거할 수 있으며, 협업 시에도 적절하게 활용할 수 있습니다. 이번 글에서는 Git reset 명령어의 세 가지 모드와 그 차이점을 통해 커밋 기록을 효과적으로 삭제하고 관리하는 방법을 알아보겠습니다.2. Git reset 명령어란?Git reset은 커밋 기록을 수정하거나 이전 상태..

Git 2024.09.23

PM2와 Node.js Cluster: 효율적인 프로세스 관리 가이드(5): PM2와 Redis를 활용한 클러스터 간 세션 관리

PM2와 Redis를 사용하여 클러스터링된 Node.js 애플리케이션에서 세션을 관리하는 방법을 깊이 있게 설명합니다.PM2와 Redis를 활용한 클러스터 환경에서의 세션 관리Node.js 애플리케이션이 클러스터링된 환경에서 안정적으로 세션을 관리하려면, 여러 인스턴스 간에 세션 데이터를 공유할 수 있는 방법이 필요합니다. 기본적으로 Node.js는 단일 프로세스에서 실행되기 때문에, 세션 데이터는 해당 프로세스의 메모리에 저장됩니다. 그러나 클러스터링된 환경에서는 여러 인스턴스가 각각의 프로세스에서 독립적으로 실행되므로, 동일한 사용자 요청이 다른 인스턴스에서 처리될 경우 세션 데이터가 일관되지 않을 수 있습니다.이 문제를 해결하기 위해, 외부 세션 스토리지를 사용하여 클러스터 간의 세션 데이터를 공유..

서버/Node.js 2024.09.01

PM2와 Node.js Cluster: 효율적인 프로세스 관리 가이드(3): PM2 네트워크 기반 로드 밸런싱

네트워크 기반 로드 밸런싱Node.js 애플리케이션의 성능을 극대화하고, 고가용성을 확보하기 위해서는 서버 간의 트래픽을 효율적으로 분배하는 네트워크 기반 로드 밸런싱이 필요합니다. 이 섹션에서는 PM2와 외부 로드 밸런서를 활용한 네트워크 기반 로드 밸런싱을 설정하고 관리하는 방법을 다룹니다.1. 네트워크 기반 로드 밸런싱의 필요성PM2는 단일 서버 내에서 여러 프로세스를 관리하고 로드를 분산하는 데 탁월하지만, 대규모 애플리케이션이나 여러 서버에 걸친 분산 시스템에서는 네트워크 기반 로드 밸런서가 필요합니다. 이 로드 밸런서는 다음과 같은 기능을 제공합니다:서버 간 트래픽 분산: 여러 서버에 걸쳐 트래픽을 균등하게 분배하여, 특정 서버의 과부하를 방지합니다.고가용성: 서버 중 하나가 실패하더라도 나머..

서버/Node.js 2024.09.01

PM2와 Node.js Cluster: 효율적인 프로세스 관리 가이드(2): PM2 로드 밸런싱

PM2를 사용한 Node.js 애플리케이션의 로드 밸런싱 설정 방법과 효율적인 요청 분배를 통해 성능을 극대화하는 방법을 다룹니다.PM2 로드 밸런싱: Node.js 애플리케이션의 효율적인 요청 분배 방법과 설정 가이드Node.js는 비동기 이벤트 기반으로 작동하는 싱글 스레드 환경에서 실행되지만, CPU의 모든 코어를 활용하기 위해 클러스터링을 지원합니다. 그러나 클러스터링된 프로세스들 간에 요청을 효율적으로 분배하기 위해서는 로드 밸런싱이 필수적입니다. PM2는 이러한 로드 밸런싱을 간단하고 효과적으로 구현할 수 있게 도와줍니다.이 글에서는 PM2를 사용해 Node.js 애플리케이션에서 로드 밸런싱을 설정하고, 효율적인 요청 분배를 통해 성능을 극대화하는 방법을 설명합니다.1. PM2 로드 밸런싱의 ..

서버/Node.js 2024.09.01

PM2와 Node.js Cluster: 효율적인 프로세스 관리 가이드(4): PM2를 사용한 Node.js 클러스터링 설정 - 고급 기능 및 관리

M2의 고급 기능을 활용하여 Node.js 애플리케이션의 클러스터링을 최적화하고, 로그 관리 및 세션 관리를 설정하는 방법을 다룹니다.PM2를 사용한 Node.js 클러스터링 설정 - 고급 기능 및 관리이전 파트에서 우리는 PM2의 기본 설치 및 클러스터링 설정에 대해 다루었습니다. 이번 파트에서는 PM2의 고급 기능을 활용하여 애플리케이션의 성능을 더욱 최적화하고, 로그 관리 및 세션 관리와 같은 중요한 기능들을 설정하는 방법을 살펴보겠습니다.2.3 고급 기능PM2는 기본적인 클러스터링 기능 외에도 다양한 고급 기능을 제공합니다. 이 기능들을 통해 애플리케이션의 가용성과 성능을 한층 더 강화할 수 있습니다.2.3.1 애플리케이션 자동 재시작 및 장애 복구PM2는 애플리케이션이 비정상적으로 종료되었을 때..

서버/Node.js 2024.09.01