Articles

아티클

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

프로젝트

[FairBid] AI한테 덜 시켰더니 더 잘 됐다

Grit Original
프로젝트

[FairBid] AI한테 덜 시켰더니 더 잘 됐다

중고 경매 플랫폼에서 Claude에게 웹 검색까지 다 맡겼더니 토큰 폭발로 분당 1건밖에 못 돌았는데, 검색을 떼어내고 역할을 쪼개니 품질은 그대로에 비용 92% 감소, 처리량 13배 향상.

기술 에세이

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

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

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

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

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

LIS(최장증가 부분 수열)

기술 에세이
Grit Original
기술 에세이#알고리즘#동적계획법

LIS(최장증가 부분 수열)

예외 케이스 스스로 생각할 수 있어야 함. dp[i] 정의: i까지의 수열 중 가장 길게 증가하는 부분 (i를 포함한다)-->포함하든 안하든 답은 상관 없는데 주로 포함하는걸로 <점화식> dp[i] = 1 dp[i] = max(dp[j] + 1) (j < i && arr[j] < arr[i]) dp : O(n^2) dp[] 배열의 최댓값을 구하면 됨 1~i까지 중 0~i-1까지 중 이분탐색 : O(nlogn), 오름차순 정렬된 상태에서 가능한 이분탐색 -> 새로운 수열 b[] 선언. b[len]: 길이가 len인 lis의 마지막 값...

401Tistory
6달 전
ObjectMapper는 단순 JSON 변환기가 아니었다
기술 에세이#Backend#Java

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

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

velog큐레이션
121
3달 전
회고

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

Grit Original
회고#시스템설계

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

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

468Velog
6달 전
★ 멘토 픽"실전 트러블슈팅 사례. 이론만으로는 알 수 없는 것들."
기술 에세이

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

Grit Original
기술 에세이#redis#동시성

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

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

★ 멘토 픽"서비스 개발은 기능 넘어 가치 창출입니다. Redis 설계로 보니, 데이터 전략이 서비스 성공의 핵심이더군요."
프로젝트

