목록분류 전체보기 (75)
Kim Jinung
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bNJdwt/btrRRP7a9XU/QoFc4k6dMRmaggCxXVfaBk/img.png)
Prerequisite 1. Airflow on Kubernetes Apache Airflow는 쿠버네티스에 친숙한 프로젝트를 목표로 하고 있으며, 공식 helm 차트를 관리하고 있다. 해당 차트를 이용해서 쿠버네티스 클러스터에 비교적 쉽게 에어플로우를 구축할 수 있다. G jinyes-tistory.tistory.com Native Airflow를 사용하면 local directory에 dag를 저장하고 사용하면 되지만, kubernetes는 컨테이너 형태(상태)로 리소스를 관리하기 때문에, 언제든 Airflow가 종료되었다가 재시작이 될 수 있다. Airflow는 remote directory 기능인 git sync를 제공하는데, 해당 기능을 이용해서 DAG 파일 저장소로 github reposito..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/8tUvx/btrRRu3jgcn/ShLnGyW0v34LnVcydmlg1K/img.png)
Apache Airflow는 쿠버네티스에 친숙한 프로젝트를 목표로 하고 있으며, 공식 helm 차트를 관리하고 있다. 해당 차트를 이용해서 쿠버네티스 클러스터에 비교적 쉽게 에어플로우를 구축할 수 있다. Goal - Airflow를 Kubernetes cluster에서 운영할 때의 장점이 무엇인지 파악한다. - Helm chart를이용해서 Airflow를 K8s 환경에 구축한다. 1. Airflow를 왜 kubernetes에서 운영해야 할까? Kubernetes의 핵심은 Container를 개발자가 원하는 상태로 유지시켜주는 것이다. 그리고 이를 Airflow에도 적용할 수 있다. Airflow scheduler, webserver, flower 등을 pod로 띄워서 주기적으로 health check 하..
GitHub Actions에서 도커 캐시를 적용해 이미지 빌드하기 카카오엔터테인먼트 FE 기술블로그 fe-developers.kakaoent.com 1. 도커 이미지 사이즈를 줄이는 방법 2. 도커 이미지의 레이어 개념
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/G6QFM/btrRn6ALQrD/LLrZIdNU26eKLN4QAjrwxK/img.png)
Reference - Flyway docs Goal 1. flyway가 무엇인지 파악한다. 2. "가 왜 등장했는지 파악한다. 3. "를 어떻게 사용하는지 파악한다. 선행 조건 - Docker Flyway 공식 문서에서 flyway를 데이터베이스 마이그레이션 툴로 소개하고 있다. 그렇다면 데이터베이스 마이그레이션은 왜 필요할까? 오늘날 소프트웨어 개발에서 우리는 위와 같은 개발 프로세스를 흔하게 접할 수 있다. Axel과 Christian이 별도로 기능을 개발하고 하나로 합친다. 그리고 지속적으로 통합(Continuous Integration)한다. 해당 버전은 다시 Test를 거치면서 수정되고 최종적으로 Production 스테이지에서 서비스 한다. 그리고 어떠한 기능에 대한 니즈가 생기는 경우가 발생..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/q1bNA/btrRjqunkki/Zz8FaKsy4FmRSs8FEyczZ1/img.png)
Goal Python의 Instance method, static method 그리고 class method의 차이점을 정리한다. Instance method 파이썬에서 클래스를 선언하고 메서드를 생성하는 일반적인 방법은 아래와 같다. class Person: count = 0 def __init__(self, name, age): self.name = name self.age = age Person.count += 1 def greeting(self): print(f"Hi {self.name}") class에서 self는 instance를 가르킨다. 즉 인스턴스로 생성 될 객체를 가르킨다. 그러므로 메서드를 선언하고 self 키워드를 이용해서 instacne attribute(속성)에 접근할 수 있다...