
💡 JavaScript 자바스크립트는 웹 브라우저에서 HTML, CSS를 동적으로 제어하기 위해서 만들어졌다. 하지만, 오늘날의 자바스크립트는 웹브라우저의 영역에서 벗어나 다양한 용도로 사용되고 있다. 예를 들면 Node.js, Google Script, PDF 등 각종 데스크탑 위젯에서도 적용될 수 있는 내용이다. Node.js 기반의 웹서버 구축을 위해 학습 할 것이므로 HTML 관련 내용은 적지 않겠음. 자바스크립트와 자바의 차이 Java 클래스 기반의 언어, 계층 구조를 통한 모든 상속와 함께 클래스 & 인스턴스로 나뉨 클래스 & 인스턴스는 동적으로 추가된 속성이나 메서드를 가질 수 없음 변수 자료형은 반드시 선언되어야 함 (Static Typing) 하드 디스크에 자동 작성 가능 컴파일 과정 존..
💡 StatefulSet 어플리케이션의 상태를 저장하고 관리하는 쿠버네티스 오브젝트 replication controller와 같은 복제본을 가지고 있는 컨트롤러를 의미함 기존 Pod를 삭제하고 생성할 때 상태가 유지되지 않는 한계가 있고 삭제-생성을 하면 새로운 가상환경이 된다 하지만 StatefulSet으로 생성되는 Pod는 영구 식별자를 가지고 상태를 유지시킬 수 있다 Yaml 기반 생성 //myapp-sts.yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: myapp-sts spec: selector: matchLabels: app: myapp-sts serviceName: myapp-svc-headless replicas: 2 templat..

💡 Deployments replicaset의 상위 오브젝트 replicaset에 없는 배포 작업의 세분화, 롤링업데이트, revision 등의 기능을 사용 가능 Yaml & kubectl 기반 Deployment 생성 # 생성, --replicas=3 으로 레플리카 수 지정 가능 kubectl create deployment [deploy-name] --image=[image-name] --dry-run=client -o yaml > [yaml-name] # Yaml 생성 apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: ..

💡 Labels 쿠버네티스 객체를 식별할 수 있고, 그룹으로 구성 가능한 기능 좋은 Use-Case는 Pod에 배치된 어플리케이션을 기반으로 그룹핑 하는것과 환경이나 고객 & 팀 & 소유자 & 릴리즈 버전에 따라 그룹화 하는 다양한 레이블 규칙 개발 가능 리소스를 생성할때 레이블을 무조건 지정해서 사용하기 커밋 컨벤션 처럼 레이블 컨벤션을 도입하기 Pob Template 활용, 파드 템플릿은 쿠버네티스 컨트롤러에서 파드를 생성하기 위한 manifest 파일임 공통적인 옵션들에 대한 레이블 리스트 만들기 (어플리케이션id, 버전, 소유자, 환경, 릴리즈 버전 등) 더 광범위한 레이블 리스트 만들기 쿠버네티스에서 추천하는 레이블 사용 Lable List Exsample # 쿠버네티스 추천 레이블 apiVer..
💡 Namespace 물리 클러스터 기반의 가상 클러스터, 기본 네임스페이스는 default 이다. 같은 네임스페이스 내에서 리소스의 이름은 중복 불가능 Kubectl 기반 Namespace 생성 # 1. yaml의 metadata 하위 name: 에 지정해도 됨 # 2. 리소스를 생성할때 -n [namespace-name] 으로 옵션 지정도 가능 # 3. kube-node-lease, kube-system, kube-public 네임스페이스는 사용하지 않는게 좋음 # Namespace 생성 kubectl create namespace [namespace-name] # Namespace 조회 kubectl get ns # 기본 Namespace의 모든 Resource 조회 kubectl get all -..

💡 Optimizer SQL을 가장 빠르고 효율적으로 수행할 최적의 처리경로(최저비용)를 생성해주는 DBMS 내부의 핵심 엔진이다. 사용자가 쿼리문으로 결과를 요청하면, 이를 생성하는데 필요한 처리경로는 DBMS에 내장된 옵티마이저가 자동으로 생성한다. 옵티마이저가 생성한 SQL 처리 경로를 실행계획(Execution Plan)이라고 한다. Optimizer의 SQL 최적화 과정 사용자가 작성한 쿼리 수행을 위해, 실행될 만한 실행 계획을 찾는다. Data Dictionary에 미리 수집해놓은 오브젝트 통계 및 시스템 통계 정보를 이용해서, 각 실행 계획의 예상 비용을 산정하며 각 실행 계획을 비교해서 최저 비용을 갖는 하나를 선택 및 실행한다. Parser Optimizer Row_Source SQL_..

💡 Node.js Node.js는 Chrome V8 JavaScript 엔진으로 빌드 된 JavaScript Runtime이며 nvm. 즉, 노드를 통해 다양한 자바스크립트 어플리케이션을 실행할 수 있으며, 서버를 실행하는데 많이 사용된다. JavaScript를 서버에서도 사용할 수 있도록 만든 프로그램이다. V8 이라는 JavaScript 엔진 위에서 동작하는 자바스크립트 런타임(환경)이다. 서버사이트 스크립트 언어가 아닌 프로그램(환경)이다. 웹 서버와 같이 확장성 있는 네트워크 어플리케이션을 제작하기 위해 만들어졌다. 내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치 등의 별도 소프트웨어 없이 동작한다. 사용 이유 Node.js를 사용하려면 JavaScript를 배워야 한다. Jav..