전체글642 루비콘 프로젝트 (랠릿 오픈 프로젝트) 소감 랠릿 서비스 를 오픈하고 참여자들의 개인 소감을 다들 작성하는 시간을 가졌다. 실제 프로젝트의 프로세스 방식, QA 방식등을 전체적인 회고는 내일 (2022.03.02) 진행할 예정인데, 그 전에 각자 어땠는지 소감을 작성하는 시간을 2월에 가졌다. 이번 글은 사내에 공유한 소감글을 블로그로 옮겼다. 루비콘 프로젝트에서 진행한 프로젝트 방식 / 백엔드 프로젝트 방식 등은 TF 회고가 끝나고 올라갈 예정이다. 이건 프로젝트에 참여한 개인적인 짧은 생각들만 정리했다. 프로젝트 구성원들의 전체 소감은 3월안에 링크로 공유될 예정이다. 일정 프로젝트는 7월에 시작되어, 1월 27일에 정식 오픈하였다. 중간 투입된 분들은 잘 모르실 수 있지만, 초기에 대표님과 PO 1분이 같이 사용자 스토리 잡는 것이 7월부터였.. 2022. 3. 1. Promise.all 과 Transactions (feat. Node.js) 최근 팀에서 코드리뷰를 진행하던 중에 promise.all 과 트랜잭션에 대해 오해하고 있는 부분들을 발견하게 되어 정리하게 되었습니다. Promise.all (혹은 allSettled)을 사용하면 트랜잭션 내에서도 비동기로 여러 작업들이 동시에 이루어질 수 있다고 오해하는 것인데요. 실험을 해보면 그게 아니라는 것을 알 수 있습니다. 실제 코드를 가지고 검증해보겠습니다. 모든 실험 결과에 대해서 틀린 내용이 있다면 바로 댓글로 지적해주세요! 모든 지적은 저의 성장에 많은 도움이 되기 때문에 감사한 마음으로 수정하겠습니다 :) 0. 테스트 환경 테스트할 환경은 다음과 같습니다. Node.js 16.3.1 PostgreSQL 13.2 모든 코드는 Github 에 있습니다. 1. Promise.all 먼저 .. 2022. 2. 28. jest.mock 보다 ts-mockito 사용하기 (feat. Node.js) NodeJS 기반의 백엔드에서는 NestJS, RoutingControllers 등 최근 대세가 되는 MVC 프레임워크들이 모두 Class를 기반으로 한 DI (Dependency Injection) 방식을 사용하고 있다. 그러다보니 Jest의 Mocking 방식은 백엔드 NodeJS 환경에서 적합한 도구는 아닐 수 있다. 특히, Mock/Stub 객체 생성에 불편한 점이 많다. 그래서 Test Runner로서 Jest는 사용하더라도, Mock 라이브러리는 다른 것을 사용하는 것을 추천하는데, 그 중 대표적인 것들은 다음과 같다. ts-mockito sinonjs jest-mock-extended 이번 글에서는 그 중 ts-mockito 를 통한 테스트 더블 (Mock, Stub 등) 활용법을 알아본다... 2022. 2. 21. Stub 을 이용한 Service 계층 단위 테스트 하기 간혹 Service 계층을 항상 통합 테스트로만 작성하는 경우를 보게됩니다. 모든 Service를 통합 테스트 혹은 E2E 테스트로만 검증하기 보다는 상황에 따라 적절한 Stub을 사용하여 단위 테스트로 작성한다면 전체 테스트 속도 향상에 도움이 됩니다. 몇가지 예제를 통해 Stub을 사용하는 단위 테스트 코드를 보겠습니다. 모든 코드는 Github 에 있습니다.. 예제 1. 첫번째 예제로 다음과 같은 서비스 로직에 대한 단위 테스트입니다. export class OrderService { constructor(private readonly orderRepository: OrderRepository) { } validateCompletedOrder(orderId: number): void { const .. 2022. 2. 12. 루비콘 프로젝트 완료 메일 아래 모든 내용은 이번에 신규 오픈한 랠릿의 프로젝트 종료와 함께 TF 멤버분들께 전달한 메일 내용입니다. 루비콘은 랠릿 런칭 프로젝트명입니다 :) 안녕하세요 여러분 향로입니다. 다들 프로젝트 오픈하고 가벼운 마음으로 저녁 보내고 계신가요? 1월은 인프런 서비스 역대급 장애와 함께 랠릿 QA가 겹치니 정말 정신없는 1월을 보낸것 같아요. 그러면서 루비콘 TF 멤버들과 나눴던 수많은 대화들이 떠올랐는데요. 파트별 혹은 개인별 대화들을 복기해보면서 TF 회고와 별개로 이런 이야기는 꼭 해드리면 좋겠다 싶어 메일을 작성하게 되었습니다. 저는 루비콘 프로젝트가 대단한 성과라고 생각 하지만, 오픈하는 과정에서의 많은 일들로 인해서 자괴감을 느낀 분들에게는 “대단해요!” 라는 이야기는 그냥 겉치례로 들릴거라 생각해.. 2022. 1. 29. Mac에서 코틀린 개발환경 구성하기 간단하게 코틀린을 테스트해볼 일이 있어 개인 PC에 코틀린을 설치해봤습니다. 모든 과정은 Homebrew를 통해 진행합니다. 1. JDK 구성 아직 코틀린은 JVM이 있어야 하기 때문에 JDK를 꼭 설치해야 합니다. 물론 kotlin native 의 시도가 계속 되고 있습니다. JDK가 미설치라면 다음과 같이 설치를 진행합니다. 저는 OpenJDK 11을 설치했는데, 최근엔 17까지 나왔기 때문에 본인 환경에 맞게 설치하시면 됩니다. brew tap AdoptOpenJDK/openjdk brew install --cask adoptopenjdk11 설치가 끝나면 아래와 같이 버전을 확인할 수 있습니다. java -version 2. 코틀린 구성 Java 버전을 확인했다면 코틀린을 바로 설치합니다. bre.. 2022. 1. 24. 이전 1 ··· 25 26 27 28 29 30 31 ··· 107 다음