개요 두 컬럼의 조합이 Unique 해야할 상황이 종종 발생한다. 예를 들어 하나의 이미지(image_id)를 여러 일(job_id)에 중복 할당을 할 수 있지만 특정한 일(job_id)에 할당한 이미지(image_id)에 중복이 있으면 안되는 경우가 있겠다. 이럴 때에 두 컬럼의 조합이 unique 하다는 제한(constraint)를 걸 수 있다. 참고 링크: https://stackoverflow.com/a/63733203/6513756 생성할 때에 설정하기 예시: 생성시 두 컬럼 값의 조합은 unique 해야 한다는 제약 조건을 가지고 생성한다. CREATE TABLE my_table ( id serial PRIMARYKEY, task_id int NOTNULL, user_id int NOTNULL..

개요 매번 헷갈리기에 이 참에 제대로 정리 참고 링크: 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 라..
개요 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..

마이크로서비스 도입 이렇게 한다 - 라는 책에서 알게되었다. 기존 시스템에서 새로운 시스템으로 대체하려 할 때에 한 번에 바꾸려 하지 않고 새로운 시스템으로 기존 시스템을 감싼 다음, 조금씩 기존 시스템의 기능을 새로운 시스템으로 옮기다가 최종적으로는 완전이 대체하는 것을 말한다. 김춘수의 "꽃"이 생각난다. 이러한 방식을 들으면 결코 신기하게 느껴지지 않을 것이고, 누구나 같은 상황에서 생각해봤을 해법이다. 하지만 그것에 이름을 붙여주면 생명력을 가지게 되고 커뮤니케이션에도 도움이 된다. 마틴 파울러 글 링크: https://martinfowler.com/bliki/StranglerFigApplication.html

상황 ssh로 접속한 Ubuntu 서버에 Kubernetes를 CLI에서 관리하는 툴인 k9s를 설치하려 한다. Kubernetes를 사용한다면 Teminal 환경에서 리소스의 상황을 검토하는 작업 등 매우 유용하게 쓸 수 있는 툴이다. $ uname -a Linux annowiz2svr-00 5.13.0-51-generic #58~20.04.1-Ubuntu SMP Tue Jun 14 11:29:12 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux 문제 k9s가 설치되어 있지 않으면 $ snap install k9s 로 설치하라 가이드가 오는데 옛 버전이 설치되었다. 해법 GitHub의 release 페이지에서 최신 바이너리를 다운받아서 사용하자 링크 GitHub: https://..
상황 GitHub Secret 의 이름은 어떻게 지어야 하나? 검토 링크: https://docs.github.com/en/actions/security-guides/encrypted-secrets#naming-your-secrets 대문자, 소문자, 숫자, 언더스코어를 조합하여 쓸 수 있다. 하지만 결론은 대문자, 숫자와 언더스코어만을 쓰자. 왜냐하면 설명 화면으로 가보면 자동으로 대문자 저장이 되어있다. GitHub Actions에서 참조하여 쓰려고 하면 대문자로 써야 한다.
- Total
- 386,755
- Today
- 7
- Yesterday
- 307
- gcm
- 하드씽
- install
- websocket
- 비폭력대화
- timestamp
- solid
- bun
- 클린 애자일
- docker
- gorilla/websocket
- 마셜
- 자아
- Gin
- 명상
- 2022
- additional data
- branch
- agile
- ORM
- go
- min heap
- AES
- golang
- powershell
- 독서후기
- Handshake
- 로젠버그
- postgres
- heap