Go서버구조 2

Gin으로 API 서버 옮기기: 기존 net/http 구조 그대로 활용하기

이전 챕터에서net/http + handler / service / repository 구조로 CRUD API를 만들었다면,이번에는 그 구조를 Gin 프레임워크로 옮겨보는 단계다.이번 챕터의 핵심은 분명하다.Gin 문법을 많이 아는 것 ❌기존 구조를 깨지 않고 프레임워크만 교체 ⭕️즉,“Gin을 쓰면 코드 구조가 어떻게 달라지는가”가 아니라**“달라지지 않아야 하는 부분은 무엇인가”**에 초점을 둔다.왜 이 타이밍에 Gin을 보는가Gin은 Go 웹 프레임워크 중 가장 많이 사용된다.하지만 실무에서 Gin을 잘 쓰는 사람들의 공통점은 이거다.Gin 이전에 net/http 흐름을 한 번은 이해했다이 과정을 거치면Gin의 Context가 왜 필요한지미들웨어가 어디에 끼어드는지테스트를 어떻게 해야 하는지가 훨씬..

backend 2026.02.02

Go HTTP 서버 확장하기: 라우팅 분리와 미들웨어 개념 정리

이전 챕터에서 net/http로 가장 단순한 API 서버를 만들었다면,이번에는 그 서버를 **조금 더 “실제 서비스에 가까운 형태”**로 확장해본다.이번 챕터의 핵심은 다음 두 가지다.라우팅 로직을 어떻게 정리하는가공통 로직을 미들웨어 형태로 어떻게 분리하는가프레임워크 없이도구조적으로 정리된 서버 코드를 만드는 게 목표다.왜 라우팅 분리가 필요한가단순 예제에서는 이런 코드가 문제 없어 보인다.http.HandleFunc("/ping", pingHandler)http.HandleFunc("/users", userHandler)http.HandleFunc("/orders", orderHandler)하지만 엔드포인트가 늘어나면 곧 한계가 온다.main 함수가 비대해짐핸들러 간 책임이 섞임테스트가 어려워짐그래서..

backend 2026.01.30