Articles

아티클

현업 개발자들이 실전에서 쓴 기술과 성장의 기록.

[Troubleshooting] 동시 접속 30만(CCU) 속에서 살아남기Grit Original
회고#시스템설계

[Troubleshooting] 동시 접속 30만(CCU) 속에서 살아남기

외부 서비스 장애 전파 차단 전략 > "외부 서비스의 장애가 내 서비스의 죽음을 의미해선 안 된다."

347Velog
3달 전
★ 멘토 픽"실전 트러블슈팅 사례. 이론만으로는 알 수 없는 것들."
G

대규모 트래픽에서 티켓 예매하는 시스템 만들기-트레이드오프(동시성 문제, ....)

Grit Original

대규모 트래픽에서 티켓 예매하는 시스템 만들기-트레이드오프(동시성 문제, ....)

오픈 1분만에 10만명의 동시 접속이 예상되는 가운데 만 석의 티켓을 예매해야하는 상황이 있다고 하자 1. 이 상황에서 해결해야할 가장 핵심적인 기술적 문제는 동시성문제(race condition)-> overbooking 되지 않도록(정합성 문제). 트래픽 문제(가용성 - 시스템이 살아남느냐의 문제)도 있음!! 2. 이 문제를 해결하기 위해 시스템이 반드시 만족해야할 기술적인 조건(비기능 요구사항)은 더보기 정합성 (Correctness) — 가장 우선순위 높음 판매된 티켓 수 ≤ 재고(10,000)가 모든 상황에서 보장되어야 함...

208Tistory
3주 전
당신은 코딩을 하고 있습니까, 서비스 개발을 하고 있습니까?Grit Original
기술 에세이#redis#동시성

당신은 코딩을 하고 있습니까, 서비스 개발을 하고 있습니까?

Redis 기반 한정판 운동화 쇼핑몰 설계를 통해 바라본 개발 관점의 변화. 기능 구현 중심 개발에서 서비스 설계로 확장된 경험을 정리했습니다.

★ 멘토 픽"서비스 개발은 기능 넘어 가치 창출입니다. Redis 설계로 보니, 데이터 전략이 서비스 성공의 핵심이더군요."
ObjectMapper는 단순 JSON 변환기가 아니었다
기술 에세이#Backend#Java

ObjectMapper는 단순 JSON 변환기가 아니었다

외부 API 응답 JSON을 DTO로 변환하는 단위 테스트에서 출발해, 늘 쓰면서도 잘 몰랐던 Jackson ObjectMapper의 내부를 뜯어본다. ObjectMapper가 단순 유틸이 아니라 jackson-core(스트리밍)·databind·annotation 계층을 잇는 중심 진입점이라는 점, JsonParser/JsonGenerator와 트리 모델까지 구조를 짚어준다. 시리즈 1편.

velog큐레이션
39
1주 전
성장 에세이

내가 생각하는 AI 페어 프로그래밍

Grit Original
성장 에세이#페어프로그래밍#AI활용

내가 생각하는 AI 페어 프로그래밍

accept와 reject

339GitHub Blog
2달 전
SOLID를 외웠지만, 면접관은 왜 필요하냐고 물었다.Grit Original

SOLID를 외웠지만, 면접관은 왜 필요하냐고 물었다.

"왜 필요한데요?" 면접에서 "SOLID 원칙 아시나요?"라는 질문에 5개 원칙을 말했다. Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, Dependency Inversion. 면접관이 고개를 끄덕이며 후속 질문을 한다. "그래서, 왜 필요한데요?" 이 순간 침묵이 흐른다면, 이력서에 적힌 "SOLID"는 오히려 마이너스가 된다. 외운 사람과 이해한 사람의 차이가 드러나는 지점이기 때문이다. 나는 이 질문 앞에서 멈춘 적이 있다. 이 글...

★ 멘토 픽"SOLID 원칙을 실제 문제 해결에 적용하는 고민이 돋보이는 글이네요, 꾸준히 실력 향상에 힘쓰세요!"
성장 에세이

일 잘한다는 말을 들어본 적 없는 개발자에게

Grit Original
성장 에세이#성장#커리어

일 잘한다는 말을 들어본 적 없는 개발자에게

멘토링을 하다 보면 3년 차인데 한 번도 그 말을 못 들었다는 개발자를 봅니다. 회사 탓, 팀장 탓을 하지만 같은 팀에 인정받는 사람은 꼭 있습니다. 무엇이 다른 걸까요.

0블로그
오늘
우당탕탕 IDC → EKS 이관 후기
기술 에세이#DevOps#Architecture

우당탕탕 IDC → EKS 이관 후기

사내 어드민 서비스를 온프레미스 IDC에서 AWS EKS로 옮긴 실전 이관 회고. Docker Swarm에서 EKS로, ArgoCD GitOps와 Blue/Green 배포까지 적용하며 마주친 문제를 솔직하게 정리한다. dev는 멀쩡했는데 staging에서 줄줄이 터진 외부 API 호출·DB 복호화 실패, 파일 업로드 하나가 드러낸 숨은 의존성까지 단계별로 풀어낸다.

