본문 바로가기

분류 전체보기290

페이지네이션(Pagination)과 소팅(Sorting) 1. 페이지네이션(Pagination)페이지네이션은 대량의 데이터를 여러 페이지로 나누어 표시하는 기법입니다. 예를 들어, 검색 결과가 수천 건 이상인 경우 모든 결과를 한 번에 표시하지 않고, 페이지당 일정 개수의 데이터만 표시하여 사용자가 원하는 페이지를 탐색할 수 있도록 합니다. 페이지네이션은 데이터의 양이 많을수록 서버와 네트워크 리소스를 절약하고, 사용자에게 더 나은 경험을 제공합니다.예시:온라인 쇼핑몰에서 상품 목록을 볼 때, 한 페이지에 10개씩만 표시하고 "다음 페이지", "이전 페이지" 버튼을 통해 이동할 수 있도록 하는 방식입니다.검색 엔진 결과에서 한 번에 10개씩 검색 결과를 보여주고, "다음"이나 "이전"을 눌러 다음 결과를 볼 수 있습니다.구성 요소:페이지 번호: 사용자가 보고 .. 2024. 11. 8.
선언적 프로그래밍 vs 명령형 프로그래밍 선언적 프로그래밍과 명령형 프로그래밍은 프로그래밍의 두 가지 주요 패러다임으로, 코드를 작성하는 방식과 문제를 해결하는 접근 방식에 차이가 있습니다. 이 두 가지 패러다임의 차이와 각각의 특징을 알아보겠습니다.1. 선언적 프로그래밍 (Declarative Programming)정의: 코드가 무엇을 해야 하는지에 초점을 맞추는 방식입니다. "어떻게" 수행하는지보다는 목표 상태를 기술합니다.특징:무엇을 수행할지에만 집중: 원하는 최종 상태만 설명하고, 이를 위한 과정은 프레임워크나 시스템이 알아서 처리하도록 합니다.비상태적: 코드가 상태 변화를 유발하지 않고 데이터의 흐름을 정의하는 경우가 많습니다.가독성 향상: 절차적 로직 없이 최종 상태만 설명하기 때문에 코드가 간결하고 이해하기 쉽습니다.대표 예시: S.. 2024. 11. 8.
Apache kafka 다음과 같이 AWS EC2 인스턴스 인바운드 규칙을 설정하기 위한 설명을 참고합니다 AWS EC2 인바운드 규칙 설정  AWS EC2 SSH 접속Unix 계열의 OS를 Local Host PC로 사용하시면, chmod 커맨드로 mykafkakey.pem을 실행할 수 있는 권한을 부여해야 합니다.chmod 400$ ssh -i ./mykafkakey.pem ubuntu@54.180.96.36  ※ EC2 Key Pair 생성 관련OpenJDK 설치하기1. 인스턴스 업데이트: 우선, EC2 인스턴스의 패키지 목록을 최신 상태로 업데이트합니다.sudo apt upgradesudo apt update    2. Java 설치 가능한 버전 확인: 사용 가능한 OpenJDK 버전을 검색합니다. 이를 통해 원하는 J.. 2024. 11. 8.
Activemq artemis 관련 [Home Page]  Creating a broker브로커를 생성하려면 배포판의 bin/ 디렉토리로 이동하여 실행하세요.$ ./artemis create $directory 또는 Windows OS[PowerShell을 사용]에서는 다음과 같이 실행합니다>artemis.cmd create $directory $directory는 브로커를 생성하고 싶은 폴더입니다. 생성 과정에서 지정되지 않은 필요한 속성에 대해 입력을 요구할 것입니다.예시:--user: is a mandatory property!Please provide the default username:admin--password: is mandatory with this configuration:Please provide the default .. 2024. 11. 8.
Apache Kafka와 ActiveMQ Apache Kafka와 ActiveMQ는 모두 메시지 브로커로서 시스템 간의 데이터를 교환하는 데 사용됩니다. 하지만 두 시스템은 서로 다른 설계 목표와 특징을 가지고 있어, 용도와 요구사항에 따라 적합한 선택이 달라질 수 있습니다. Kafka를 ActiveMQ 대신 사용할 경우의 장단점을 정리해 보겠습니다.Apache Kafka의 장점고성능 및 높은 처리량Kafka는 분산형 아키텍처를 통해 초당 수백만 건의 메시지를 처리할 수 있습니다. 반면, ActiveMQ는 주로 JMS(자바 메시징 서비스) 표준에 따라 설계되어 있으므로 대규모 데이터 스트리밍보다는 비교적 작은 규모의 메시징 환경에 더 적합합니다.Kafka 사용 예시: 실시간 로그 분석, 대규모 트래픽 모니터링, IoT 센서 데이터 수집 등에서 .. 2024. 11. 8.
Zookeeper, KRaft (Kafka Raft) Zookeeper는 Apache Kafka와 같은 분산 시스템에서 클러스터의 상태를 관리하고, 노드 간의 동기화와 메타데이터 저장을 담당하는 분산 코디네이션 시스템입니다. Kafka에서는 Zookeeper가 중요한 역할을 수행하여 안정적이고 일관된 상태를 유지하게 돕습니다.Zookeeper의 주요 기능메타데이터 저장Kafka의 구성, 브로커 목록, 토픽, 파티션 등과 같은 메타데이터 정보를 저장합니다.Kafka 브로커들이 클러스터 내에서 서로 어떤 상태인지, 어떤 브로커가 리더 역할을 하는지 등의 정보를 기록하고 관리합니다.리더 선출 관리Kafka는 각 파티션에 대해 리더와 팔로워로 구성되어 있습니다. Zookeeper는 장애가 발생했을 때 새로운 리더를 선출하고 관리합니다.예를 들어, 특정 브로커가 다.. 2024. 11. 7.