
1. Kafka: 오픈 소스 분산 이벤트 스트리밍 플랫폼으로, 대량의 데이터 스트리밍을 실시간으로 처리할 수 있도록 설계된 메시지 브로커(Message Broker)입니다. source application(클릭로그/결제로그)과 target appplication(로그적재/로그처리)의 결합도를 줄이기 위해서 나왔다. 각종 데이터를 담는 topic, queue의 역할을 하는 것이 있다. 데이터를 넣는 역할은 Producer, 데이터를 가져가는 Consumer는 라이브러리로 되어있어 어플리케이션에서 쉽게 쓸 수 있음.📌 Kafka의 주요 개념1. Producer (생산자)Kafka에 데이터를 발행(전송)하는 클라이언트데이터를 특정 토픽(Topic)에 보냄데이터를 파티션(Partition) 단위로 나눠 저장..
* 2일차 복습서비스: EC2, VPC, S3, IAM 리소스: EC2 인스턴스, S3 bucket, VPC, IAM User, ARN(Amazon resource name: 식별자)- 글로벌 레벨: IAM- 리전 레벨: VPC, S3 bucket, lambda fuction, DynamoDB table- 가용영역(AZ) 레벨: EC2 instance, Subnet, RDS 서버리스, 완전관리형: 서버관리를 aws가 해준다.로드밸런스는 타겟그룹, 리스너를 만든다.부하분산 정책.오토 스케일링 그룹: 희망용량, 최소용량/최대용량 => 타겟그룹과 연결오토 스케일링 정책: CPU 70%이상일 때 1대 증설 소스 - 빌드환경구성/테스트 - 스테이징(시스템 테스트) - 메뉴얼 승인 - 프로덕션(공용 서버에 배포) ..
* 클라우드 컴퓨팅- 이점: 민첩성, 탄력성, 비용절감, 빠른배포 * aws well-architected 프레임워크: 운영 우수성, 보안, 안정성, 성능 효율성, 지속 가능성, 비용 최적화 6가지 원칙 * 글로벌 인프라- 1개 이상의 aws 데이터센터 = 가용영역(AZ)- 3개 이상의 AZ = 리전- LocalZones, Outposts(온프레미스에서 실행), Wavelength(대기시간이 짧은 5G 디바이스용 애플리케이션) * 엣지로케이션: 캐싱 서비스를 위한 시설물ex) Cloudfront, Route53, Global Accelator 등 * ec2 요금제- 온디멘드- savings plan, 3년 약정할인 3대 이상 * IAM인증/권한명시적 거부: 최우선최소 권한의 원칙: 필요 권한만 부여묵시적..
1. AWS 소개: 클라우드 컴퓨팅클라우드 컴퓨팅: AWS의 IT 리소스를 인터넷을 통해 사용한 만큼만 비용을 지불하는 것장점: 탄력성(용량 산정), 비용절감, 배포, 규모의 경제Well-Architecture: 운영 우수성, 보안, 안정성, 성능 효율성, 비용 최적화, 지속 가능성 6가지 원칙 * 가용영역(AZ) 3개이상의 클러스터 -a-b-c = 서울 리전, 리전 하나에 가용영역 여러 개 방식을 선호.=> 각 가용영역은 장애에 독립적으로 설계되어있다.멀티리전 이중화보다도 멀티가용영역 이중화를 권장한다. => 멀티리전이면 가용성이 좋아지지만 운영의 편리성에서 떨어진다. 리전별로 관리하는게 쉽지 않음.온프레미스 + 클라우드 조합 리전 AZ: Data Center1, Data Center2 AZ : Dat..
[src/ 폴더구조]app/: 어플케이션을 구성하는 컴포넌트들 보관assets/: 이미지 등 어플리케이션 제작에 필요한 부수기재 저장 창고favicon.ico: 파비콘 이미지index.html: 메인 htmlmain.ts: 작성된 html 파일을 변환하는 entry point.style.css: 공통 스타일package.json: 의존 모듈 관리를 위한 패키지 매니저가 참조하는 파일node_modules: package.json에 등록된 의존 모듈이 패키지 매니저에 의해 설치되는 저장소 [app/ 폴더구조]app.component.ts: 로직 담당app.component.html: html 템플릿app.component.css: 스타일app.module.ts: 컴포넌트, 서비스 등을 사용하기 위해 등록하..
1. 정의Vercel에서 개발한 React Framework, SSR, CSR, API 라우팅 등의 다양한 최적화 기능 제공.React의 기본 기능을 확장해 보다 빠르고 안정적으로 웹 애플리케이션을 개발. 2. 설치npx create-next-app@latest [프로젝트 이름]- 타입스크립트 사용 여부- ESLint 사용 여부- Tailwind CSS 사용 여부- src/ 디렉토리 사용 여부- App Router 사용 여부 => 13 이상부터 사용할 수 있게 된 방식으로 추천!- 별칭 사용 여부 3. 컴포넌트Server와 Client를 구분해서 사용서버 컴포넌트는 보안/캐싱/성능/SEO 등의 이점클라이언트 컴포넌트에서는 click/load/이벤트/브라우저 api 활용 등의 이점 4. 라우팅파일 규칙la..

스레드 생성 전에는 프로세스가 작동하기 위한 최소한의 스레드 하나가 있어야 한다. 그래서 자바는 실행 시점에 main 이라는 이름의 스레드를 만들고 프로그램 시작점인 main 메서드를 실행한다. 스레드 생성 후를 보면 스레드 객체를 생성하고 start 메서드를 호출했을 때 자바는 스레드를 위한 별도의 스택 공간을 할당하게 된다. 새로운 스레드가 사용할 전용 스택 공간에 run 메서드의 스택 프레임을 스택에 올리면서 run 메서드를 시작한다. 메서드를 실행하면 스택 위해 스택 프레임이 쌓이게 되는 것이다. 스레드 간 실행 순서는 보장하지 않는다. 스레드는 동시에 실행되기 때문이다. * start() 메서드- 스택 공간을 할당하면서 스레드를 시작하는 아주 특별한 메서드로 run 메서드를 실행한다.- ma..

* 멀티태스킹- 단일 CPU가 여러 작업을 동시에 수행하는 것처럼 보이게 하는 것- 소프트웨어 기반으로 cpu 시간을 분할하여 각 작업에 할당- ex) 여러 애플리케이션이 동시에 실행되는 환경 * 스케줄링- cpu에 어떤 프로그램이 얼마만큼 실행될지 운영체제가 결정하는 것- 이때 단순 시간이 아닌 우선순위와 최적화 기법을 사용한다. * 멀티프로세싱- 여러 CPU코어(프로세서)를 사용하여 동시에 여러 작업을 수행- 하드웨어 기반으로 성능 향상- ex) 다중 코어 프로세서를 사용하는 현대 컴퓨터 시스템 * 프로세스- 운영체제 안에서 실행중인 프로그램의 인스턴스- 각 프로세스는 독립적인 메모리 공간을 갖고 운영체제에서 별도의 작업 단위로 분리해서 관리된다.- 프로세스가 서로의 메모리에 직접 접근할 수 없다. ..