목록분류 전체보기 (413)
오답노트

Django Django는 파이썬 기반의 풀스택 프레임 워크다. 파이썬을 사용하기 때문에 배우기 쉽고, 많은 라이브러리와 프레임워크를 제공하여 쉽고 빠르게 개발할 수 있다. 또한 확장성이 뛰어나 복잡한 요구상하과 통합이 필요한 개발에 적합하다. 불필요한 중복을 없애고 많은 양의 코드를 줄여 유지보수가 쉽고 재사용하기 좋은 디자인 원칙과 패턴들을 사용한다. 리눅스, 윈도우 그리고 맥 OS 등등 다양한 운영체제에서 동작할 수 있고, 비밀번호, 세션, 크로스사이트 요청 위조등의 보안 취약점을 보완할 방법을 기본적으로 제공한다. Django의 서비스 처리 장고는 MVT 디자인 패턴으로 서비스를 처리한다. View 뷰는 사용자의 요청에 대한 서비스 처리를 담당하며, views.py 파이썬 스크립트에서 구현한다. ..
함수의 호출 과정 함수 실행 영역 (Execute Context Stack) 생성 매개변수, argments 변수 생성 및 초기화 선언적 함수 var this 코드 실행 var msg = 'global' function outer() { var msg = 'outter' console.log(msg) inner() function inner(){ var msg = 'inner' console.log(msg) } outer() //outter //inner 스코프와 스코프 체인 스코프는 유효 범위로 우선적으로 자기 자신의 컨텍스트에서 먼저 변수를 찾는다. 만약 변수가 존재하지 않으면 상위 컨텍스트에서 변수를 찾아 사용한다. 스코프 체인은 해당 코드의 스코프 안에 있는 변수를 정의하는 객체의 체인이다. va..
함수 정의하는 법 함수는 생성자 함수 방법, 선언적 함수 방법, 리터럴 함수 방법이 있다. var f1 = new Function("x","y","return x+y") // 생성자 함수 방법 console.log(f1(7,5)) function f2(x,y){ // 선언적 함수 방법 return x+y } console.log(f2(7,5)) var f3 = function(x,y){ // 리터럴 함수 방법 return x+y } console.log(f3(7,5)) 호이스팅 (Hoisting) 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미한다. var로 선언한 변수의 경우 호이스팅 시 undefined로 변수를 초기화한다. 반면 let과 const로 선언한 변수의 경우 ..
JavaScript 자바스크립트는 동적인 웹페이지를 만들기 위해 사용하는 프로그래밍 언어이다. 데이터 타입 기본타입 number : 실수, 정수 모두 number다 string boolean undefined : 변수에 아무것도 할당되지 않으면 undefined이다. 참조타입 Array Function Date RegExp var a = 100 var b = 1.1 var c = 'c' var d = True var e console.log(typeof(a)) // number console.log(typeof(b)) // number console.log(typeof(c)) // string console.log(typeof(d)) // boolean console.log(typeof(e)) // un..

Kubernetes Object 가장 기본적인 구성단위로 상태를 관리하는 역할을 한다. 기본적인 오브젝트로는 Pod, Service, Volume, Namespace가 있다 . 오브젝트는 Spec(정의된 상태)와 Status(현재 상태)가 존재한다. Namespace는 단일 클러스터 내 리소스 그룹 격리를 위한 오브젝트이다. 이는 사용자가 여러 팀으로 구성하는 경우, 프로젝트를 진행함에 있어 환경을 분리 해야 하는 경우 사용한다. Kubernetes Controller 각 컨트롤러는 현재 상태(Status)를 정의된 상태(Spec)에 가깝게 유지하려 한다. 관찰 : 현재 상태를 관찰한다. 상태 변동 : 현재 상태와 정의한 상태를 비교한다. 조치 : 현재 상태를 정의한 상태로 변경한다. 그리고 다시 관찰 ..
All-in-One Single-Node Installation 한 개 노드안에 마스터 노드 워커 노드 모두 존재하는 형식이다. 테스트 단계에서만 사용하고 실제 배포할 수 없다. 그 이유는 etcd가 마스터 노드와 함께 있다면, 마스터노드 etcd 둘 중 하나라도 문제가 발생하면 전부 에러가 발생할 수 있기 때문이다. Single-Node etcd, Single-Master and Multi-Worker Installation 마스터 노드와 워커노드를 분리 하지만 마스터 노드가 존재하는 노드에 etcd도 존재하기 때문에 위와 마찬가지 에러가 발생한다 Single-Node etcd, Multi-Master and Multi-Worker Installation 마스터노드와 etcd가 같이 있는 노드가 하나 ..

클러스터 쿠버네티스는 클러스터라는 형태로 배포한다. 클러스터 노드는 마스터 노드와 노드(워커 노드)로 이루어져있다. 마스터 노드 (Control Plane) 마스터노드는 클러스터에 대한 전반적인 결정을 수행하고 클러스터 이벤트를 감지하고 반응한다. API 서버 API 서버에 명령어를 보내면 명령어 대한 수행하도록 다른 컴포넌트에게 전달한다. 수평으로 확장되도록 디자인되었다. 즉, 더 많은 인스턴스를 배포해서 확장할 수 있다. 여러 인스턴스를 실행하고, 인스턴스간의 트래픽을 균형있게 조절할 수 있다. scheduler 노드가 배정되지 않은 새로 생성된 Pod를 감지하고, 실행할 노드를 선택한다. Controller Manager 클러스터의 상태를 조절하는 컨트롤러들을 생성, 배포한다. 이는 고가용성을 유지..

가상머신과 컨테이너 실제 하드웨어가 아닌 네트워크에 환경을 구축하여 어플리케이션을 제공하는 공통점이 있다. 하지만 구성 방식의 차이가 존재한다. 게스트 OS가 필요없다. : OS위에 구축하는 것이 아닌 도커 엔진 위에서 구동하기 때문에 게스트 OS는 필요없다. 시작시간이 짧다 : 가상머신은 하이퍼바이저가 게스트 OS를 할당해야하지만 컨테이너는 그럴 필요가 없기 때문에 시작시간이 짧다. 이미지 사이즈가 작다 : 게스트 OS가 없으므로 그만큼 이미지 사이즈가 작다. 호스트 OS만 패치한다. : 게스트 OS가 없으므로 호스트만 패치해도 모든 컨테이너에 적용 가능하다. 컨테이너 내부의 데이터는 컨테이너 종료 시 소멸, 필요시 스토리지를 이용하여 저장 Docker 도커는 컨테이너 엔진이며, 컨테이너 기반의 오픈소..

Load Balancer 인입되는 트래픽을 특정 알고리즘 기반으로 다수의 서버로 분산 시켜주는 장비 ELB (Elastic Load Balancer) ELB(Elastic Load Balancer)은 하나 이상의 가용 영역(AZ)에 있는 EC2 인스턴스, 컨테이너, IP 주소와 같은 여러 대상에 수신 트래픽을 자동으로 분산한다. 등록된 대상의 상태를 모니터링하고 정상적인 대상에만 트래픽을 라우팅한다. Elastic Load Balancing은 수신 트래픽의 변화에 따라 로드 밸런서 용량을 자동으로 조정한다. ELB은 다음 유형의 로드 밸런서를 지원한다. Application Load Balancers Network Load Balancers Gateway Load Balancers Classic Lo..

가용성 가용성은 복원력을 양적으로 측정하는 데 일반적으로 사용되는 지표이자 복원력 목표다. 아래 표에는 일반적인 애플리케이션 가용성 설계 목표와 해당 목표를 충족하면서 1년 동안 허용되는 최대 중단 시간이 나와 있다. 이 표에는 각 가용성 계층에서 흔히 볼 수 있는 애플리케이션 유형의 예로 볼 수 있다. ‘사용할 수 있는 시간’ 대신 성공 및 실패한 요청의 수를 세는 것이 서비스에 따라 더 용이할 수 있다. 고가용성 고가용성은 지속적으로 구현한 시스템이 정상적으로 운영이 되는 성질이고, 장애 또는 고장이 나더라도 복구를 해서 서비스를 지속할 수 있는 능력을 의미한다. AZ 분산 배치 AZ(Availability Zone)는 Region 내 물리적으로 분리된 전력 네트워킹 장치가 분리된 영역이다. Regi..