본문 바로가기

분류 전체보기16

Redisson Lock : 분산 락 구현하기 백엔드 서버에서 여러 API를 활용해 비즈니스 로직을 처리하다 보면, 동시에 다수의 요청이 몰리면서 데이터 경쟁 상태나 중복 업데이트, 예기치 못한 결과가 발생하곤 합니다. 이런 동시성 문제를 안전하게 제어하기 위해 분산 락(distributed lock) 기법을 도입할 수 있으며, 특히 Redisson Lock은 간편한 API와 신뢰성 있는 내부 메커니즘으로 많은 개발자에게 사랑받고 있습니다.이 글에서는 Redisson과 Redisson Lock이 무엇인지 먼저 살펴보고, 프로젝트에 적용하고, lock의 작동방식이 어떻게 동작하는지 알아보겠습니다. Redisson & Redisson LockRedisson은 Java 애플리케이션에서 Redis 서버와 편리하게 상호작용할 수 있도록 지원하는 오픈소스 Re.. 2025. 7. 15.
객체지향 설계 원칙 : SOLID 🔍 SOLID?SOLID는 객체지향 프로그래밍(OOP)에서 유지보수성과 확장성을 높이기 위한 5가지 핵심 설계 원칙입니다. 로버트 C. 마틴(Robert C. Martin)이 처음 제안했으며, 이후 견고하고 유연한 소프트웨어를 설계하기 위한 표준 지침으로 자리잡았습니다.SOLID는 아래의 다섯 가지 원칙의 머리글자를 조합한 것입니다:S: 단일 책임 원칙 (Single Responsibility Principle)O: 개방/폐쇄 원칙 (Open/Closed Principle)L: 리스코프 치환 원칙 (Liskov Substitution Principle)I: 인터페이스 분리 원칙 (Interface Segregation Principle)D: 의존 역전 원칙 (Dependency Inversion Pri.. 2025. 6. 30.
git rebase : 커밋 로그를 더 깔끔하게 개발을 하다 보면 git을 이용해 버전 관리를 하게 됩니다. 이때 커밋(commit)은 작업의 단위를 기록하는 중요한 요소입니다. 하지만 여러 명이 함께 작업하거나, 개인적으로도 다양한 기능을 개발하다 보면 커밋 로그가 지저분해지기 쉽습니다. 불필요한 머지 커밋이 많아지거나, 하나의 기능을 개발하면서 발생한 수많은 중간 커밋들이 쌓이면, 나중에 특정 변경 사항을 추적하거나 히스토리를 파악하는 데 어려움을 겪을 수 있습니다.이러한 문제를 해결하고 커밋 로그를 더욱 깔끔하게 관리하기 위해, git rebase를 활용할 수 있습니다. 이번 글에서는 git rebase가 무엇인지, git merge와의 차이점은 무엇이며, 어떻게 활용하면 커밋 로그를 효과적으로 정리할 수 있는지 알아보겠습니다. 💡 git re.. 2025. 6. 10.
Jib : 자바 개발자를 위한 Dockerfile 없는 컨테이너 빌드 컨테이너 시대에 자바 개발자도 이제 Dockerfile을 작성하고, 레지스트리에 이미지를 푸시하며, CI/CD 파이프라인을 꾸려야 하는 세상입니다. 그런데, 우리가 굳이 Dockerfile을 써야 할까요?Google이 만든 오픈소스 도구 Jib은 Maven이나 Gradle 빌드 과정에서 자동으로 최적화된 컨테이너 이미지를 생성해줍니다. 그리고 무엇보다, Dockerfile과 Docker 데몬이 필요 없습니다.💡 Jib이란?Jib은 Google에서 개발한 오픈소스 컨테이너 빌드 도구로,Java 애플리케이션을 Dockerfile 없이도 컨테이너 이미지로 만들어주는 강력한 도구입니다.특히 Gradle이나 Maven을 사용하는 Java 프로젝트에 최적화되어 있어,Java 개발자가 별도의 도커 지식 없이도 컨테.. 2025. 5. 28.