전체 글 96

Kubernetes : Network

전반적인 네트워크 구성요소에 대해 살펴봅시다 1. service 2. CNI 3. CoreDNS 4. Ingress 5. Gateway 6.  Network PolicyServicePod와 통신하기 위한 리소스이다Pod는 새로 생겨날때마다 IP가 새롭게 할당되기 때문에 Pod끼리 통신을 하지않고 service를 만들어 서비스를 통해 pod에 접근한다 아래그림과 같이 label selector를 통해 각 서비스는 어떤 pod와 연결될지 결정한다.아래 그림에서 1.1.1.1 IP를 통해 app:A 레이블을 가진 pod와 통신할 수 있다서비스는 크게 3가지 종류로 나뉜다 Type설명범위접근방법ClusterIP (기본값)클러스터 내부 IP를 부여하는 기본 서비스 타입클러스터 내부에서만 접근 가능ClusterIP..

쿠버네티스 2025.03.03

Kubernetes : Scheduler

Scheduler란?Kubernetes Scheduler는 새로 생성된 Pod 중 Node에 할당되지 않은 Pod를 감지하고, 적절한 Node에 배포하는 역할을 담당합니다. 그 절차는 아래와 같습니다스케줄링 프로세스Scheduling Queue: Node에 올릴 Pod의 우선순위 정함Filtering: 노드의 리소스, 이름, 스케줄링 가능 여부 등을 기준으로 필터링Scoring: 필터링된 Node들에 점수를 매겨 최적의 Node 선택Binding: 최종적으로 선택된 Node에 Pod를 바인딩 Taint & TolerationTaint: 특정 Node에 제한을 걸어, 조건에 맞는 Pod만 스케줄링되도록 설정 (Node에 설정)Toleration: Pod가 Node의 taint를 허용하여 해당 Node에 배..

쿠버네티스 2025.02.01

Kubernetes 구조 : Cluster, Node, Pod

쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션을 자동으로 배포하고 관리하는 오픈소스 플랫폼입니다.어플리케이션을 구성하는(감싸고 있는) 요소는 클러스터(Cluster), 노드(Node), 그리고 파드(Pod)입니다cluster > node > pod > container로 어플리케이션을 관리합니다. 클러스터(Cluster)쿠버네티스의 가장 큰 단위입니다.  클러스터는 여러 개의 Node로 이루어진 집합이며, 컨테이너화된 애플리케이션을 실행하고 관리하기 위한 환경을 제공합니다. 같은 클러스터 안에 있으면 컨트롤 플레인(Control Plane)에 의해 API 서버, etcd, 네트워크 등이 공유됩니다.  클러스터는 크게 두 가지 요소로 구성됩니다마스터 노드(Master Node): 클러스터를 제..

쿠버네티스 2025.01.19

Java SimpleDateFormat YYYY vs yyyy

yyyy란?yyyy는 Calendar Year입니다일반적으로 우리가 사용하는 연도로, 1월 1일부터 12월 31일까지를 기준으로 정의됩니다.예를 들어, 2023년 1월 1일과 2023년 12월 31일 모두 달력 연도 yyyy로는 2023년입니다. YYYY란?YYYY는 Week Year입니다주차 연도는 ISO 8601 표준에 따라 정의되며, 연도를 주 단위로 계산합니다.https://en.wikipedia.org/wiki/ISO_week_date 한 해의 첫 주(Week 1)는 시작 연도 내 주의 일 대부분(4일 이상)을 가진 첫번째 주입니다ISO 8601 표준에서 주 단위의 시작은 월요일이지만, 테스트 해보니 SimpleDateFormat에서는 일요일부터 시작하고 있습니다 (new GregorianCal..

개발업무/개발 2025.01.12

z-function

z-function은 string에서 패턴매칭에 쓰이는 알고리즘이다string s가 주어졌을 때 z[i]는 s[i:]와 s의 prefix의 longest substring의 길이를 나타낸다 s = abacaba 가 주어졌다고 하자z[0] = 0 (s[0:]과 s는 동일한 string이기 때문에 원래 7이지만 0으로 하겠습니다)z[1] = 0 (bacaba와 abacaba는 동일한 prefix가 없음)z[2] = 1 (prefix 'a'가 동일함)z[3] = 0 z[4] = 3 (prefix 'aba'가 동일함)z[5] = 0z[6] = 1 (prefix 'a'가 동일함) naive하게 구하면 O(n^2)이지만 z-function을 쓰면 O(n)이다 def compute_z_function(s): n..

