320x100

프로그래밍/Go 5

Rest api 라이브러리 찾기

net/http go의 내장 모듈 gin 첫번째로 선택해 사용했지만 생각보다 성능이 좋지 못하는 이야기가 있다. fasthttp 다른 프로젝트에서 사용 중. net/http 대비 최대 10배의 퍼포먼스가 난다고 한다. Fiber fasthttp 기반 라이브러리로 fasthttp 보다 더 빠르다고 한다. 새로운 프로젝트에서 Fiber 기반으로 만들어 보려고 한다. 실제로 퍼포먼스 순위를 봤을 때 모듈들의 순위는 다음과 같았다. fiber - 19위 fasthttp - 58위 gin - 142위 https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=fortune

프로그래밍/Go 2022.09.20

로컬 패키지 import하기

몇시간 삽질한 끝에 해결한 로컬 패키지 import하기 정리. [이하 go 1.17버전] 다음과 같이 구성되어있다고 하자. D:\source\go\bin D:\source\go\pkg D:\source\go\src 1. 프로젝트를 저장하기 위해 추가로 폴더를 추가한다. D:\source\go\src\project 2. main 패키지 & main 함수가 있는 *.go 파일은 다음에 위치하게 된다 D:\source\go\src\project\main.go 3. 로컬 패키지들은 다음에 위치한다. D:\source\go\src\package1\pack1.go D:\source\go\src\package2\pack2.go 이젠 터미널에서 다음과 같이 작업한다. $ D:\source\go\src\package1 ..

프로그래밍/Go 2022.08.19

사내 스터디 1주차

구성원이 모두 사용해 본적 없음. 매주 과제를 정하고 다음 모임까지 완성해보는 방법으로 진행. 과제: Go를 사용해 Json 형식의 RestAPI 제작해보기 진행: 설치부터 C++과 다르다. Go를 별도로 설치해야하고, VSCode에서 go extension를 설치해줘야 하고, 환경 변수를 잡아줘야 한다. (GOROOT, GOPATH등. 1.7 버전 이후로는 뭐 없어졌다고 하는데 확인 필요) restapi를 사용하려면 net/http 패키지를, json을 사용하려면 encoded/json 패키지를 사용해야 한다. 임의의 사용자 struct를 json으로 마샬링하기 위해선 key로 사용할 수 있는게 무조건 string이여야 한다. uid를 정수로 했다가 이거 때문에 고생함. package main impo..

프로그래밍/Go 2022.02.23
320x100