
AWS 글로벌 인프라 구성 Infrastructure Region: AWS의 서비스들이 제공되는 서버의 물리적인 국가/도시 단위의 위치. 특징: 네트워크 속도 때문에 각 지역마다 둔다. / 각종 재해에 대비한다. / 데이터 지역성 보장과 같은 법률 규제를 준수한다. Availability Zones: 각 리전 안의 데이터센터. 특징: AZ 건물들은 100km 이내의 거리에 위치. 가용영역을 랜덤으로 매핑함으로서 민감한 데이터를 저장해도 어디 데이터 센터에 저장되는 추측할 수 없게 되어 보안적인 효과를 얻게 된다. 각 계정의 개인적인 데이터를 보호할 수 있고 트래픽을 분산한다. Edge Location: aws의 CDN들의 여러 서비스들을 가장 빠른 속도로 제공하기 위한 거점. 전 세계의 여러 장소에 흩어..

* 컴퓨팅 서비스(Computing Service) EC2(Elastic Compute Cloud) 가장 널리 쓰이는 인프라로 물리 환경의 컴퓨터처럼 컴퓨팅 리소스를 제공하는 서비스. 사용한만큼 비용을 지불하는 형태. 가상머신으로 제공되며 인스턴스라고 불린다. 안정성을 위해 여러 AWS 리전과 가용 영역에 걸쳐 배포. Auto Scaling 트래픽에 따라 EC2 인스턴스들을 자동으로 확장하거나 제거해주는 서비스. ELB와 함께 사용되는 기능으로 특정 트래픽 초과 시 자동으로 EC2 인스턴스를 생성하고 다시 트래픽이 줄어들면 추가 생성했던 EC2 인스턴스들을 삭제하는 유연한 서비스 Lambda(Serverless Computing) 모든 유형의 애플리케이션이나 백엔드 서비스에 대한 코드를 별도의 관리 없이..

AWS 클라우드 용어 고가용성(High Availability) 전체 시스템에 대하여 사람이 개입하지 않아도 시스템이 항상 작동하고 자동으로 오류를 복구해 가동 중지를 최소화하도록 보장하는 것. 서버와 네트워크, 프로그램 등의 시스템이 오랜 기간동안 지속적으로 정상 운영 가능한 성질, 고장나도 복구해서 서비스를 지속할 수 있는 능력. 내결함성 / 장애내구성 하드웨어 오류가 발생했을 때 데이터 무결성을 유지하는 컴퓨터 하드웨어나 소프트웨어의 기능. 시스템의 일부 구성요소에 장애가 있어도 서비스를 지속할 수 있는 능력. 고가용성O / 장애내구성X 장애가 생겨도 장애를 복구해서 서비스를 지속할 수 있지만 수리를 하는 동안에는 복구 불가능 ex) 자동차 타이어가 터졌을 때 복구해서 다시 달릴 수 있지만 수리하는..

JDK/JRE 1. 개념 JDK(Java Development Kit): 개발자들이 자바로 개발하는 데 사용하는 SDK키트. SDK(Software Development Kit): OS, H/W에서 제공하는 툴 ex) 안드로이드 스튜디오 2. 버전 Java SE: 가장 기본이 되는 표준 에디션의 자바 플랫폼으로 자바 언어 핵심 기능 제공 Java EE: 대규모 기업용 에디션으로 기업환경을 위한 대규모 솔루션 개발 Oracle JDK Open JDK Amazon Corretto 3. JDK 디렉토리 구성요소 bin: 자바 개발, 실행에 필요한 도구와 유틸리티 명령 javac: 자바 컴파일러로 자바 소스를 바이트코드로 컴핑 java: 자바 인터프리터 jar: 자바 클래스 파일을 압축한 자바 아카이브 파일 l..

Tip 10. 객체를 이용해 정적인 키-값을 탐색하라 * 객체는 변화가 없고 구조화된 키-값 데이터를 다루는 경우에 유용하다. * 자주 갱신되거나 실행되기 전에는 알 수 없는 동적인 정보를 다루기에는 객체가 적합하지 않다. ex) 색상 컬렉션을 공유하는 경우 객체를 선택한다. 데이터가 변경될 가능성이 없기 때문이다. const colors = { red: '#d10202', green: '#19d836', blue: '#0e33d8' } => colors.red로 직접 참조하여 사용 가능하고 정적인 정보에 적합하고 반복/갱신/대체/정렬되는 정보는 맵이 적절하다. export const config = { endpoint: 'http://pragprog.com', key: 'secretkey', }; //..

Tip 7. 펼침 연산자로 배열을 본떠라 * 배열은 수많은 메서드가 있으므로 혼란스럽거나 조작과 부수 효과로 인한 문제가 생길 수 있다. const cart = ['abc', 'cdf']; const copyCart = [...cart]; //['abc', 'cdf'] => 새로운 배열을 선언하고 펼침 연산자로 배열의 전체 요소를 가져올 수 있다. function removeItem(items, removable) { const updated = []; for (let i = 0; i items 배열의 길이만큼 반복한다. i..

Tip 5. 배열로 유연한 컬렉션을 생성하라 const team = [ 'Joe', 'Dyan', 'Bea', 'Theo', ]; function alphabetizeTeam(team) { return [...team].sort(); // ['Bea', 'Dyan', 'Joe', 'Theo'] } => 알파벳 순(오름차순)으로 정렬한 배열 const staff = [ { name: 'Wesley', position: 'musician', }, { name: 'Davis', position: 'engineer', }, ]; function getMusicians(staff) { return staff.filter(member => member.position === 'musician'); // [{name..