알고리즘 2024.12.27

Multimodal Unsupervised Image-to-Image Translation

Introductionmultimodal : 단일 모델로 여러가지 도메인(colorization, inpainting, attribute transfer, and style transfer)에 활용 가능 Method각 도메인에 속한 이미지는 이미지의 content와 style로 분리 가능하다(고 가정합니다)예를들어 보겠습니다도메인 X1은 기안84 그림체입니다도메인 X2은 사진입니다아래 그림처럼 봉지은이라는 사람은 도메인에 따라 style(그림체/사진)이 달라 이미지는 다르지만 본질(content)는 동일합니다 이미지 출처 : https://www.mk.co.kr/news/broadcasting-service/7545663 style은 도메인마다 다르지만 content space는 도메인이 다르더라도 동일..

인공지능/기타 2024.12.15

A Discriminative Feature Learning Approach for Deep Face Recognition

IntroductionFace recognition task에서 unseen data를 처리하기 위해 separable(클래스간의 구분) 할 뿐만아니라 discrimitive(클래스의 특징을 배움) 해야한다. discrimitive 해야 일반화가 되어 unseen data를 처리하기 좋다separable의 예시는 "인간과 고양이를 구분하는 방법은 두 발로 걷는지 네 발로 걷는지 알아내면 됨"discrimitive의 예시는 "고양이는 귀가 뾰족하다. 인간은 털이 거의 없다" softmax Loss는 separability만 배운다 center loss를 도입하여 discriminative power를 향상시키도록 하자 contrastive learning과 비슷해보이지만, contrastive learni..

인공지능 2024.12.15

Deep Image Prior

CNN의 구조적인 특성에 따라, 이미지 1장으로(학습없이) 노이즈 제거, 해상도 복원, 이미지 인페인팅이 가능하다 What is prior사람이 왼쪽 이미지에서 오른쪽 이미지로 복원을 한다고 가정해보자사람은 귀가 어디에 있는지, 코가 어떻게 생겼는지 등의 정보를 이용해 오른쪽 이미지로 복원한다이러한 정보를 prior라고 한다일반적으로 딥러닝에서 super resolution을 할때 여러 이미지로부터 prior를 학습해 해상도 복원을한다본 논문에서는 Explicit prior는 필요없으며, CNN 구조 자체가 prior라고 한다즉, 학습 자체가 필요없다. 네트워크 구조와 손상된 이미지만으로 원 이미지 복원이 가능하다 Method${\begin{align*}x^* &= \arg\max_x p(x \mid \..

인공지능/기타 2024.12.14

헬스체크 캐싱 적용

ASIS1. A서비스 실행2. B서비스 확인 (헬스체크)(3). B서비스 비정상일 경우 B서비스로 못넘어가게 팝업창4. A서비스 로딩 완료 문제점B서비스가 비정상일때 고객이 무조건 B서비스 헬스체크 타임아웃만큼 기다려야 함 해결방안1. Async로 B서비스 헬스체크2. B서비스 헬스체크 캐싱 고객이 몰릴때 몰린 고객 만큼 헬스체크가 필요하기 때문에 2번이 더 효율적임(1,2 동시에 적용할 필요는 없었음) 고려사항A서비스 직전 프론트에 따라 B서비스의 url이 다름 (직전에 어떤 프론트였는지는 파라미터로 알수있음)B서비스의 정상여부를 알기위해서는 2개의 서로다른 헬스체크 수행필요 구현단순하게 @Casheable을 추가할수도 있지만 캐시가 만료되었을때 특정 고객 한명은 대기를 해야하기 때문에 서버가 주기적으..

개발업무/개발 2024.11.24

Backpropagation for a Linear Layer

벡터 미분이 항상 생각이 안나서 정리합니다 Chain rule스칼라 f, 벡터 x,y가 주어져있습니다$\frac{\partial f}{\partial \textbf{x}} = \left[ \frac{\partial f}{\partial x_1} \;\; \frac{\partial f}{\partial x_2}  \right]$      $\frac{\partial f}{\partial \textbf{y}} = \left[ \frac{\partial f}{\partial y_1} \;\; \frac{\partial f}{\partial y_2} \;\; \frac{\partial f}{\partial y_3}  \right]$      ${\frac{\partial \textbf{y}}{\partial \..

인공지능/기타 2024.10.31