[바미] Go - RESTful API(GET)
·
프로그래밍(Web)/Golang
먼저 기본틀을 만들고 시작합니다. 그 전에 Handler를 만들어 주어야 하는데 'myapp'이라는 폴더에 app.go라는 파일에 Handler를 만들어줍니다. myapp/app.go package myapp import "net/http" // NewHandler make a new myapp handler func NewHandler() http.Handler { mux := http.NewServeMux() return mux } main.go package main import ( "net/http" "./myapp" func main() { http.ListenAndServe(":3000", myapp.NewHandler()) } 이 상태에서 실행시키면 아무것도 뜨지 않는 것을 확인 할 수 있습..
[바미] Go - File Upload 만들기.
·
프로그래밍(Web)/Golang
지난번에 이어서myapp/app_test.go 파일에 테스트 코드를 추가적으로 만들어줍니다. func TestFooHandler_WithoutJson(t *testing.T) { // 1 assert := assert.New(t) res := httptest.NewRecorder() req := httptest.NewRequest("GET", "/foo", nil) mux := NewHttpHandler() mux.ServeHTTP(res, req) assert.Equal(http.StatusOK, res.Code) } 먼저 실패하는 코드를 만들어 줍니다. 1 : GET으로 /foo에 호출하는데 input없이 진행합니다. 그러면 response가 올텐데 StatusOK가 나와야 한다고 하고, 실제 결과를..
[바미] Go - test환경 만들기
·
프로그래밍(Web)/Golang
지난번에 이어서 myapp이라는 폴더를 만든 뒤, app.go파일을 만들어 줍니다. 패키지를 분리하는게 테스팅하기 편리하기 때문에 여기에 지난번에 main에 만들었던 코드들을 들어낼 것인데요. app.go package myapp import "net/http" type User struct { FirstName string `json:"first_name"` LastName string `json:"last_name"` Email string `json:"email"` CreatedAt time.Time `json:"created_at"` } func indexHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, "Hello World") }..
[바미] Go - 간단한 JSON Transfer 만들기.
·
프로그래밍(Web)/Golang
Web Handler에 이어서 main함수의 http.HandleFunc("/bar", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello Bar!") }) 부분 중 fooHandler처럼 func(w http.ResponseWriter, r *http.Request) 부분을 바깥으로 빼서 수정 해줍니다. func barHandeler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello Bar!") }) 이렇게 수정한 뒤 main함수에 이에 해당하는 코드를 수정해줍니다. http.HandleFunc("/bar", barHandler) 이렇게 각각 경로에 해당하는 Handl..
[바미] Go - 간단한 Web Handler 만들기
·
프로그래밍(Web)/Golang
package main func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { // 1 fmt.Fprint(w, "Hello World") // 2 }) http.ListenAndServe(":3000", nil) // 3 1 : http.HandleFunc으로 선언 하여 경로는 처음 경로인 "/"으로 해주고, 함수 타입을 w http.ResponseWriter, r *http.Request" 으로 넣어줍니다. 2 : 함수의 내용. 3 : port 번호 3000으로 지정 합니다. 여기서 중요한 건 http.HandleFunc, http.ListenAndServe인데 HandleFunc은 어떤 Handler를 등록하..
[바미] Go언어 소개
·
프로그래밍(Basic)/Golang
이 글은 주기적으로 수정하고 있습니다. 글을 읽으실 때 참고하시기 바랍니다.1. Go언어의 탄생“Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.” 이 문구는 golang의 정식 웹사이트에서 golang을 설명할 때 사용한 문구인데 해석하면'Go는 간결하고 신뢰성 있으며 효율적인 소프트웨어를 손쉽게 만들기 위한 오픈소스 프로그래밍 언어이다.' 라는 의미입니다. Go언어는 2009년 구글이 개발한 프로그래밍 언어로 빠른 성능, 안정성, 편의성, 쉬운 프로그래밍을 목표로 한 범용 프로그래밍 언어 입니다. 이는 C나 자바와 같이 다양한 소프트웨어 개발에 사용된다..
Bami
기록하며 성장하기