분류 전체보기

·TIL,일일 회고
본 글은 @RequestParam을 사용할 때 파라미터를 final로 선언하는 이유에 대해서 공부한 지식을 정리한 글입니다.처음 원본 코드는 위와 같이 user_id를 매개변수로 받을 때 final로 선언하지 않았습니다. 그런데 코드리뷰를 받다가, @RequestParam을 사용할 때 final로 선언하면 좋다고 조언을 해주셨습니다. 그 이유는 다음과 같습니다.  불변성 보장final 키워드를 사용하면 해당 파라미터는 메서드 내에서 값이 변경되지 않는다는 것을 보장합니다.이는 코드의 가독성을 높이고 버그를 방지하는 데 도움이 됩니다. 특히 멀티스레드 환경에서는 불변성이 중요한 역할을 할 수 있습니다.코드 명확성 파라미터를 final로 선언하면 해당 파라미터는 메서드 내부에서 변경되지 않으므로, 코드의 ..
·Architecture/MSA
본 글은 2PC와 SAGA패턴에 대해서 공부한 지식을 정리한 글입니다.전통적인 모놀리식 아키텍처에서는 애플리케이션의 모든 기능이 하나의 애플리케이션 내에서 구현되며, 데이터베이스 트랜잭션은 단일 데이터베이스에서 처리됩니다. 이 구조에서는 트랜잭션 관리가 비교적 간단하며, commit이나 rollback을 트랜잭션의 원자성, 일관성, 격리성, 지속성(ACID 속성)을 보장하는 것이 수월합니다. 모놀리식 아키텍처의 데이터베이스는 일관된 상태를 유지하기 쉬운 반면, 애플리케이션이 커지고 복잡해지면서 성능과 유지보수에 어려움을 겪을 수 있습니다. 반면, 마이크로서비스 아키텍처(MSA)에서는 애플리케이션을 독립적인 서비스들로 나누어 개발하고 운영합니다. 각 서비스는 자신만의 데이터베이스를 가지고 있으며, 서비스 ..
·TIL,일일 회고
본 글은 @Builder 어노테이션의 acces 옵션에 대해서 공부한 지식을 정리한 글입니다. @Builder는 롬복(Lombok) 라이브러리의 어노테이션으로, 빌더 패턴을 자동으로 생성해 주어 복잡한 객체 생성 로직을 간편하게 만들어 줍니다. @Builder 어노테이션에 대한 설명은 아래의 포스팅에서 확인가능합니다.▼ [Spring boot] @Builder 어노테이션의 장점객체를 객체를 생성하는 방법은 여러 가지가 있습니다. 각 방식은 특정 상황에서 유리하게 작용하며, 코드의 가독성, 유지보수성, 불변성 등에 영향을 미칩니다. 이번 포스팅에서는 자바에서pixx.tistory.com  @Builder 옵션@Builder 어노테이션에는 여러 가지 옵션이 있으며, 이를 통해 빌더 패턴의 동작을 조정할 수..
·TIL,일일 회고
본 글은 캐싱 전략에 대해서 공부를 한 지식을 정리한 글입니다. 캐싱 전략은 데이터나 결과를 저장하여 반복적인 요청이나 계산을 더 빠르게 처리할 수 있도록 하는 방법론입니다. 효과적인 캐싱 전략을 사용하면 애플리케이션의 응답 속도를 개선하고, 서버의 부하를 줄일 수 있습니다.  Cache의 기본 개념캐시(Cache)원본 데이터 저장소가 아닌 다른 장소에 데이터를 저장하는 시스템입니다.캐시는 속도와 성능을 높이기 위해 자주 접근되는 데이터를 빠르게 제공할 수 있습니다. 그러나 캐시는 휘발성 메모리나 제한된 저장 공간을 사용하기 때문에 언제든지 사라질 수 있으며, 저장할 데이터 양이 너무 크지 않도록 관리해야 합니다.캐시 적중(Cache Hit)캐시에 접근했을 때, 요청한 데이터가 캐시에 존재하는 경우를..
지누박
'분류 전체보기' 카테고리의 글 목록 (24 Page)