스프링 통합은 Enterprise Integration Patterns에 나오는 패턴들을 스프링 프레임워크에 구현해놓았다. Enterprise Integration Patterns은 엔터프라이즈 환경에서 사용하고 있는 다양한 분야(예. 결제, 메일, 각 부서에 필요한 서비스)의 애플리케이션을 통합, 즉 유기적으로 연결해서 효율적으로 적절하게 통합하는 방법을 여러 패턴을 통해 제시했다(고한다, 위키발..). SI라는 말을 처음 들었을 때도 그렇고 통합, integration이라는 단어의 의미가 참 햇갈렸는데, 여기서 통합이란 일반적으로 내가 알고있던 '독립적이였던 둘 이상의 어떤 것을 하나로 합치는 것'이 아니라 '융화'의 의미로 해석하는 것이 적절한 것 같다. Enterprise Integration P..
용어 정의 본 문서에서 사용할 용어의 혼동을 막기 위해 정의함. 인덱스(index), 인덱스 값 : 배열에서 요소의 위치값. 코드 arr[0] 에서 0에 해당하는 값 실제 값, 요소(element) : 배열의 특정 위치에 저장된 실제 값. 코드 [1,2,3,4]에서 print(arr[0])을 하면 나오는 값 선택 정렬(Selection Sort) 가장 작은 요소를 선택해서 앞으로 보냄. 크기가 10인 배열이면 0~9 중 가장 작은 요소 n1를 배열의 index 0으로 보내고 index 0에 있던 요소를 n1가 있던 위치로 보냄 1~9 중 가장 작은 요소 n2를 배열의 index 1으로 보내고 index 1에 있던 요소를 n2가 있던 위치로 보냄 위 과정을 반복하면 작은 순서데로 배열의 인덱스 0, 1, ..
JHistper라는 것을 알게되었는데 자동으로 세팅되는 여러 파일들 중 .editorconfig라는 파일이 있어 어떤 파일인지 찾아보았다. Concept 다수의 개발자들과 함께 일할 때 코딩 컨벤션(띄어쓰기 등)을 간단하게 맞출 수 있는 도구이다. eclipse를 쓸 때, 코드 포매팅 관련 자료를 찾다가 코드별 포맷등을 프로퍼티화 하여 xml형태로 배포하는 파일을 다운로드받아 적용시켜본 경험이 있다. editorconfig는 이와 매우 유사한데 프로젝트 최상단에 .editorconfig라는 파일에 값들을 설정하면 editorconfig를 지원하는 다양한 IDE, Editor tool 들이 해당 설정을 읽고 설정값을 해당 값으로 적용시켜 준다. Details .editorconfig 파일은 매우 간단한데 ..
본 문서는 아래 버전을 사용하였음 liquibase-4.4.0 postgres 13.3 docker community JHipster라는 자바 프로젝트 생성 툴을 사용했는데 자동으로 import해주는 여러 라이브러리들 중 모르는 것들이 많이 보여 그 중 하나인 liquibase가 어떤 것인지 찾아보았다. Concept 데이터베이스의 스키마를 xml, sql, yaml, json으로 관리해주는 툴입니다. 원하는 데이터베이스의 스키마의 변화를 버전별로 관리할 수 있다. 예를들어 liquibase로 초기 데이터베이스부터 관리한다고 하면 liquibase 툴의 포맷에 맞는, 테이블 생성/컬럼 설정 등 create 관련된 작업들이 기록된 xml을 생성한다. 대략적인 양식은 아래와 같다. 작업하다보니 컬럼3이 필요..
copy .pem/.crt/.cer file to /usr/local/shareca-certificates. you can use all theses files if you just change the file extenstion to .crt. Follow command execute then you can see the result $sudo update-ca-certificates 1 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done.
Calculate print(15/7) # 나눗셈, 2 print(15//7) # 몫, 2 print(15%7) # 나머지, 1 print(2**3) # 제곱근, 8Variable Type Type String Boolean Integer Float v = 1 print(type(v)) # int Tuple, Dictionary, Set Tuple 수정이 안되는 엘리먼트 집합 자료형 # define tuple = () tupleA = tuple() tupleA = (1, 2) tupleB = (3, 4) print( tupleA(0) ) # 1, 인덱스 접근 가능 tupleA + tupleB # (1, 2, 3, 4) tupleA * 2 # (1, 2, 1, 2) # use case ## switch x..
온프로미스 환경의 쿠버넷에서 서비스를 사용할 때 LoadBalancer(이하 LB)는 사용할 수 없다. 쿠버넷은 서비스의 LB 기능을 외부의 역할로 두었고 퍼블릭 클라우드 환경에서는 각 클라우드 벤더사들이 자체적으로 제공하는 LB가 있지만 온프로미스 설정을 위해 별도로 공개하진 않았다. CNCF Landscape의 Orchestration & Management - Service Proxy 항목을 보면 온프로미스에서 설치가능한 오픈소스 프로젝트 2개가 있는데 MetalLB와 PorterLB 이다. 둘다 쿠버넷의 Service에 필요한 LB 를 제공해주는데 git star를 보면 알겠지만 MetalLB가 사용자가 더 인기가 많아?보인다. MetalLB와 PorterLB의 설정 문서를 대충 훑어봤는데 LB로..
istio는 제공하는 다양한 기능을 시각화하기 위해 여러가지 툴을 제공한다. 대표적으로 네트워크 시각화 - Kiali, 트래픽 트레이싱(추적) - jaeger, 리소스 모니터링 - Prometheus/Grafana 이 있다. Kiali kiali는 service mesh의 전체 네트워크 토폴로지와 서비스 인스턴스 상태, 서비스간의 네트워크 트래픽을 시각화한다. kiali를 사용해서 현재 어떤 서비스에 문제가 발생했고, 어떻게 라우팅 되고있는지 시각화하여 확인할 수 있다. kiali 또한 bookinfo 예제와 동일하게 쉽게 구성할 수 있도록 yaml파일로 배포하고 있다. $ kubectl -f samples/addons/kiali.yaml $ kubectl -n istio-system get all -l..