Skip to main content

Command Palette

Search for a command to run...

Go Web Framework - Echo

Published
1 min readView as Markdown

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
    
    Echo 예제코드 실행
  • 웹 서버가 정상적으로 실행되었는지 웹 브라우저로 http://localhost:1323 에 접속해 봅시다. Echo 웹 서버 접속

More from this blog

크로스/멀티 플랫폼 앱 개발의 진화

서론 최근 몇 년간 크로스/멀티 플랫폼을 지원하는 앱 개발 프로젝트들이 빠르게 확산되고 있습니다. 이제 개발자들은 단일 코드베이스로 여러 플랫폼에서 동작하는 앱을 만들 수 있는 다양한 도구와 프레임워크를 활용할 수 있게 되었습니다.   과거의 크로스 플랫폼 개발 도구들 과거에도 크로스 플랫폼 앱 개발을 시도한 많은 프로젝트들이 있었습니다. 그러나 그중 다수는 성능과 안정성 문제로 인해 큰 인기를 끌지 못했습니다. 그 결과, 많은 개발자들이 오히...

Oct 10, 20242 min read

ESPHome dashboard - 보드 연결

1. 서론. ESPHome dashboard는 웹 기반의 인터페이스로, ESP8266 및 ESP32 칩을 사용하는 디바이스들을 손쉽게 설정하고 USB 연결, OTA 등으로 관리할 수 있는 도구입니다. 이 글에서는 별도 서비스로 실행되는 dashboard에, OTA로 보드를 연결하는 방법을 정리합니다.   2. 보드에 OTA 펌웨어 업로드. OTA로 연결하려면 보드에 OTA 펌웨어를 업로드 해야 합니다. ESP32-C3 Super mini를...

Sep 22, 20243 min read

ESPHome - ESP32 사용해보기

1. ESP32 보드. ESP32 보드 중 작은 ESP32-C3 Super Mini입니다.   2. ESP32-C3 Super Mini 연결. 처음 PC USB에 연결하면 연결되었다가 끊겼다가를 계속 반복하며 업로드가 되지 않습니다. 다운로드 모드로 진입해야 정상 연결되며 업로드가 됩니다. 진입 방법은 아래 두가지입니다. 보드의 Boot 버튼을 누른 채로 USB에 연결. USB에 연결 후 Boot 버튼을 누른 채로 Reset 버튼을 눌렀...

Sep 21, 20242 min read

ESPHome 설치

1. 서론. ESP 보드 펌웨어 개발 환경은 여러가지가 있습니다. 프레임워크를 사용하지 않고 개발해도 되고, Arduino, PlatformIO, ESPHome 같은 프레임워크를 이용할 수도 있죠. ESPHome은 Arduino와 PlatformIO 프레임워크를 사용하기 쉽게 한번 더 패키징 한 것이고, 소스코드를 작성할 필요 없이 yaml 형식으로 간단하게 정의해서 사용합니다.   2. ESPHome 설치. 문서. 최상위 문서: http...

Sep 21, 20241 min read

Albert Hongseok Gu's blog

18 posts