회고 방법론: 효과적인 성찰을 위한 실천 가이드 (Retrospective Methods)

Executive Summary 회고(retrospective)는 개인과 팀의 지속적인 성장을 위한 필수적인 실천 방법이다. 이 문서는 실무에서 활용할 수 있는 6가지 회고 방법론을 체계적으로 소개하고, 각 방법론의 특징, 적용 시나리오, 그리고 선택 기준을 제시한다. 핵심 통찰은 다음과 같다: 단순한 일상 회고에는 KPT, YWT, Start/Stop/Continue가 효과적이다 복잡한 상황이나 깊이 있는 성찰에는 ORID 또는 4L이 적합하다 회고의 목적(문제 해결 vs 학습 vs 행동 변화)에 따라 방법론을 선택해야 한다 Introduction: 왜 회고가 중요한가 회고는 단순한 과거 돌아보기가 아니다. 이는 경험을 체계적으로 분석하고, 교훈을 추출하며, 미래의 행동을 개선하기 위한 구조화된 프로세스다. 많은 조직과 개인이 회고의 중요성을 인식하고 있지만, 적절한 방법론을 선택하지 못해 회고의 효과를 충분히 누리지 못하는 경우가 많다. ...

January 1, 2025 11 min

AWS EBS, FSx, EFS for EC2: Storage Comparison (2024)

개요 ML Data platform engineering에서 Feature Store의 성능을 개선하기 위해 storage 옵션들을 검토하고 있다. Remote cache만으로는 network latency 문제가 있어서, disk storage를 활용하면 더 빠른 데이터 접근이 가능할 것으로 기대된다. 이 글에서는 AWS EC2에서 사용할 수 있는 주요 storage 옵션들을 비교 분석한다: Storage 최적화 EC2 인스턴스: 로컬에 직접 연결된 NVMe SSD로 최고의 I/O 성능 제공 EBS (Elastic Block Store): EC2에 연결되는 블록 스토리지로 높은 IOPS와 처리량 지원 FSx: 완전 관리형 파일 시스템으로 여러 EC2 인스턴스에서 공유 가능 EFS (Elastic File System): 완전 관리형 NFS 파일시스템으로 자동 확장/축소 지원 AWS EC2의 Storage 최적화 인스턴스 대용량 데이터셋에 대한 고성능 읽기/쓰기 작업이 필요한 워크로드를 위해 설계되었다. ...

November 15, 2024 9 min

hxxp와 hxxps: URL 무해화(Defanging)를 위한 http/https 대체 표기법 알아보기

URL 무해화(Defanging)란? 보안 전문가들은 악성 URL을 공유할 때 특별한 표기법을 쓴다. http 대신 hxxp를, https 대신 hxxps를 쓰는 것이다. 이런 방식을 ‘URL 무해화(URL defanging)‘라고 한다. hxxp/hxxps 표기법을 알게 된 계기 최근 ProtonMail(pm.me)의 이메일을 받아봤다. 이 회사의 개발 방식이 궁금해서 찾아보니 모든 코드를 GitHub에서 공개적으로 관리하고 있었다. 우연히 “Add checks to prevent formatting hxxps”라는 제목의 PR을 발견했다. 이 PR을 보고 hxxp/hxxps 표기법이 무엇인지, 왜 쓰는지 궁금했다. URL 무해화(Defanging)가 필요한 이유 보안 전문가들이 hxxp/hxxps 표기법을 쓰는 주된 이유는 다음과 같다: ...

November 7, 2024 2 min

2024 AWS Serverless Computing 종류 정리

1. Computing & Application AWS Lambda 소개: 이벤트 기반의 서버리스 컴퓨팅 서비스 해결문제: 짧은 실행 시간의 작업, 이벤트 처리, API 요청 처리 대체서비스: EC2, ECS, EKS 규모: 최소: 128MB 메모리, 실행시간 제한 15분 최대: 10GB 메모리, 동시실행 1000개 (증설 가능) AWS Fargate 소개: 컨테이너화된 애플리케이션을 위한 서버리스 컴퓨팅 엔진 해결문제: 컨테이너 운영에 따른 서버 관리 부담 제거 대체서비스: ECS/EKS with EC2 규모: 최소: vCPU 0.25개, 메모리 0.5GB 최대: vCPU 16개, 메모리 120GB 2. Integration & Orchestration ...

October 23, 2024 3 min

UI Bakery vs. Retool: A Comprehensive Comparison for 2024

