Programming/GO 3

GO - unresolved dependency, GOPATH error

고랭(GO)으로 개발하는 고퍼분들이라면 한번쯤 경험해봤을 겁니다. 왜? 특히 아직 고랭이 익숙하지 않은 분들이면 더욱 그렇죠.. 바로 GOPATH 혹은, unresolved dependency 로 빨간줄이 뜨며 go.mod 파일에 dependency 들이 load가 안된다던가, go 파일들의 import 가 적용이 안된다던가 하는 문제들이죠 보통 이런 문제들은 해당 프로젝트를 새로 시작하거나, Git 같은 version control tool 에서 import 하면서 생기는 문제입니다. 원인은? 간략하게 원인만 말하자면 해당 프로젝트는 내부에 go.mod 파일로 인해 모듈화되어 GOPATH가 전역 PATH가 아닌 지역 PATH이기 때문에 이에 ide 를 설정해야하지만, 보통 java등 타언어로 개발하던 ..

Programming/GO 2022.05.15

GO - RESTful API만들기 Echo Framework & Gorm ORM

개요 회사에서 업무중 몇가지 정보를 거래처에 제공하는 API를 만들어 줘야하는 경우가 생겼다. 기존의 주 업무는 Java - SpringBoot 프레임워크를 사용해서 했었지만, 이번에 새롭게 Golang 을 사용하는 건 어떤지 얘기가 나와서 고민하다가 결구 Go 언어로 새롭게 API를 개발해 보기로 했다. 먼저 Go 언어는 가볍고 미니멀한 프로젝트를 만들기에 적합하고, 비교적 다른언어보다 최근에 나온언어인지 웹 개발자들이 쓰기 좋은 기능들이 기본 내장되어 있는 듯했다. 일단 Web 통신을 위해 프레임워크나 라이브러리중 적합한 기능일 선택해야했는데, 1. 먼저 기본내장된 http/net, 2. github 순위 1위에 GIN 3. 그리고 한국에서 그나마 인기있다는 echo 이 3가지만 생각했고, 내장되어있..

Programming/GO 2022.04.30

Golang - 한글 UTF8 을 EUCKR 서버로 인코딩처리하기.

개요 저는 현재 맡은 업무가 고(golang) 언어로 API 서버를 개발하는 업무를 맡았습니다. 그런데, 개발 중간에 tcp 통신을 통해 다른 server에게 request 해야할 사항이 생겼는데, 문제는 이 서버에서 한글은 EUC-KR 형식인겁니다.. 이게 왜 문제냐? 바로바로.. 고 (golang 이하 고 라고 하겠습니다)는 rune 이라는 특이한 스타일로 타입을 사용하고 이를 UTF-8로 인코딩합니다. 그러므로 고 언어는 UTF-8 타입을 디폴트로 사용하게 되는데요, 이 타입 그대로 byte 타입으로 변환하게 된다면, byte 코드 또한 그 타입을 따라갑니다. 그래서 통신하는 정보에 한글이 필요하다면 어떤 타입의 char type을 정해뒀는지 확인 할 필요가 있습니다. JSON 보통 다른 serve..

Programming/GO 2022.04.30