go(16)
-
GORM v1 Create시 UpdatedAt Nil(Null)값 할당하기
GO언어 생태계의 대표적인 ORM으로 GORM을 많이들 사용하실텐데 GORM v2자료가 많이 없다보니 저도 v1이 익숙해서 v1을 사용합니다. v1에서는 ORM Conventions라고 해서 Timestamp Tracking이 존재합니다. http://gorm.io/docs/conventions.html#Timestamp-Tracking GORM에서 언급된 Timestamp의 추적은 GORM CALLBACK으로 구성되있는데 https://github.com/jinzhu/gorm/blob/master/callback_create.go#L31 // updateTimeStampForCreateCallback will set `CreatedAt`, `UpdatedAt` when creating func upda..
2020.07.29 -
Go 다른 프로젝트 패키지 import
Go에서 Private나 Public에 관계없이 github 저장소에 업로드하지 않고, 로컬에 다중 프로젝트가 존재할때 해당 프로젝트의 특정 모듈을 사용하고 싶을 경우에 다소 불편한점이 있습니다. module github.com// require ( github.com/... github.com/yankeetube/gin-jwt-middleware ) go의 경우 go mod init으로 생성 했을때 위 와 같은 go.mod 파일이 생기며, 의존성을 require를 통해 관리 됩니다. 하지만 local 프로젝트의 경우는 github에서 받아올 수 있는 상황이 아니기 때문에, replace 명령을 이용해야 합니다. module github.com// require ( github.com/... github..
2020.07.07 -
Django Prefetch와 비교해보는 GORM Preload에 대한 고찰
Django ORM은 Django 프레임워크에 포함된 ORM이고, GORM은 Go언어의 ORM 라이브러리입니다. Django Framework 또는 DRF(Django Rest Framework)를 사용해보신 분들이라면 희귀하게 동작하기 때문에... 데이터베이스 (Database)에서 Query Performance(퍼포먼스) 개선에 대해 많은 고민을 해보실 거라고 생각되는데, Django에서는 자주 사용되는 방식으로 select_related, prefetch_related 라는 친구가 존재합니다. GORM에서는 Joins, Related, Preload 라는 친구들이 있습니다. Django의 Join Select_releated는 어떠한 상황에서 사용할까? 1:1 관계 (OneToOne) N:1 관계..
2020.07.05 -
Go Dockerfile 멀티스테이징 scratch를 이용한 경량화 + 타임존 맞추기
how to make dockerfile with local timezone on go? Go언어를 사용해 Docker를 이용하면 정말 찰떡궁합 같은 존재가 되는데, 기본적으로 scratch라는 이미지를 많이 사용합니다. 저는 주로 로컬 개발시에는 WSL2로 할 땐 goland에서 build 후 터미널에서 compose를 재구성하는데, compose가 아직 현재 시점에선 jetbrains가 docker connect는 되는데 이상하게 windows wsl docker-compose로 구성돼있음에도 불구하고 linux가 아닌 window에서 실행되어 에러가 나네요... 혹시 방법을 아시는 분은 댓글 부탁드립니다! Dockerfile FROM golang:alpine as builder COPY . /app..
2020.06.26 -
#02. Go - gqlgen 프로젝트 설정하기
https://gmyankee.tistory.com/301 #01.Go - GraphQL 알아보기 서론 Go언어를 사용하는 Gopher 여러분들은 상당히 다수 존재하는 반면에, Graphql은 아직까지도 한국어로 된 자료가 많지 않으며, GraphQL 대다수의 자료는 JS가 부동의 1위를... 저도 언어를 3가지를 �� gmyankee.tistory.com 이전에 알아본 graphql중에서도 gqlgen을 강조하였기에 당연히 gqlgen을 사용할 것이며, 사실 제가 gqlgen말고 다른건 안써봤습니다! gqlgen 공식 Github 99designs/gqlgen go generate based graphql server library. Contribute to 99designs/gqlgen develop..
2020.06.01 -
#01.Go - GraphQL 알아보기
서론 Go언어를 사용하는 Gopher 여러분들은 상당히 다수 존재하는 반면에, Graphql은 아직까지도 한국어로 된 자료가 많지 않으며, GraphQL 대다수의 자료는 JS가 부동의 1위를... 저도 언어를 3가지를 사용하지만 graphql은 JS로 처음 접근했었습니다. 왜냐고요? JS밖에 자료가 없었거든요... 그 이후 Prisma라는 걸 알게 되었고 Prisma 자체의 한계점에 부딪혀 Prisma2를 접근했고... Prisma2의 자체의 또 한계점을 알게 되어 삽질하다가 결국 Django + Grahpql이라는 방법을 채택했었죠. 심지어 gqlgen은 2020.05.31 기준 현재까지도 대충 gqlgen을 키워드로 검색했을 때 단 1개도 존재하지 않아서 많은 안타까움을 자아냈습니다... 저도 처음에..
2020.05.31