대상 그룹은 무엇이고, 어떻게 생성할까? 대상 그룹 (Target Group) --대상 그룹은ELB로 들어온 요청을 어떤 무언가에게 전달을 해줘야 하는데이 어떤 무언가를 대상 그룹이라고 말한다.즉, ELB로 들어온 요청을 어디로 보낼지 대상 그룹을 만들어 줘야 한다. 정리하면ELB가 트래픽을 분배할 대상(주소 EC2 인스턴스, Lambda 함수, IP 주소 등)을 그룹화한 개념이다.-- 대상 그룹 생성 버튼 위치 --EC2 -> 대상 그룹 -> 대상 그룹 생성 버튼-- [대상 그룹 생성 과정] 기본 구성 -- 대상 유형 선택은ELB로 요청받은 트래픽을 어디로 전달할지 선택하는 파트다. 서버 배포 중인 EC2 인스턴스로 전달할 예정이므로 인스턴스를 선택했다. 대상 그룹 이름..
캐시 메모리는 무엇이며, 어떻게 동작할까? 저장 장치의 계층 구조 (Memory Hierarchy) --용량이 크면서 빠른 저장 장치가 있다면 저장 장치들의 구조를 생각할 필요가 없지만"빠른 저장 장치"와 "용량이 큰 저장 장치"는 양립하기 어렵다. 저장 장치의 일반적인 명제CPU와 가까운 저장 장치는 빠름 / 멀리 있는 저장 장치는 느림속도가 빠르면 용량이 적고, 비쌈 일반적인 저장 장치 비교레지스터 (CPU 내부)메모리 (RAM, 주기억장치)USB (보조기억장치) CPU와 가까운 순레지스터 > 메모리 > USB CPU 접근 속도(시간) 빠른 순레지스터 > 메모리 > USB 저장 용량 큰 순USB > 메모리 > 레지스터 저장 용량 대비 가격이 비싼 순레지스터 > 메모리 > USB 즉, 대용량..
보안 그룹이 무엇일까? 보안 그룹 (Security Group) --보안 그룹은EC2 인스턴스와 같은 리소스에 대한 트래픽을 제어하는 가상 방화벽 역할을 한다. 보안 그룹 종류인바운드 (Inbound)아웃바운드 (Outbound) 인바운드 보안 그룹 규칙은외부에서 인스턴스로 들어오는(접근) 네트워크 트래픽을 허용하거나 차단하기 위한 규칙이며,해당 규칙은 특정 포트, 프로토콜, IP 주소로부터 트래픽을 허용(접근)할 수 있도록 정의한다.즉, 규칙에 알맞은 트래픽이 오면 인스턴스로 접근이 가능하도록 허용하는 것이다.(규칙에 명시되지 않은 트래픽은 거부된다.) 아웃바운드 보안 그룹 규칙은인바운드와 반대로 인스턴스에서 외부로 나가는 네트워크 트래픽을 허용하거나 차단하기 위한 규칙이며,해당 규칙은 특정..
운영체제는 무엇이고 어떠한 역할을 하고 있나? 운영체제 --모든 프로그램들은 하드웨어가 필요하다. 어떠한 동작(계산)을 하기 위해서는 "CPU"가 필요하고,이미지처럼 데이터를 저장하기 위해서는 "하드 디스크(보조기억장치)"가 필요한 것처럼프로그램을 실행할 때 필요한 요소(하드웨어)들을 "시스템 자원" or "자원"이라고 부른다. CPU, 메모리, 보조기억장치, 입출력장치 등과 같은 컴퓨터 부품들은 모두 "자원"이라고 볼 수 있으며,모든 프로그램은 실행되기 위해서는 반드시 자원이 필요하다. 운영체제는실행할 프로그램이 올바르게 실행되도록 필요한 자원을 할당해 주고,사용자와 컴퓨터 간의 상호작용을 원활하게 해주는 소프트웨어(프로그램)다. 운영체제는브라우저, 게임과 같은 프로그램으로,운영체제 또한 메..
키 페어는 무엇이며, 어떻게 생성 및 사용할까? 키 페어 --EC2의 인스턴스(컴퓨터)에 접근할 때아무나 접근할 수 없도록 키(비밀번호)를 지정하는 용도다. 비유하자면호텔에서 내 방에 들어가기 위해서는 카드 키가 필요하고해당 카드 키가 없으면 방에 들어갈 수 없다.바로 이 카드 키가 키 페어다.-- 키 페어 생성 버튼 위치 --EC2 -> 키 페어 -> 키 페어 생성 버튼-- 키 페어 생성 과정 -- 이름은해당 키 페어의 이름을 의미하는 것으로다른 키 페어와 구분되도록 짓는다. 키 페어 유형은해당 키 페어를 공개 키 암호화하는 방식이다.(성능은 ED25519가 좋지만 호환성을 위해 안전하게 RSA를 선택한다.) RSA (Rivest-Shamir-Adleman)는가장 오래되고 ..
메모리의 종류와 역할이 무엇일까? RAM --RAM은주기억장치 중의 하나로 일반적으로 "메모리"라고 지칭하기도 한다. RAM 특징휘발성 저장 장치CPU가 빠르게 접근 가능 (= 빠르게 데이터를 읽고, 쓰기 가능)현재 실행 중인 프로그램의 데이터 및 명령어를 임시로 저장 (= 보조기억장치에서 복사하여 저장) RAM 용량에 따른 성능 변화 용량이 작음 (하나의 프로그램의 데이터만 담을 수 있을 정도)A프로그램을 실행시키기 위해 "보조기억장치"에서 해당 데이터를 "RAM"에 복사A프로그램 실행 후 B프로그램을 실행시키기 위해 다시 해당 데이터 "보조기억장치"에서 "RAM"에 복사B프로그램 실행 가능 (= A프로그램 실행 불가능)동시에 실행할 수 있는 프로그램의 수 제한프로그램 간의 전환이 느려짐사용..
ISA, CISC와 RISC는 무엇인가? ISA (명령어 집합 구조, Instruction Set Architecture) --ISA는CPU가 수행할 수 있는 (이해할 수 있는) 명령어들의 집합 or 해당 집합의 아키텍처(구조)를 의미한다. 이는하드웨어와 소프트웨어 간의 인터페이스 역할을 하며,CPU가 지원하는 명령어의 종류, 데이터 형식, 레지스터, 주소 지정 모드 등을 포함한다. CPU의 제조사마다 CPU의 규격, 기능 만듦새가 다르기 때문에CPU마다 ISA가 다를 수 있다. 명령어의 기본적인 구조와 작동 원리는 비슷하지만명령어의 세부적인 생김새, 명령어로 할 수 있는 연산, 주소 지정 방식 등은 차이가 있을 수 있다. 사용하는 ISA가 다르다 => CPU가 이해할 수 있는 명령어가 다르다 ..
isUpperCase(), isLowerCase() --문자 타입의 해당 문자가 대문자인지 소문자인지 확인하는 메서드다. isUpperCase() : 해당 문자는 대문자인가?isLowerCase() : 해당 문자는 소문자인가? 형식Character.isUpperCase(문자); 예시char ch = 'a';String str = "Hello";boolean check1 = Character.isUpperCase(ch); // falseboolean check2 = Character.isUpperCase(str.charAt(0)); // true-- toUpperCase(), toLowerCase() --문자 또는 문자열 전체를 대문자 또는 소문자로 변경해 주는 메서드다. toUpperCase..