본문 바로가기

전체 글159

[node.js] 클러스터 모듈과 worker thread 1. cluster 모듈을 이용한 멀티 프로세스 방식멀티 프로세스 방식이란?하나의 애플리케이션이 여러 개의 프로세스를 생성하여 동시에 작업을 수행하는 방식각 프로세스는 독립적인 실행환경을 가지고, 별도의 메모리 공간을 할당 받아 작동즉, 여러 프로세스가 독립적으로 애플리케이션의 일부를 병렬로 처리한다.Node.js는 기본적으로 싱글 스레드 기반이지만, 멀티 프로세스 방식을 사용하여 다중 코어 CPU에서 병렬 처리를 지원할 수 있다.싱글 프로세스 : 하나의 프로세스가 모든 요청을 처리. CPU 코어가 여러개 있어도 한 코어만 사용멀티 프로세스 : 여러 프로세스가 각각의 요청 처리. CPU 코어를 여러 개 활용하여 병렬 처리1. cluster 모듈의 장단점장점성능 향상 : 멀티 코어 CPU의 모든 코어를 사.. 2024. 9. 23.
[ubuntu, node.js] 배포 하기(feat. 무중단 배포) 0. MySQL 연결하기DB_HOST=192.168.55.157DB_PORT=3306DB_USER=userDB_PASSWORD=1111DB_NAME=sys위와 같이 .env 파일로 환경변수를 관리해주고 있었다. 지금은 로컬피시(localhost)에서 ubuntu(192.168.55.157)의 mysql로 연결해주기 때문에 위와 같이 환경변수를 설정해주고 있다.그렇다면 ubuntu에서 ubuntu mysql로 접속할 때는 DB_HOST를 localhost로 바꿔주어야할까?그럴 필요는 없다. 바꾸지 않아도 잘 작동한다.1) virtual box의 네트워크 세팅 어댑터에 브리지로 네트워크 설정을 바꿔준다.그리고 ubuntu 터미널 내에서 ip addr 명령어를 통해 우분투 ip 주소를 확인할 수 있다. 1. .. 2024. 9. 5.
[인증/인가] 인증/인가, 쿠키/세션, passport 모듈 1. 인증시스템에 접근하려눈 사용자가 누구인지 확인하는 과정사용자가 제공한 정보가 시스템의 기록과 일치하는지 확인하는 절차예시로그인 시 사용자의 아이디와 비밀번호를 입력하는 과정. 시스템은 아이디와 비밀번호가 DB에 저장된 정보와 일치하는지 확인두 단계 인증(2FA)도 인증의 한 예시이다.주요 요소무엇을 알고 있는가? : 비밀번호, PIN무엇을 가지고 있는가? : 스마트폰, 보안 토큰 등누구인가? : 지문, 얼굴 인식2. 인가인증에 성공한 후에, 해당 사용자가 무엇을 할 수 있는지 결정 하는 과정사용자가 시스템에 접근할 수 있는 자원이나 기능에 대한 권한을 부여하는 것예시일반 사용자와 관리자가 접근 할 수 있는 기능은 차이가 있다.누군가는 읽기만 할 수 있고, 누군가는 읽고 수정까지 할 수 있다.주요 요.. 2024. 9. 5.
[코드 컨벤션] 대표적인 코드 컨벤션 규칙 1. 들여쓰기 (Indentation)규칙 : 코드 블록을 들여쓰기하여 계층 구조를 명확히 한다.일반 규칙스페이스 또는 탭을 사용한다.일반적으로는 2개 또는 4개의 스페이스를 사용한다.// 2 spacesfunction example() { if (true) { console.log('Hello'); }} 2. 코드 라인 길이 (Line Length)규칙 : 코드 라인의 길이를 제한하여 가독성을 높인다.일반 규칙보통 80~120자 이내로 제한긴 표현식은 여러 줄로 나누어 작성3. 변수 및 함수 (Line Length)규칙 : 일관된 변수 및 함수 이름을 사용하여 코드의 의도를 명확히 한다.일반 규칙PascalCase(파스칼 케이스) : 첫글자와 이어지는 단어의 첫글자를 대문자로 표기하는 방법Pa.. 2024. 8. 30.