이벤트 소싱과 CQRS, 넌 대체 정체가 뭐냐?
·
MSA
안녕하세요. 이벤트에 빠진 개발자 stark입니다!최근 저는 DDD에 푹 빠지게 되었습니다. 그래서 회사 선배님께 책을 빌려서 읽기도 하고 세미나도 보면서 정말 많은 공부를 하고 있습니다. DDD관련 책을 읽던 도중 '이벤트 소싱'이라는 목차가 등장했고 읽다 보니 엄청난 호기심이 생겼습니다. 왜냐하면 저는 주로 헥사고날 아키텍처와 EDA를 사용하여 개발을 해왔지만 제가 이벤트를 사용하게 되는 상황은 단순히 비관심사를 분리하는 상황뿐이었습니다. 특히 이벤트와 DDD와 조금만 검색해 봐도 Command와 Query를 분리하는 CQRS가 나옵니다. 그러다 보니 어느 순간부터 저도 코드에 "적용해 볼까?"라는 생각이 들면서 계속해서 고민하게 되었습니다. 가장 걸림돌이 된 것은 제가 이벤트 소싱과 CQRS의 개념..
주니어 개발자의 테스트 코드 이해하기
·
Spring/테스트 코드
테스트 코드의 기초와 중요성을 알아보자 📌 서론 스프링부트로 백엔드 개발을 하다 보면 테스트 코드를 작성해야 한다는 말을 정말 많이 듣게 된다. 그래서 테스트 코드가 뭐길래 이렇게까지 얘기를 하는 걸까? 테스트 코드를 작성하기 전에 테스트 코드가 무엇인지와 어떤 tool을 사용해서 작성하는지에 대해서 간단히 이해해 보자 1. 테스트 코드의 중요성 테스트 코드는 개발 과정에서 매우 중요하다. 이를 통해 버그를 조기에 발견하고 소프트웨어의 안정성을 확보할 수 있다. 특히 스프링 부트에서는 다양한 도구와 라이브러리를 제공하여 테스트 코드 작성을 쉽게 해 준다. 이런 도구들을 사용함으로써, 개발자는 애플리케이션의 다양한 부분을 효율적으로 검증할 수 있고, 결과적으로 코드의 품질을 높일 수 있다. 또한, 테스트 ..
주니어 개발자의 API 이해하기
·
유용한 개발지식/WEB, DB, GIT
주니어 개발자의 API 이해하기 📌 서론 개발자끼리의 소통에서는 API라는 단어를 자주 얘기한다. 오늘도 개발을 진행하며 API에 대한 얘기를 했다. 이렇게 자주 사용하는 단어인데 막상 누군가 "그래서 API가 뭔가요?" 라고 나에게 질문한다면 제대로 대답할 수 없을 것 같았다. 그래서 나는 API의 개념을 쉽고 간단히 이해하기 위해 알아봤다. 1. API란 무엇인가? 1-1. API란 무엇인가? API, 즉 Application Programming Interface는 다양한 소프트웨어 컴포넌트들 사이의 연결 고리 역할을 한다. 이는 각각의 프로그램이 서로 상호작용하고 데이터를 주고받을 수 있게 해준다. 간단히 말해, API는 한 프로그램이 다른 프로그램의 기능을 사용할 수 있게 해주는 규칙이나 명령..
단일 장애 지점(SPOF)이란?
·
DevOps
단일 장애 지점에 대한 궁금증이 생겼다. 지금부터 알아보도록 하자! 📌 서론 세미나 영상을 보던도중 단일 장애 지점에 대한 언급이 있었는데 설명없이 넘어가다보니 흐름상 이해는 했지만 정확히 이게 어떤 상황인지 잘 몰라서 답답했던 기억이 있다. 그래서 직접 단일 장애 지점이 뭔지 조사해보고 정리해 봤다. 1. 단일 장애 지점(SPOF)이란? 단일 장애 지점(SPOF) 단일 장애 지점(SPOF)은 시스템이나 네트워크의 한 부분이 고장 났을 때 전체 시스템의 가동이 멈추는 상황을 말한다. 이런 지점은 시스템의 취약점으로 작용하고, 이를 해결하지 않으면 예기치 않은 상황에서 전체 시스템이 마비될 수 있다. 가장 흔한 예로는 중요한 데이터베이스 서버, 핵심 네트워크 스위치, 또는 주요 애플리케이션 서버가 하나만 ..
[SQL] 쿼리 인젝션이란?
·
유용한 개발지식/WEB, DB, GIT
이번 시간에는 쿼리 인젝션에 대해서 알아보자 웹 어플리케이션의 보안은 개발 과정에서 가장 중요한 고려사항 중 하나다. 특히, 데이터베이스와 상호작용하는 웹 사이트에서는 SQL 인젝션과 같은 공격이 심각한 위협이 될 수 있다. 이번 글에서는 SQL 인젝션의 개념부터 시작하여, 이러한 공격이 어떻게 이루어지는지, 그리고 이를 효과적으로 방지하기 위한 방법들에 대해 알아보도록 하자. 특히, 나는 Spring Boot를 주로 사용하기에 SpringBoot 환경에서 쿼리 인젝션을 방지하기 위한 실질적인 전략도 약간 다뤄보고자 한다. 1. 쿼리 인젝션의 위험성과 중요성 1-1. 쿼리 인젝션 이란? 쿼리 인젝션은 웹 어플리케이션 데이터베이스의 쿼리에 임의의 SQL 코드를 삽입하여 공격자가 데이터베이스를 조작할 수 있..