본문 바로가기

전체 글

[Typescript] Generic을 활용한 class constructor 간소화하기 0. Table Of Contents 0. Table Of Contents 1. 서론 2. 이번 문제의 key는 왜 Generic인가? 3. Generic 4. Generic Type (Utility Type) 4.1. Partial 4.2. Pick 5. 최종 적용 코드 1. 서론 class 정의시, constructor를 정의하곤 했다. 일반적인 constructor를 생성시, 아래와 같은 형태를 띈다 export class ModbusConnection { constructor(modbusClient: ModbusRTU, deviceId: any, ipAddress: string, modelId: any, nestedDeviceIdList: Device[]) { this.modbusClient = .. 더보기
[ElasticSearch] ElasticSearch 설계 (2023.03.28) 0. Table Of Contents 0. Table Of Contents 1. 설계에 반영되어야 하는 내용 2. Shard 및 Index 설계 3. Indice (ElasticSearch Data Modeling) 4. 데이터 시각화 1. 설계에 반영되어야 하는 내용 하나의 솔루션 데이터 뿐만 아니라 여러가지 솔루션의 데이터를 핸들링 할 수 있어야 한다. 불필요한 색인을 줄여 자원 사용량을 줄일 수 있어야 한다. 형태소 분석을 어떻게 할 것인지에 대한 전략을 작성할 수 있어야 한다. 2. Shard 및 Index 설계 설계시 생각해야 할 조건을 나열하면 아래와 같다.\ 이종간의 솔루션의 로그에 대해서 분석을 할 수 있어야 한다. ElasticSearch에서 권장하는 수준의 Shard 크기를 유지할 수 .. 더보기
[ElasticSearch] ElasticSearch Indice에 대해 실수한 기록(2023.03.16) 0. Table Of Contents 0. Table Of Contents 1. 하고자 하였던 내용 2. 문제 분석 3. 문제 해결 4. 결론 1. 하고자 하였던 내용 ElasticSearch에 test라는 index를 생성 후, kafka consumer eachBatch 기능을 이용하여 주기적으로 document를 insert하고 있다. 이 데이터들을 이용하여 아래와 같은 효과를 내고자 한다. 실시간 데이터 모니터링 데이터 통계 ML 분석 연계 (연구가 더 필요함) 그러나 데이터를 insert 하여 모니터링 그래프를 그리는데 아래와 같은 문제가 생겼다. 2. 문제 분석 일반적인 데이터베이스의 경우, 코드 상에서 schema를 선언하거나 사전에 schema를 fix하고 작업하기 때문에 data type.. 더보기