#4 월간 회고 - 23년 04월

wannabeking·2023년 5월 5일
0

회고

목록 보기
13/18
post-thumbnail

꾸준히 월간 회고를 작성하고자 했는데... 한동안 적지 못했습니다. 😂

다시 한번... 꾸준히 적어보자는 다짐과 함께 4월의 회고를 시작하겠습니다.


이번 달은 책을 많이 읽었습니다.

제 자신이 '망각의 동물'임을 잘 알고 있기 때문에... 단순 독서를 하지 않고 Notion에 정리하며 읽었습니다.

학습에는 무궁무진한 방법들이 존재하지만, 개발 서적을 읽는 것은 제가 가장 좋아하는 공부 방법입니다.

카페에서 커피를 마시며 책을 읽고 있으면 갓생을 사는듯한 느낌이 나서요...^^ (현실은 걍생ㅠ)

근데 꽃도 피고 날씨도 풀리니 자기 개발보다 놀고싶다는 생각이 종종 드네요... 하하!



토이 프로젝트

학습한 내용들을 실습하기 위하여 프론트 동료 1명과 가계부 관리, 공유 웹서비스 Reach Rich 개발을 시작 했습니다.

서버 개발기를 포스팅 하면서 진행하고 있으며 현재 회원가입, 로그인 등의 유스케이스를 개발했습니다.

욕심이 많아 혼자서 CI/CD, MSA, Gateway, 헥사고날 아키텍처, CQRS 패턴, 캐시 등을 적용하여 개발하려니 진도가 잘 안나가는 느낌인데... 다음 달부터는 실질적인 기능을 부지런히 개발할 예정입니다.



객체지향의 사실과 오해(토끼책)

AWS ProServe 한 분이 토끼책을 읽지 않으면 월급 못 받게 한다고... 당장 읽으라고... 하셨던 "객체지향의 사실과 오해"를 드디어 읽게 되었습니다...ㅎㅎ


토끼책을 접하기 전에는 기술 면접을 준비하며 '객체지향 프로그래밍이란 무엇인가?'라는 물음에 4가지 특징, SOLID, 클래스 등만 떠올리는 편협한 사고를 가졌던 것 같습니다.

또한 OOP의 정의를 '실세계를 모방하는 것'이라고 생각했습니다.


하지만, 토끼책에서 말하는 객체지향은 달랐습니다.

객체지향은 실세계를 모방하는 것이 아닌, 새로운 세계를 창조하는 것이라는 것을 이해했습니다.

가장 중요한 것은 유스케이스를 구현하기 위해 서로 다른 객체가 역할과 책임을 가지고 메세지를 통하여 협력하는 것임을 깨달았습니다.

또한 협력은 추상적으로 객체가 자율적인 책임을 가지며 외부와 내부를 명확하게 분리해야 된다는 것을 알았습니다.


앞서 말한 것처럼 "객체지향의 사실과 오해"는 객체지향을 더 올바른 관점에서 바라보게 해주며 이는 더 유연하고 확장 가능한 Application 개발에 도움을 줄 것입니다.



이펙티브 자바

"이펙티브 자바"를 1회독 후, 2회독을 시작하고 있습니다.

자바 개발자의 필독서라고 불릴 만큼 유명한 책이었고 난이도가 있다고 알려져 자바 실력을 어느정도 키우고 읽어보자고 생각했었는데 올바른 판단이었던 것 같습니다.

책의 난이도는 결코 쉽지 않았고, 웬만큼 자바를 공부하지 않았다면 이해가 되지 않거나 개념 자체를 처음 접하게 되는 파트도 있다고 생각합니다.


"이펙티브 자바"는 총 90개의 아이템을 담고 있는데, 각각의 아이템이 하나의 규칙을 다룹니다. (예를 들어 '생성자 대신 정적 팩터리 메소드를 고려하라')

따라서 프로젝트를 진행 중이거나 이미 개발 완료된 프로젝트가 존재한다면 책을 읽으며 미처 생각하지 못했던 아이템을 적용하는 실습을 진행한다면 좋은 학습 방법이 될 것이라고 생각합니다.


책을 읽으며 가장 놀랐던 것은 불과 100 페이지도 읽기 전에 대답하지 못했던 자바 기술 면접 질문의 해답들이 대거 포함되었던 점입니다.

그만큼 "이펙티브 자바"에서 자바의 핵심 활용법을 다루고 있다고 생각하며 자바 개발자, 특히 취준생에게 큰 도움이 될 것이라고 생각합니다.



만들면서 배우는 클린 아키텍처

최근 유지 보수 용이성, 확장성, 협업을 위해 클린 아키텍처를 적용한 사례가 많다고 들었습니다.

저도 이번 기회에 공부하여 토이 프로젝트에 적용 시키면 좋겠다는 생각을 했고, 해당 책을 읽으며 공부한 헥사고날 아키텍처를 프로젝트에 적용 시켰습니다. ([Reach Rich 개발기] 헥사고날 아키텍처 적용하기)


"만들면서 배우는 클린 아키텍처"는 구체적인 코드와 함께 클린 아키텍처, 헥사고날 아키텍처에 대해 설명하기 때문에 이해가 잘 되었던 것 같습니다.

또한 전통적인 계층형 구조의 문제점, 클린 아키텍처가 이를 해결하는 방법과 단점까지 클린 아키텍처에 입문하기에 손색 없는 책이었습니다.


12장의 파트 중 하나인 '도메인이 왕이다'처럼 클린 아키텍처는 도메인을 위한 것이기에, DDD와 궁합이 좋습니다.

따라서 해당 책과 더불어 최범균님의 "도메인 주도 개발 시작하기"를 추천합니다. (저는 싸인책을 가지고 있습니다ㅎㅎㅎ)



profile
내일은 개발왕 😎

0개의 댓글