yoongrammer

목차git diff 사용하기git diff 명령어는 어떤 파일의 수정 내용을 비교하는 명령어입니다. 아무런 옵션이 없으면 워킹 디렉터리에 Unstaged 된 파일을 비교합니다.$ git diff 임의로 워킹 디렉터리에 파일을 만들고 수정하여 diff를 해보도록 하겠습니다.$ echo "hello world" > test.txt$ git commit -am "add test.txt"$ echo "new" >> test.txt git diff를 하면 아래와 같은 내용을 출력합니다.$ git diff diff --git a/test.txt b/test.txtindex a042389..f5be8ac 100644--- a/test.txt+++ b/test.txt@@ -1 +1,2 @@hello world+new..

목차[Go] Handle, HandlerFunc , HandleFunc 이해http 패키지에는 Handle, HandleFunc 함수가 있습니다.func Handle(pattern string, handler Handler)func HandleFunc(pattern string, handler func(ResponseWriter, *Request))Handle 함수와 HandlerFunc 함수는 pattern에 맞는 handler를 호출합니다.이 두 함수는 동작 방식은 같지만 사용하는 인자가 조금 다릅니다.HandleHandle 함수에는 인자로 Handler 가 필요합니다.Handler 는 ServeHTTP를 가지고 있는 interface입니다.type Handler interface { ServeH..

목차[Go] HTTP Server 만들기http 패키지는 HTTP 클라이언트 및 서버를 구현할 때 사용합니다. HTTP server를 만드는 방법은 4가지가 있습니다.No request parsingManual request parsingMultiplexerGlobal multiplexer크게 Multiplexer를 사용하느냐(3, 4) 안하느냐(1, 2)로 두 가지로 나뉩니다.1. No request parsing가장 기본적인 구현 방법 입니다.어떤 요청이 와도 동일한 응답만 하는 서버입니다.package mainimport ( "fmt" "net/http")type database map[string]stringfunc (d database) ServeHTTP(w http.ResponseWrite..

목차gdlv - Go언어 디버거gdlv는 go 언어 디버깅을 gui로 할 수 있는 tool입니다. 디버깅 중에 코드 , 변수, 스택, 고루틴 등 여러 정보를 한눈에 볼 수 있어 delve보다 디버깅이 편합니다.gdlv 설치1. delve 를 설치합니다.gdlv를 사용하려면 delve가 있어야 합니다.go get -u github.com/go-delve/delve/cmd/dlv2. gdlv를 설치합니다.go get -u github.com/aarzilli/gdlv3. 설치 확인을 합니다.$ gdlv versionGdlv DebuggerVersion: 1.4version 정보가 출력된다면 설치가 완료된 것입니다.gdlv 사용방법gdlv run 명령어는 프로그램 파일을 가지고 디버깅하는 명령어입니다.gdlv ..

목차git 디버깅 하기 (blame, bisect)Git에는 버전 관리 기능 말고도 디버깅용 명령어도 있습니다. 누가 버그를 만들었는지 언제 어디서 생겼는지 찾아내는 데 도움이 됩니다.git bramegit blame은 파일의 각 라인을 누가 마지막으로 수정했는지 보여줍니다.$ git blame -L 옵션을 사용하여 전체 파일이 아닌 원하는 라인 범위를 정할 수 있습니다.$ git blame -L 3,10 main.go^608a065 (yoongrammer 2020-11-21 12:02:45 +0900 3) import "fmt"^608a065 (yoongrammer 2020-11-21 12:02:45 +0900 4)af64134b (Tom 2020-11-21 12:06:08 +0900..