전체 글(34)
-
플러터 개발환경 설치
설치 환경 Mac 프로세서 : 3.1 GHz 듀얼 코어 Intel Core i5 메모리 : 8GB 2133 MHz LPDDR3 macOS : 13.4 시스템 요구사항 Mac Operating Systems: macOS, version 10.14 (Mojave) or later Disk Space: 2.8 GB (does not include disk space for IDE/tools) Tools: Flutter uses git for installation and upgrade. We recommend installing Xcode, which includes git, but you can also install git separately. 설치 순서 Flutter SDK 다운로드 ( 설치 당시 flu..
2023.06.18 -
PostgreSQL - Client Connection Defaults - DB 서버에서 오래걸리는 쿼리 종료하기
키워드 PostgreSQL Server Configuration Statement Behavior 설정 Statement_timeout 지정된 시간보다 오래 걸리는 명령문을 중단하는 옵션 질문 실수로 굉장히 오랜시간이 걸리는 쿼리를 DB로 날렸을 경우, DB가 이런 쿼리를 알아서 종료해 줄 수 없을까? postgreSQL을 사용하고 있는 상황 방법 statement_timeout (integer) 옵션을 사용한다. 해당 옵션에 대한 설명은 아래와 같다. 지정된 시간보다 오래 걸리는 명령문을 중단함. log_min_error_statement가 ERROR 이하로 설정되면 타임아웃된 sql문도 기록 인자값을 단위 없이 지정하면 밀리초로 간주됩니다. 값이 0(기본값)이면 제한 시간이 비활성화됩니다. 시간 초과..
2023.06.18 -
[Spring] Spring 3.X에서 jsonb 자료형 사용하기
json 자료형이란? json이라는 자료형은 2011년대 부터 사용되어왔다는데 10년이 지난 지금도 가장 많이 사용하는 자료형이라는 사실은 틀림없다고 생각합니다. Json의 형태는 Key와 Value의 값으로 채워져 있는 형태이며, 직관적으로 데이터를 확인할 수 있다는 점이 장점입니다. jsonb 자료형이란? 이런 json 형태를 DB 컬럼의 데이터 타입으로 사용하면 어플리케이션을 개발함에 있어 편리하지 않을까하는 접근으로 postgresql에서 제공하는 데이터 타입입니다. 기존 json 자료형을 text 형태로 DB에 저장하는 것이 아닌, DB 내부에서 key - value 형태로 관리를 할 수 있도록 하자는 접근으로 만든 데이터 타입이라고 합니다. json과 jsonb를 비교하면... JSON JSO..
2023.02.19 -
[Spring] Gradle multi-module 프로젝트 세팅하기
Gradle Multi Module로 프로젝트를 구성하는 이유 꽤나 잘 만들어진 오픈소스 프로젝트나 회사의 대부분 프로젝트에서는 멀티모듈로 구성하여 프로젝트를 운영합니다. 여러 이유가 있겠지만, 가장 큰 이유 1개만 꼽자면 모듈간 의존성을 줄이기 위함이라고 생각합니다. ( '멀티 모듈 = 모듈의 분산' -> 분산의 가장 큰 이점은 의존성 감소 ) 여러사람이 함께 참여하는 프로젝트에서는 작업 결과물의 반영, 그리고 배포 파이프라인의 분리 등의 이유로 멀티 모듈을 사용한다고 알고 있습니다. Multi Module로 프로젝트 단점 멀티 모듈 구성은 단점도 있습니다. 관리 포인트가 늘어나는 것은 명백한 단점입니다. 흔히 core 혹은 common (같이 쓰는데도 있고)이라 불리는 공통 영역을 두고 사용하는데, ..
2023.02.18 -
[아키텍처] CQRS 패턴
CQRS 패턴에 대해서 간략하게 정리를 하려합니다. MySQL Replication 구성 및 TypeScript의 CQRS 모듈 사용을 경험해보면서 아주 깊이는 없지만, 대략적인 개념들을 정리하였습니다. 이 패턴을 처음 접한것은 '2021년 B마트 전시 도메인 CQRS 적용하기'라는 우아콘 세션이었습니다. 왜 CQRS를 적용해야하는지, 그리고 왜 이렇게 하면 좋은지에 대해서 알게되었고 저도 간단하게나마 한번 적용을 해보았습니다. 사실 '만들어 보았다.'인데 실제 해당 패턴의 장점을 극대화하려면 어느정도 규모가 있는 서비스에서 운영경험이 있어야 되지 않을까 라는 생각이 들었습니다. 개념과 필요성 CQRS는 Command and Query Responsibility Segregation의 약자로 데이터 저장..
2022.12.20 -
서버리스 아키텍처(Serverless Architecture)
개인적으로 임베디드 시스템을 다루면서 '제어보드 생산 -> Bring up -> System Management Setting -> 배포 -> 테스트' 과정을 매번 거쳐보았기에 개발자가 서버로 사용할 인프라 인스턴스를 직접 다룬다는 것이 얼마나 힘들고, 귀찮고, 어려운지 경험한바 있습니다. 이런 것들을 누가 대신 다 제공해준다? 솔직히 아주 솔깃합니다. 특히 서비스에 집중을 해야하거나, infra를 On-Premise로 구축할 필요가 없는 경우 더더욱 그러할 것 같습니다. 최근 AWS 기술 스택을 보면서 서버리스 아키텍처라는 용어가 종종 등장합니다. 개념적으로는 참 오래된 개념이지만, HW 기술이 비약적으로 발전하기 전까지는 각광받지 못한 분야기도 합니다. Serverless라는 용어때문에 혼동이 많은데..
2022.12.19