728x90

IT 427

Domain 이벤트 (도메인 이벤트)

※ 이 포스트는 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 직역, 의역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 시작하기에 앞서 도메인 이벤트는 도메인 중심 설계에서 사용되는 설계 패턴 중 하나로, 도메인 이벤트 자체는 단순한 개념이지만, 여러 문맥에 사용되기 때문에, 좀처럼 이해가 어려운 부분이 있다. 따라서 이번 기회를 통해 관련 내용을 정리하고자 한다. Domain 이벤트란? 이벤트는 "과거에 발생한 사건"이며 도메인 이벤트는 "비즈니스 도메인에서 발생한 중요한 사건을 나타내는 메시지"이다(예: 주문이 할당되었으나 주문이 취소됨). 도메인 이벤트는 시스템의 상태 변경(=집약 상태의 변화)을 나타내며, 일반적으로 집약이 도메인 이벤트의 출처가 된다. 용도 도메인 이..

IT/기초 지식 2026.03.31

Node.js 버전 관리 툴 Volta

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. Volta란? Volta 는 JavaScript 도구 관리툴이다. 타이틀에서는 Node.js 의 버전 관리툴로 소개하고 있지만, npm·yarn 의 버전 관리도 할 수 있다. 공식 사이트 에서는 "The Hassle-Free JavaScript Tool Manager(수고 없는 JavaScript 도구 관리자)"라고 소개되어 있다. 팀의 Node.js 버전 관리를 Volta에 통합한 결과 DX가 높아져 Volta 장점을 느끼게 됐다.이 포스트에서는 개발자의 Volta 인구를 늘리기 위해 Volta를 소개하고 사용하는 방법에 대해 설명하고자한다. Volta 개요 공식 사이트에..

IT/기초 지식 2026.03.11

의지를 구현하는 아키텍처 모더나이제이션

※ 일본의 한 블로그 글을 번역한 포스트로 오역 및 의역, 직역이 있을 수 있습니다. 틀린 내용은 지적해주시면 감사하겠습니다. 1. AI 시대에 엔지니어의 역할은 무엇인가최근에는 AI가 코드를 작성하는 시대가 되었다.과거 → 개발자가 코드를 직접 작성현재 → AI가 코드를 생성그래서 개발자의 역할은 점점 다음으로 이동하고 있다.어떤 기술을 선택할 것인가시스템을 어떤 구조로 설계할 것인가이 시스템이 어떤 가치를 만들 것인가즉“코드를 작성하는 것”보다“어떤 시스템을 만들 것인가를 결정하는 것”이 중요해진다 2. 레거시 시스템 문제 (Legacy System)레거시 시스템(legacy system) 은 오래되어 구조가 복잡해진 시스템을 의미한다. 이러한 시스템들은 보통 다음 특징을 가진다.특징 변경이 ..

IT/기초 지식 2026.03.10

의존성 주입 (DI: Dependency Injection)

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. DI의 탄생 경위 참고로 코드는 Kotlin으로 작성하도록 하겠다. 제일 먼저 DI를 하지 않고 어느 오브젝트 내에서 외부 오브젝트를 인스턴스화하는 경우를 살펴보도록 하겠다.class Apple(val hasPoison: Boolean = false)// 식품 클래스. 추상적인 개념이어야하지만 사과(Apple)에 의존해버리고 만다.class Food { fun eat() { val apple = Apple(hasPoison = false) if (apple.hasPoison) { println("게임 오버") } ..

IT/기초 지식 2026.03.09

VSCode(Visual Studio Code)의 GitHub Copilot SKILL.md

※ 일본의 한 블로그 글은 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 시작하기 전에 copilot-instructions.md 하나에 많은 정보를 제공할 수 있지만. 그 때문에 추론에 사용하는 모델의 성능이 낮거나, 한 번의 세션에서 대화가 오래 지속되면 처음에 말했던 내용이나, 애초에 copilot-instructions.md에 정의하고 있던 것을 잊어버리는 경우 생긴다.또한, 제공한 많은 맥락이 잡음이 되어 추론에 시간이 오래 걸리거나 엉뚱한 답을 내는 경우도 있었습니다. 그런 문제를 보완하기 위해 SKILL.md를 활용할 수 있다. Agent Skills란? 에이전트 스킬은 Copilot이 관련된 경우에 불러올 수 있는 명령, 스크립트 ..

IT/코딩툴 2026.02.25

git rebase의 두 가지 사용법

