최신 글
-
코드를 넘어, '위대한 개발자'의 길을 묻다
더 개발자, 커리어 가이드 Review코드를 넘어, '위대한 개발자'의 길을 묻다8년 차 백엔드 엔지니어로 일하며 늘 마음 한편에 풀리지 않는 질문이 있었습니다. 마틴 파울러의 글에서 느껴지는 깊은 통찰력, 리누스 토르발즈가 보여준 기술적 리더십, 실리콘밸리의 엔지니어들이 당연하게 갖추고 있다는 프로페셔널리즘. 그들을 '위대한 개발자'로 만드는 코드 너머의 역량은 과연 무엇일까?AI가 개발을 대신해주는 지금, 이 질문은 더욱 선명해졌습니다. 이제 우리의 역량은 단순히 기능을 구현하는 것을 넘어, 더 높은 차원의 가치를 창출하는 데서 증명되어야 합니다. 저는 그 해답의 실마리를 이 강의에서 찾을 수 있었습니다. 이 강의는 저의 막연한 궁금증에 명확한 이정표를 제시해 주었습니다.'기술력'의 재정의: 견고한 ..
2025.08.18
-
AI 시대, 더욱 중요해진 클린 코드 - 백기선의 리팩토링 강의 후기
8년차 백엔드 엔지니어로서 AI 시대를 맞이하며 느끼는 것이 있다. 많은 개발자들이 "이제 AI가 코드를 다 짜주니까 코드 품질은 중요하지 않다"고 생각하는데, 오히려 반대다. AI도 결국 사람과 같이 사고하고, 좋은 이름과 명확한 구조가 있어야 맥락 파악이 쉽기 때문이다.그런 차에 백기선님의 리팩토링 강의를 듣게 되었는데, 정말 시의적절한 강의였다.왜 지금 리팩토링이 더 중요한가?네이버, 아마존, 마이크로소프트를 거친 백기선님의 실무 경험이 고스란히 녹아있는 이 강의에서 가장 인상 깊었던 부분은, 리팩토링이 단순히 코드를 예쁘게 만드는 게 아니라는 점이었다.예를 들어, 강의에서 나온 이런 메시지 체인을 보자:this.member.getCredit().getLevel().getDescription()이런..
2025.08.18
-
All of Dead Lock
1. 데드락이란?정의 : 두 개 이상의 트랜잭션(또는 스레드)이 서로가 보유한 자원을 기다리며 영원히 진행하지 못하는 상태.필수 4조건(Coffman)상호 배제(Mutual Exclusion)점유-대기(Hold and Wait)비선점(No Pre-emption)순환 대기(Circular Wait)상호 배제 (Mutual Exclusion)정의: 자원은 동시에 하나의 트랜잭션(또는 스레드)만이 사용할 수 있어야 한다는 조건입니다.예시: 어떤 트랜잭션이 특정 행(row)을 SELECT … FOR UPDATE로 잠갔다면, 그 잠금이 해제되기 전까지 다른 트랜잭션은 해당 행을 수정할 수 없습니다.필요성: 대부분의 자원(DB row, 파일 핸들 등)은 동시에 여러 주체가 수정하면 데이터 정합성이 깨지기 때문에 상..
2025.06.15
-
소프트웨어 아키텍처 패턴 문서화 템플릿 및 예시
✅ 패턴 설명 템플릿항목 설명Name (이름)패턴의 명칭. 간결하고 핵심 개념을 잘 드러내야 함.Context (맥락)이 패턴이 적용되는 일반적인 시스템 환경 또는 상황.Problem (문제)패턴이 해결하고자 하는 근본적인 문제나 어려움. 시스템 관점에서 어떤 제약이나 한계가 존재하는지 설명.Forces (제약 요인)문제 해결을 어렵게 만드는 상충되는 요구사항이나 시스템 제약. 예: 지연 시간 vs 일관성Solution (해결책)문제를 해결하기 위한 일반적인 설계 방식 또는 전략. 구성 요소와 흐름 등을 포함.Structure (구조)구성 요소 간의 관계를 나타내는 다이어그램 (예: Mermaid, UML 등).Resulting Context (결과 맥락)패턴 적용 이후의 시스템 특성. 해결된 점과 새롭..
2025.05.24
-
스타트업이 RDBMS 대신 선택한 조합: 디프로모션의 AWS 아키텍처 도입기
스타트업에게 있어 기술 스택 선택은 곧 서비스의 속도, 확장성, 그리고 생존력에 직결되는 중요한 문제입니다. 특히 데이터베이스 아키텍처는 초기 개발 속도와 향후 확장 가능성을 동시에 고려해야 하는 까다로운 결정이죠.오늘은 프로모션 기반 사용자 참여 플랫폼인 디프로모션이 어떻게 DynamoDB, OpenSearch, ElastiCache Serverless의 조합을 통해 기존 RDBMS 기반 구조의 한계를 극복했는지 소개해드리겠습니다.왜 RDBMS만으로는 부족했는가?디프로모션의 초기 구조는 전통적인 RDBMS에 기반하고 있었지만, 몇 가지 한계에 직면했습니다:복잡하고 유동적인 데이터 구조: 프로모션별로 다양한 형태의 데이터를 처리해야 하는데, 고정된 스키마 구조를 가진 RDBMS는 자주 변경되는 요구사항에..
2025.05.22