본문 바로가기

Code/go & python & java

(14)
[golang] defer 무한루프 defer 무한루프 defer에 대해 배웠는데, 예외처리 하는 곳에서 자꾸 무한루프가 발생했습니다. 결론부터 말하자면, 원인은 nil 처리를 안해서 그랬습니다. package main import "fmt" func test() { var num int fmt.Scanln(&num) defer func() { if r := recover(); r != nil { fmt.Println(r) //에러 메시지 출력 test() } }() if num
[python] setuptools과 setup.py로 빌드 로컬배포해보기 setuptools setuptools는 파이썬에 포함되어 있는 것을 확인했습니다. (따로 설치x) 제가 작성한 파이썬 파일은 다음과 같습니다. 아래 파일을 패키지화 해보겠습니다. def sayHi() : print "Hi, velbie! :)" 폴더구조를 아래처럼 만들었습니다. 원래는 helloworld 출력하는 velbie.py 밖에 없었는데 빌드하려니깐 README 파일이 필요하다고 해서 이 공식문서에서 readme를 복붙해 만들었습니다. (링크) 테스트부분은 없앴습니다. C:. │ README │ setup.py │ └─example_project velbie.py __init__.py setup.py 파일을 복붙해서 이름만 수정했습니다. (packages=부분을 봐주세요) import os fr..
[python2.7] setup.py로 배포 적용(import) 해보기 예제 작성 아래 소스를 빌드하고 배포하고 설치해보겠습니다. # velbie.py def sayHi() : print "Hi, velbie!" setup.py 생성하기 모듈을 빌드하고 배포하고 설치하려면 distutils 를 이용해야합니다. Distutils 에게 내 정보를 설명해줍니다. py_modules 에는 위에 파일이름을 .py를 제거하고 입력해줍니다. # setup.py from distutils.core import setup setup(name='velbie', version='1.0', py_modules=['velbie'], ) 빌드하기 velbie.py과 setup.py 를 같은 폴더에 넣어두고, 아래 명령어를 입력합니다. 그러면 dist 폴더가 생성되고 그 안에는 velbie-1.0.z..
[golang] 구름으로 배우는 고언어 기초 한 눈에 끝내는 고랭기초 구름Edu에서 고랭배우고 있는데, 제가 자꾸 놓쳤던 부분을 메모해보려 합니다. 변수와 상수 이건 선언과 동시에 할당입니다. "선언"이 있다는 걸 까먹지 말아야겠습니다. name := "velbie" 콘솔 출력과 입력 보통 Println() 을 사용하고, 좀더 자세히 찍을때 서식출력이 가능한 Printf() 를 사용했습니다. 입력은 주로 Scanf를 사용했습니다. fmt.Println() fmt.Print() fmt.Printf() var age, birth int fmt.Scan(%age, &birth) var height int fmt.Scanf("%d\n", &height) fmt.Scanfln() %v 서식문자 이 문자를 봤을때 갸우뚱했습니다. 실수 출력할때 사용해야 겠습니..
[golang] net/http 처음 사용해보기 net/http http 패키지부터 한번 사용해보겠습니다. package main import ( "fmt" "net/http" ) func main() { fmt.Print("Hello") http.ListenAndServe("localhost:8080", nil) } 실행해봤습니다. 요청이 들어오고 서버가 응답한것을 확인할수 있습니다. (404) 공식문서(링크)를 한번 봐봅니다. http 패키지가 있고 설명이 있습니다. 그리고 vs code에서 ctrl + 클릭해서 ListenAndServe 를 자세히 봐봅니다. 주소 스트링과, 핸들러를 받습니다. 핸들러가 뭔지 확인해보기위해 핸들러를 또 ctrl + 클릭해보면 Handler 가 사실은 인터페이스인것을 알수 있습니다. 인터페이스에 당연히 함수가 명시되..
[golang] VS Code에서 Go 설치하기 (환경설정) 설치 golang.org 에서 Go 를 다운받습니다. 저는 go.1.15.3.windows-amd64.msi 를 다운받았습니다 😀 설치가 다 되었는지 확인하기 위해 터미널에 버전확인을 해봅니다. go version 환경변수 확인해 GOROOT와 GOPATH 를 확인합니다. go env GOROOT는 go와 표준패키지가 설치된 곳이고, GOPATH는 내 작업소스가 있는 곳 입니다. 다운받은 모듈은 GOPATH로 설정된 경로의 'pkg'에 저장됩니다. 만약 제가 패키지를 만든다면 GOPATH로 설정된 경로의 'src' 에서 만들어야합니다. (패키지만들기 링크) 저는 GOPATH 경로를 C\go-workspace 로 변경했습니다. (내PC > 우클릭 > 시스템속성 > 환경변수 > 위쪽에 GOPATH 경로수정)..