전체 글 119

Data Warehouse

Data Warehouse란? 다양한 소스에서 얻은 대량의 데이터를 연결, 통합하는 디지털 스토리지 시스템. 그냥 마구 넣은 데이터를 분석하고 보고하는데 사용된다. 우리 시스템의 예를 들어보자. 우리는 정말 다양한 곳의 데이터를 수집한다. github/jira/github action 등등 물론 소스가 다양한 것도 있는데, github 내부에서 오는 친구들만 해도 너무 다양해서 바로바로 분석하는 것이 힘들다. CRUD작업에 특화된 OLTP 위주의 시스템에서는 비용도 너무 많이 들고, 시간도 너무 많이 든다. NoSQL을 사용하고자 하니, 테이블을 설계할 수도 없고, 분석을 진행하기에도 비효율적이다. 그렇기 때문에 OLAP(온라인 분석 처리) DataBase가 만들어졌다. 그리고 이를 데이터 웨어하우스로 ..

vidigummy SOMA 2022.08.14

디자인 패턴(생성패턴)

소프트웨어 디자인 패턴? 소프트웨어 설계 및 코딩에 있어 특정 문맥에서 공통적으로 발생하는 문제에 대해 재사용 가능한 해결책이다. 다양한 상황에 맞게 사용될 수 있는 서술/템플릿 같은 것이라고 생각하면 편할 것 같다. 개발자 간의 공통 언어로써, 소프트웨어를 설계하고 문제를 해결해 나가는 과정에서 사용되기 좋은 방법론들을 모아 놓은 것으로, 이해하고 있어야 한다. 분류는 생성 패턴, 구조 패턴, 행동 패턴으로 나뉜다. 생성 패턴(인스턴스를 만드는 절차를 추상화 하는 패턴) 추상 팩토리 1. 다양한 구성 요소 별로 ‘객체의 집합’을 생성해야 할 때 유용하다. 2. 이 패턴을 사용하여 상황에 알맞은 객체를 생성할 수 있다. 3. 쉽게 말하자면 서로 관련이 있는 객체들을 통째로 묶어서 팩토리 클래스로 만들고,..

vidigummy SOMA 2022.08.14

2차 스프린트 회고

220814 블로그 포스팅 들어가며 2차 스프린트가 끝난지 꽤 됐는데, 너무 늦지 않게 써야할 것 같아서 적는 포스팅이다. 2차 스프린트의 목표는 1차 스프린트에서 발생한 많은 구조적, 비용적 문제들을 해결하고, Cycle Time과, 그에 따라 나올 수 있는 지표들을 구체화 하는 것 이었다. 물론 다 하는 것은 실패 했지만… 그렇다. 열심히 살았다. 스프린트가 끝나고 나서도 잔업하느라고 블로그를 못 썼다.(핑계다.) 구조+비용 문제 우리는 Azure + GCP Hybrid Cloud Architecture를 사용하고 있었다. 단순히 당장 데이터를 처리하는 방식을 알고 싶었다. 그런 데이터를 처리하는 것은 Spark SQL이라던가 /Hadoop 등을 써야지 싶은디 개발공수랑 가성비가 안 나오기도 하고… ..

vidigummy SOMA 2022.08.14

1차 아키텍처(1st Sprint)

구조의 특성 우리의 프로젝트는 전형적인 대규모 Data Pipeline Architecture를 지닌다. 더 단순한 아키텍처를 사용, 개발 공수를 줄일 수도 있었지만 적어도 100 팀 이상을 끌어들일 목적으로 한 우리 서비스의 목표 상, data gravity를 피하기 위해 처음부터 아키텍처를 크게 잡았다. 조병욱 멘토님의 말씀을 인용하자면, 얼마든지 구조를 바꿀 수 있는 일반적인 데이터 처리 흐름과 달리, 다양한 도메인의 데이터를 모으고, 처리해주는 Product의 경우 BM에 따라(Public Web에 배포하여 서비스를 제공할 것인지 / 각 회사에 프로그램을 제공하여 각자 사용하게 할 것인지 등 ) 처리할 수 있는 용량이 다른 아키텍처를 사용하는 것이 맞고, Public에 올릴 경우 현재의 Over ..

vidigummy SOMA 2022.07.24

프로젝트 기획

