profile
Node.js 백엔드 개발자입니다!

[Kafka] MacOS에서 🛠️ Apache Kafka 로컬 환경 실행 및 CLI 실습 가이드

이 글에서는 Apache Kafka를 로컬 환경에 띄우고, CLI를 사용하여 토픽 생성, 메시지 발생 및 구독을 직접 실습하는 방법을 적어보려고 한다.(이 가이드는 Docker Descktop이 설치된 MacOS 환경을 기준으로 작성되어있다.)카프카는 안정적인 실행을

4일 전
·
0개의 댓글
·

[Kafka] Apache Kafka에 대한 개념 정리

카프카는 대규모 데이터를 실시간으로 처리를 하기 위해 설계된 분산 이벤트 스트리밍 플랫폼이다.kafka 클러스터를 구성하는 개별 서버다.데이터를 수신, 저장하고 consumer에게 전달하는 핵심 역할을 한다.Topic: 데이터가 저장되는 카테고리(이름표). (예: us

4일 전
·
0개의 댓글
·

[Spring Boot] 이커머스 프로젝트로 알아보는 동시성 제어

이커머스 서비스를 개발하다 보면 가장 신경 쓰이는 부분은 바로 데이터 정합성이다. 혼자 테스트를 통해서 실행했던 기능들이 수천 명이 동시에 "결제"나 "선착순 쿠폰 발급"을 받으려고 할 때 순식간에 무너질 수 있다.그래서 공부하면서 진행한 이커머스 프로젝트에서 발생한

2025년 11월 20일
·
0개의 댓글
·

[TIL] 의존성 역전 원칙 (Dependency Inversion Principle)

과제를 진행하다 레이어드 아키텍처를 적용하던 중, "Repository 인터페이스는 Domain에, 구현체는 Infrastructure에" 라는 요구사항을 보고, 보통 상위 계층이 하위 계층을 호출하는 거 아닌가?라는 생각이 들었다.이 의문을 해결하는 핵심이 의존성 역

2025년 11월 4일
·
0개의 댓글
·

[TIL] 클린 아키텍처 (Clean Architecture)

레이어드 아키텍처를 공부하고 적용을 해보면서, 레이어드 아키텍처도 계층을 나누는데, 클린 이키텍처는 왜 존재하고, 어떻게 다른지 궁금했다.클린 아키텍처는 레이어드 아키텍처의 문제점을 해결하고 더 엄격한 의존성 규칙을 적용한 아키텍처 패턴이다. Rovert C.Marti

2025년 11월 3일
·
0개의 댓글
·

[Spring Boot] 레이어드 아키텍처 (Layered Architecture)

이커머스 프로젝트를 진행하면서 "레이어드 아키텍처로 설계하라" 는 요구사항이 있었다. 처음에는 단순히 Controller-Service-Repository 구조만 생각했는데, 제대로 된 레이어드 아키텍처는 훨씬 더 체계적이고 명확한 책임 분리가 필요했다.특히 "도메인

2025년 11월 2일
·
0개의 댓글
·

[WIL] 항해 플러스 백엔드 1주차

이번 주차를 진행하며 다음과 같은 문제를 겪었다.• TDD(Test Driven Development) 에 대한 잘못된 인식이 있었음• 무조건 비즈니스 로직을 구현하기 전에 테스트 코드를 작성해야 한다고 오해하고 있었음• 모든 기능에 대해 테스트 코드를 작성해야 한다고

2025년 10월 26일
·
0개의 댓글
·

[Spring Boot] 동시성 제어

Study 과제 중 TDD를 기반으로 테스트 코드를 작성하는데, 포인트 충전/사용 시스템을 Kotlin 으로개발하면서 요구 사항에 "동시성 문제 해결" 이 있었다. 실제 데이터베이스를 사용하는게 아닌인메모리를 사용하게 되면서 DB의 Transaction 없이 동시성을

2025년 10월 21일
·
0개의 댓글
·
post-thumbnail

[NestJS] GraphQL File upload

원래 회사에서 REST API를 통해서 클라이언트와 API 통신을 하고 있었는데 불필요한 join문과 수시로 바뀌는 기획에 대응을 하기 위해서 클라이언트 입맛에 맞게 데이터를 조회할 수 있도록 GraphQL을도입하기로 했다.사용을 하면서 GraphQL로 file을 up

2025년 10월 14일
·
0개의 댓글
·

[Docker] Local에서 Docker image build 후 추출 및 압축 처리

Docker image를 local에서 build를 한 후 이를 저장하고 압축해서 보관하거든 다른 환경으로 이동할 수 있다. 솔직히 DockerHub에 image를 등록해서 사용할 수 있지만 리소스가 부족한 환경에서는 이 방법이 괜찮다고 생각했다.아래에서는 image

2025년 10월 14일
·
0개의 댓글
·

[Trouble Shooting] Docker compose

2개의 서버와 mongoDB, MySQL을 docker-compose를 이용해서 build를 하고, 실행하는 단계에서 문제가 발생했다. MySQL과 연결되어 있는 한 서버에서 Database Connection 관련 에러가 발생했고,이 문제는 MySQL docker i

2025년 10월 14일
·
0개의 댓글
·

[AWS] ECS EC2 배포(1) - VPC

요즘에 ECS를 통해서 배포를 할 때 Fargate를 사용하는 경우가 많다. Fargate는 요청에 따라서 자동으로 확장되는 서버를 제공하면서 서버리스 형태의서비스를 제공한다.하지만 Fargate는 EC2 대비 비용이 비교적 비싼 편이다. 따라서 초기 비용을 줄이기 위

2025년 2월 12일
·
0개의 댓글
·

[Docker] Local에서 Docker 이미지 빌드 후 추출 및 압축 처리하는 방법

Docker 이미지를 로컬에서 빌드를 한 후에 이를 저장하고 압축해서 보관하거든 다른 환경으로 이동할 수 있다. 솔직히 DockerHub에이미지를 등록해서 사용하는 방법이 나을 수 있지만 리소스가 부족한 환경에서는 이 방법이 괜찮다고 생각한다.아래는 이미지 빌드 후 추

2025년 2월 7일
·
0개의 댓글
·

[Trouble Shooting] Docker compose

2개의 서버와 mongoDB, MySQL을 docker-compose를 이용해서 build 하고 실행하는 단계에서 문제가 발생했다.MySQL과 연결되어 있는 한 서버에서 Database Connection 관련 에러가 발생했고, 이 문제는 MySQL image가 bui

2025년 2월 7일
·
0개의 댓글
·

[NodeJS] FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

NodeJS를 이용해서 대용량 데이터 처리 관련해서 개발을 하다 아래와 같은 에러 메시지를 만났다.이 에러는 그냥 말 그대로 메모리 사용량이 증가하면서 Javascript엔진이 터져버린 것이다.NodeJs의 기본적인 메모리 제한은 512MB다. 그럼 내가 처리를 하려고

2024년 12월 20일
·
0개의 댓글
·

[Spring Boot] JWT 발급 오류

Spring Boot를 이용해서 Spring Security 실습을 하는 도중 JWT 발급 관련해서 아래와 같은 에러가 발생했다.Unable to determine a suitable MAC or Signature algorithm for the specified ke

2024년 10월 10일
·
0개의 댓글
·

[docker-compose] err: exec: "docker-credential-desktop"

Dockerfile로 Node.js 어플리케이션을 말아서 docker-compose를 사용해 DB도 같이 띄우려고 docker-compose up --build 명령어를 실행하는 도중에err: exec: "docker-credential-desktop" 라는 에러가 발

2024년 9월 29일
·
0개의 댓글
·

[Spring] JUnit과 Mockito를 사용한 단위 테스트

단위 테스트는 필수적인 작업이라고 생각한다. 단위 테스트는 어플리케이션의 특정 기능이 기대한 대로 동작하는지 확인하는 데 도움을 준다. 이 글에서는 JUnit과 Mockito를 사용해서 Spring 어플리케이션에서 단위 테스트를 작성하는 방법을 설명하려고 한다. 1.

2024년 8월 28일
·
0개의 댓글
·

[Spring] Gradle 의존성 관리 옵션 정리

Spring Boot 프로젝트에서 Gradle을 사용해서 의존성을 관리할 때, 다양한 의존성 설정 옵션을 통해 특정 상황에 맞게 라이브러리를 관리할 수 있다. 이 글에서는 Gradle의 주요 의존성 관리 옵션인 implementation, compileOnly, ann

2024년 8월 27일
·
0개의 댓글
·

[Github] remote: Permission to ~~/~~.git denied to

개인 프로젝트를 진행하다 git push를 할 때 제한된 권한관련 에러가 발생했다. 가끔 다른 맥북으로 개발하다보면 생기는 에러인데, 매번 구글에서 검색하기 귀찮아서 직접 작성해보려고 한다.우선 github에 들어가서 오른쪽 프로필 이미지를 누른다.Settings를 클

2024년 5월 31일
·
0개의 댓글
·