※ 일본어 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. rebase란? 우선 rebase 명령어를 한마디로 표현하면 '지정한 커밋을 브랜치를 바꿔서 다시 만들거나 한 묶음으로 만들어서 로그를 깨끗하게 하는 명령어'이다.더 심플하게 말하면 '지정 커밋을 다시 만들어 로그를 청소하기 위한 명령어'라고도 할 수 있을 것이다. 하지만 이렇게 말하면 이해하기 어려울 것이므로. 그 사용법과 함께 설명하고자 한다. rebase의 두 가지 중요한 쓰임새제목에서 알 수 있는 rebase에는 두 가지 사용법이 존재한다. 한쪽은 「각각의 브랜치로 늘어나 있던 개발 커밋을 다시 연결한다」라고 하는 사용법. 다른 하나는 「여러 개의 커밋을 1 커밋으로 ..

IT/기초 지식 2026.01.06

git revert

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. revert란? 기존 커밋을 취소하기 위한 명령어로,「취소하고 싶은 커밋을 취소하는 커밋을 새롭게 작성한다」라고 하는 처리로 기존의 커밋을 취소한다.새로 커밋을 추가하고 있을 뿐이지 기존 커밋의 이력이 사라지는 것은 아니다(커밋 로그를 보시면 남아있다).어떤 변경이 있었는가 하는 것이 (revert한 것을 포함하여) 남기 때문에 원격으로 push되어 공개되어 있는 커밋에 대해서도 안전하게 사용할 수 있다.'기존 커밋을 원래대로 되돌린다'는 점에 대해서 비슷한 기능을 가진 명령어에 reset이 존재한다.다만, reset 명령어의 경우 커밋을 취소했다는 커밋이 남지 않는다는 차이..

IT/기초 지식 2026.01.06

VSCode(Visual Studio Code)의 GitHub Copilot 커스텀 지침(커스텀 인스트럭션)과 MCP

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. GitHub Copilot은 표준 기능만으로도 충분히 강력하지만, 「커스텀 지침」를 사용하는 것으로, 보다 개별적인 프로젝트의 요건에 따른 코드 생성을 실시할 수 있게 된다. 또한 MCP(Model Context Protocol) 서버와의 연계를 통해 외부 소스를 활용하여 Copilot 제안의 폭과 질을 높일 수 있다.이러한 고급 기능에 대한 개요, 설정 방법 및 구체적인 이용 예를 설명하려고 한다. 1. 커스텀 지침으로 Copilot을 커스터마이즈 GitHub Copilot은 뛰어난 코드 완성과 생성을 제공하지만 기본적으로 프로젝트 특정 규칙이나 코딩 스타일을 따르지는 않..

IT/코딩툴 2025.10.25

VSCode(Visual Studio Code)의 GitHub Copilot를 활용하는 6가지 방법

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. VSCode의 GitHub Copilot사용할 때 체크 리스트1. 적절한 AI모델을 선택 : 신속한 코딩 혹은 계획/추론을 위한 모델 중 선택2. 적절한 모드를 선택 : 편집, 질문 혹은 코드를 계속 작성하기 위한 적절한 툴을 사용3. 지시(룰) 설정 : 커스텀 지시(즉, 룰)을 사용해서 코딩 및 구조의 표준의 표준에 준거한 코드를 제안하도록 설정4. 프롬프트 엔지니어링 : 효과적인 프롬프트를 작성해, 최적의 답변을 얻기 위한 컨택스트를 제공5. 워크스페이스 인덱스 : Codebase에 대한 질문에 대해 정확한 답변을 획득6. 프롬프트의 재이용 : 프로젝트내의 태스크에 특화시킨..

IT/코딩툴 2025.10.04

AWS Startup Dev Leaders Meet up 참가 후기

8월 1일에 일본 AWS Startup Japan Loft에서 열린 AWS Startup Dev Leaders Meet up에서 참가했었다. 테마는 소/중 규모의 엔지니어 조직에서 AI 구동 개발을 도입하고 활용하는 거에 대한 것으로 Timee(https://timee.co.jp/), ゆめみ(https://www.yumemi.co.jp/), TOKIUM(https://www.keihi.com/) 세 기업의 CTO가 의견을 나누는 방식으로 진행됐다. 그리고 디스커션이 끝나면 세 CTO를 포함해, 회장에 참가한 사람들 끼리 자유롭게 교류할 수 있는 친목회가 포함되어 있었다. 디스커션 내용 山口様 (タイミーCTO) 1. 현재 조직 규모와 과제1) 엔지니어 조직 규모 : 70명2) 조직 과제 : 조직 설계현..

728x90