본문 바로가기

전체 글143

Flink Architecture 공식문서로 이해하는 스트리밍 아키텍처 목차 Flink ArchitectureFlink는 분산 시스템으로, 스트리밍 애플리케이션을 위해 컴퓨팅 리소스의 효과적인 할당과 관리가 필요하다.Hadoop YARN, k8s 같은 일반적인 클러스터 리소스 매니저와 통합되지만, standalone 이나 라이브러리 형태로도 실행 가능하다. Anatomy of a Flink Cluster (Flink 클러스터의 구조)Flink는 두 종류의 프로세스로 구성된다. :JobManager 하나와 다수의 TaskManagerClient는 클러스터가 아니라 단순한 Job 제출 도구이다. Flink 코드 (JAR)를 받아서 실행 가능한 형태(dataflow graph)로 변환한 다음 JM에게 전송하는 역할을 한다. Job을 JM에게 넘기고 나면, 클라이언트가 죽어도 J.. 2026. 4. 15.
tool-use vs MCP - MCP로 바꿔야 할까? 개요현재 진행중인 프로젝트는 tool-use 기반으로 구성되어 있다.MCP와는 뭐가 다른지, MCP로 바꾸는 게 나을지 아니면 지금 구조가 더 맞는지 정리해봤다. 우리 프로젝트의 흐름먼저 우리가 만들고 있는 파이프라인의 동작 순서는 이렇다. 1. Airflow DAG가 실패하면 관련 정보를 담은 쓰레드가 작성된다.2. Claude Agent가 tool로 쓰레드를 읽는다. (read tool)3. 글에서 DAG ID 같은 정보를 Claude가 직접 판단한다.4. Airflow / Spark tool로 원인을 조사한다. (조건부 tool 선택)5. 분석결과를 댓글로 작성한다.6. 후속 액션이 필요한 경우 슬랙 등으로 알림을 보낸다. (조건부)7. 사용자가 승인 버튼을 누르면 작업을 실행한다. 이런 구조를 커.. 2026. 4. 11.
Claude SDK vs Anthropic SDK 차이점 목차 개요현재 Claude를 활용한 자동화 시스템을 개발하고 있다. 이 글에서는 우리 프로젝트에 적합한 SDK가 무엇인지 알아본다.다음은 동작 과정 중 하나의 예시이다. Airflow DAG 실패가 감지되면 Claude가 로그를 분석해 원인과 조치 방안을 제안한다. 이후 사용자의 승인을 받아 DAG 재시작 등의 조치를 수행한다.이처럼 정해진 플로우 안에서 Claude가 판단을 담당하는 구조이다. 차이점Claude Agent SDK(@anthropic-ai/claude-agent-sdk)핵심 개념 : Claude Code 인프라 기반 자율 에이전트제어 방식 : Claude가 스스로 판단하며 반복 루프기본 제공 도구 : bash, 파일 읽기/쓰기, 웹 검색 내장외부 시스템 통합 : MCP 서버로 연결 (AP.. 2026. 4. 8.
하네스 엔지니어링이란? OpenAI 사례 분석 목차 개요말에 채우는 마구에서 왔다. 말을 제어하고 원하는 방향으로 끌기 위한 장치로 소프트웨어에서도 같은 의미로 "무언가를 묶고 제어하는 틀"이라는 뜻으로 쓰인다. 소프트웨어에서의 하네스복잡한 것들을 하나의 틀 안에 묶어서, 표준화된 방식으로 제어하는 구조혼자서는 제각각인 도구들을 하네스가 감싸서 일관되게 다룰 수 있게 해준다. 하네스는 원래 사용하던 용어이다.테스트하네스라는 말은 코드를 테스트할 때 여러 테스트 케이스를 자동으로 돌려주는 틀이다.각 테스트를 일일이 실행하는게 아닌 하네스에 걸어두면 알아서 돌아가는 구조이다.AI 평가 하네스 (LM Evaluation Harness) 라는 말은 LLM 모델을 평가할 때, 수십 가지 벤치마크 테스트를 하나의 틀에 걸어서 자동으로 돌리고 "이 모델이 얼마나.. 2026. 4. 5.
Cursor에서 Kotlin 단축키(cmd+b) 안 될 때 해결 방법 cursor 에서 kotlin 인식이 잘 안되는지 short cut 으로 cmd+b 가 실행되지 않는 문제가 발생했다. kotlin과 IntelliJ IDEA Keybinding 익스텐션을 설치했지만, 여전히 동작되지 않았다.참고로 해당 익스텐션은 단축키 매핑만 시켜주는거라 이번 문제의 핵심은 아니었고,핵심 문제는 kotlin lsp 가 비활성화 상태였다는 점이다. 문제 해결 방법 공유 vscode-kotlin 에 나와 동일하게 vscode에 kotlin 이 연동되지 않는 문제가 있다는 것을 발견.https://github.com/fwcd/vscode-kotlin/issues/35 settings.json 에 설정이 이렇게 되어있지는 않은지 확인하라고 했다."kotlin.languageServer.ena.. 2025. 9. 2.
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.