각종 후기/우아한테크코스

[우아한 테크코스 3기] LEVEL 1 회고 (24일차)

제이온 (J.ON) 2021. 2. 25.

안녕하세요? 제이온입니다.

 

오늘도 미션 없이 중간에 테코톡만 참석하고, 이후에는 자습을 진행하였습니다.

 

 

데일리 미팅

오늘의 데일리 미팅 진행자는 마크였습니다. 말하기 주제는 우테코 기간 동안 반드시 이루고 싶은 것이 무엇인지에 대해 말하는 것이었죠. 많은 크루들이 토이 프로젝트 형식으로 팀플을 진행하고 싶어하였고, 저 또한 마찬가지였습니다. 그 외에 운동을 하고 싶다거나, 백엔드 모든 크루와 밥을 먹고 싶다는 크루도 있었죠.

 

저는 야구를 워낙 좋아하고, 잠실 주변에는 야구장이 있으므로 크루들과 꼭 야구장에 가고 싶다고 이야기 하였습니다. 더불어, 우테코 교육을 성실히 받으면서 산업기능요원으로 취뽀하고 싶다고 말했죠.

 

이런 저런 이야기를 마치고 나서, 내일 진행자를 룰렛으로 뽑게 되었는데, 샐리가 당첨되었습니다. 내일은 어떠한 주제로 말하기를 진행할지 궁금합니다.

 

 

테코톡

오늘 오후 2시에 테코톡이 있었습니다. 백엔드 주제로는 DTO vs VO와 MVC 패턴, 그리고 프론트 엔드 주제로는 This가 있었습니다. 이 중 특히 MVC 패턴 강의 이후 한 가지 질문을 하였습니다. 질문의 전반적인 내용은 다음과 같습니다.

 

 

MVC 패턴은 프로그램을 구성하는 요소를 크게 모델, 뷰, 컨트롤러로 구분할 수 있는데, 아주 간단한 프로그램이라면 각 모듈의 역할을 구분하는게 어렵지 않다고 생각합니다. 하지만 프로그램의 크기가 커지면서 각각의 모듈이 각자 단일 프로그램처럼 동작할 경우 모델, 뷰, 컨트롤러의 구분이 가능한지 궁금합니다. 예를 들어, 웹 앱을 큰 관점에서 바라본다면, React는 뷰를 만드는데 사용되고, express는 컨트롤러이며 Mongo는 모델이라고 할 수 있을 것입니다. 하지만 각각은 독립적인 프로그램이며, Mongo를 모델이라고 보기보단 하나의 완결성 있는 프로그램으로 보아야 할 것입니다. 마찬가지로 react로 제작된 앱은 redux와 같은 상태관리도구가 모델의 역할을 수행할 것이지만, redux또한 하나의 프로그램이며, react로부터의 dispatch를 처리하는 컨트롤러와 data를 react와 주고받는 뷰가 있다고 생각합니다. 이러한 것처럼 프로그램의 규모가 커진다는것은, 마치 동물의 크기가 커짐에 따라 세포의 크기가 커지는게 아닌 것처럼, 서로 융합되어 상호작용하는 프로그램의 수가 많아지고 그 깊이(중첩)이 깊어진다는 의미인데, 각각의 모듈을 MVC 중 어느 하나라고 특정할 수 있을까요? 아니면 그저 가장 큰 분류에서 추상적으로 분류하는데에 만족해야하는 것일까요?

 

 

하하, 좀 길죠? 요약하자면, 우리가 전체적으로 보았을 때는 모듈을 분리할 수 있지만, 그 모듈 자체가 하나의 프로그램 급으로 규모가 커졌을 때는 모델, 뷰, 컨트롤러로 특정지을 수 있는지 궁금하다고 질문하였습니다.

 

발표자였던 제리는 관점의 차이를 이야기하면서 미시적인 관점에서의 MVC 패턴이 있을 것이고, 거시적인 관점에서의 MVC 패턴이 있을 것이라고 답변해 주었습니다. MVC 패턴은 꽉막힌 구조를 가지고 있는 것이 아니라, 프로그래머가 보는 시각에 따라 달라진다는 것이죠. 앞으로, 유동적으로 생각하는 습관을 들여야겠다고 느껴졌습니다.

 

 

자습

오늘은 '개발자가 반드시 정복해야 할 객체 지향과 디자인 패턴'을 챕터 6까지 읽고, SOLID 원칙 중 단일 책임 원칙에 대한 포스팅을 작성하였습니다. 아마, 매일 하나씩 올라가고, 그 이후로는 디자인 패턴을 하나씩 정리해서 올리려고 계획중입니다.

 

그 외에는 제가 정보처리산업기사 시험이 얼마 남지 않아서 관련 공부를 진행하였습니다.

 

 

정리

아직 로또 미션 2단계의 피드백이 오지 않았기 때문에 오늘까지 널널하였는데, 아마 내일 데이브한테 피드백이 오면 바쁘게 수정하는 데 시간을 쏟아 붓지 않을까 예상합니다.

추천 글