Go Web Framework - Echo
Albert Hongseok Gu
1 min read
Table of contents
1. 서론.
- 언어에 상관 없이 네트워크 소켓만 열 수 있다면 서버 개발이 가능합니다. 그 중 HTTP를 열어두면 웹 서버가 되는 것이죠.
- 요즘 언어들은 정형화 된 HTTP 모듈을 기본적으로 제공하기 때문에 간단한 웹 서버 정도는 쉽게 개발 가능합니다. 하지만 기능이 복잡해질수록 프레임워크의 힘이 발휘됩니다.
- 라우팅, 헤더/파라미터/바디 파싱, JSON 인코드/디코드, 인증, 로깅, 파일 업/다운로드, TLS 등등 많은 것들이 이미 구현되어 제공됩니다. 그것도 오픈소스로.
- 그럼 Go 웹 프레임워크는 어떠한 것들이 있을까요? https://github.com/mingrammer/go-web-framework-stars 역시나 많습니다. 이외에도 많겠죠? 고마운 프로젝트들이고, 고마운 사람들입니다. 이 중 작고 빠르다고 해서 Echo https://echo.labstack.com를 선택했습니다.
2. Echo Framework 설치.
- 참고: https://echo.labstack.com/guide/installation
- 상단 메뉴의 Terminal - New Terminal을 선택하거나 Ctrl+`를 입력해 하단 TERMIANL 탭에서 아래 명령어를 입력합니다.
$ go get -u github.com/labstack/echo/...
3. Echo 예제.
- 참고: https://echo.labstack.com/cookbook/hello-world
3-1. 예제코드 작성.
~/Downloads/server.go
package main import ( "net/http" "github.com/labstack/echo" "github.com/labstack/echo/middleware" ) func main() { // Echo instance. e := echo.New() // Middleware. e.Use(middleware.Logger()) e.Use(middleware.Recover()) // Route => handler. e.GET("/", func(c echo.Context) error { return c.String(http.StatusOK, "Hello, World!\n") }) // Start server. e.Logger.Fatal(e.Start(":1323")) }
3-2. 실행.
- 상단 메뉴의 Terminal - New Terminal을 선택하거나 Ctrl+`를 입력해 하단 TERMIANL 탭에서 아래 명령어를 입력합니다.
$ go run ~/Downloads/server.go
- 웹 서버가 정상적으로 실행되었는지 웹 브라우저로 http://localhost:1323 에 접속해 봅시다.
0
Subscribe to my newsletter
Read articles from Albert Hongseok Gu directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by