-
[Java] Enum이 철벽치는 방법
들어가기 전에Effective Java 스터디를 진행하다가 [Item 3]. private 생성자나 열거 타입으로 싱글턴임을 보증하라에서 아래의 내용이 나왔다.싱글턴을 만드는 세 번째 방법은 원소가 하나인 열거 타입을 선언하는 것이다.public 필드 방식과 비슷하지만, 더 간결하고, 추가 노력 없이 직렬화할 수 있고, 심지어 아주 복잡한 직렬화 상황이나 리플렉션 공격에서도 제2의 인스턴스가 생기는 일을 완벽히 막아준다.출처 : Effective Java 3/E 해당 아이템을 담당한 발표자가 "왜 열거 타입이 리플렉션 공격으로부터 안전하다는 걸까요?"라는 질문을 던졌고 그에 대한 답변으로 자바는 열거 타입의 구조를 변경할 수 없게끔 리플렉션을 제한하기 때문이라는 설명을 들었다. 리플렉션은 런타임 시점에..
2024.11.15
-
[서적] 그림과 작동 원리로 쉽게 이해하는 AWS 구조와 서비스 | 우에노 후미아키
AWS 구조와 서비스 | 우에노 후미아키 - 교보문고AWS 구조와 서비스 | 풍부한 그림과 알기 쉬운 설명으로 핵심 AWS 서비스를 한눈에 이해한다!전 세계적으로 클라우드 서비스의 이용이 활발해지고 있어 클라우드의 활용은 이제 비즈니스에서 빼product.kyobobook.co.kr ★ 이 책에서 다루는 내용 ★◎ 많은 기업에서 사용하는 AWS에 대해 가능한 한 간단한 용어를 이용해 폭넓게 설명◎ 상세한 기능 설명보다 단시간에 폭넓게 AWS를 이해할 수 있는 내용으로 구성◎ 클라우드를 활용하기 위해 꼭 필요한 전제 지식에 대해 설명◎ 주요 AWS 서비스의 기본 기능을 말할 수 있을 정도의 이해도를 목표로 함출처 : https://product.kyobobook.co.kr/detail/S0002008823..
2024.11.02
-
[PostgreSQL] Docker를 활용한 Streaming Replication 설정 가이드
들어가기 전에앞서 PostgreSQL에서의 built-in replication 방식에 대해 학습했다. [PostgreSQL] Chapter 26. High Availability, Load Balancing, and Replication※ 이 글은 PostgreSQL의 built-in replication 방식을 학습하기 위해 일부 공식 문서와 관련 개념을 정리한 글입니다. 0. 서론본론에 앞서 중요한 개념인 고가용성과 로드 밸런싱에 대해 알아보자. 고justsora.tistory.com 위의 내용을 토대로 각 방식에 대해 간단히 정의내려보자면 다음과 같다.File-Based Log-Shipping : WAL 기록을 파일로 보내 복제하는 방식Streaming Replication : 주 서버에서 W..
2024.10.31
-
[PostgreSQL] Chapter 26. High Availability, Load Balancing, and Replication
※ 이 글은 PostgreSQL의 built-in replication 방식을 학습하기 위해 일부 공식 문서와 관련 개념을 정리한 글입니다. 0. 서론본론에 앞서 중요한 개념인 고가용성과 로드 밸런싱에 대해 알아보자. 고가용성(High Availability, HA)을 쉽게 말하자면 한 장비 또는 여러 장비가 다운될 때도 시스템이 계속 동작하게 하는 것이다. 고가용성을 달성하기 위해서 서버를 이중화(Redundancy)해서 주 서버에 장애가 발생했을 때 예비 서버로 빠르게 전환될 수 있도록 해야 한다.서버, 네트워크, 프로그램 등의 정보 시스템이 상당히 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질을 말한다. 고(高)가용성이란 "가용성이 높다"는 뜻으로서, "절대 고장 나지 않음"을 의미한다. 고..
2024.10.14
-
[서적] 그림으로 이해하는 서버 구조와 기술 | 요코타 카즈키, 엔도 유키
그림으로 이해하는 서버 구조와 기술 | 요코타 카즈키 - 교보문고그림으로 이해하는 서버 구조와 기술 | 쉽고 재미있게 시작하는 서버 구조와 기술!우리가 당연하게 하고 있는 모든 온라인 활동 뒤에는 서버나 네트워크 같은 정보 시스템이 있다. 이러한 인프product.kyobobook.co.kr 올해 6월에 출간되었을 때 과장님께서 "그림으로 이해하는" 시리즈가 새로 나왔다고 알려주셔서 바로 보게 되었다. 책 표지에 써있는 문구처럼 쉽게 서버와 네트워크 기초 지식에 대해 배울 수 있고 서버와 관련된 여러 개념들을 배울 수 있는 책이다. 사실 처음 책을 폈을 때 서버가 무엇인지, 클라이언트-서버 시스템이 무엇인지부터 나오길래 "이 책을 읽는 게 맞나"를 고민이 됐다. 이미 정리된 내용을 많이 갖고 있기도 했..
2024.10.11
-
[Spring] Custom Filter로 로그 파밍하기 (CloudWatch X Logback)
들어가기 전에모든 요청과 응답 로그를 Logback 설정을 통해 CloudWatch에 적재하기로 했다. 이미 CloudWatchLogsClient를 활용해서 로그를 적재하는 코드가 있었기 때문에 굳이 구현 방법을 변경할 필요는 없었지만, Logback 설정을 통해 적재했을 때 어떤 장점과 단점이 있는지 그리고 우리가 구현하고자 하는 방향과 어느 것이 더 맞는지 확인해 보기로 했다. 시작하기에 앞서 이번 글은 CloudWatch 적재에 초점을 둔 만큼 Loback 설정에서 다양한 방법으로 로그를 적재하는 방법은 다루지 않는다. console로 출력하거나 file로 저장하는 등의 방법을 설정하기 위해서는 아래와 같이 appender를 사용하면 된다. // 출처 : https://docs.spring.io/s..
2024.10.09