전체 글

전체 글

    객체지향적으로 간단한 머드게임 만들기

    객체지향적으로 간단한 머드게임 만들기

    최근 회사 개발자 전원에게 '객체지향적으로 간단한 머드게임 만들기'라는 과제가 주어졌다. 기본적인 룰은 제공을 해주는 과제였다. 해당 자료는 해당 과제 발표자료이다. 게임 기초 룰 위의 게임 기초 룰을 보면 알 수 있듯이 사실 해당 과제의 기능은 너무 간단해서 구현이 문제가 되진 않는다. 하지만 단순 구현이 과제 핵심 목적이 아니다. 해당 과제의 목적은 객체지향적인 설계에 대한 생각을 기반으로 어떻게 설계했는가 이다. (어떤 구조로 설계했는가) 객체 지향적인 설계 블로그나 커뮤니티에 객체 지향적인 설계에 대한 글은 정말 많다. 그중 빠지지 않고 등장하는 말은 역할과 책임에 따라서 객체를 나눠야 한다는 말이다. 당연히 맞는 소리라고 생각하지만 역할과 책임에 따라서 나눠진 객체들의 관계를 어떻게 관리하는지도..

    백엔드 아키텍처 관련 정리자료

    백엔드 아키텍처 관련 정리자료

    아키텍처 정리 개인적으로 백엔드 아키텍처를 구성하면서 생각했던 것들에 대해 정리했다. 나중에 언젠가 발표자료로 쓰고 싶어서 키노트로 정리 중이다. -> 회사 백엔드 팀 내부에서 간단한 세미나로 공유함 백엔드 아키텍처를 공부하면 매번 나오는 개념들 백엔드 아키텍처에 대한 내용을 검색하면 매번 나오는 개념들이 있다. 바로 IoC와 DI이다. 사실 예전에 어떤 회사의 과제에 해당 개념을 제대로 적용하지 못해 떨어졌던 기억이 있어서 좀 더 자세히 알아보게 됐다. IoC에 대한 설명 먼저 IoC는 제어의 역전이라는 뜻이다. 위 코드는 Nestjs의 서버 시작점이다. 우리는 bootstrap()이라는 함수의 실행을 통해 서버를 시작하는데 bootstrap() 함수 안에 NestFactory 또는 NestFactor..

    테스트 코드 공부 기록_ 20221006

    테스트 코드 공부 기록_ 20221006

    테스트 코드 테스트 코드 이 글은 jest를 활용한 TDD 하는 방법에 대한 내용은 아니다. layer가 나눠져 있는 환경에서의 테스트 코드 작성, 의존성을 활용해 mock 함수 제거에 대한 개인적인 고민이 담긴 글이다. 그렇기 때문에 해당 글이 정답 일리는 없고, 그냥 테스트 코드에 매우 미숙한 1년 차 주니어 개발자의 개인 공부 기록이다. 최근 테스트 코드를 제대로 작성해보고 싶어서 작년에 샀던 강의를 다시 들었다. 해당 강의는 간단한 CRUD 기능을 TDD로 개발하는 강의였다. 강의에선 javascript와 express, jest를 활용해 테스트코드를 작성했지만, 직접 해볼 땐 Typescript와 express, jest를 활용해 진행했다. 먼저 아래는 모든 비지니스 로직이 한 곳에 모여있는 코..