728x90

IT/기초 지식 118

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

git rebase의 두 가지 사용법

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

IT/기초 지식 2026.01.06

git revert

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

IT/기초 지식 2026.01.06

웹 서비스를 공개하기 전 체크 리스트 (엔지니어용)

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다.  보안인증과 관련된 Cookie 설정HttpOnly 속성이 설정되어 있을 것XSS의 완화책SameStie 속성이 Lax 혹은 Strict로 되어 있을 것주된 목적은 CSRF 대책, Lax의 경우 Get 리퀘스트를 갱신 처리를 하고 있는 엔드토인트가 없는지를 함께 확인Secure 속성이 설정되어 있을 것HTTPS통신만 Cookie가 보내지도록 설정Domain 속성이 적절히 설정되어 있을 것서브도메인에도 Cookie가 보내지도록 설정할 경우, 다른 서브 도메인의 사이트에 취약성이 있으면 사고로 연결되는 리스크를 이해해둘 것예를 들면 example.com의 Cookie가 채용 사이트..

IT/기초 지식 2024.07.09

가상 DOM (Vritual DOM)이란?

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 이번 포스트를 통해서 Web개발에 중요한 개념인 DOM(Document Object Model)과 가상 DOM에 대해서 설명하고자 한다. 이 두 가지의 차이점을 이해한다면 보다 효율적인 Web어플리케이션 개발이 가능해진다. DOM이란? DOM은 HTML이나 XML 문서 프로그램에 따른 인터페이스를 의미한다. Web 브라우저가 HTML을 읽어들이면 그것을 해석해서 DOM 트리를 구축한다. 이 DOM 트리를 통해서 JavaScript등의 언어로 문서 내용이나 구조, 스타일을 조작하게 된다. 다음과 같은 HTML코드가 있다고 하자. 이 HTML을 DOM트리를 변환되면 html, he..

IT/기초 지식 2024.03.28

JWT(JSON Web Token)란?

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. JWT란? JWT이란 Json Web Token의 약어로 정보를 안전히 송수신하기 위한 오픈 스탠드이다. 짧고 간단하게 JWT는 HTTP 헤더나 쿼리 스트링으로 확실히 정보를 보내거나, 받을 수 있게 된다. 주로 유저 인증이나 정보 교환을 위해 사용된다. JWT는 "헤더", "페이로드", "시그니처" 세 부분으로 구성되어 있으며, 각각 Base64Url로 엔코딩된다. JWT의 필요성과 장점 그럼 여기서 JWT가 필요한 이유와 어떤 장점이 있는지에 대해 알아보자. JWT의 최대 장점은 "상태를 유지하지 않는" 성질이다. 즉, JWT는 정보 자체를 토큰 내에 보유하고 있으므로 서버..

IT/기초 지식 2024.03.10

2024년 2월부터 바뀌는 Gmail의 이메일 발신자 가이드 라인과 필요한 대응 정리

이메일 발신자 가이드라인 - Gmail 고객센터이 도움말의 가이드라인은 Gmail 계정으로 이메일을 성공적으로 전송하는 데 도움이 됩니다. Gmail 계정은 다음 계정 유형 중 하나입니다. @gmail.com 또는 googlemail.com으로 끝나는 개인 계정 Google Workspsupport.google.com 2024년 2월 1일부터 Google이 대량으로 메일을 보내는 발신자에 대한 가이드 라인을 변경한다는 공지를 올렸다. 여기서 대량으로 메일을 보내는 발신자의 기준은 1일에 5,000개 이상의 메일을 보내는 발신자이다. 이 가이드 라인을 위반했을 경우 이메일이 정상적으로 전송되지 않거나 스팸으로 표시 될 수 있으므로, 메일 관련된 기능이 있는 서비스를 운영하고 있는 경우 가이드 라인을 확인하..

IT/기초 지식 2023.12.11
728x90