전체 글138 ADAPTER 패턴 정리 Adapter 패턴이란?서로 다른 인터페이스를 가진 객체들을 연결해주는 중간 다리 역할을 하는 디자인 패턴입니다.즉, 코드 A와 B가 있을 때 A가 B의 인터페이스를 그대로 쓸 수 없다면 Adapter라는 중간 클래스를 만들어서 A가 이를 통해 B를 사용할 수 있게 합니다. 언제 사용하는가?기존 코드(A)에서 새로운 코드(B)를 쓰고싶지만 두 코드의 메서드명, 동작 방식이 맞지 않을 때☑️ 라이브러리, 레거시 시스템, 외부 API와 연결할 때 책에서 나온 예제로 Adapter 패턴을 이해해보면,상황 : 우리는 송신기의 하위 시스템을 개발해야하지만, 송신기 모듈 쪽은 아직 인터페이스조차 정의하지 못한 상태입니다.우리가 송신기 모듈에게 원하는 기능은 "지정한 주파수를 이용해 스트림에서 들어오는 자료를 아날.. 2025. 5. 8. 디미터 법칙 정리 : 객체와 자료구조 디미터 법칙(Law of Demeter)이란?잘 알려진 휴리스틱으로, 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다는 법칙이다.쉽게 말하면, "친구의 친구에게 말하지 마라" 인데, 자신이 직접 알고 있는 객체와만 상호작용해야 한다. 이는 허용된 메서드라고 부르는데, 허용된 메소드는 다음과 같다. 클래스 C의 메서드 f는 다음과 같은 객체의 메서드만 호출해야 한다.- 클래스 C- f가 생성한 객체- f의 인수로 넘어온 객체- C 인스턴스 변수에 저장된 객체 그 외에 허용된 메서드가 반환하는 객체의 메서드는 호출하면 안된다. 필요한 이유는 무엇일까?- 코드의 결합도를 낮추고- 유지보수성을 높이며- 내부 설계 변경에 외부 코드가 휘청이지 않게 만들기 위함이다. 예를 들어, 아래와 같은 코드는 디미터 법.. 2025. 5. 5. 2025 CKA 시험 준비 핵심 요약 2025 CKA 시험을 준비하면서 개인적으로 정리했던 내용들입니다.한번 쭉 훑어보시는 것도 도움될 것 같아서 올려봅니다.내용은 대부분 이전 포스팅에서 알려드렸던 udemy, youtube 등을 참고한 문제풀이 및 개인적으로 정리한 내용입니다.이 내용 외에도 알아야 하는 것이 많으니 참고만 해주세요. 2025 CKA 합격 후기 / 유형 변경 대응법 및 네트워크 문제 경험 공유목차 개요2025 CKA 유형이 변경되었습니다. 아직 관련 정보가 많이 없어서, 이번 글에서 변경된 유형에 대한 팁을 정리해보려고 합니다.또한 시험 도중에 인터넷이 끊겨 시험이 종료되는 상황이sunrise-min.tistory.com 목차 설치 & 환경 구성🌟 deb 패키지 설치Question No: 11Complete thes.. 2025. 5. 1. 2025 CKA 합격 후기 / 유형 변경 대응법 및 네트워크 문제 경험 공유 목차 개요2025 CKA 유형이 변경되었습니다. 아직 관련 정보가 많이 없어서, 이번 글에서 변경된 유형에 대한 팁을 정리해보려고 합니다. 또한 시험 도중에 인터넷이 끊겨 시험이 종료되는 상황이 있었는데, 그때 어떻게 대처했는지도 함께 기록해보겠습니다. 사담)참고로, 저는 시험을 두 번 치렀습니다. 4월 초에는 유형 변경에 대한 정보가 거의 없을 때라 "기존 유형으로 학습해서 가도 괜찮다"는 얘기를 듣고 갔는데... (완전히 잘못된 정보) 그 당시 모든 강의의 실습들이 제대로 업데이트 되지 않았을 때였어요. udemy, killer.sh 만 하더라도 신규 유형이 거의 반영되지 않았습니다. 결국 이전 버전 위주로 공부를 해서 갔고 결과는 반타작이었습니다 ^^.. 처음 보는 설치 문제에 얼마나 당황을 했던지.. 2025. 5. 1. Iceberg 에 대해 알아보자 | Architecture 및 도입 이유 목차 LIST Iceberg의 등장 배경HDFS에 Hive를 연동하여 사용하다 보면, 데이터가 수정/삭제되지 않아 불편한 상황이 발생할 수 있습니다.HDFS는 파일 단위로 삭제가 가능하지만, 데이터는 수정이 불가능해 재적재해야 하는 상황이 종종 발생합니다. 이러한 문제를 해결하기 위해 Kudu와 같은 대안과 다양한 방법들이 제시되었습니다.참고로, Kudu는 실시간 분석을 위한 스토리지 엔진으로 데이터 삽입, 업데이트, 삭제가 가능합니다.Apache Iceberg는 이러한 방법들 중 하나로 Netflix에서 개발된 기술로, 이후 Apache 프로젝트로 오픈소스화 되었습니다. Iceberg는 대규모 데이터셋에서 효율적인 데이터 관리와 성능 유지를 목표로 하며, 데이터 수정 및 삭제 기능을 유연하게 제공합니.. 2024. 8. 23. Debezium에 대해 알아보자 | 사용 방법 및 MySQL 연동 목차 LIST Debezium이란?Change Data Capture(CDC)를 구현하는 오픈소스 플랫폼입니다.CDC란 데이터베이스에서 발생하는 변경 사항(INSERT, UPDATE, DELETE)을 실시간으로 캡쳐하여 이벤트 형태로 다른 시스템으로 전송하는 기술입니다. Debezium은 이러한 변경 이벤트를 Apache Kafka와 같은 스트리밍 시스템으로 전달하여 다른 저장소로 실시간 데이터베이스 변경 사항을 처리할 수 있도록 합니다.Debezium 사용 방법아래는 Debezium을 사용하는 세 가지 방법에 대해 소개합니다. 1. Debezium Kafka Connect대부분의 경우, Debezium은 Apache Kafka Connect를 통해 배포됩니다.Kafka Connect는 아래 사항을 구.. 2024. 8. 19. Flink - checkpoint 옵션 및 재시작 전략 목차 LIST Implement Checkpointing in a Flink Program상태를 장애 내성 상태 (fault tolerant)로 만들기 위해서는 Flink가 상태를 체크포인팅해야 한다.체크포인팅은 몇 가지 파라미터를 설정하여 구현할 수 있으며, 이 파라미터들은 환경 객체를 사용하여 설정된다. 스트림 실행 환경의 ENV 객체를 사용하여 이 파라미터들을 설정한다.StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); 1. enableCheckpointing기본적으로 체크포인팅은 비활성화 되어 있으며, 이 메서드를 사용하여 활성화한다. 인수는 체크포인팅 시간을 밀리초 단위로 전달한다.Flink가.. 2024. 8. 19. Flink - State, Checkpointing and Fault Tolerance 상세 내용 개요목차 LIST What is a State in FlinkFlink Checkpoints : Flink의 내결함성(Fault Tolerance)을 달성하기 위한 매우 중요한 개념이다.state가 뭔지, state의 유형, 체크포인팅을 사용하여 어떻게 구현되는지에 대해 논의한다. State(상태)?스트림 처리 환경에서, 상태를 특정 시점에서의 연산자의 스냅샷 으로 간주할 수 있다.과거의 입력과 이벤트에 대한 정보를 기억하고, 미래의 출력을 결정하는데 사용될 수 있다. 시스템의 상태는 특정 시점까지 애플리케이션에서 발생한 모든 일을 알고 있다.상태는 개별 요소(individual elements)나 이벤트 처리 동안 데이터를 저장할 수 있으며, 저장된 상태 또는 데이터의 스냅샷은 애플리케이션을 복구.. 2024. 8. 19. Flink Memory에 대해 알아보자 목차 LIST Flink MemoryTotal Process Memory정의 : Flink 작업 프로세스 전체에 할당되는 메모리설명 : Flink 프로세스가 사용할 수 있는 전체 메모리로 Flink 외부의 다른 프로세스에 영향을 줄 수 있음JVM Metaspace : 클래스 메타데이터를 저장하는 영역으로 클래스와 메서드 정보 등 저장JVM Overhead : JVM 내부 운영에 필요한 메모리로 Flink 작업에서 사용하는 메모리 외에 JVM 운영용Total Flink Memory정의 : Flink 작업에 할당된 전체 메모리설명 : Flink 클러스터에서만 사용되는 메모리로 Flink 작업에만 영향을 줌 Total Process Memory참고 : 메모리 구성 충돌로 배포 오류가 발생할 수 있으므로.. 2024. 5. 21. 이전 1 2 3 4 ··· 16 다음 반응형