velog큐레이션
43
1주 전
기술 에세이

사례를 통한 멱등성의 중요성

Grit Original
기술 에세이#시스템 설계

사례를 통한 멱등성의 중요성

1. 멱등성이란?멱등성(Idempotency)이란 동일한 요청이 여러 번 수행되더라도 결과는 한 번만 발생하는 성질을 의미한다.HTTP 관점에서 보면 GET이나 PUT은 멱등성을 가지는 메서드로 분류되지만, POST는 기본적으로 멱등하지 않다. 이 정의 자체는 비교적 잘 알려져 있다.그렇다면 실제 서비스, 특히 결제와 같이 금전이 오가는 영역에서는 멱등성이 어떻게 활용될까? 이제 이 개념이 실무에서 어떤 의미를 가지는지 살펴보자. 2. 실무에서의 멱등성실제 결제 시스템에서 발생할 수 있는 상황을 하나 가정해보자. 1. 사용자가 결제 요청을 보냈다. (주문번호 :15834)2. 서버 응답이 지연되어 타임아웃이 발생했다.3. 사용자는 결제가 실패한 것으로 생각하고 다시 요청을 보냈다.4. 이후 결제 성공 응..

★ 멘토 픽"멱등성은 동일한 요청을 반복해도 결과가 변하지 않아 안정성을 높인다. 사례를 통해 실무에서 중요성을 느낄 수 있다."

바이브코딩만으로 프로젝트를 완성하려던 자의 실패 기록 - 회귀

Grit Original

바이브코딩만으로 프로젝트를 완성하려던 자의 실패 기록 - 회귀

그릿모먼츠 멘토링에서 이제 나의 시그니처 개인프로젝트를 진행하게 되었다. 나는 남들보다 공부하면서 이해하는 속도가 조금 느리고, 완벽히 이해한 뒤에야 다음으로 넘어갈 수 있는 미친(n) 성향의 소유자다. 그래서 그간 그릿모먼츠 1-3주 과제 하는 동안에도 매주 일주일 안에 과제를 완성해내지 못해서, 스스로도 너무 조급하고 자괴감들고 자신감이 없어지고 그랬었는데, 이게 프로젝트가 시작되니 더더욱 '내 속도로는 시간이 너무 없다'라고 판단이 됐다. 그래서 그냥 모든 결정들을 클로드코드한테 맡겨버리기 시작했다. 처음엔, 어차피 이 똑똑한...

[FairBid] 1인 개발자의 QA 생존기: '자율형 AI 에이전트'로 검증 사각지대 해소하기

프로젝트
Grit Original
프로젝트#프로젝트 회고

[FairBid] 1인 개발자의 QA 생존기: '자율형 AI 에이전트'로 검증 사각지대 해소하기

전통적인 규칙 기반 테스트가 놓치는 빈틈을 잡기 위해 자율성을 가진 12명의 페르소나 에이전트를 투입하여 개발자의 상상력이 닿지 않는 시스템의 사각지대를 집요하게 탐색했습니다. 이 과정에서 세 차례의 반복 시뮬레이션을 통해 오버플로우 공격과 UX 보안 공백 등 실질적인 결함 16건을 발견하며 1인 개발 환경에서도 공학적이고 정교한 검증이 가능함을 확인했습니다. 결국 AI는 단순한 기능 구현의 도구를 넘어 설계자의 논리적 편향을 깨고 시스템의 완성도를 함께 책임지는 가장 든든한 동료라는 사실을 배울 수 있었던 실험이었습니다.

Codex로 1시간 30분 만에 위스키 재고 알림봇 만든 후기
기술 에세이#AI#개발도구

Codex로 1시간 30분 만에 위스키 재고 알림봇 만든 후기

OpenAI Codex로 기획부터 테스트까지 1시간 30분 만에 위스키 재고 알림 로컬 앱을 완성한 핸즈온 후기입니다. 크롤링으로 모은 글을 Ollama 로컬 모델(qwen3)로 한 번 더 걸러 오탐을 줄이고, macOS 알림까지 연결한 전체 과정을 담았습니다. 코드를 직접 짜는 시간보다 원하는 것을 말로 정확히 정리하는 시간이 더 중요해졌다는 깨달음이 핵심입니다.

velog큐레이션
73
2주 전

[JAVA] PriorityQueue - 우선순위 큐

기술 에세이
Grit Original
기술 에세이#자바#우선순위 큐

[JAVA] PriorityQueue - 우선순위 큐