기간 2022.05.15 ~ 2022.06.25 시작 개념 DORA Team Google DevOps Research & Assessment Team 2014년부터 레포트를 내놓고 있음 행동 과학을 사용하여 소프트웨어를 개발하고 제공하는 방법을 연구(DevOps) DORA Metrics 2016 DORA DevOps Report, Lean Product Production에서 Potential Saving from Reducing DownTime 에서 좋은 개발팀에 대한 지표가 등장하기 시작함. 2017 결국 IT performance by cluster 라는 테이블에서 DORA Metrics의 네가지 개념이 정립되게 되었다. 이는 계속해서 연구되고 있으며 LinearB, HayStack, Jira Ag..

vidigummy SOMA 2022.07.24

소프트웨어 마에스트로 13기 전반기 회고(04/07 ~ 07/15)

1. 들어가며 1. 다들 잘 지내셨는지 모르겠다. 사실 안 궁금하다. 난 잘 지냈다. 2. 솔직히 소프트웨어 마에스트로 과정이 너무 정신 없어서 혼났다. 하면서도 참 묘했던 것이 내가 이런 호강을 누려도 되나? 라는 것 이었다. 3. 과정 초반부터 여친도 생기고… 맥북이 아니라 새로운 윈도우 노트북도 생기고… 모니터도 두개가 되고… 책도 많이 샀다. 4. 착한 팀원들과 멘토님들을 얻었다. 그리고 재미있는 주제로 개발을 시작했고, 열심히 해볼 생각에 있다. 2. 나랏돈 flex 1. 소프트웨어 마에스트로 13기 과정에서 지원 되는 것은 기기값 만이 아니다. 기기도 사주고, 책도 사주고 인프런 인강도 사준다. 2. 사실 프로젝트에 직접적으로 연관되는 것이 아니더라도 사준다. 돈만 맞추면 얼래벌래 해결 된다...

vidigummy SOMA 2022.07.17

소프트웨어 마에스트로 13기 합격(면접 후기)

1. 도커의 장점 -> VM과의 차이부터 어떻게 쓸 수 있는지 설명 2. 도커 컨테이너와 이미지는 어떻게 다른가 -> 인스턴스와 객체로 설명 3. 예전 프로젝트 어떻게 했는지 -> 뭐 이래저래 4. 백엔드 개발자에게 중요한것은 -> 데이터 처리 능력, 프로토콜 등에 대한 이해, SOLID등 oop 에 대한 이해, 애자일 프로세스에 대한 이해, 알고리즘, 뭐 언어는 중요하다 생각 안 함 5. 면접관: 창업에 관심이 있다고 하셨는데 회사에서 받은 스트레스로 그런건가요? 나: 아닙니당 원래 창업동아리 회장이었고, 회사는 실제 상용 개발을 보기 위해 들어간겁니다 면접관: 생각한대로였나요? 나: 아니요 ㅎㅎ 기대이하였습니다 면접관 : 그럼 창업할 때 어떤걸 제일 중시할건가요? 나 : 소통을 제일 중시할것 같습니다..

vidigummy SOMA 2022.04.08

소프트마에스트로 13기 2차 코테 후기

소마 코테 2차 후기 1차는 구현 문제가 대부분. 그렇게 어려운 것은 없었음. But, 나의 자바 실력이 문제지. 어쨌든 4/8솔 통과 2차는 (2/5솔) 알고리즘 3문제(실1~골4로 추정) 1. 그리디 문제로 추정 but, 그리디 연습이 덜 되어서 일단 skip 2. 지나가는 댕댕이가 흘끗 봐도 bfs문제, 한 골5 정도면 충분할 듯. But, float/double 처리를 할 줄 알아야함.(정수로 올림/버림/반올림 및 소수점 두번째 자리 밑은 버리기 등)

vidigummy SOMA 2022.03.19

근황(~22.01.26)

1. 방학이 너무 짧다. (종강이 12월 28일 이었다.) 2. 방학간에 할 일을 OPIC && Spring(JAVA) 공부 빡세게 하기(아림아 고마워!) && 정보처리기사 && SQLD || 리눅스 마스터 준비하기로 잡았다. 3. 회사는 퇴사한다고 말했다. 3월 까지는 빡세게 일하고 4월 6일부로 퇴사 예정이다. 4. nestJS 관련 외주를 맡았다. 작년 웹프로젝트에서 NestJS에서 간단한 CRUD + JWT를 이용한 보안을 이용하여 코드를 작성했는데, 외주를 받게 됐다. 야호. (고마워 현수.) 곧 올릴까 생각중이다. 5. 최근 회사에서는 DataBase Server와 Service Server를 안정화 시키기위한 작업을 계속 진행중이다. 효과가 있으면 좋겠으나 잘 모르겠다는게 내 생각이다. 내가..

vidigummy ssul 2022.01.26