안녕하세요! 드디어 웨딩홀 계약을 마친 예비신랑입니다 ㅎㅎ 결혼 준비하면서 웨딩홀 선택이 제일 중요하다는 얘기를 많이 들었는데, 정말 맞는 말이더라고요. 저희도 안양 지역으로 거의 확정하고 여러 곳을 돌아다녔는데 생각보다 고민이 많았어요. 처음엔 '그냥 괜찮아 보이는 데 가면 되지 않나?' 싶었는데, 막상 발품 팔면서 보니까 각각 미묘한 차이들이 있더라구요. 홀은 예쁜데 주차가 안 되거나, 주차는 되는데 위치가 애매하거나... 완벽한 곳을 찾기가 생각보다 쉽지 않았어요. 그래도 결론부터 말하자면! 저희는 안양웨딩홀 더파티움 안양에서 계약했고, 너무너무 만족스러워서 이렇게 후기 남깁니다~ 안양 웨딩홀 투어 시작!사실 처음엔 인터넷으로만 보고 한두 군데만 가볼까 했는데, 와이프가 "그래도 직접 봐야지"라면..
클래스의 역할 ― “노트북 파일을 실제 파일시스템(또는 원격)에 안전하게 저장·조회·이동·삭제”구현 인터페이스AbstractNotebookRepo (Zeppelin 공통 저장소 추상 클래스)핵심 책임① 저장(save) ② 조회(get) ③ 목록(list) ④ 이동(move) ⑤ 삭제(remove) ⑥ 설정 조회/갱신주요 기술Apache VFS(Virtual File System) — 로컬·HDFS·S3·FTP 등 다양한 스킴을 하나의 API로 다룸 왜 VFS인가?Zeppelin 노트북은 로컬 디스크뿐만 아니라 S3, HDFS, WebDAV 등으로도 저장될 수 있음.Apache VFS는 스킴별 구현체(FileProvider)만 설정하면 동일한 코드로 모든 스토리지를 다룰 수 있는 추상화 계층을 제공함. 필..
.github/actions/tune-runner-vm/action.ymlGitHub Actions “Composite Action” 내에서 리눅스 러너(특히 GitHub-hosted Ubuntu 러너)를 부팅한 즉시 / 초기에 실행되는 셸 스크립트를 정의함.핵심 목적은 러너 자신의 호스트네임 → IP 역방향 조회가 제대로 해결되지 않아 발생할 수 있는 DNS 지연을 없애는 것임. Composite Action 컨텍스트name: Tune Runner VM performancedescription: tunes the GitHub Runner VM operation systemruns: using: composite steps: - run: | ... shell: bashrun..
base 활성화시 에러conda activate base# CondaError: Run 'conda init' before 'conda activate' 해결하는 명령어 입력conda init zsh# no change /opt/homebrew/Caskroom/miniconda/base/condabin/conda# no change /opt/homebrew/Caskroom/miniconda/base/bin/conda# no change /opt/homebrew/Caskroom/miniconda/base/bin/conda-env# no change /opt/homebrew/Caskroom/miniconda/base/bin/activate# no change /opt/ho..
버전 고정이 필요한 이유CI 환경(특히 ubuntu-latest 러너)은 크롬 계열 브라우저와 드라이버를 자동 업데이트함.Selenium, Playwright, Puppeteer 테스트가 다음과 같은 증상을 보인다면 의심해 봐야 함. 1. 테스트가 갑자기 Unknown error: cannot find Chrome binary 로 실패러너의 크롬은 업데이트됐지만 드라이버는 구버전 2. session not created: This version of ChromeDriver only supports Chrome X드라이버는 최신이지만 크롬이 구버전 3. 헤드리스 모드에서 렌더링 차이 및 스크린샷 불일치메이저 버전 간 렌더링 엔진 변경 테스트 신뢰도를 높이려면 테스트 대상과 자동화 드라이버를 같은 메이저 버..
클래스의 역할과 배경SparkUtils 는 Zeppelin ↔ Spark 통합 계층에서 Spark 1.x ↔ Spark 2.x/3.x API 차이를 흡수하기 위해 설계된 추상(base) 유틸리티 클래스임. 실제 런타임에서는 리플렉션으로 Spark 버전에 맞는 구체 서브클래스(Spark1Utils, Spark2Utils 등)를 로드하지만, 공통으로 재사용할 수 있는 기능들은 이 베이스 클래스에 구현돼 있음주요 책임은 세 가지임. Job TrackingSparkListener를 등록해 JobStart 이벤트가 발생할 때마다 Spark Web UI (URL) 정보를 노트/문단 단위로 Zeppelin 프론트엔드에 push. DataFrame 렌더링Dataset를 Zeppelin 프론트엔드가 인식하는 %table..
Spark Submit Interpreter가 하는 일SparkSubmitInterpreter는 Apache Zeppelin의 Interpreter Framework 안에서 %spark-submit 매직 명령을 제공하는 클래스임.사용자가 Zeppelin 노트북 셀(Paragraph)에서 Spark CLI( spark-submit )를 그대로 호출할 수 있게 해 줌. Zeppelin ↔ Shell ↔ Spark 흐름을 중개하며, Spark UI URL, YARN Application ID 등 실시간 메타데이터를 추출, 전송해 Zeppelin 프런트엔드에 작업 상태를 시각화함.Spark 클러스터 유형(YARN, Stand-alone, Local 등)에 상관없이 동작하도록 설계돼 있지만, YARN 모드일 때는..
원본 코드zeppelin/elasticsearch/src/main/java/org/apache/zeppelin/elasticsearch/client/ElasticsearchClient.java/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (..