nethttp 4

Go로 간단한 CRUD API 만들기: REST 구조와 테스트 코드까지 연결하기

이전 챕터에서라우팅 분리와 미들웨어 구조를 잡았다면,이제는 그 위에 실제로 동작하는 CRUD API를 올려볼 차례다.이번 챕터의 목표는 단순하다.REST 형태의 CRUD API를 한 번 직접 만들어보고비즈니스 로직과 HTTP 레이어를 분리하고그 구조를 테스트 코드로 검증해본다“완성도 높은 서비스”보다는실무에서 반복되는 기본 패턴을 익히는 데 초점을 둔다.예제 시나리오: User 관리 API예제로는 가장 단순한 User 리소스를 사용한다.POST /users 사용자 생성GET /users 사용자 목록 조회GET /users/{id} 사용자 단건 조회DB 대신메모리 저장소(in-memory store) 를 사용해구조에만 집중한다.기본 구조 다시 정리cmd/serve..

backend 2026.01.31

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

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

backend 2026.01.30

Go로 간단한 HTTP API 서버 만들기: net/http 기반 기본 구조 이해하기

성능 분석까지 다뤘다면, 이제는지금까지 배운 내용을 실제 코드로 엮어보는 단계로 넘어가는 게 자연스럽다.이번 챕터에서는외부 프레임워크 없이 표준 라이브러리 net/http만 사용해서가장 기본적인 HTTP API 서버를 만들어본다.이 글의 목적은“화려한 기능”이 아니라,Go 서버 코드의 기본 뼈대가 어떻게 생겼는지를 이해하는 데 있다.왜 net/http부터 시작하는가Go 웹 개발을 검색하면Gin, Echo 같은 프레임워크가 먼저 등장한다.하지만 실무 기준으로 보면,프레임워크도 결국 net/http 위에 있음기본 구조를 모르면 디버깅이 어려움단순한 서비스에는 표준 라이브러리로도 충분이라는 이유로net/http를 한 번은 직접 써보는 게 좋다.가장 단순한 HTTP 서버package mainimport ( ..

backend 2026.01.27

Go로 간단한 HTTP API 서버 만들기: net/http 기반 기본 구조 이해하기

성능 분석까지 다뤘다면, 이제는지금까지 배운 내용을 실제 코드로 엮어보는 단계로 넘어가는 게 자연스럽다.이번 챕터에서는외부 프레임워크 없이 표준 라이브러리 net/http만 사용해서가장 기본적인 HTTP API 서버를 만들어본다.이 글의 목적은“화려한 기능”이 아니라,Go 서버 코드의 기본 뼈대가 어떻게 생겼는지를 이해하는 데 있다.왜 net/http부터 시작하는가Go 웹 개발을 검색하면Gin, Echo 같은 프레임워크가 먼저 등장한다.하지만 실무 기준으로 보면,프레임워크도 결국 net/http 위에 있음기본 구조를 모르면 디버깅이 어려움단순한 서비스에는 표준 라이브러리로도 충분이라는 이유로net/http를 한 번은 직접 써보는 게 좋다.가장 단순한 HTTP 서버package mainimport ( ..

backend 2026.01.25