본문 바로가기

분류 전체보기

(249)
쏘카를 떠납니다. 그리고 블로그를 옮깁니다. 2년간 몸 담았던 제 첫 회사인 쏘카를 떠납니다. 이에 대한 회고 글은 아래에서 확인하실 수 있습니다 :) 나의 첫 회사, 쏘카를 떠나며 쓰는 회고 들어가며 지난주 금요일, 마지막 출근을 했다. 쏘카를 다닌 지 어연 2년이 조금 넘었다. 시간 빠르다 정말. 특히 블로그에 입사한지 얼마 안 되었을 때 작성한 회고가 그대로 있는 걸 보면... 기분 heumsi.github.io 그리고 새로운 블로그로 포스트 공간을 옮깁니다. 앞으로의 글들은 위 블로그에서 쓸 것 같습니다! 티스토리 블로그는 Archived 목적으로 남겨두기만 할 것 같습니다. 블로그를 옮기게 된 이유와 과정도 추후에 위 블로그를 통해 포스팅 해보겠습니다. 마지막으로, 티스토리 블로그 구독 중이거나 종종 블로그 들어와주신 분들에게 이 자리 빌..
2021년 회고 2021년 한 해 뭘했고 뭘 느꼈는지 짧게 정리 해본다. 2020년에는 제주에서 바다보며 했었는데… 이번에는 제주까진 못가고 마포에서 한강을 보고있다. 그냥 머리 속에 떠오르는 지난 날의 굵직한 것들을 가지고 의식의 흐름대로 회고를 써보려고 한다. 어떻게 써볼까 생각하다가 회사에서의 일들이 내게 기준점이 되기 좋은거 같아, 회사에서의 일들과 회사 밖에서의 일들을 나누어 본다. 1. 회사 안에서 1) Airflow on Kubernetes Migration 20년 말 쯔음에 Airflow on Kubernetes를 GKE 위에 구축했다. 이후 기존의 Airflow DAG들과 Connection 등을 모두 이 새로 띄운 Airflow로 Migration 해야 했는데, 이 과정에서 내가 가이드라인(DAG 이름..
간단한 gRPC 파이썬 앱 만들고, Kreya로 테스트 해보기 gRPC나 Kreya나 각각의 공홈에 매우 잘 설명되어 있지만... 본인의 까먹 방지용으로 남겨둔다... gRPC 사용하는 서버 작성하기 gRPC 라이브러리 설치 다음처럼 grpcio 를 설치해준다. $ poetry add "grpcio" Grpc 관련 유틸리티 도구를 제공하는 grpcio-tools 도 설치한다. 개발하는 과정에서만 사용하기 때문에 개발 라이브러리로 설치한다 $ poetry add "grpcio-tools" -D 참고로 여기서 사용한 파이썬 버전 및 라이브러리 버전은 다음과 같다. $ python -V Python 3.9.7 $ pip list | grep grpcio grpcio 1.42.0 grpcio-tools 1.42.0 Proto 작성 이제 다음처럼 프로젝트 내에 protos ..
도메인 주도 설계 핵심(반 버논, 2017) 도메인 주도 설계 핵심 정리 들어가며 이 글은 "반 버논님의 도메인 주도 설계 핵심 (2017)" 책을 읽고 회고 겸 정리한 글이다. 내게 임팩트 있던 내용들만 빠르게 훑어보며 정리해본다. 1장. 나에게 도메인 주도 설계는 이 장에서는 DDD의 중요성과 이 책의 개략적인 내용에 대해 설명한다. 이 책을 통해 우리는 크게 3가지에 대해 배우게 된다. 전략적 설계 (What) 전략적 설계는 세세한 구현으로 들어가기 앞서, "무엇을 할지"에 대해 큰 그림을 그리는 일이다. 바운디드 컨텍스트, 보편 언어, 서브 도메인, 컨텍스트 매핑 등에 대해 다룬다. 전술적 설계 (How) 전략적 설계 이후, 세세하게 "어떻게"에 대해 다루는 일이다. 엔티티, 값 객체, 애그리게이트, 도메인 이벤트 등에 대해 다룬다. 학습 ..
Commitizen으로 커밋, 버전 관리하기 들어가며 개발을 하며 Git을 잘 활용하려고 하다보면 이래저래 신경쓸게 많다. 그 중에서도 특히 커밋 메시지 규칙과 버저닝 규칙은 초반부터 잘 잡아놓으면 좋은 부분인데, 사실 규칙을 세우고 잘 지켜나가기가 쉽지 않다. 어떤 규칙을 세우고 팀원들에게 지켜달라고 해도, 실수는 늘 있기 마련이고, 중간에 이를 잡아주는 사람이 없으면 규칙은 언제든 무너지게 된다. 이번 글에서 소개할 commitizen은 이런 규칙을 잘 잡아주고 지켜나가도록 도와주는 python 라이브러리다. GitHub에서 오픈소스를 본 적이 있다면 CHANGELOG.md 나 섬세하게 버저닝이 된 태그들도 같이 보았을 것이다. 이런 것들을 모두 commitizen 으로 구현할 수 있다. commitizen을 사용하게 되면 더 이상 git co..
Feast - Quick Review 일반적인 정형 데이터 머신러닝 코드에는 데이터를 불러오고 필요한 feature를 뽑아 가공하는 부분이 있다. 보통 데이터 웨어하우스나 아니면 원천 데이터 소스에서 데이터를 불러올텐데, 이렇게 직접 데이터 소스에 붙지 않고 머신러닝에 필요한 데이터 스토어를 별도로 만들어 둘 수 있다. 그리고 여기에 필요한 feature들을 미리 가공하여 저장할 수 있고, 데이터 버전 관리도 도입해볼 수 있다. 이러한 개념으로 등장한 것이 feature store다. feature store는 머신러닝을 위한 feature 데이터를 모아둔 곳이라고 보면 된다. 이번 글에서는 feature store 오픈소스 툴인 Feast를 간단히 사용해보고 빠르게 리뷰해본다. 사전 준비 파이썬 3.8 (나는 3.8.7 을 사용했다.) 사..
Prefect - Quick Review Workflow 툴인 Prefect에 대해서 Quick하게 리뷰해보려고 한다. 이게 대체 뭔가 함은... 일단은 Apache Airflow 같이 워크 플로우를 정의하고 스케쥴링 돌리며, 이 모든 것을 체계적으로 매니징하는 오케스트레이션 툴이라고 보면 되겠다. 그래도 사용하기 전까지는 뭔지 확 감이 안오므로, Quick 하게 사용해보면서 어떤 건지 알아보자. 사전 준비 파이썬 3.8 (나는 3.8.7 을 사용했다.) 사용할 가상환경 접속 설치 # 설치 $ pip install prefect # 버전 확인 $ prefect version 0.14.17 아직 1점대가 나오지 않은 걸로 보아... 추후에 많이 바뀔 여지가 있겠다. 백엔드 서버 및 에이전트 실행 먼저 로컬에 prefect 와 관련된 세팅을 해보자..
MLflow - MLflow Projects 이번에는 MLflow Project 에 대해서 자세히 알아본다. 사전 준비 이전 글을 확인하자. 개요 MLflow Project는 말 그대로 MLflow에서 유용하게 관리, 사용하기 위해 정의하는 양식이다. 말로 설명하는 것보다 그냥 보고 이해하는게 더 빠를거 같다. 다음은 examples/sklearn_logistic_regression 에 있는 예시다. 하나의 MLflow Project는 다음과 같은 구조를 가진다고 보면 된다. sklearn_logistic_regression ├── MLproject ├── conda.yaml └── train.py MLproject 라는 파일이 존재하는데, 이 파일을 통해 이 프로젝트가 MLflow Project 임을 알 수 있다. MLflow Projet 는 m..