[SI에서 프로덕트 엔지니어로 #5] if의 숲을 피하는 법 — 리뷰어를 어디에 둘 것인가

Grit Original
프로젝트#SI개발자전환기#책임

[SI에서 프로덕트 엔지니어로 #5] if의 숲을 피하는 법 — 리뷰어를 어디에 둘 것인가

개발을 할때 도메인이 무너지는 순간이있다. 나는 도메인을 지키고 싶었다. SI에서 봤던 if의 숲을 반복하고 싶지 않았다. 질문을 바꾸자 답이 보였다. "이 책임은 누구의 것인가?"

425Velog
5달 전
우당탕탕 IDC → EKS 이관 후기
기술 에세이#DevOps#Architecture

우당탕탕 IDC → EKS 이관 후기

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

velog큐레이션
141
3달 전
기술 에세이

API 기반 크롤링?

Grit Original
기술 에세이#API#JSON

API 기반 크롤링?

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

G
성장 에세이

개발자 공백기 설명, 면접관이 진짜 납득하는 유일한 기준

Grit Original
성장 에세이#공백기#면접

개발자 공백기 설명, 면접관이 진짜 납득하는 유일한 기준

공백기 질문을 받는 순간 대부분의 지원자는 방어적으로 변합니다. 면접관은 지식의 단순 축적보다 현업에서 통하는 문제 해결 감각이 지금도 살아있는지를 확인하고 싶어 합니다. 8개월 공백을 극복한 실제 백엔드 멘티의 사례와 함께 면접관을 설득하는 유일한 사유의 구조를 전합니다.

0블로그
오늘
기술 에세이

[Spring] gradle로 멀티모듈설계 해보기

Grit Original
기술 에세이#Spring#Gradle

[Spring] gradle로 멀티모듈설계 해보기

01. 들어가기 전, 현재 하고있는 프로젝트는 처음에는 하나의 모듈의 모든 기능을 작성 하고 있었습니다! 보시면 domain, global 로 나누고, 도메인 주도 기반으로 해서 구현하고 있는 과정인데용 위를 보시면, 도메인 별로 batch, controller, dto, .. 요렇게 나눠져 있었던 구조였습니당..! 서버 인스턴스 하나만으로 시작할 때는 서비스의 복잡도가 상대적으로 낮고 유지보수도 간편한데,, ! 트래픽이 증가하거나 작업 부하가 늘어나게 된다면? 나중을 위해 지금이 멀티모듈로 구조를 바꿔야 하는 적절한 시기라고 생각...

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

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

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

velog큐레이션
149
3달 전
성장 에세이

이력서는 스펙이 아니라 캐릭터다 - 그릿모먼츠 이력서 특강 회고

Grit Original
성장 에세이#이력서#마케팅

이력서는 스펙이 아니라 캐릭터다 - 그릿모먼츠 이력서 특강 회고

그릿모먼츠에서 주니어 백엔드 개발자를 위한 이력서 특강이 있었습니다. 이력서를 마케팅 관점에서 접근하는 법과 2026년 채용 시장에서 필요한 재료를 다뤘습니다. 가장 와닿았던 건 이력서 재료를 명시적 재료와 암묵적 재료로 나눠서 보는 관점이었습니다.

477Tistory
6달 전
★ 멘토 픽"이력서는 스펙이 아니라 캐릭터다. 명시적·암묵적 재료로 분석하면 진짜 능력이 보인다."
기술 에세이

이분탐색(나무 자르기, 랜선 자르기)

Grit Original
기술 에세이#이분탐색#알고리즘

이분탐색(나무 자르기, 랜선 자르기)

[나무 자르기] 주어진 나무 길이 정렬 후 절단기 높이 기준으로 이분탐색한다고 생각하기. 시작값: 0 종료값: 나무 길이의 최댓값 최적화 문제가 아니라 결정 문제라고 생각하는 것이 핵심!그러고 나서 최댓값은 end(종료값을 출력하면 자동으로 최댓값 출력) sum<W 말고 sum>=일 때 부분 처리 좀 더 최적화할 순 없나? [랜선 자르기] 자료형. 범위 주의!!

512Tistory
6달 전
★ 멘토 픽"이분탐색은 결정 문제로 접근해라. 최댓값은 end로 자동 출력된다."
프로젝트

[SI에서 프로덕트 엔지니어로 #1] 작심삼일도 괜찮아 - 실패를 허용하는 서비스 탄생기

Grit Original
프로젝트#회고#습관서비스

[SI에서 프로덕트 엔지니어로 #1] 작심삼일도 괜찮아 - 실패를 허용하는 서비스 탄생기

작심삼일도 괜찮아 - 66일 연속이 아니라 3일을 여러 번. 작심삼일도 괜찮다는 컨셉으로 습관 서비스를 만들기 시작했다.

441Velog
6달 전
★ 멘토 픽"작심삼일, 반복이 중요해. 실패도 성장의 기회야."
Spark Connect on Kubernetes #1: 견고한 Spark Connect 만들기
기술 에세이#Backend#DataEngineering

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

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

토스 기술 블로그큐레이션
153
3달 전
기술 에세이

서울시 25개 전체 구 카페정보를 최대한 많이 수집하는 전략?

Grit Original
기술 에세이#카카오 API#격자 검색

서울시 25개 전체 구 카페정보를 최대한 많이 수집하는 전략?

지금처럼 “강남구 하나만”은 간단히 API 돌리면 되지만, 서울시 25개 구 전체를 실서비스 수준으로 커버하려면 조금 전략적으로 접근해야 합니다. 카카오 API의 구조적 한계 한 번 요청으로 size ≤ 15 page ≤ 45 즉, 최대 15 × 45 = 675개 **정렬 기준 변경(accuracy vs distance)**은 결과 순서만 바뀌고 총량 제한은 그대로 즉, 구 단위 좌표 1개만 주면 많은 카페가 누락될 수밖에 없습니다. ✅ 실서비스처럼 최대한 많이 모으는 전략 1. 좌표 분할 (Grid Search / 격자 검색) 각...

성장 에세이

늦은 나이 개발자 시작, 멘토가 말하는 진짜 현실

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

늦은 나이 개발자 시작, 멘토가 말하는 진짜 현실

늦었다는 생각 때문에 멈추고 있다면, 진짜 문제가 어디에 있는지부터 확인해야 합니다. 30대에 개발을 시작해서 취업까지 간 분들을 충분히 봤습니다.

28블로그
3일 전
기술 에세이

Load Balancer &amp; Auto Scaling

Grit Original
기술 에세이#AWS#로드밸런서

Load Balancer &amp; Auto Scaling

01.들어가기 전 내가 작업했던 것들을 좀더 기록하는 습관을 ,,, 가지고자 열심히 써보려고한다! 기존에 작업했을 때는 https로 배포하면서 자연스럽게 구글링하고 찾아보면서 aws 서비스 로드밸런서를 사용하였는데,,, 대충 트랙픽 분산과 가용성을 높이기 위함은 알고있지만 정확하게 적어보면 좋을 것 같다! +) 도메인을 구매하게 되면 -> 인증서를 발급 하기전 이 도메인 소유에 대한 인증을 해야함: route53 Route53 : 가용성과 확장성이 뛰어난 클라우드 DNS(Domain Name System) 웹서비스 (이 과정에서 호...

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

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

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

velog큐레이션
171
3달 전

아티클 20개 표시 중