Life/컨퍼런스

WoowaCon 2021 [우아콘 후기]

샤아이인 2022. 1. 20. 21:30

2021 우 아이콘을 선택적으로 들은 후, 기록 겸 가볍게 남기는 글입니다.

0. 짧은 후기

2020 우아콘 의 경우 영한 님의 마이크로 서비스 여행기만 봤었는데, 이번에는 좀 더 다양한 분들의 컨퍼런스를 보았다.

2021 우아콘은 총 3일간 진행되었으며, 대략적으로 영상당 25~30분 정도 되는 길이었다.

 

우선적으로 흥미 있는 개발 관련 내용부터 살펴봤으며, 이후 개발 외(예를 들면 베트남 진출기, 초기 배민 스토리, 이력서 팁) 내용을 보았다.

10편을 주면 1만원을 준다길래 10편은 채워서 들었다! (근데 아직도 쿠폰 같은 거 안 들어 왔다... 이거 어디로 사라진거지??...)

 

일반인들이 생각하기에 단순한 배달 대행 앱 서비스 회사라고 생각할 텐데 이런 컨퍼런스를 열면서 유튜브에도 올리고 하다 보면 점점 인지도가 상승하고 있는 회사임은 명확하게 느껴진다.

 

불과 2년 전? (코로나 전)만 해도 배달의민족은 알아도 우아한 형제들 이라는 명칭은 모르는 사람이 많았다. (나 포함...)

배달의민족의 지속적인 마케팅과, 더 나아가 이런 개발자, 비 개발자를 위한 컨퍼런스를 지속적으로 열어가면서 사람들에게 알려지는 전략이

참 매력 넘치는 회사의 방식이라 느껴졌다.

 

뭐랄까? 배민은 알 수 없게 날 끌어당기는 매력이 강한 회사다.

1) 주 도메인이 음식 배달이라는 독특한 분야에서 시작해서 일까?

2) 아니면 이들이 보여주는 원천적인 기술력 때문일까?

3) 이도 아니라면 이들이 만들어가는 배달의민족이라는 이미지 때문일까?

 

여러 이유가 있겠지만 이중 배민 스럽다는 이미지가 날 끌어당기는 주 요인인 것 같다.

 

이번 컨퍼런스도 배민스럽게 기술을 보여주는 여러 개발자분들의 노고가 담긴 영상들 이였다.

물론 아직도 이해하지 못하는 내용들이 많지만... (특히 CI/CD 공부는 좀 해야겠다...)

 

아직도 많은 공부 거리가 있다는 점에 즐거움을 느낌과 동시에, 나 스스로 어느 정도 영상을 이해할 수 있다는 점에서 지난 몇 년간 큰 발전이 있었음을 느낄 수 있었다.

 

아래부터는 간략하게 스크린샷 위주로 남기는 글이다.

너무 정리위주로 되는 글은 의미가 없을것 같아 간단하게만 기록했다.

 

1. 도메인 원정대

우선 난 도메인 에 대한 깊은 공부를 해본적이 없기에 가벼운 마음으로 들어야 겠다 생각했다.

 

우선 시작부분에서 보여준 다음 문제제기의 글이 재미 있었다.

엘리베이터 서비스 개선을 위해 홀, 짝수 층 운행 이라던가, 엘리베이터 수를 늘린다 거나 하는 해결책들이 많지만

사실 모두 하나의 관점을 갖고 있었다!

 

바로 엘리베이터 사용자들이 문제를 갖고있는 사용자라는 점 이다!

 

결국 어떤 문제를 해결하고싶은지 부터 정확하게 파악해야 어떤 해결책이 좋을지 생각할수가 있다.

 

누구의 문제인지, 어떤것이 문제인지, 왜 문제인지 에 대한 질문을 던져봐야 한다.

문제를 어떻게 바라보는가에 따라 해결책도 많이 달라진다.

 

● 도메인 이란?

● 도메인 모델 이란?

예를 들어 항공기 예약 시스템 에서는 항공기, 승객 등 물리적으로 존재하는 것을 모델링 할 수 있으며,

회계 에서는 현금, 금융 등 물리적으로 존재하지 않는 것 또한 모델링 할 수 있다.

 

하지만 문제점도 생길수가 있는데,

예를 들어 회의중에 나온 강의 라는 단어가 맥락을 고려하지 않으면,

1) 강의 콘텐츠의 강의 인지?

2) 수강 신청을 받는 강의 인지?

햇갈릴수가 있다.

따라서 풀어야할 영역을 좊혀야 한다.

이를 도메인 주도 설계에서는 바운디으 컨텍스트 (해결영역) 이라 부른다.

● 애그리거트

● 결론

 

2. B마트 전시 도메인 CQRS 적용하기

● CQRS 란?

간단하게 명령, 책임 2가지를 분리하는 것 이다.

그럼 어떠한 상황에서 CQRS가 필요할까? 다음 그림을 살펴보자.

위 그림에서는 명령과 관련된 로직과, 조회와 관련된 로직들이 하나의 모델을 바라보며 서로 의존성을 갖고 영향을 주고있다.

자칫 잘못하면 의도하지 않은 영향을 미칠수도 있다.

 

이러한 문제를 해결하기 위해서 큰 도메인 안에서 명령과 조회에 해당하는 영역을 나누어 문제를 해결하는것이

최종적으로 CQRS가 바라는 방향이다. 다음 그림을 살펴보자!

 

●CQRS 적용하기

1) 모델 분리하기

가운데 교집합 지접의 모델을 분리하는 작업부터 시작해야 한다.

 

3. 모의장애훈련

모의장애훈련에 기존에 대응해본 경험이 없다면, 실제 장애가 발생했을때 개발자가 뭘 해야되는지 모르는 상황이 올수도 있다.

이를 개선하고자 체험을 통한 체득을 통해 수련해 나가는 과정이다.

● 모의장애훈련 진행과정

각 준비 단계에서부터, 진행단계에서 어떻게 대응하고, 정상 상황을 구별하는 방법등,

팀 내외로 협력하여 개선해 나가는 방법을 찾는다.

 

마무리 단계에서 참여자 한명씩 각자 발표를 준비한다는점 또한 중요한 과정이라 느꼈다.