본문 바로가기

vidigummy SOMA

Data Warehouse Data Warehouse란? 다양한 소스에서 얻은 대량의 데이터를 연결, 통합하는 디지털 스토리지 시스템. 그냥 마구 넣은 데이터를 분석하고 보고하는데 사용된다. 우리 시스템의 예를 들어보자. 우리는 정말 다양한 곳의 데이터를 수집한다. github/jira/github action 등등 물론 소스가 다양한 것도 있는데, github 내부에서 오는 친구들만 해도 너무 다양해서 바로바로 분석하는 것이 힘들다. CRUD작업에 특화된 OLTP 위주의 시스템에서는 비용도 너무 많이 들고, 시간도 너무 많이 든다. NoSQL을 사용하고자 하니, 테이블을 설계할 수도 없고, 분석을 진행하기에도 비효율적이다. 그렇기 때문에 OLAP(온라인 분석 처리) DataBase가 만들어졌다. 그리고 이를 데이터 웨어하우스로 .. 더보기
디자인 패턴(생성패턴) 소프트웨어 디자인 패턴? 소프트웨어 설계 및 코딩에 있어 특정 문맥에서 공통적으로 발생하는 문제에 대해 재사용 가능한 해결책이다. 다양한 상황에 맞게 사용될 수 있는 서술/템플릿 같은 것이라고 생각하면 편할 것 같다. 개발자 간의 공통 언어로써, 소프트웨어를 설계하고 문제를 해결해 나가는 과정에서 사용되기 좋은 방법론들을 모아 놓은 것으로, 이해하고 있어야 한다. 분류는 생성 패턴, 구조 패턴, 행동 패턴으로 나뉜다. 생성 패턴(인스턴스를 만드는 절차를 추상화 하는 패턴) 추상 팩토리 1. 다양한 구성 요소 별로 ‘객체의 집합’을 생성해야 할 때 유용하다. 2. 이 패턴을 사용하여 상황에 알맞은 객체를 생성할 수 있다. 3. 쉽게 말하자면 서로 관련이 있는 객체들을 통째로 묶어서 팩토리 클래스로 만들고,.. 더보기
2차 스프린트 회고 220814 블로그 포스팅 들어가며 2차 스프린트가 끝난지 꽤 됐는데, 너무 늦지 않게 써야할 것 같아서 적는 포스팅이다. 2차 스프린트의 목표는 1차 스프린트에서 발생한 많은 구조적, 비용적 문제들을 해결하고, Cycle Time과, 그에 따라 나올 수 있는 지표들을 구체화 하는 것 이었다. 물론 다 하는 것은 실패 했지만… 그렇다. 열심히 살았다. 스프린트가 끝나고 나서도 잔업하느라고 블로그를 못 썼다.(핑계다.) 구조+비용 문제 우리는 Azure + GCP Hybrid Cloud Architecture를 사용하고 있었다. 단순히 당장 데이터를 처리하는 방식을 알고 싶었다. 그런 데이터를 처리하는 것은 Spark SQL이라던가 /Hadoop 등을 써야지 싶은디 개발공수랑 가성비가 안 나오기도 하고… .. 더보기
1차 아키텍처(1st Sprint) 구조의 특성 우리의 프로젝트는 전형적인 대규모 Data Pipeline Architecture를 지닌다. 더 단순한 아키텍처를 사용, 개발 공수를 줄일 수도 있었지만 적어도 100 팀 이상을 끌어들일 목적으로 한 우리 서비스의 목표 상, data gravity를 피하기 위해 처음부터 아키텍처를 크게 잡았다. 조병욱 멘토님의 말씀을 인용하자면, 얼마든지 구조를 바꿀 수 있는 일반적인 데이터 처리 흐름과 달리, 다양한 도메인의 데이터를 모으고, 처리해주는 Product의 경우 BM에 따라(Public Web에 배포하여 서비스를 제공할 것인지 / 각 회사에 프로그램을 제공하여 각자 사용하게 할 것인지 등 ) 처리할 수 있는 용량이 다른 아키텍처를 사용하는 것이 맞고, Public에 올릴 경우 현재의 Over .. 더보기
소프트웨어 마에스트로 13기 전반기 회고(04/07 ~ 07/15) 1. 들어가며 1. 다들 잘 지내셨는지 모르겠다. 사실 안 궁금하다. 난 잘 지냈다. 2. 솔직히 소프트웨어 마에스트로 과정이 너무 정신 없어서 혼났다. 하면서도 참 묘했던 것이 내가 이런 호강을 누려도 되나? 라는 것 이었다. 3. 과정 초반부터 여친도 생기고… 맥북이 아니라 새로운 윈도우 노트북도 생기고… 모니터도 두개가 되고… 책도 많이 샀다. 4. 착한 팀원들과 멘토님들을 얻었다. 그리고 재미있는 주제로 개발을 시작했고, 열심히 해볼 생각에 있다. 2. 나랏돈 flex 1. 소프트웨어 마에스트로 13기 과정에서 지원 되는 것은 기기값 만이 아니다. 기기도 사주고, 책도 사주고 인프런 인강도 사준다. 2. 사실 프로젝트에 직접적으로 연관되는 것이 아니더라도 사준다. 돈만 맞추면 얼래벌래 해결 된다... 더보기
소프트웨어 마에스트로 13기 합격(면접 후기) 1. 도커의 장점 -> VM과의 차이부터 어떻게 쓸 수 있는지 설명 2. 도커 컨테이너와 이미지는 어떻게 다른가 -> 인스턴스와 객체로 설명 3. 예전 프로젝트 어떻게 했는지 -> 뭐 이래저래 4. 백엔드 개발자에게 중요한것은 -> 데이터 처리 능력, 프로토콜 등에 대한 이해, SOLID등 oop 에 대한 이해, 애자일 프로세스에 대한 이해, 알고리즘, 뭐 언어는 중요하다 생각 안 함 5. 면접관: 창업에 관심이 있다고 하셨는데 회사에서 받은 스트레스로 그런건가요? 나: 아닙니당 원래 창업동아리 회장이었고, 회사는 실제 상용 개발을 보기 위해 들어간겁니다 면접관: 생각한대로였나요? 나: 아니요 ㅎㅎ 기대이하였습니다 면접관 : 그럼 창업할 때 어떤걸 제일 중시할건가요? 나 : 소통을 제일 중시할것 같습니다.. 더보기