반응형
Golang 에러 처리  - (2) 에러 처리 시 결정해야 할 항목들
카테고리 없음2024. 9. 10. 00:19Golang 에러 처리 - (2) 에러 처리 시 결정해야 할 항목들

Golang Error 처리를 위한 결정1. Error Wrapping으로 추가 정보를 포함한다.Wrapping 방법은 fmt.Errorf(”%w”, err)를 사용하여 에러를 추가하는 방식입니다.Go 1.13 이상 버전에서는 표준 라이브러리에 error 래핑 기능이 추가되어, 호출 스택이 필요 없는 경우에는 다음과 같이 간편하게 사용할 수 있습니다.func foo() error { return errors.New("foo error!!") } func bar() error { return fmt.Errorf("%s, %w", "bar", foo()) } func main() { err := fmt.Errorf("%s, %w", "main!!", bar()) fmt.Printf("%+v", err) } ..

Golang 에러 처리  - (1) Google Guide/Best Practice 찾아보기
백엔드/Golang2024. 9. 7. 19:04Golang 에러 처리 - (1) Google Guide/Best Practice 찾아보기

배경현재 프로젝트에서 Error 처리를 일관적이지 못한 방법으로 하고 있다는 생각이 들어서 글을 쓰게 되었습니다.작년의 Golang 초기 사용 시점에는 모두 언어에 대한 이해도가 낮고 MVP 완성을 위해 빠르게 코드를 짰어야 해서 전체적으로 코드를 짠 사람의 코딩 Convention을 따라가게 되었습니다.그때의 Error handling 사용의 형태를 유사하게 활용해 오다 보니 현재까지 같은 문제를 가지고 있는 Error handling을 가져오게 된 것이죠. 그래서 우리의 Error handling은 같은 문제들을 가지고 있습니다. 현재 프로젝트의 에러 처리 방식의 문제점1. 에러 로그의 일관성이 부족합니다.어떤 에러 로그는 최상위 API 실행시에만 몰아서 출력되고,어떤 에러 로그는 최상위 API 실행..

[번역] 대부분 golang과 sqlite로 충분하다
관심 분야 센싱/다른 사람 포스팅 구경하기2024. 8. 31. 11:54[번역] 대부분 golang과 sqlite로 충분하다

https://crawshaw.io/blog/one-process-programming-notes crawshaw - 2018-07-30One process programming notes (with Go and SQLite) 2018 July 30 Blog-ified version of a talk I gave at Go Northwest. This content covers my recent exploration of writing internet services, iOS apps, and macOS programs as an indie developer. There are severcrawshaw.io위의 글을 번역해서 가져왔습니다. ----구글에서 일을 하던 시점에서 Small 비지니스를 만들기 ..

Golang init() 사용법 및 주의 사항
백엔드/Golang2024. 5. 16. 23:48Golang init() 사용법 및 주의 사항

Golang Init의 기본 순서Init 함수는 기본적으로 Application의 상태를 정의하기 위해서 사용합니다.어떠한 Argument를 받거나 return 값을 제공하지도 않습니다.패키지가 처음 불려지면 그때 모든 상수나 변수가 계산되고 그 이후에 Init() 함수가 실행됩니다. 간략하게는 아래 순서로 실행됩니다.import --> const --> var --> init() 조금 더 자세히 설명하자면 아래와 같습니다.만약 패키지가 다른 패키지를 import하면, import한 패키지의 init() 및 initialize 과정이 먼저 실행됩니다.현재 패키지의 constant가 initialize 됩니다.현재 패키지의 variable이 initialize 됩니다.최종적으로 현재 피키지의 init() ..

우리 프로젝트에서 Golang DB 처리 시에 GORM을 사용 해야 하는 이유
백엔드/Golang2024. 5. 1. 11:37우리 프로젝트에서 Golang DB 처리 시에 GORM을 사용 해야 하는 이유

제가 현재 회사에서 개발중인 제품에서 사용하는 Language는 Golang입니다.기존에는 제품에 DB를 도입할 필요가 없었다가 최근에 DB 도입을 하게 되었습니다.DB를 개발자들이 잘 다루기 위한 방법이 필요했는데요. 그 중 찾아낸게 바로 GORM 이었습니다. GORM을 쓰는 근거와 그것을 정리하는 Architecture Decision Record를 작성을 해보려고합니다. GORM 사용시의 장점1. 개발 효율성 관점 1) 테이블 Creation SQL관리가 필요없습니다. Go의 구조체를 테이블로 관리하면 됩니다. 우리 프로젝트에서는 각 서버에 DB를 직접 생성해서 작업을 하기때문에 아래와 같은 Table Creation SQL 코드도 관리해야하고 이를 Golang의 Type들과 datatype syn..

반응형
image