개요 별 생각없이 go get -u 옵션을 사용해왔었는데 회사에서 사용하는 패키지를 이용한 개발을 하다 그 의미를 이해하게 되었다. 어떤 상황이었나? go work를 이용해서 workspace 디렉토리 아래에 개발하는 애플리케이션과 패키지 디렉토리를 두고 개발한다. 이 경우 애플리케이션은 같은 workspace 아래의 패키지를 이용하기 때문에 패키지를 수정해가며 개발을 할 수 있다. 하지만, 이 경우 애플리케이션의 go.mod 에 명시한 패키지의 버전 정보가 맞지 않게 된다. 해법은 go get -u 옵션 이를 업데이트 시켜주려면 1. 패키지를 GitHub으로 git push 해 준 다음에 2. go get -u 옵션으로 다시 패키지를 가져오면 된다. 좀 더 정확히는 시멘틱 버저닝으로 보면 메이저 버전은..
개요 매번 헷갈리기에 이 참에 제대로 정리 참고 링크: https://hbase.tistory.com/98 EXPOSE 공식문서: https://docs.docker.com/engine/reference/builder/#expose docker run -p 공식 문서: https://docs.docker.com/engine/reference/commandline/run/#publish-or-expose-port--p---expose TL;DR EXPOSE는 Dockerfile 안에 명시하는데 도커 이미지를 실행하면 해당 port를 외부에 공개할 예정이라는 말이다. 실제로 공개하려면 docker run -p 또는 docker run -P 명령을 써야 한다. Dockerfile 안에 EXPOSE 5005 라..
Golang에서의 경량 ORM으로서의 bun package를 다루며 경험한 내용을 정리해둔다. Automatic timestamp 링크: https://bun.uptrace.dev/guide/models.html#automatic-timestamps INSERT 시에 생성한 시간을 자동으로 추가하도록 하는 기능이다. Example code with comment 아래 코드와 코멘트로 설명을 마무리 한다. 전체 GitHub Repo: https://github.com/nicewook/bun-orm-study Query Building Example: https://github.com/nicewook/bun-orm-study/blob/main/default-timestamp/main.go bun 태그의 의미..
Golang에서의 경량 ORM으로서의 bun package를 다루며 경험한 내용을 정리해둔다. Query building 링크: https://bun.uptrace.dev/guide/complex-queries.html#query-generation Query를 만들면서 조건에 따라 더욱 이어붙이는 건에 대하여 q = q.Limit() 의 결과가 단순히 q.Limit()와 같은 것을 동료분이 이야기해 알게 되었다. 코드가 더욱 간결해진다. 그런데 위 링크를 보면 심지어 bun 패키지 설명도 그 차이를 모르는 것인가 싶다. Example code with comment 아래 코드와 코멘트로 설명을 마무리 한다. 전체 GitHub Repo: https://github.com/nicewook/bun-orm-s..
Golang에서의 경량 ORM으로서의 bun package를 다루며 경험한 내용을 정리해둔다. ScanAndCount 링크: https://bun.uptrace.dev/guide/query-select.html#count-rows 데이터베이스를 다루며 query 로 리스트를 가져올 때에는 Offset, Limit 를 이용해 그 일부만을 가져와야 할 때가 많다. 그러면서도 paignation 을 위해 전체 개수를 Count 해 주어야 한다. bun 은 ScanAndCount() 기능을 제공한다. 이 매서드가 이쁜 것은 이 지점이다. Offset, Limit가 적용되면서도 Count는 그것이 적용되지 않은 전체 개수를 세어주는 것이다. Example code with comment 아래의 발췌한 코드와 코멘..
개요 알라딘 링크: http://aladin.kr/p/lzUaS 클린 애자일이라는 책이 떠올랐다. 애자일에 대해서 이리저리 읽고 보았던 기억을 잘 정리해주는 책이었었다. 이 책은 애자일 방법론중 하나인 스크럼에 대한 이야기를 다루는 데 스크럼 전반에 대한 개념을 한 눈에 볼 수 있게 해주었다. 또한 가상의 상황속에서 스크럼을 해나가며 부딪힐 수 있는 실전적 문제를 보여주며 가이드를 해주는 데, 이 역시 실무에서 큰 도움이 되리라 생각한다. 시험 공부하듯 세세하게 정리해두고 싶지만 가장 큰 덩어리 두 가지만이라도 적어두려 한다. 현 시점 머리속의 생각을 적어두는 것이니 정확하지 않은 부분도 있겠다. 역할과 활동, 그리고 산출물 스크럼은 3가지 역할, 5가지 활동, 그리고 3가지 산출물을 뼈대로 삼는다. 나..
개요 COCO JSON에서 Object detection annotation에서 사용하는 필드의 소수점을 알아본다. TL;DR segmentation의 좌표정보는 최대 소수점 2자리로 한다 area 정보는 최대 소수점 16자리로 한다. 준비 Annotation dataset 준비 다운로드 페이지: https://cocodataset.org/#download 다운로드 링크: http://images.cocodataset.org/annotations/annotations_trainval2017.zip 다운로드 후 instance_val2017.json 을 이용하여 알아봄 instances_val2017.json 찾으려는 정보 링크: https://haobin-tan.netlify.app/ai/computer..
TL;DR Postgres 에서 primary key를 unique, autoincrement 로 생성하고 싶다면 serial이 아닌 generated always as identity 를 사용하자 내용 Postgres 에서 table을 생성하며 PK를 하나씩 증가하는 8바이트 정수형으로 선언하려 BIGSERIAL 을 사용하였는데그 보다는 generated always as identity 를 사용하는 것이 낫다 한다. 그 이유는 1. serial은 Postgres 에서 "auto-generated unique value"를 생성하게 하는 구현이며, SQL 스탠다드가 아니다2. Postgres 10 부터는 generated as identity 를 지원한다. SQL 스탠다드이다. 상세 참고 링크: h..
- Total
- Today
- Yesterday
- websocket
- 2024년
- 클린 애자일
- 영화
- github
- intellij
- ChatGPT
- strange
- bun
- notion
- 독서후기
- 독서
- solid
- 티스토리챌린지
- Bug
- folklore
- 잡학툰
- 체호프
- API
- clean agile
- Gin
- OpenAI
- 2023
- golang
- 오블완
- 인텔리제이
- go
- 엉클 밥
- agile
- 노션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |