본문 바로가기

전체 글74

[TIL] Postgresql에서 one-row size 구하기 Postgresql에서 하나의 row의 bytes를 다음 명령어로 구할 수 있다. SELECT sum(pg_column_size(t.*)) as filesize, count(*) as filerow FROM as t where id = ; 테이블 크기에 대해 알고 싶으면 where문을 빼면 된다. SELECT sum(pg_column_size(t.*)) as filesize, count(*) as filerow FROM as t; 2023. 12. 11.
Go google style guides - decisions 이전에 했던 style guide보다는 좀 더 서술적이고 예시가 많은 문서이다. 참고 문서: https://google.github.io/styleguide/go/decisions Naming Underscore를 피하자. 다음 케이스만 예외로 둔다. *_test.go 안의 Test, Benchmark and Example function OS와 직접 통신하는 system library util, utility, common, helper와 같은 무의미한 패키지 이름을 피하자. Receiver 이름은 짧고, 축약어를 많이 사용하라. func (tray Tray) → func (t Tray) func (info *ResearchInfo) → func (ri *ResearchInfo) 상수 이름은 다른 이름.. 2023. 12. 9.
AWS Cloudformation 최근에 AWS 인프라가 점점 더 복잡해짐에 따라 AWS 인프라를 코드로 관리할 필요성이 생겼다. 이에 대해 좀 더 찾아보다가 AWS Cloudformation을 도입해보게 되었다. IaC (Infrastructure as Code) IaC는 매뉴얼한 프로세스가 아닌 코드를 통해 인프라를 관리하고 프로비저닝하는 일을 말한다. 장점 IaC를 사용하면 파일 형태의 config가 생성되어 편집하고 배포하기가 쉽다. 매번 동일한 환경을 생성하도록 보장한다. 환경에 대한 버전 관리도 가능하다. 방식 선언적 접근 방식: 원하는 상태를 정의하고, 시스템은 원하는 상태에 도달하기 위해 노력한다. 명령적 접근 방식: 인프라 상태 뿐만 아니라 어떻게 달성될 지도 명령으로 정의된다. 적절한 순서로 실행되어야 한다. 툴 Ter.. 2023. 12. 9.
[TIL] Jest에서 async 요청 test 병렬적으로 해보기 AWS 상에서 자동화된 integration test를 구현할 일이 있었다. 작성 언어는 크게 상관 없었지만, code pipeline에 포함시키기 위해 AWS에 예제가 잘 나와있는 Jest를 선택하기로 했다. AS-IS Integration Test는 응답시간이 오래 걸리는 요청 여러 개를 AWS 내의 서비스로 날리는 것이었다. 처음에는 jest의 test.each 함수를 이용해서 여러 테스트케이스를 병렬적으로 구성하도록 작성했다. test.each(testcases)('request $inputFile to $path', async ({path, inputFile, outputFiles}) => { }) 하지만 테스트 케이스를 추가하고, 응답시간이 오래 걸리는 케이스도 추가해 보니, Jest 부모 프.. 2023. 11. 24.