본문 바로가기

전체 글

(8)
[공부한 것 정리] 글로벌 인프라 글로벌 인프라를 이해하자 AWS 글로벌 인프라를 이해하려면 커피숍을 생각하면 좋다. 도로 정체, 가게에 정전 등등 이러한 문제가 커피숍에 영향을 미치게 되는데, 고객은 조금 떨어진 다른 곳을 방문하여 커피를 구할 수 있어야 한다. 이것이 AWS 글로벌 인프라가 작동하는 방식과 비슷하다. 각 지역을 나타내는 용어를 리전이라고 부릅니다. 고객이 리전을 선택하는 데에 있어서 중요한 것은 네 가지 비즈니스 요소를 고려해야 합니다. 1. 데이터 거버넌스 및 법적 요구 사항 준수 - 회사의 위치에 따라 특정 영역에서만 데이터를 실행하거나, 회사의 모든 데이터를 한국 내부에 유지해야 한다는 규정이 있는 경우 한국 리전을 선택해야 함. 2. 고객과의 근접성 - 고객과 가까운 리전을 선택하면 고객에게 콘텐츠를 더 빠르게..
[공부한 것 정리] 메시징 & 대기열 메시징과 대기열 커피숍의 예를 또 들어보자. 계산원은 고객의 주문을 받고, 바리스타는 음료를 만듭니다. 계산원이 주문을 받고 바리스타에게 주문 목록들을 전달하면 바리스타는 그때그때 음료를 만드는데 둘이 손발이 잘 맞을 때는 효과가 탁월합니다. 하지만, 바리스타가 쉬고 있거나 바쁘다면?? 프로세스의 결함이 발생합니다. 따라서 System내에 일종의 완충기억장치나 대기열을 도입하면 프로세스가 훨씬 개선될 것입니다. 계산원이 직접 주문을 바리스타에게 건네는 것이 아니라 주문판을 이용하여 주문을 게시한다면? 주문이 밀리더라도 주문판을 확인하여 바리스타가 놓치는 부분은 적어도 없을 것입니다. 이것을 애플리케이션에 도입하여 봅시다. A라는 애플리케이션과 B라는 애플리케이션이 존재 할때, 이러한 아키텍처를 밀결합 된..
[혼자 공부] Node.js 2장 알아두어야할 자바스크립트 자바스크립트 문법 문법에 대해서 자세하게 설명은 하지 않겠으나, 자바스크립트를 처음 접하거나 문법에 대해 자세히 알지 못한다면 확실하게 공부하는 것이 좋다. 실제 프로젝트를 경험하거나 준비할 때, 문법을 모르면 막히는 경우가 상당히 많다. 책에서도 자바스크립트 문법 공부를 권장하고 있고, 필자 또한 자바스크립트를 처음 접하여 오랜 기간 이번 챕터에서 공부를 했다. 1. const 와 let의 기능 및 둘의 차이점 2. 객체 리터럴 3. 화살표 함수 4. 구조분해 할당 5. 클래스 6. 프로미스 7. async/await 에 대해서는 정확히 공부하는 것을 추천한다. AJAX (다음 내용은 책에 나와 있는 글을 인용하였습니다.) Asynchronous Javascript And XML, AJAX는 비동기적 ..
[공부한 것 정리] 다양한 요금제 & 확장성 & Elastic Load Balancing (작성된 글은 AWS Cloud Practitioner Essentials (Korean) 참고 및 사진들도 영상에서 첨부해 왔습니다.) 다양한 요금제 1. 온디멘드 2. Saving plans 3. 예약 인스턴스 4. 스팟 인스턴스 5. 전용 호스트 요금에 대해서는 기업이 원하는 방향, 선택지에 따라 다르기 때문에 관심 있을 때 검색해보면 자세한 설명이 존재하므로 종류만 정리해두고 넘어가겠습니다. AWS의 또 다른 주요 이점 확장성과 탄력성 온프레미스 Data Center에서는 딜레마가 존재한다. 고객 워크로드는 시간에 따라 다르고 평균량에 따른 하드웨어 개수를 준비해두었다가 피크치에서는 고객에게 서비스를 제대로 전달할 수 없는 현상이 발생하기도 한다. 그렇다고 피크치에 맞는 하드웨어를 준비해두면 올바..
[공부한 것 정리] AWS 인스턴스 유형 Amazon EC2 인스턴스 유형 커피숍의 비유 -> 키피 숍에서 계산하는 점원(인스턴스)이 존재할 때, 음식을 만드는 직원, 음료를 만드는 직원, 라테 아트 기술을 만드는 직원 등등 여러 TYPE의 직원들이 필요하듯, AWS에서도 다양한 역할을 하는 인스턴스 유형들이 존재합니다. Amazon EC2 인스턴스의 5가지 유형 정리 1. 범용 인스턴스 컴퓨팅, 메모리, 네트워킹 리소스를 균형있게 제공합니다 다양한 워크로드에 사용할 수 있습니다. - 애플리케이션 서버 - 게임 서버 - 엔터프라이즈 애플리케이션용 백엔드 서버 - 중소 규모 데이터베이스 2.컴퓨팅 최적화 인스턴스 컴퓨터 최적화 인스턴스는 고성능 프로세서를 활용하는 컴퓨팅 집약적인 애플리케이션에 적합, 범용 인스턴스와 마찬가지로 컴퓨팅 최적화 인스..
[혼자 공부] Node.js 개념 이해 1. 노드의 핵심 개념을 이해하자 뭐든지 공부를 할 때, 핵심 개념을 충분히 이해하지 못하고 들어가면 의문점이 생기는 포인트가 많이 생기는 경우가 있다. 개념을 이해하고 코드를 작성할 때, 생산성을 높이며 코딩을 시작하자. Node.js 는 Chrome V8Javascript 엔진으로 빌드된 Javascript 런타임입니다. 이것은 노드 공식 사이트에서 노드를 이와 같이 설명하고 있습니다. 대부분은 노드를 서버로 사용하는 방법을 익히지만 서버 외의 자바스크립트 프로그램을 실행하는 런타임으로 사용하는 방법을 배우는 것이 좋다. 런타임이란? 특정 언어로 만든 프로그램을 실행할 수 있는 환경을 의미합니다. 따라서, 노드는 자바스크립트 프로그램을 컴퓨터에서 실행할 수 있다는 것을 의미합니다. 기존에는 자바스크립..
[공부한 것 정리] Amazon WEB SERVICE & 클라우드 개념 정리 (https://www.aws.training/ 의 AWS Cloud Practitioner Essentials을 참고하였습니다.) 개발자로서, 클라우드를 왜 공부해야 할까? 다양한 기업이 아닌 모든 기업에서 클라우드 서비스를 이용한다는 것은 현실이다. 따라서 개발자로서 클라우드에 대해 필수적으로 알고 있어야 하고 알고 있는 것이 없다면, 이직 또한 어려운 것이 현실이다. 따라서 앞으로의 내용은 혼자 공부하고 이해한 내용을 적어나갈 것 같습니다. 먼저, 거의 모든 최신 컴퓨팅에서는 기본적으로 Client - Server 모델을 사용한다는 것이다. 컴퓨팅에서 Client는 사용자들이 서버에 요청을 보내기 위해 상호작용하는 웹 브라우저, APP 등등 일 수 있다. 서버는 일종의 가상 서버인 Amazion E..
조금 더 효율적인 구현을 위한 Anko 라이브러리 (작성되는 글은 https://github.com/Kotlin/anko를 참고하여 작성됩니다) - 먼저 Anko 라이브러리가 무엇인지 알아야 할 필요가 있습니다. 이 라이브러리는 간단하게 설명하자면 코드를 작성하는데 있어서 복잡함을 Simple하게 작성하는데 돕도록 만들어진 라이브러리이다. 1. kotlin에서 사용되는 intent(인텐트), dialog(다이얼로그), logging(로깅) 등등 light weight(가벼운) 라이브러리를 제공함. 2. 빠르고 안전한 방법으로 dynamic한 안드로이드 레이아웃을 작성할 수 있는 방법이다. 3.안드로이드 SQLite 를 이용할 때 사용하며, kotlinx.coroutines library 에 기반을 둔 유틸리티로 구성되어 있다. 적용하는 방법은 편리하게 ..