세미나

    객체지향적으로 머드게임 만들기 - DI 프레임워크 만들어서 리팩토링

    객체지향적으로 머드게임 만들기 - DI 프레임워크 만들어서 리팩토링

    1. 객체지향적으로 머드게임 만들기 (2022년) 2022년 말에 객체지향적으로 머드게임 만들기라는 주제로 회사 내부 세미나를 진행했었다. 객체지향적으로 간단한 머드게임 만들기 최근 회사 개발자 전원에게 '객체지향적으로 간단한 머드게임 만들기'라는 과제가 주어졌다. 기본적인 룰은 제공을 해주는 과제였다. 해당 자료는 해당 과제 발표자료이다. 게임 기초 룰 위의 joorrr.tistory.com 해당 세미나는 언어나 프레임워크에 제한이 없어서 Typescript로 프레임워크나 라이브러리 사용 없이 구현했었다. 그러면서 객체지향적으로 구현하기 위해서 역할과 책임에 따라 나누고 객체 간의 관계를 의존성 주입으로 설계했기 때문에 객체 간에 얽혀있는 의존성을 직접 관리해 줘야하는 불편함이 있었다. 아래는 그때 ..

    테스트 구축하기 관련 발표 자료

    테스트 구축하기 관련 발표 자료

    리팩터링 2판 챕터 4 테스트 구축하기에 대한 세미나 발표 자료이다. 리팩터링 책에선 테스트 코드에 대해 중요하다 하지만 자세히 다루고 있지 않기 때문에 간단한 TDD에 대한 설명과 내가 테스트 코드 공부하면서 느꼈던 것들을(+ 시행착오) 정리했다. 1. chapter 04_ 요약 리팩터링 2판의 챕터 4는 테스트 구축하기에 대한 내용이다. 하지만 테스트에 대해 자세히 다루지 않고 아래와 같이 구현코드에 대한 간단한 테스트 + 약간의 팁으로 끝난다. 해당 챕터를 요약해서 세미나를 준비하다 보니 테스트코드를 해본 적 없는 사람들이 대상이었기 때문에 내 마음대로 발표 자료로 만들기 좋은 문장 두 개를 가져와 발표를 준비했다. 2. 발표 자료로 만들기 좋은 문장 두 개 먼저 TDD에 대한 문장 (테스트를 작성..

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

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

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

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

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

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