최신글

more

삼성동 대장 카페 키헤이커피 / 삼성중앙역 카페

오늘은 제가 평일 매일 아침에 가는 카페인 키헤이커피를(KIHEI) 소개하려고 합니다. 삼성동은 맛이 좋은 카페가 많은 곳인데요. 제가 좋아하는 커피 볶는집도 있고요. 하지만, 요즘은 키헤이 커피만 주로 가고 있습니다. 키헤이커피는 우연히 회사 사무실이 이 근처로 이사오면서 알게된 카페로 커피 맛이 좋아 리프를 통해 구독까지 하게 됐습니다. 카페 구독서비스인 리프에 대한 소개는 이전 포스팅에서 확인하실 수 있습니다. 그럼 이제 본격적으로 키헤이 커피를 소개 해드리겠습니다! 키헤이는 하와이 마우이 남서부 해안, 햇빛이 가장 찬란하고 가장 건조해 해변에서 보물을 찾기 좋은 섬 끝 마을의 이름으로 키헤이에서 행복한 추억을 일상에서 전달 하고 싶어서 키헤이커피라고 가게 이름을 지으셨다고 합니다. 이 내용은 카페..

정보 2023.09.16 0

의존성 역전 원칙(DIP) 예제 코드 및 설명

의존성 역전 원칙(DIP ) 의존성 역전 원칙(Dependency Inversion Principle, DIP)은 객체 지향 설계 원칙 중 하나로, 시스템의 고수준 모듈이 저수준 모듈에 직접적으로 의존하는 것을 피하고, 대신 둘 모두가 추상화에 의존하도록 설계해야 한다는 원칙입니다. 이 원칙은 SOLID 원칙 중 하나로, 특히 대규모 소프트웨어 시스템의 유지 보수성과 확장성을 향상시키는 데 중요한 역할을 합니다. DIP의 주요 내용은 다음과 같습니다: 고수준 모듈은 저수준 모듈에 의존해서는 안 됩니다. 둘 다 추상화에 의존해야 합니다. 추상화는 세부 사항에 의존해서는 안 됩니다. 세부 사항이 추상화에 의존해야 합니다. DIP를 지키지 않았을 때의 문제 문제점: 코드의 재사용성이 떨어진다. 인터페이스(추상..

Design 2023.08.15 2

카페 구독서비스 리프 후기

우연히 회사 근처에 카페에 갔다가 리프(rife)라는 카페 구독 서비스를 발견해서 구독해봤습니다. 다양한 새로운 서비스를 써보는 것을 좋아하는 편이고, 하루에 한 잔 한 달에 42900원이라는 가격과 커피 맛이 괜찮은 키헤이카페라는 점에서 합리적으로 보여서 설치해봤습니다. 키헤이 카페는 평일만 열어서 하루에 한 잔 20잔을 마신다고 하면 한 잔에 2000원 정도 가격에 커피를 마실 수 있습니다. 지하철 정기권과 비슷한 느낌입니다..! 마침 일주일 체험권도 받을 수 있어서 만족하면서 월요일 부터 오늘까지 하루에 한 잔 마셔본 결과 맛 좋은 커피와 합리적인 가격에 만족합니다. 내일은 태풍으로 재택을 할 예정이라...아쉽지만 패스... 문제는 휴가가 많은 분이나 재택이 많으신 분은 차라리 집 근처 좋아하는 카..

일상 2023.08.09 2

DW, DB

more

ETL과 ELT의 차이, ELT가 더 가치있는 이유 그리고 EtLT

ETL과 ELT의 차이 ETL과 ELT의 차이는 데이터를 소스에서 타켓으로Ingestion하는 과정에서 Transafrom을 언제 하는지에 대한 차이입니다. ETL은 Extract-Transfrom-Load 순으로 진행됩니다. 반면에 ELT는 Extract-Load-Transform순으로 진행됩니다. 많은 글에서 ELT가 데이터를 Transform하지 않은 상태로 DataLake 또는 Data Warehouse에 데이터를 적재하지 않기 때문에 원시 데이터로 부터 다양한 가공이 가능해서 더 데이터를 잘 활용할 수 있다고 설명하는 부분에 집중합니다. 하지만, ELT의 패러다임은 단순히 Transformation 순서만 바뀐 것이 아니라 Ingestion layer와 Transformation layer를 나..

DataPlatform 2023.06.24 4

Data Platform이란? / 데이터플랫폼이란

데이터 엔지니어의 가장 중요한 역할 중 하나는 데이터플랫폼을 구축하는 일이라고 생각합니다. 데이터 플랫폼은 기존의 데이터웨어하우스 중심의 시스템에서 벗어나 다양한 데이터를 다루고, 확장 가능하고 더 데이터를 잘 활용할 수 있는 종합적인 플랫폼을 의미합니다. 참고: 데이터 웨어하우스와 데이터플랫폼의 차이 이 글은 데이터 플랫폼의 구성에 대해서 계속 공부하면서 업데이트해나갈 예정입니다. 그리고 각각의 구성요소들을 다른 글에서 계속해서 업데이트를 해나가려고 합니다. 데이터 플랫폼은 다양한 구성요소가 있고, 각각의 구성요소 또한 다양한 서비스와 기술스택으로 구성할 수 있어서 경험을 하고 공부를 하면서 계속 글을 업데이트할 예정입니다. 데이터플랫폼이란? Data Platform은 다양한 대규모의 데이터를 수집, ..

DataPlatform 2023.06.21 0

Data Engineering

more

Airflow KubernetesPodOperator 예제 코드 및 설명

KubernetesPodOperator는 Kuberntes cluster에서 Airflow가 실행중일 때 사용자가 원하는 docker image에서 task를 실행하는 task를 만드는 Operator입니다. Airflow는 여러 가지 서비스들을 Orchestration할 수 있다는 강점을 가지고 있습니다. 직접 데이터를 처리하는 서비스들을 여러 개 만들수도 있는데 이 때 각각의 서비스의 의존성이 다를 수 있는데 이 때 KubernetesPodOperator 를 사용하면 독립적인 컨테이너 환경에서 서비스를 실행할 수 있습니다. Install KubernetesPodOperator 를 위해 필요한 kubernetes provider 패키지 설치 pip install apache-airflow[cncf.ku..

Data Engineering 2023.07.22 0

초기 스타트업에서 Data Engineer는 어떤 일을 하나요?

이 글은 Medium 회사 블로그에 올린 글을 가져온 글 입니다! 안녕하세요. 저는 Verticah에서 Head of Data로 일하고 있는 Jordan입니다. 회사의 기술 블로그에 첫 번째 글로 초기 스타트업에서 데이터 엔지니어로 어떤 일을 하고 있는지를 소개해 보려고 합니다. 저희 팀은 현재 11명의 구성원으로 이루어진 Seed 투자를 받은 초기 스타트업으로 혁신 성장기업의 자금 조달 방식을 혁신하자는 비전 아래 Revenue Market이라는 미래의 매출을 판매할 수 있는 벤처 대출 플랫폼을 만들고 있습니다. Why an early-stage team needs a data guy 많은 회사들이 데이터 관련 직무를 회사가 어느 정도 성장한 후(A 시리즈 이후)에 채용합니다. 하지만, 데이터와 관련된..

Data Engineering 2023.07.10 0

Pandas DataFrame apply 성능 이슈 개선하기

Apply는 dataframe의 각 행이나 열에 User-defined function을 실행할 때 사용하는 흔한 옵션입니다. axis=1로 실행하게 되면 각 row에 대해서 연산을 수행하게 됩니다. 이 때 성능 문제가 흔히 발생됩니다. Pandas는 DataFrame은 내부적으로 Numpy 배열을 사용하여 열 단위로 데이터를 저장하고 보통 행의 수보다 열의 수는 훨씬 적은 경우가 많기 때문에 성능 이슈가 많이 발생하지 않습니다. apply 함수의 성능 이슈 반복적인 함수 호출: apply 함수는 각 행 또는 열에 대해 함수를 호출합니다. 이는 작업량이 많은 작업에서는 많은 반복 호출이 발생하므로 오버헤드가 발생할 수 있습니다. 데이터프레임의 크기가 클수록 이러한 반복 호출은 더욱 부담이 됩니다. 특히,..

Data Engineering 2023.07.08 0

Django (장고)

more

Python/Django NewRelic 셋업 및 환경 분리하기.

Introduction 이번 글에서는 Python 및 Django에서 NewRelic을 셋업하고 환경 별로 분리하는 방법을 소개합니다. NewRelic은 대표적인 APM (Application Performance Monitoring) 서비스 중 하나입니다. NewRelic을 설치해서 쉽게 어플리케이션의 병목을 확인할 수 있습니다. 대부분의 내용은 공식 문서에 명시되어 있는 내용이고 제 기준으로 이해하기 쉽도록 정리한 글이라고 생각하시면 될 것 같습니다. Set up newrelic 셋업은 굉장히 간단한 편입니다. 대부분의 웹 프레임워크(Django, Flask 등) 및 호스팅 프로그램(WSGI, Gunicorn, uWSGI)등은 기본 Python Agent 설정만 해주면 됩니다. 웹이 아닌 단순 스크립..

Django 2022.06.29 0

Django DB Transaction 3편 - DB Transaction Test 코드 작성하기.

Introduction 안녕하세요. 1편과 2편에 이어서 마지막 편으로 Django에서 DB Transaction과 관련된 코드들의 테스트 코드를 작성하는 방법에 대해서 포스팅 해보려고 합니다. 아직 1편과 2편을 읽지 않으신 분이 계신다면 먼저 읽고 오시는 것을 추천드립니다. Django에서 DB Transaction을 어떻게 사용하는지 그리고 실제 DB에서 어떤 동작이 일어나는지를 이해하시고 이번 글을 읽으시면 이해하기 쉽고 더 도움이 될 거라고 생각합니다. 지난 글 Django DB Transaction(트랜잭션) 1편 - Request와 DB Transaction 묶기(Feat. ATOMIC_REQUESTS) Django DB Transaction 2편 - 명시적으로 transaction 활용하기..

Django 2022.02.02 0

Django DB Transaction 2편 - 명시적으로 transaction 활용하기. (feat. savepoint)

Introduction 안녕하세요. 1편 Django Transaction(트랜잭션) 1편 - Request와 DB Transaction 묶기(Feat. ATOMIC_REQUESTS) Django Transaction(트랜잭션) 1편 - Request와 DB Transaction 묶기(Feat. ATOMIC_REQUESTS) Introduction - Django DB Transaction 안녕하세요. 새해에는 Django와 관련된 글들을 많이 다뤄 보려고 합니다. 첫 번째로 Django에서 DB Transaction을 다루는 방법에 대해서 공부하고 글을 써보려고 합니다... blog.doosikbae.com 에 이어서 2편으로 명시적으로 Django에서 DB transaction을 활용하는 방법에 대해..

Django 2022.01.17 2

Python (파이썬)

more

파이썬 import time과 run time / 임포트 타임과 런타임 이해하기

파이썬에서 import time과 runtime은 코드가 실행되는 시점에 대한 개념입니다. import time은 파이썬 모듈이 import 될 때 실행되는 코드들을 의미하고, run time은 실제 해당 함수나 클래스가 호출됐을 때 실행되는 것을 의미합니다. 이 두 개념을 이해하는 것은 코드를 작성할 때 runtime에 결정되는 변수를 import time에 실행되는 코드에 포함하면 에러가 발생할 수 있는데 이를 이해하는데 도움이 되고, 마찬가지인 개념에서 circular import 문제를 이해하는데도 도움이 됩니다. import time (임포트 타임) import time에 실행되는 코드 임포트 타임(import time)은 해당 모듈을 임포트하는 동안에 실행되는 코드로, 주로 모듈 초기화 작업이..

Python 2023.07.16 0

Github Workflow에서 Python 패키지 설치 시간 단축하기

GitHub에 설정된 다양한 Workflow들의 파이썬 패키지 설치 과정은 파이썬 개발자들에게는 지루한 기다림의 시간입니다. 특히, 배포를 위해 Test Job이 통과하기를 기다리는 것은 Python을 사용하는 개발자들에게 익숙한 상황 중 하나입니다. 이 과정에서 CI(Test, Linter)가 언제 끝나는지 기다리는 시간은 개발 작업의 흐름을 방해하고, 프로젝트의 배포 및 유지 관리를 느리게 만들 수 있습니다. 이 포스팅에서는 GitHub Actions의 Workflow 내에서 Python 패키지 설치 시간을 단축하는 방법을 소개하려고 합니다. 이 방법들은 GitHub에 종속되는 방법뿐만 아니라 독립적으로 사용할 수 있는 방법들도 포함되어 있습니다. 이 글에서는 총 3가지 방법을 소개하며, 이러한 방법..

Python 2023.05.14 0

여행/워케이션

more

삼성동 대장 카페 키헤이커피 / 삼성중앙역 카페

오늘은 제가 평일 매일 아침에 가는 카페인 키헤이커피를(KIHEI) 소개하려고 합니다. 삼성동은 맛이 좋은 카페가 많은 곳인데요. 제가 좋아하는 커피 볶는집도 있고요. 하지만, 요즘은 키헤이 커피만 주로 가고 있습니다. 키헤이커피는 우연히 회사 사무실이 이 근처로 이사오면서 알게된 카페로 커피 맛이 좋아 리프를 통해 구독까지 하게 됐습니다. 카페 구독서비스인 리프에 대한 소개는 이전 포스팅에서 확인하실 수 있습니다. 그럼 이제 본격적으로 키헤이 커피를 소개 해드리겠습니다! 키헤이는 하와이 마우이 남서부 해안, 햇빛이 가장 찬란하고 가장 건조해 해변에서 보물을 찾기 좋은 섬 끝 마을의 이름으로 키헤이에서 행복한 추억을 일상에서 전달 하고 싶어서 키헤이커피라고 가게 이름을 지으셨다고 합니다. 이 내용은 카페..

정보 2023.09.16 0

카페 구독서비스 리프 후기

우연히 회사 근처에 카페에 갔다가 리프(rife)라는 카페 구독 서비스를 발견해서 구독해봤습니다. 다양한 새로운 서비스를 써보는 것을 좋아하는 편이고, 하루에 한 잔 한 달에 42900원이라는 가격과 커피 맛이 괜찮은 키헤이카페라는 점에서 합리적으로 보여서 설치해봤습니다. 키헤이 카페는 평일만 열어서 하루에 한 잔 20잔을 마신다고 하면 한 잔에 2000원 정도 가격에 커피를 마실 수 있습니다. 지하철 정기권과 비슷한 느낌입니다..! 마침 일주일 체험권도 받을 수 있어서 만족하면서 월요일 부터 오늘까지 하루에 한 잔 마셔본 결과 맛 좋은 커피와 합리적인 가격에 만족합니다. 내일은 태풍으로 재택을 할 예정이라...아쉽지만 패스... 문제는 휴가가 많은 분이나 재택이 많으신 분은 차라리 집 근처 좋아하는 카..

일상 2023.08.09 2

신대방역 노트북 하기 좋은 카페

신대방역 근처 주민으로 노트북하기 좋은 카페를 정리할 목적으로 글을 작성 중입니다. 장소는 발견할 때 마다 추가할 예정입니다. 좋은 장소가 있으면 댓글로 추천해주세요! 시티 스트릿츠 - 방문일자: 2023.05.14 - 전반적인 평: 맛이 괜찮은 편(깔끔한 스타일). 원두가 매주 변경. 가격대는 5~6천원. 강변을 바라보고 있고 녹색 뷰여서 분위기가 괜찮고 사람이 많은 편은 아니어서 노트북하기 좋은 편. - 자세한 후기: https://blog.naver.com/dmswlqns/223101511903 - 위치: 1번 출구 도보 5분 신대방역 탐탐 - 방문일자: 2023.05.27 - 전반적인 평: 탐탐 특유의 무난한 커피 맛과 맛있는 프레즐이 있습니다. 작업을 긴 시간 한다면 탐탐을 추천하는데 그 이유..

정보 2023.06.18 0
반응형