본문 바로가기

Go5

[Go Web programming] 003.서버 설정 | 데인트리 라이브러리 이 페이지에서는 go로 작성한 서버 실행 시 세부 설정 사항에 대해 다룬다. 앞선 포스팅에서도 살펴보았지만 go에서는 net/http 패키지를 사용해 서버를 실행한다. 지금까지는 http.ListenAndServe 함수를 통해 서버를 실행하였지만, 직접 Server 구조체를 생성하여 몇가지 설정을 커스터마이징 할 수 있다. 1) net/http 패키지의 ListenAndServe 함수 // 함수 선언 func ListenAndServe(addr string, handler Handler) error { server := &Server{Addr: addr, Handler: handler} return server.ListenAndServe() } 위의 코드를 보면 http.ListenAndServe(":8.. 2021. 6. 17.
[Go Web programming] 002.핸들러와 멀티플렉서 | 데인트리 라이브러리 이 페이지에서는 핸들러와 멀티플렉서 개념 및 HandleFunc 함수에 대해 다룬다. 001에서는 핸들러를 사용해 / 경로에 대한 Index Page를 생성하는 것을 알아보았다. 하지만 아직 핸들러와 멀티플렉서가 무엇인지 정확이 감이 잡히지 않았을 것이라 생각한다. 이번 포스팅에서는 핸들러와 멀티플렉서에 대해 자세히 다뤄보고 좀 더 편하게 핸들러를 정의할 수 있는 HandleFunc 함수를 테스트해볼 것이다. 1. 핸들러 핸들러는 인터페이스이다. 핸들러의 정의는 다음과 같다. type Handler interface{ ServeHTTP(ResponseWriter, *Request) } 위의 코드를 보면 ServeHTTP(ResponseWriter, *Request) 메서드를 구현한 모든 구조체는 핸들러 .. 2021. 6. 15.
[Go Web programming] 001.Go로 시작하는 웹서버 | 데인트리 라이브러리 이 페이지에서는 웹서버의 개념과 Go로 작성한 간단한 웹서버 코드를 소개한다. Go Web Programing 카테고리는 Go 언어를 어느정도 이해하고 있고(특히 인터페이스 부분), Go 언어를 사용한 웹개발에 관심이 있는 분들이 천천히 읽기 좋도록 작성할 예정이다. 사우 셩 창(Sau Sheong Chang)의 Go 웹프로그래밍[BJ리퍼블릭/2016] 책이 많은 도움이 되었다. 책의 정보와 Go 공식문서의 예제를 통해 직접 학습용 소스를 작성하여 테스트를 여러 번 수행하였다. 글은 그 과정에서 얻은 정보를 최대한 쉽게 작성하려고 노력했다. 샤우 셩 창의 Github: https://github.com/sausheong/gwp Go 공식문서의 패키지 정보: https://golang.org/pkg/ 1... 2021. 6. 6.
[Go프로그래밍] Golang 설치 - gopath, goroot란? | 데인트리 라이브러리 이 페이지에서는 golang 설치 및 환경 구성에 필요한 용어들에 대해 다룬다. [개발환경] Windows 10 Home Ram: 8GB 에디터: VSCode 쉘: git bash (Git 설치 필요, git-scm.com/download/win) 1. golang 설치 Downloads - The Go Programming Language Downloads After downloading a binary release suitable for your system, please follow the installation instructions. If you are building from source, follow the source installation instructions. See the rele.. 2021. 1. 4.
[Go프로그래밍] 코드의 구조 및 실행 방법 | 데인트리 라이브러리 첫 코드는 문자열을 출력하는 간단한 예시이다. 이 예시를 통해 Go 코드를 작성하는 방법과 빌드 및 실행하는 방법에 대해 알아본다. [개발환경] Windows 10 Home Ram: 8GB 에디터: VSCode 쉘: git bash 1. 코드 설명 풀 코드 package main // 모든 코드는 package 명으로 시작해야 한다. // 모든 프로그램은 하나의 main 패키지가 필요하다. import "fmt" // 기본 fmt 패키지를 import한다. // fmt 패키지의 Println 함수를 사용해 출력 기능을 사용할 수 있다. func main() { // main() 함수는 Go 프로그램 실행시 자동으로 호출되는 함수 fmt.Println("Hello World") fmt.Println("I'.. 2020. 11. 22.