Looking to choose between UI Bakery and Retool for building internal tools? This comprehensive comparison breaks down the key differences between these popular low-code platforms, focusing on data handling, dashboard creation, and ease of use. Data Handling and Integration Retool Retool excels in data handling and integration, making it a strong choice for operating in-house data[1][4]. It offers: Powerful integration with external data sources, including APIs, databases, and cloud services Support for SQL/NoSQL databases and services like Firebase, MongoDB, and PostgreSQL Real-time data syncing between the UI and data sources UI Bakery ...

October 21, 2024 4 min

AppWrite vs. Supabase in 2024: Which Backend Platform Should You Choose?

AppWrite vs. Supabase: A Comprehensive Comparison for 2024 In this in-depth analysis, we’ll explore the key differences between AppWrite and Supabase, two leading Backend-as-a-Service (BaaS) platforms, to help you make an informed decision for your project needs. Key Differences at a Glance Database: AppWrite leverages MariaDB, while Supabase is built on PostgreSQL Hosting Options: Both platforms provide cloud and self-hosted deployment options Language Support: AppWrite offers extensive support for 10+ languages, while Supabase specializes in TypeScript Performance: AppWrite demonstrates superior performance in stress testing Pricing Model: Both platforms feature free tiers with flexible scaling options Performance and Scalability Benchmarks Our comprehensive performance analysis reveals notable distinctions: ...

October 21, 2024 2 min

PostgreSQL Connection Modes: Session vs Transaction Mode Explained

When you’re building applications that talk to PostgreSQL, you’ll eventually hit a wall: database connections are expensive. Each connection consumes memory and resources on your database server, and there’s a hard limit to how many you can have. This is where connection poolers like PgBouncer come in, and understanding how they work can make the difference between an application that scales smoothly and one that grinds to a halt under load. ...

October 21, 2024 8 min

Golang Project Guide from A to Z: From Feature Development to Enterprise Application Design

Summary “고언어 프로젝트 가이드 A-Z"라는 주제로, 작은 프로젝트부터 엔터프라이즈 애플리케이션까지 Go 언어를 사용한 개발 방법론에 대해서 공유해보았습니다. 작은 프로젝트와 큰 프로젝트의 차이점을 설명하고, 작은 프로젝트에 적합한 간단한 코드 패턴을 소개하고, 기능 단위의 프로젝트를 위한 코드 패턴으로 Handler와 HandlerFunc 방식을 비교하고 각각의 장단점을 설명합니다. 엔터프라이즈 애플리케이션을 위한 코드 패턴으로 Domain Driven Design (DDD) 접근 방식을 소개하고, 각 레이어(Presenter, Handler, Usecase, Service, Repository, Recorder)의 역할과 장점을 설명합니다. NoSQL 데이터베이스 (DynamoDB) 사용 시의 모델링 방법을 간략히 소개합니다. 그리고 각 레이어에서의 테스트 코드 작성 방법과 모킹 도구인 counterfeiter의 사용법을 설명합니다. 애플리케이션 릴리즈를 위해 필요한 도구들(APM, 에러 모니터링, 메트릭 수집, 로그 서비스)을 소개하고 그 중요성을 강조합니다. ...

October 14, 2024 4 min

Go 도입 후 4년 간 기록

Summary Gophercon Korea 2023에서 발표한 “Go 도입 후, 4년 간의 기록"이라는 주제로 공유했습니다. Go를 도입하여 높은 트래픽을 처리하고 있으며, 주요 이슈와 해결 방법을 공유하고, Go를 통해 더 효율적이고 안정적인 서비스를 제공하기 위한 고민들을 공유합니다. Youtube Slideshare Go 도입 후 4년 간 기록 from Kyuhyun Byun

July 25, 2024 1 min

스타트업 팀이 지속적으로 움직이기 위한 리더십 간단 버전

의사결정과 업무 진행은 프로덕트를 사용하는 고객관점에서 시작한다. 고객관점이라는 말은 많이 하지만 실제로 이게 왜 사용되어야 하는지 두 가지 방면에서 설명한다. 1. 조직에서의 의사결정 측면 이런 상황은 자주 발생했을 것이라 생각한다. 서로의 팀원(혹은 조직)의 생각이 달라서 벌어진 상황이다. 각 팀원은 수단에 대해서 집착을 하게 되고 이야기가 평행선을 달리게 된다. 이때 어떻게 이야기를 하면 문제를 해결할 수 있을까? 고객이 겪는 문제 상황에 대해서 먼저 정확히 이해하는 게 필요하다. 혹은 고객에게 꼭 필요하다고 생각하는 것에 대한 정의가 필요하다. 이를 문서 최상위에 “목표”로 정의를 한다. ...

June 3, 2024 8 min