전체 글

전체 글

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

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

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

    AWS Lambda - SQS를 활용한 인프라 아키텍처 재설계 ( + S3, 맥미니?)

    AWS Lambda - SQS를 활용한 인프라 아키텍처 재설계 ( + S3, 맥미니?)

    1. 갖고 있던 문제 자세히 말할 수는 없지만 회사에 그래픽카드가 필요한 컨버팅 서버가 있었다. 해당 서버는 AWS EC2에서 그래픽 카드가 있는 맥서버로 배포되어 있었는데 큰 문제가 있었다. 바로 월 100만 원가량의 비싼 비용과 트래픽에 취약하다는 문제였다. 해당 서버를 배포한 동료직원의 얘기를 들어보면 컨버팅에 필요한 프로그램을 돌리는데 필요한 최소조건의 서버를 빌렸다고 했기 때문에 사양을 낮춰서 금액을 줄이는 방법은 사용할 수가 없었다. 그리고 http통신으로 컨버팅에 필요한 정보를 받아오는 구조였는데 트래픽에 대한 대비가 전혀 없어 위험했고, 오토스케일링으로 스케일 아웃을 적용하려고 해도 비싼 비용이 너무 부담되는 상황이었다. 2. 인프라 아키텍처 재설계 회사에서도 해당 서버 비용에 대한 부담이..

    Data Mapper 패턴, Active Record패턴

    예전에 Sequelize나 TypeORM을 사용하려 공부할 때 여러 가지 패턴으로 엔티티를 구현하는 것을 보고 많이 헷갈렸었다. 그 이후로는 습관적으로 한 가지 방식으로만 사용하고 있다가 나중에 해당 패턴인 Data Mapper 패턴이라는 것을 알았다. - Data Mapper 패턴이란? Data Mapper 패턴은 데이터베이스 모델 (엔티티) 와 쿼리가 분리된 패턴이다. (데이터베이스에 접근하는 쿼리들을 repository 계층에서 관리) 이렇게 역할에 따라서 계층을 나누게 되면 서로 독립적으로 유지될 수 있다는 장점이 있다. 아래 예시 코드를 보면 모든 쿼리는 repository 계층에 모여있고, entity는 다른 계층에 별도의 클래스로 관리되고 있다. // repository 계층 @Injecta..