기존에 큐에 대해서 다룬적이 있었는데, 이번 주차 알고리즘은 '그래프'! 였다! 그래프 이론에 대해 공부하다가 우선순위 큐에 대해 알아야할 것 같아서 따로 빠르게 정리해보고자 한다! 01. PriorityQueue란? 일반적인 큐의 구조 FIFO(First In First Out)를 가짐 대신, 들어온 순서대로 나가는 것이 아닌 우선순위를 먼저 결정하고 높은 데이터가 먼저 나가는 자료구조 * 우선순위큐에 저장할 객체는 Comparable Interface를 구현해야한다 ->이때 comparaTo method를 오바라이드하여 구현해줘...

306Tistory
3달 전
AI가 다 해주는데 신입인 저는 뭘 해야 하죠? — 8개월차 후배가 물었다Grit Original
성장 에세이#신입개발자#AI시대

AI가 다 해주는데 신입인 저는 뭘 해야 하죠? — 8개월차 후배가 물었다

"AI가 있는데 제가 꼭 필요한가요?" 8개월차 후배가 물었다. SI 3년차인 내가 했던 고민과 똑같았다. 코드를 잘 짜는 것보다 중요해진 건 "질문하는 능력"이었다. 커피챗에서 나눈 이야기, 그리고 끝나고 내가 배운 것을 정리했다.

332Velog
2달 전

AI를 효율적으로 활용하는 법

Grit Original

AI를 효율적으로 활용하는 법

기획 설계 개발 테스트 배포 마케팅.홍보 영업 promt (코드 아닐 때)- 역할 지정. 맥락 설명. 명령. 출력 형식. 예시 or 단계별 명령 but 한 번에 많은 것 시키지 않는게 좋음 코드 (cli-plan모드로 우선 설계부터. plan mode로 프롬프트까지, 질문할 때는 (맥락. 제약사항. 트레이드오프 등을 포함한 질문). 답을 얻었을 때는 교차 검증 및 비판적 사고를 통한 재질문도 가끔 필요) 새로운 개념 학습( 가장 쉽게 설명을 부탁하기 ai에게.)-> 적용해보기 . 너무 많을 때는 백로그 /resume? 맥락 복사하는...

241Tistory
3주 전
Spark Connect on Kubernetes #1: 견고한 Spark Connect 만들기
기술 에세이#Backend#DataEngineering

Spark Connect on Kubernetes #1: 견고한 Spark Connect 만들기

여러 세션이 한 Spark Connect 서버에 몰리면 무거운 작업 하나가 다른 사용자까지 지연시키고, 서버가 죽으면 전체 세션이 함께 무너지는 자원 경합과 장애 전파 문제가 생깁니다. 토스가 이 문제를 쿠버네티스 환경에서 세션 격리와 장애 격벽으로 풀어낸 설계 과정을 단계별로 공유합니다.

토스 기술 블로그큐레이션
63
2주 전

아키텍처의 본질

Grit Original
성장 에세이#아키텍처#비즈니스

아키텍처의 본질

내가 생각하는 아키텍처란..

330GitHub Blog
2달 전
성장 에세이

매일 공부하는데 실력이 늘지 않는 개발자에게

Grit Original
성장 에세이#성장#공부법

매일 공부하는데 실력이 늘지 않는 개발자에게

하루에 세 시간씩 공부한다는 개발자가 있었습니다. 유튜브 강의, 기술 블로그, 공식 문서까지 꾸준히 보고 있었습니다. 그런데 6개월이 지나도 코드를 짜는 방식이 달라지지 않았습니다.

19블로그
어제
기술 에세이

API 기반 크롤링?

Grit Original
기술 에세이#API#JSON

API 기반 크롤링?

여기서 핵심은 **“크롤링 = 인터넷에서 데이터 수집”**인데, 방법이 두 가지가 있습니다. 1) API 기반 수집 (= 합법적이고 안정적) 카카오, 네이버 같은 포털은 **“API”**라는 공식 통로를 제공합니다. 이 API는 단순히 HTML을 긁는 게 아니라 **JSON 형식의 데이터(가게 이름, 주소, 전화번호, 좌표 등)**를 정리해서 줍니다. 이걸 사용하려면 카카오 개발자센터에서 API Key를 발급받아야 합니다. → 왜? 누가 얼마나 호출했는지 추적하고, 트래픽을 제한하기 위해서예요. 즉, 장점: 구조화된 데이터, 법적 ...

하네스엔지니어링으로 죽은 프로젝트 되살리기
기술 에세이#AI#Architecture

하네스엔지니어링으로 죽은 프로젝트 되살리기

방치된 레거시 어드민 프로젝트를 Codex와 Claude Code, 사람이 역할을 나눠 되살린 실전 회고. Codex는 마이그레이션 계획과 API 인벤토리로 작업을 정리하는 조율자, Claude Code는 구현과 검증을 맡는 실행자, 사람은 전략적 의사결정을 담당한다. 작업 상태를 단계로 관리하고 도메인, 애플리케이션, 인프라 계층을 분리해 AI를 프롬프트가 아니라 구조로 부린다.

velog큐레이션
87
2주 전

20 / 364개의 아티클