본문 바로가기

분류 전체보기

(249)
클린 아키텍처 4부 - 컴포넌트 이 글은 로버트 C. 마틴의 클린 아키텍처를 읽고 나름대로 중요하다고 생각한 부분만 정리한 글이다. 들어가며 이전 부서에서 SOLID 원칙이 벽과 방에 벽돌을 배치하는 방법을 알려준다면, 컴포넌트 원칙은 빌딩에 방을 배치하는 방법을 알려준다. 큰 빌딩과 마찬가지로, 대규모 소프트웨어 시스템은 작은 컴포넌트들로 만들어진다. 컴포넌트 컴포넌트는 배포 단위다. 시스템의 구성 요소로 배포할 수 있는 가장 작은 단위다. 라고, 책에 써져있기는 한데. 솔직히 말해서 이게 무슨 말이지 싶었다. 배포 단위면 컨테이너 이미지 정도를 말하는 건가? 솔직히 말해 나는 와 닿지 않아, CBD에 관한 글을 참고하며 이해했다. 내가 생각한 컴포넌트는 "사용 가능한 단위"다. 즉 실행 가능한 소스 코드 뭉치고, 이를 사용할 수 있..
클린 아키텍처 3부 - 설계 원칙 이 글은 로버트 C. 마틴의 클린 아키텍처를 읽고 나름대로 중요하다고 생각한 부분만 정리한 글이다. 들어가며 3부 설계 원칙에서는 SOLID 원칙에 대해서 다룬다. SOLID 원칙은 과거 몇 년 동안 수차례 여기저기서 언급되고, 이미 너무나 유명한 원칙들이기 때문에, 책에서는 SOLID 원칙이 무엇인지 처음부터 친절히 설명해주지는 않는다. 다만, 각 SOLID 원칙을 하나씩 다시 되짚어 보며 각 원칙이 지니는 핵심 의미를 다시 살펴본다. SOLID 원칙을 처음 정립한 사람에게, 수 년 뒤에 다시 듣는 SOLID 원칙의 핵심 의미라... 꽤나 의미 있지 않을까? 밥 아저씨가 말하는 SOLID 원칙의 전반적인 의미는 다음과 같다. SOLID 원칙은 함수와 데이터 구조를 클래스로 배치하는 방법, 그리고 클래스..
수군수군 파이썬 개발자 오픈 카톡방 회사에서 코딩 하다보면, 솔직히 좀 외로울 때가 있다. 내가 지금 짜는 코드가 클린한건가? 이 파이썬 코드가 최선일까? 혹시 더 좋은 라이브러리가 있는게 아닐까? 나는 종종 친구나 회사 동료들한테 변수명 괜찮은지 묻곤 한다. 여러 대답이 돌아오기는 하지만, 좀 더 파이썬을 잘 쓰는 개발자들이라면 어떤 대답을 줄 지 여전히 궁금하다. 파이썬의 철학, 파이써닉함을 신경쓰는 사람들이라면 좀 더 다른 대안을 주지 않을까 싶었다. 페이스북 그룹인 "Python korea" 에다가도 종종 물어본다. 잘하시는 분들이 많아서 꽤나 중요한 조언이나 통찰력을 얻곤 한다. 하지만, Q&A 식으로 끝나버리는 거 같아 조금 아쉽다. 파이썬 코드를 만들어 나가는 데 있어, 같이 고민하고 리뷰해주거나, 더 나은 코드는 없을 지 등..
프로그래머스 인터뷰하고 선물 키트 받았다 몇 주 전, 프로그래머스에서 연락이 왔었다. 프로그래머스 머신러닝 잡페어를 통해 입사한 사람들을 인터뷰하고 싶다고 했다. 나도 그 대상이었다. 하겠다고 했다. 그리고 며칠 뒤 회사까지 직접 찾아오셨다. 약 40분 정도의 인터뷰를 했다. 입사하고나서 하는 처음 받는 인터뷰였다. 생각보다 편안하게 해주셨고, 재밌었다. 이런 저런 질문에 대답드리긴 했으나, 역시 나는 말을 잘 못 하는거 같다. 부족한 설명이 많았다. 며칠 뒤 페이스북과 프로그래머스 블로그에 올라왔다. 내용은 프로그래머스 블로그 가면 볼 수 있다. 데이터 엔지니어를 준비하시는 분들이나, 어떤 일을 하는지 궁금해하시는 분들에게 도움이 될만한 내용이 있었으면 좋겠는데, 사실 내가 그런 경험이 잘 없다. 솔직히 말하면, 나는 운빨로 회사 들어가게 되..
GCP - cloud build 이용하여 ci/cd 구축하기 구글 서비스의 documentation 은 참 잘 되어있다고 느끼면서도.. 참 어렵게 만들었다는 생각이 늘 든다. 그대로 따라하다보면 뭔가 잘 안되는 것도 있고, 이 페이지 참고하라.. 저 페이지 참고하라.. 하다보면 다시 원 페이지로 돌아오는.. 일종의 순환 문제를 겪게 된다 ㅋㅋㅋ 물론 내가 잘 못해서 이해를 잘 못하는 것도 있지만, 아무튼 나한테는 마냥 쉬운 문서는 아니다. Google Cloud Build 를 무작정 사용해보며 나름의 시행착오 끝에, 간단한 사용 방법을 여기다가 써보려 한다. [클라우드 서비스의 사용법은 빠르게 바뀐다] 아는 사람은 알겠지만, 클라우드 서비스의 사용법은 정말 빠르게 바뀐다. 그래서인지, 사용법에 대해 정성을 들여 설명하는 블로그 글들이 잘 없는거 같기도 하다. 시간..
클린 아키텍처 2부 - 프로그래밍 패러다임 이 글은 로버트 C. 마틴의 클린 아키텍처를 읽고 나름대로 중요하다고 생각한 부분만 정리한 글이다. 들어가며 책의 1부에는 클린 아키텍처가 왜 중요한 지, 무엇을 추구하는지 등에 대해 나오는데 굳이 적지는 않겠다. 클린 아키텍처 책을 찾는 사람이라면, 이미 그 중요성이나 필요성을 느끼고 온 사람이지 않을까 싶어서다. 여기서는 내가 생각한 핵심만 정리해보려고 한다. 개요 예나 지금이나, 프로그래밍 언어의 기본적 기능은 달라지지 않았다. 1946년 앨런 튜닝이 최초의 코드를 작성할 때 사용한 소프트웨어 규칙과 지금의 소프트웨어 규칙은 조금도 다르지 않다. 프로그램은 여전히 순차, 분기, 반복, 참조로 구성된다. 프로그래밍 언어의 기본적 기능은 달라지지 않았지만, 이 기능을 어떻게 사용할 것인가에 대한 생각은..
요즘 근황, 생각 이 글 처음 쓰려고 시작하던 때가 7월 5일인데, 다시 쓰려고 보니 7월 16일이 되어있다. 시간이 미친 듯이 빠르다... 😳 늦게나마 요즘 근황과 생각을 적어본다. 안정적인 직장 생활을 하고 있다. 팀 내 나의 포지션이 그래도 조금씩 잡히고 있다. 주로 파이썬을 이용한 시스템 개발 및 배포 쪽을 담당하고 있다. 데이터 엔지니어링팀이지만, 파이프 라인 외에도 생각보다 다루는 범위가 많다. 아무래도 데이터 그룹 소속이다 보니, 데이터 드라이븐 프로세스 개발은 우리 팀이 맡게 되는 거 같다. 한편 나의 커리어를 생각해주어 팀에서도 일거리를 조금씩 주고 있다. 이전에 단순히 개발뿐 아니라, MSA 환경에서의 통신과 배포 과정까지. 덕분에 내가 해보고 싶었던 것들은 차근차근해보고 있다. 최근에는 다음의 기술 스..
쏘카, 데이터 그룹에서의 생활 기록 이번 글에서는 가볍게 쏘카에서의 생활은 어떤지 적어보려고 한다. 일기 같지만 (아니 사실상 이제 그냥 일기지만ㅋ), 나중에 돌이켜보면 재밌을 지도..? 사진 위주의 글이 될 거 같다. 1. 일상 흔하다면 흔할 수 있고, 평범하다면 평범할 수 있는 그냥 내 일상이다. 평일은 이렇게 산다~ 직장인에게 가장 중요한 소소한 행복. 밥. 밥. 중요하다. 12시 이후, 내 일머리를 잘 돌아가게 해주는 물리적이고 실체적이고 직접적인 원동력. 밥은 잘 먹어야한다. 12시 30분쯤 회사에서 팀원들과 다같이 건물 1층으로 내려온다. 보통 뭐 먹을지 딱히 정해지지 않으면, 근처 구내 식당가서 먹는다. 뷔페식인데 나름 잘 나와서 나쁘지않다. 맛이나 청결도, 먹는 환경도 아주 괜춘. 가격은 6천원. 백반스러우면서도, 뚝섬 일대..