
개요우리는 왜 낙관적 락과 비관적 락을 도입해야 할까요? 동시성 제어 방식으로서 두 락을 도입하는 이유는 여러 가지가 있지만,주된 이유는 데이터의 일관성을 보장하고 동시성 문제를 해결하기 위해서입니다. 옛날과는 다르게 요즘은 모두 디지털화 되어있기 때문에 어떤 일이든 다 웹을 통해서 진행을 하게 됩니다. 그에 따라 수많은 사람들이한 서비스에 몰릴때도 많은데요, 예를 들어, 인터파크 같은 대형 서비스의 티켓팅 서비스에서 동일한 좌석을 여러 사용자가 동시에예매하려 할 때, 또는 특정 시간대의 예매 폭주로 인해 실제 좌석 수보다 더 많은 예약이 발생하는 등 데이터의 정합성이깨질 수 있는 상황이 빈번하게 발생합니다. 이러한 동시성 문제를 해결하기 위한 전략으로 낙관적 락과 비관적 락이 사용되며, 각각의 상황..

개요우리는 왜 클린아키텍처를 도입해야 할까요? 클린 아키텍처는 코드를 더 유지보수하기 쉽고, 확장 가능하며, 테스트하기 좋게 만들어줍니다. 그 이유는 크게 두 가지 입니다. 설명에 앞서 일단 객체지향의 설계 5원칙 "SOLID" 에 대해서 알아 볼 필요가 있습니다.(저도 다시 복습 해보고자...) SOLID 원칙이란? 객체 지향 설계의 다섯 가지 핵심 원칙소프트웨어 개발에서 중요한 목표 중 하나는 유지보수성, 확장성, 그리고 코드의 재사용성을 높이는 것입니다.이를 달성하기 위해서 SOLID 원칙이 제시되었습니다. SOLID는 소프트웨어 설계 원칙들의 약어로, 각 원칙은 객체 지향 프로그래밍에서 모듈을 더 유연하고 확장 가능하게 만들기 위해 제안되었습니다. 이 글에서는 SOLID 원칙이 무엇인지,각 ..

이전글 : https://frogcodepond.tistory.com/3 Java 애플리케이션에서 로깅 구현하기 (feat. SLF4J)이번 포스팅에서는 java 어플리케이션에서 로깅을 구현하는 방법을 소개하겠습니다. 1. SLF4J와 Log4j의 차이SLF4J (Simple Logging Facade for Java)SLF4J는 Java에서 사용하는 로깅 프레임워크의 인터페이스 역frogcodepond.tistory.com(먼저 읽고 오시면 더 좋읍니다..) 자, 저번 Java에서 로깅하기에 이어 말씀드린대로사용자가 api를 통해 보낸 req body와 내가 내보낸 res body를 로깅하는 법을 설명하겠습니다.Spring으로 넘어옵시다! 1. Gradle 설정먼저, Spring Boot 프로젝트의 ..

이번 포스팅에서는 java 어플리케이션에서 로깅을 구현하는 방법을 소개하겠습니다. 1. SLF4J와 Log4j의 차이SLF4J (Simple Logging Facade for Java)SLF4J는 Java에서 사용하는 로깅 프레임워크의 인터페이스 역할을 하는 라이브러리입니다. SLF4J는 다양한 로깅프레임워크 (예: Log4j, Logback, JUL)를 추상화하여, 개발자가 특정 로깅 프레임워크에 종속되지 않고 코드에서 로깅을사용할 수 있도록 도와줍니다. SLF4J를 사용하면 나중에 로깅 프레임워크를 쉽게 교체할 수 있습니다. Log4j (Apache Log4j)Log4j는 Apache에서 개발한 Java 기반의 로깅 라이브러리입니다. Log4j는 설정 파일을 통해 다양한 방식으로 로그를남길 수 있으며..