전체 글(547)
-
ZooKeeper
ZooKeeper는 Apache Software Foundation에서 개발한 분산 시스템을 위한 고가용성 코디네이션 서비스입니다. 분산 애플리케이션에서 노드 간 동기화, 구성 관리, 그룹 서비스, 리더 선출 등 다양한 코디네이션 작업을 쉽게 수행할 수 있도록 지원하는 시스템입니다. ZooKeeper는 주로 대규모 분산 환경에서 신뢰성과 안정성을 높이기 위해 사용됩니다.주요 기능과 개념을 요약하면 다음과 같습니다:중앙화된 설정 관리: ZooKeeper는 분산 애플리케이션에서 필요한 설정 정보를 중앙에 저장하고 이를 여러 노드에 동일하게 배포할 수 있도록 합니다. 이러한 중앙화된 설정 관리 기능 덕분에 노드들이 동일한 정보를 바탕으로 동작할 수 있습니다.분산 락 (Distributed Lock): 분산 시..
2023.06.04 -
Java Advanced Programming Quiz 문제 + 정답
보호되어 있는 글입니다.
2023.06.03 -
Object Graph
📌 객체 그래프(Object Graph)란?객체 그래프(Object Graph)는 객체 간의 관계를 시각적으로 또는 개념적으로 표현한 구조입니다.즉, 프로그램에서 객체들이 어떻게 연결되고 참조되는지를 나타내는 개념입니다. 🔹 객체(노드): 개별적인 인스턴스🔹 관계(엣지): 객체 간의 참조 💡 객체 그래프를 이해하면 데이터 바인딩, ORM(객체 관계 매핑), 직렬화, 보안 등에서발생할 수 있는 문제를 더 깊이 파악할 수 있습니다.✅ 객체 그래프의 주요 개념1️⃣ 객체와 관계 (Nodes & Edges)📌 객체(Node): 프로그램에서 생성된 인스턴스📌 관계(Edge): 객체가 다른 객체를 참조하는 관계class Person { private String name; private Ad..
2023.06.03 -
Package
Package자바에서 package 키워드는 클래스를 패키지에 속하도록 정의하는 데 사용됩니다. 패키지는 클래스들을 논리적으로 그룹화하고, 클래스들 간의 이름 충돌을 방지하고, 코드의 구조화를 도와주는 역할을 합니다. 여러 가지 이유로 package 키워드를 사용하는 이유는 다음과 같습니다: 이름 충돌 방지: 패키지는 동일한 이름을 가진 클래스들을 구분할 수 있도록 해줍니다. 서로 다른 패키지에 속한 클래스들은 같은 이름을 가질 수 있습니다. 이를 통해 다른 패키지에서 동일한 이름의 클래스를 사용할 때 이름 충돌을 방지할 수 있습니다.코드 구조화: 패키지는 클래스들을 그룹화하여 코드를 구조화하는 데 도움을 줍니다. 관련된 클래스들을 하나의 패키지에 포함시킴으로써 코드의 가독성과 유지 보수성을 향상시킬 ..
2023.06.03 -
Concurrency 1
자바 공식 Concurrency 튜토리얼 Thread스레드(Thread)란 프로세스 내에서 실행되는 독립적인 실행 흐름을 말합니다. 프로세스는 운영체제로부터 자원을 할당받아 실행되는 프로그램의 인스턴스를 의미하며, 각각의 프로세스는 하나 이상의 스레드를 가질 수 있습니다. 스레드는 프로세스 내에서 코드 실행의 기본 단위로, 동시에 여러 작업을 수행할 수 있습니다. 프로세스는 자신만의 주소 공간, 파일 핸들, 자원 등을 가지고 있지만, 스레드는 프로세스의 자원을 공유하여 실행됩니다. 따라서 스레드는 프로세스 내에서 동시에 여러 작업을 처리하고 서로 협력하여 작업을 완료할 수 있습니다. 스레드는 동시성 (Concurrency)을 제공하여 작업의 처리 속도를 향상시키고, 병렬성 (Parallelism)을 통해..
2023.06.03 -
Basic Multilingual Plane (BMP)
🔥 Basic Multilingual Plane (BMP)1. BMP란 무엇인가?Basic Multilingual Plane (BMP)는유니코드(Unicode)에서 가장 기본적인 문자들을 모아놓은 영역입니다.코드 포인트 범위: U+0000 ~ U+FFFF (16비트 = 65,536개)UTF-16에서 Surrogate Pair 없이 단일 16비트(2바이트)로 직접 표현할 수 있는 문자 영역입니다.요약하면,BMP = 유니코드에서 가장 많이 쓰이는 문자들을 모아놓은 "기본 구역"입니다. 2. 왜 "Basic" Multilingual Plane인가?유니코드가 처음 설계될 때,전 세계 주요 문자들은 16비트(= 65,536개) 안에 다 담을 수 있을 것이라고 예상했습니다.그래서 처음에 정의된 영역을 "Basic..
2023.06.03