본문 바로가기

전체 글144

[HTTP] MIME 타입 1. MIME(Multipurpose Internet Mail Extensions type)인터넷에서 전송되는 파일 형식과 그 파일의 내용을 클라이언트나 서버가 이해할 수 있도록 지정하는 표준주로 웹 브라우저나 이메일 시스템에서 사용역할 및 필요성파일 형식 식별 : 클라이언트가 서버에서 전송 받은 파일을 어떻게 처리해야 할지 결정할 수 있도록 한다. 예를 들어 HTML 파일을 받으면 렌더링하고자하며, 이미지 파일을 받으면 이미지를 표시하고자 한다.파일의 올바른 처리 : MIME 타입을 통해 브라우저는 특정 파일을 적절한 프로그램이나 모듈로 처리할 수 있다. 예를 들어, 텍스트 파일은 브라우저에 렌더링 되고, 다운로드해야 하는 파일은 파일로 저장된다.MIME 타입의 구조타입(Type) : 파일의 주요 범주.. 2024. 9. 24.
[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.