일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Nice
- konga
- elastic search
- Spring
- pyannote
- OpenSource
- fosslight
- umc
- prometeus
- 파이썬
- 메소드
- monitoring
- 하이브리드 데이터 모델
- 자료구조
- supabase
- ELK
- roll over
- API Gateway
- 화자분리
- C++
- mybatis
- kong
- metricbeat
- jwt-java
- curl
- template/callback
- java
- docker
- devops
- DI
- Today
- Total
목록분류 전체보기 (157)
youngseo's TECH blog

개요 이전 글에서 KONG을 docker로 실행하는 방법에 대해 알아보았다. 이번에는 이 kong 컨테이너 이미지에 인증서를 입혀 https를 이용해 들어갈 수 있도록 해보자 ! SSL 인증서란? CA란? SSL(Secure Socket Layer) 프로토콜은 처음에 Netscape사에서 웹서버와 브라우저 사이의 보안을 위해 만들었다. SSL은 Certificate Authority(CA)라 불리는 서드 파티로부터 서버와 클라이언트의 인증을 하는데 사용된다. 아래는 SSL이 어떻게 작동하는지에 대한 간단한 과정을 설명한 것이다. 출처 아래에서 웹브라우저는 Chrome, 웹서버는 Nginx로 이해하자. [웹브라우저] SSL로 암호화된 페이지를 요청하게 된다. (일반적으로 https://가 사용된다) [웹서..

아래는 쉽게 시작하는 쿠버네티스 책과 kubernetes ko docs 를 읽고 공부하여 정리한 글입니다. Docker에게 두들겨 맞고 서버에서 OOM 오류를 계속 만나면서 컨테이너에 대해 조금 이해하게 되었다. 이제 쿠버네티스를 학습할 때가 온 것 같아 기초적인 이론 부분만 학습을 진행하였다.. 목차 1. 아키텍쳐 2. 서비스 3. DEPLOYMENT 관리 4. Configmap, Secret 5. 볼륨 1. 아키텍쳐 쿠버네티스는 쿠버네티스 클러스터, 마스터 노드, 워커 노드, 컨테이너 런타임, 영구 스토리지 등으로 이루어져 있으며 각 구성요소의 역할은 아래와 같다. 구성요소의 역할 쿠버네티스 클러스터 : k8s의 여러 리소스를 관리하기 위한 집합체로, 마스터 노드와 워커 노드를 이용해 하나의 k8s ..

이어서 Kong API Gateway에 대해 더 알아보자! 여기 를 참고하면 Kong + Konga + Postgresql DB 를 docker 로 설치할 수 있다. 하지만 매번 이렇게 run 명령어를 일일이 칠 수도 없을 뿐더러 잘못해 docker container를 delete 시키게 되면 모든 데이터들이 날아갈 우려가 있다. 따라서 아래와 같이 docker-compose.yml 파일에 한꺼번에 정리하고 docker volume을 마운트해놓으면 좋다. 도커에 대한 설명과 아래에 쓰인 여러 지식들은 여기 에 정리해 두었으니 참고하면 좋다! docker-compose.yml 을 이용해 여러 컨테이너 run 시키기 기본적으로 kong에 관련된 config 데이터들은 postgresql 서버에 들어가므로 k..

API Gateway 현재 회사 프로젝트는 Flask API Server와 React 화면으로 구성되어 있으며 여러 GET 요청을 간단히 처리하고 있다. 인증처리나 loadbalancing 기능을 구현하기 위해, API GATEWAY를 이용하여 본래의 api 로직을 해치지 않고 여러 부가 기능을 추가하는 것으로 결정했다! 이렇게 서비스를 독립적으로 마이크로하게 나누어, 서비스의 개선과 확장을 용이하게 하는 것을 MSA 아키텍처라고 부른다. KONG 아래와 같이 KONG(킹콩🦍??) API GATEWAY를 사용하여 Client와 API 간 통신에 여러 부가 기능들을 대신 수행할 수 있다. KONGA Kong 관리를 쉽게 도와주는 GUI 툴, 즉 대시보드이다. Kong 설치 나는 docker 를 이용하여 설..

도커를 공부하며 헷갈리는 개념을 정리하는 공간입니다. 1. Docker build와 Docker run의 차이? "Docker build"는 이미지를 생성하고 정의하는 데 사용되며, "Docker run"은 이미지를 실행하여 컨테이너를 생성하고 실행하는 데에 사용되는 명령어이다. 2. 컨테이너와 이미지 차이? 예를 들어, Python 어플리케이션을 도커 이미지로 빌드하려고 한다. Python 코드와 필요한 종속성(라이브러리)을 포함하는 도커 이미지를 만든다. 이후 이 도커 이미지를 사용하여 Python 어플리케이션을 실행하려고 한다. 이미지를 기반으로 컨테이너를 생성하고 시작한다. 컨테이너는 이미지의 인스턴스이며 실행 중인 Python 어플리케이션을 나타낸다. 예를 들어 ubuntu라는 image가 있다..

다음은 토비의 스프링 7.3~7.4장 을 공부하고 정리하였습니다. 7.1~7.2장 내용 간단 요약 SQLReader - SQL을 어떻게 읽어오는지 SqlRegistry - SQL을 어떻게 저장해둘 건지 SqlService 이란? @PostConstruct 가 달린 빈 초기화 메소드와 SqlService 인터페이스에 선언된 메소드인 getFinder()을 sqlReader과 sqlRegistry를 이용하도록 변경 자기 자신을 참조하는 빈이다. → sqlService를 구현한 메소드와 초기화된 메소드는 외부에서 DI 된 오브젝트라고 생각하고 결국 자신의 메소드에 접근하므로 이 셋을 이용하여 디폴트 의존관계를 갖는 빈을 만들 수 있다. 디폴트 의존관계란 외부에서 DI 받지 않는 경우 기본적으로 자동 적용되는 ..

다음은 토비의 스프링 6장 AOP 를 공부하고 정리하였습니다. AOP를 이해하기 전에 먼저 아래 개념이 선행되어야 한다. 빈 생명주기 (그냥 훑어봐도 이해하기 쉽다. 아래 빈 후처리~ 로직을 이해하려면 필연적으로 알아야 함 !) DI Transaction (DataBase 관련 개념) 프록시 개념 아래 여러 혼란스러운 개념들이 나오니 단어들을 헷갈리지 않고 정리하면서 보는 과정이 필요하다.. AOP를 한 마디로 말하면, 공통된 기능을 재사용하는 기법이다. spring에서 볼 수 있는 AOP의 적용 대상은 바로 @Transactional 기능이다. 우선 Transactional 의 기본 코드는 아래와 같다는 사실을 알아두자. public void upgradeLevels() { PlatformTransac..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/152995 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 생각 임의의 두 수 i, j가 있다. 만약 근무태도 점수[i] < 근무태도 점수 [j] 이고 동료평가 점수[i] < 동료평가 점수 [j] 인 경우가 한 번이라도 있다면 i 는 인센티브를 받지 못한다. 그게 아니라면 두 점수의 합이 높은 순으로 석차를 낸다. N = 10만이라면 → NlogN 알고리즘이 적합하겠다!! 문제 풀이 def solution(scores): wanho = sco..