IT 천국 (128) 썸네일형 리스트형 [Javascript] jquery 비동기 처리 (promise, $.when.apply) UI 단을 jquery로 개발할때 여러 rest api를 사용해서 데이터를 조합하고 화면을 그리는 일을 많이 하게 된다. 그러나 ajax로 비동기 api 호출 시 api 종료 시점을 판단하고 그때 무언가 하고 싶을때는 어떨게 하면 될까? 아래와 같이 rest api를 호출하는 함수가 하나 있다고 하자 function testCall(url) { $.ajax({ type : "GET" ,url : url ,async : true ,dataType: null ,beforeSend: function (xhr) { } ,success : function(response) { console.log(response); } ,error : function(jqXHR, error) { } }); } function c.. [Kubernetes] 쿠버네티스 Service 개념 - ClusterIP, NodePort 서비스(Service) 가 필요한 이유 파드는 일회성이다. 노드에서 파드가 제거되면 새로운 파드가 생성되거나, 클러스터의 노드에 장애가 발생되면 다른 노드로 이동된다. 쿠버네티스의 파드는 노드에 스케쥴된 후 시작하기 전에 IP 주소를 할당하기 때문에 미리 파드의 IP 주소를 알기 어렵다. Scale-out(HPA) 는 여러 파드가 같은 서비스를 제공하는 것을 의미하는데 각 파드는 개별 IP 주소를 가지게 된다. 클라이언트는 서비스를 제공하는 파드의 수와 IP를 신경 쓸 필요가 없어야 한다. -> 서비스 (Service)를 사용하면 파드가 클러스터 안 어디에 있던 고정 IP 주소 (Endpoint IP Address)를 통해서 접근할 수 있다. CluserIP 기본 서비스 타입으로 클러스터 내부에서 사용이.. [Kubernetes] Controller - Replicaset 레플리카셋(Replicaset)의 3가지 구성 요소 label selector 레플리카셋에 의해 관리될 파드를 선택할 레이블 정의 .spec.template.labels의 필드와 spec.selector.matchLabels가 같아야 한다. 레이블을 기준으로 파드가 관리되므로 실행 중인 파드를 중단하거나 재시작하지 않고 레플리케이션 컨트롤러가 관리하는 파드 변경 가능 replicas 유지할 파드의 수 기본 값은 1 pod template 레플리카셋이 실행할 파드의 정의 레플리카셋에 의해서 실행할 파드의 컨테이너 이미지, 포트, 이름등의 구체적 명세 레플리카셋 yml 예제 (rs-nginx.yaml) apiVersion: apps/v1 kind: ReplicaSet metadata: name: rs-ngi.. [Oracle] 특정 테이블에 데이터가 없을 시 기본값 출력하기 DB쿼리를 짤때 값이 없을 경우에는 디폴트 값을 보여줘야하는 시나리오가 종종 나오게 된다. 그럴경우에 한번에 초기 테이블을 만들때 다음과 같은 방법으로 해볼 수 있다. 아래의 테이블 내용은 STR_ID 별로 물품 카테고리와 물품들 리스트를 보관하는 테이블의 데이터 모습이다. 여기서 특정 STD_ID에 해당하는 카테고리/물품 내용이 저장되어 있지 않을 경우 디폴트 STR_ID = 0인 값들로 무언가 해보고자 한다면 과연 어떻게 초기 테이블을 가져갈 수 있을까? UNION ALL을 활용해 값이 없을때의 STR_ID = 0 인 조회결과와 실제 원하는 값이 있을때의 테이블 결과를 UNION ALL 하면 위 시나리오 대로 실행을 해볼 수 있다. 아래와 같이 조회를 원하고자 하는 STR_ID = 3에 해당하는 값이.. [Oracle] first_value 함수 사용하기 오라클로 DB개발시 특히 집계 결과를 생성시에 최소값 또는 최대값을 기준으로 편차를 계산하는 등의 작업이 필요할 때가 있다. 오라클의 first_value 함수를 사용하면 특정 집단내의 기준값을 찾고 그 기준으로 결과를 뽑아내기가 쉬워진다. 정의는 다음과 같다. FIRST_VALUE (expr [ IGNORE NULLS ]) OVER (analytic_clause) 다음과 같이 간단한 데이터 테이블이 있다고 가정하자.... 카테고리별로 물품이 있고 각 물품은 가격을 가지고 있다. 각 물건의 가격을 전체 집단의 최저가격 대비 얼마만큼 차이가 있는지 쉽게 알수 있는 방법은 뭘까? 예제1. 각 카테고리별로 최저값을 구하고 각 카테고리별로 모든 물품의 최저값과의 차이를 구해라 SELECT CATEGORY, PR.. [Kubernetes] 네임스페이스(Namespace) 살펴보기 네임스페이스 동일한 물리 클러스트를 기반으로 하는 논리적으로 구분된 가상 클러스터를 네임스페이스라고 한다. 여러개의 팀이나 많은 사용자가 있는 경우, 클러스터안에서 여러개의 어플리케이션을 실행해야 하는 경우 사용 root@master:~# kubectl get namespace NAME STATUS AGE default Active 10d kube-node-lease Active 10d kube-public Active 10d kube-system Active 10d root@master:~# kubectl get deploy No resources found in default namespace. root@master:~# kubectl get deploy -n kube-system NAME READY.. [Kubernetes] 쿠버네티스 Architecture와 기본 동작 Kubernetes Clustering Architecture 1. 로컬에서 이미지를 생성해서 Push를 수행한다. 2. Push된 이미지가 Docker Hub에 업로드 된다. 3. 4. kubectl 명령어를 실행해 Kubernets API 서버로 REST HTTP 요청을 전달하고 클러스터에 새로운 레플리케이션 컨트롤러 오브젝트 생성 5. 레플리케이션 컨트롤러는 새 파드를 생성하고 스케쥴러(Scheduler)가 워커 노드 중 하나에 스케쥴링 6. 해당 워커 노드의 Kubelet은 파드가 스케쥴링 된 것을 확인 7. 이미지가 로컬에 없기 때문에 Docker에게 레지스트리에서 특정 이미지를 Pull 하도록 지시 8. 이미지 다운 후 Docker는 컨테이너를 생성하고 실행 Master Node의 Schedu.. [Postgresql] Postgres db dump, restore 데이터 베이스를 개발, 또는 운영 중에 백업은 중요한 작업중에 하나이다. 본 절에서는 postgres 데이터베이스를 통으로 바이너리 레벨로 dump하고 이를 그대로 restore하는 명령을 살펴본다. pg_dump 명령어 옵션 PS C:\Program Files\PostgreSQL\13\bin> .\pg_dump.exe --help pg_dump 프로그램은 데이터베이스를 텍스트 파일 또는 기타 다른 형태의 파일로 덤프합니다. 사용법: pg_dump [옵션]... [DB이름] 일반 옵션들: -f, --file=파일이름 출력 파일 또는 디렉터리 이름 -F, --format=c|d|t|p 출력 파일 형식(사용자 지정, 디렉터리, tar, 일반 텍스트(초기값)) -j, --jobs=개수 덤프 작업을 병렬 처리 .. 이전 1 ··· 11 12 13 14 15 16 다음