L
LY Corp
October 29, 20252회
코드 품질 개선 기법 21편: 생성자를 두드려 보고 건너라

간단 소개
코드 생성 후 객체가 유효하지 않은 상태로 사용되는 문제를 해결하기 위한 세 가지 코드 품질 개선 기법을 제시한다.
AI Summary
문제점 인식 및 목표
FooVideoPlayer처럼 생성자 후 준비되지 않은 상태로 사용될 수 있는 클래스는 버그의 원인이 됨.- 목표는 잘못 사용할 수 없도록 코드를 개선하는 것. 생성 시점 초기화
- 생성자나 이니셜라이저에서
prepare로직 실행. 장점은 속성을 읽기 전용으로 만들 수 있으나, 초기화되지 않은 속성 접근 버그 가능성. - 복잡한 로직이나 부작용이 큰 경우, private 생성자와 팩토리 함수를 활용하여 초기화 로직을 분리. 지연 초기화 및 타입 강제
play호출 시점에prepare를 실행하는 지연 초기화 방식 (예: Kotlin의 lazy).prepare비용이 높고play가 자주 호출되지 않을 때 유용.- 정적 타입을 활용하여
prepare전/후 타입을 분리, 컴파일 시점에 잘못된 사용 방지.FooVideoPlayer와PreparedFooVideoPlayer로 분리하여 단계적 초기화 상태 관리.
Next Feeds

포스를 확장하는 가장 빠른 방법, 포스 플러그인
토스플레이스는 오프라인 매장의 다양한 요구사항을 충족하고 기존 제휴 방식의 문제를 해결하기 위해 포스 플러그인 시스템을 도입하여 기능 확장성과 안정성을 확보하고 개발 편의성을 높였다.
토스 포스플러그인SDK웹 워커제휴
2025. 10. 29.
토스

리멤버앤컴퍼니의 Amazon S3 Tables를 활용한 실시간 분석 워크로드 구축하기 1부: S3 Tables에 CDC 데이터 레이크 구축하기
리멤버앤컴퍼니가 Amazon S3 Tables와 CDC를 활용해 기존 데이터 처리 비효율성을 해결하고 실시간 분석 워크로드를 구축한 과정.
S3 TablesIcebergCDCDebeziumAmazon MSK
2025. 10. 29.
AWS

리멤버앤컴퍼니의 Amazon S3 Tables를 활용한 실시간 분석 워크로드 구축하기 2부: S3 Tables를 프로덕션 환경에서 운영하기
리멤버앤컴퍼니가 Amazon S3 Tables를 프로덕션 환경에서 운영하며 Compaction, Snapshot 관리, PyIceberg 모니터링, StarRocks on EKS 도입으로 실시간 분석 워크로드를 최적화한 사례.
S3 TablesIcebergStarRocks실시간 분석Compaction
2025. 10. 29.
AWS

MCP 보안 위협과 실무 대응 전략 알아보기
MCP 환경의 주요 보안 위협(프롬프트 인젝션, 자격증명 탈취, 공급망 변조 등)과 이에 대한 실무적 대응 전략(최소 권한, 검증된 서버, 시크릿 관리, 환경 격리, 모니터링)을 설명합니다.
MCP 보안프롬프트 인젝션자격증명 탈취최소 권한 원칙시크릿 관리
2025. 10. 29.
인포그랩

미리 봅시다!@SK AI SUMMIT 2025 (+ 현장등록 방법, '숨은맛집' 세션소개 포함)
SK AI SUMMIT 2025의 행사 정보, SK플래닛의 발표 주제, 그리고 놓치지 말아야 할 '숨은 맛집' 세션들을 소개한다.
SK AI SUMMITAISK플래닛현장등록로보틱스 AI
2025. 10. 29.
skplanet

RabbitMQ Classic Queue 메모리 장애와 Quorum Queue 전환기
올리브영이 대량 쿠폰 발급 중 발생한 RabbitMQ 메모리 장애를 Quorum Queue로 전환하여 해결한 과정과 성과를 공유합니다.
RabbitMQQuorum QueueClassic Mirrored Queue메모리 장애대량 쿠폰 발급
2025. 10. 28.
올리브영