전체 글

전체 글

    [Kafka] 하나의 topic에 대해 consumer 3명이 모두 동일한 데이터를 동시에 읽을 수 있도록 하기

    [Kafka] 하나의 topic에 대해 consumer 3명이 모두 동일한 데이터를 동시에 읽을 수 있도록 하기

    * 각 Consumer마다 다른 Group ID를 부여한다.* 각 Consumer가 읽어오고자하는 Topic을 구독하면 된다.* Topic에서는 각 Group 이 읽어간 message의 위치를 관리하기 위해 offset을 기록하기 때문에 각 Consumer는 동일한 데이터를 읽을 수 있다.* offset은 그룹이 다음에 읽을 메시지의 위치를 나타낸다.

    행렬곱(X), 아다마르 곱셈(⊙)

    행렬곱(X), 아다마르 곱셈(⊙)

    📌 행렬곱 : A metrix의 i행에  B metrix j 열을 곱해서 더한 값을 Result Matrix의 ij 셀에 결과로 넣음     - 하나의 셀을 구하기위해 : i번 곱셈 📌 아다마르 곱셈 : A metrix의 i행 j열 과 B metrix의 i행 j열을 곱해서 Result Matrix의 ij 셀에 결과로 넣음     - 하나의 셀을 구하기위해 : 1번 곱셈      참고: https://chonchony.tistory.com/entry/%ED%96%89%EB%A0%AC-%EA%B3%B1%EC%85%88-vs-%EC%95%84%EB%8B%A4%EB%A7%88%EB%A5%B4-%EA%B3%B1%EC%85%88-Hadamard-product-vs-Matrix-multiplication

    그리스어 수학 기호 필기체 쓰는법

    그리스어 수학 기호 필기체 쓰는법

    https://namu.wiki/w/%EA%B7%B8%EB%A6%AC%EC%8A%A4%20%EB%AC%B8%EC%9E%90 그리스 문자그리스 문자 ( 그리스어 : Ελληνικό αλφάβητο)는 그리스어 를 표기하는 문자 체계이다. '그리스'의namu.wiki  세가지 파이표기에 대한 클루드의 답변

    AirFlow

    * AirFlow 등장 배경: 기존에 Cron으로 돌리던 스케줄링된 프로그램들     - 시간 기반 자동화 : 매일/매주/매월 특정 시간에 작업 실행 * 데이터 파이프라인이 많아짐에 따라 Cron만으로는 모든 작업을 관리하는 것이 어려워짐* 이 모든 파이프라인을 스케줄링, 모니터링, 실행을 자동화해주는 프레임워크 등장 : AirFlow* DAG 라는 스케줄링 파일을 기반으로 동작* XCom이라는 내부 캐시저장소가 있어서 다른 Task에서 데이터를 공유할 수 있음  - BashOperator와 PythonOperator가 존재함 (초기 실행시간이 PythonOperator가 조금더 느리다...?) AirFlow Components- Scheduler : 순서관리- Worker: 작업 실행- Operator..

    [Spark] 개념

    * MapResulce 한계를 극복한다.* MapReduce는 디스크에 저장되어서 지연시간을 증가시킨다.* Spark는 in-memory 방식을 사용해서 중간 연산 결과를 디스크에 저장하지 않기 때문에 중간 연산에서 디스크 I/O 가 발생하지 않는다. * in-memory가 디스크보다 10,000 배 빠르다.* in-memory의 단점은 휘발성이다. 컴퓨터가 꺼지면 날아간다는 것     - 그래서 이를 보완하기 위해서 나온 개념이 RDD이다.     - RDD: 심플하게 생각하면 배열이다.

    딥시크도 ClickHouse 를 사용하구나

    딥시크도 ClickHouse 를 사용하구나

    출처: https://www.mk.co.kr/news/it/11229375clickhouse 도 공부해야하나?

    리눅스 명령어

    # 해당링크에서 파일 다운wget 링크# 압축 풀기tar xvf 파일명# 모든 항목보기 ls -all# 디렉토리 강제 삭제 rm -rfrecursive : 하위 항목 모두 삭제force: 삭제 여부를 묻지 않고 삭제

    Ollama?

    📌 Ollama 로컬 환경에서 AI 언어 모델을 쉽게 실행할 수 있게 해주는 오픈소스 프로젝트이다.오픈소스  링크: https://www.ollama.com/ OllamaGet up and running with large language models.ollama.com 로컬 실행: 클라우드나 인터넷 연결 없이도 컴퓨터에서 직접 AI 모델을 사용할 수 있다.다양한 모델 지원: Llama 3.3, DeepSeek-R1, Phi-4, Mistral, Gemma2 등 (25.01.31 기준) 여러 오픈 소스 AI 모델들을 지원한다.간편한 설치와 사용: 커맨드 라인에서 간단한 명령어로 모델을 다운로드하고 실행할 수 있다.API 제공: 개발자들이 자신의 애플리케이션에 AI 기능을 통합할 수 있도록 REST AP..

    [ClickHouse] ClickHouse 란?

    [ClickHouse] ClickHouse 란?

    📌 ClickHouse 란?- OLAP(OnLine Analystic Processing) 를 위한 컬럼 지향형 SQL DBMS 이다.- 대부분의 쿼리를 처리하는데 기존 데이터베이스보다 최소 100배 빠르다. (실시간 빠른 응답 가능)   :초당 수억에서 수십억 행과 수십 기가 바이트의 데이터를 처리한다.- 최고의 퍼포먼스를 보여준다. (사용 가능한 모든 시스템 리소스를 최대한 활용한다. 디스크 용량을 예상치보다 높게 써야한다.)- 하드를 가상 메모리처럼 쓴다. (실제 필요한 용량보다 하드를 좀더 크게 쓰는 것을 권장)- 트랜잭션을 지원하지 않는다.- 데이터 삭제, 업데이트 기능이 약하다. 참고: https://vprog1215.tistory.com/391

    OAuth 2.0 구글 로그인 계정으로 사용

    https://engineerinsight.tistory.com/163#google_vignette

    GSLB(Global Server Load Balancing)

    GSLB(Global Server Load Balancing)

    토스 증권에서 Kafka 데이터센터 이중화 정책을 도입하기 위해, 특정 데이터 센터에 장애가 발생했을 때 Consumer 가 소비해오는 서버를 변경하는 방식에 GSLB(Global Server Load Balancing)을 도입하여, 장애 상황에 서비스를 지속할 수 있도록 구축했다고 한다.   그래서 이번 글에서는 GSLB 가 무엇인지 알아보려고한다.📌 GSLB(Global Server Load Balancing)DNS 를 기반으로 작동하며, 사용자의 요청을 적적할 서버로 라우팅한다.단순 DNS의 로드밸런싱은 IP목록 중 하나를 반환할 뿐(Round Robin:RR),네트워크 지연, 성능, 트래픽 유입, 서비스 실패 등을 전혀 고려하지않는다. 이를 보완하기위해 등장한 것이 GSLB이다.  GSLB 특징..

    DNS(Domain Name Server)

    📌 DNS(Domain Name Server)도메인 이름(ex: google.com)을 입력하면, IP 주소로 변환해준다.

    [Flutter Dart] 여러 Future 처리 Future.wait, Future.any

    📌 Future.wait여러 Future를 동시에 실행하고, 모두 완료될 때까지 기다린다.결과를 리스트로 반환한다.await Future.wait(비동기함수들) Future main() async { List> futures = [ Future.delayed(Duration(seconds: 1), () => "Task 1 completed"), Future.delayed(Duration(seconds: 2), () => "Task 2 completed"), Future.delayed(Duration(seconds: 3), () => "Task 3 completed"), ]; List results = await Future.wait(futures); print(results); ..

    [Flutter Dart] Duration 시간 객체

    📌 Duration시간을 나타내는 객체기본 제공 생성자를 통해 다양한 단위를 지정할 수 있다. (초, 밀리초, 분 ..)Duration(seconds: 5); // 5초 Duration(milliseconds: 500); // 500 밀리초 Duration(minutes: 2); // 2분객체를 출력하면 표준 형식으로 시간간격이 나타난다.0:00:050 → 시간 부분 (0시간)00 → 분 부분 (0분)05 → 초 부분 (5초)void main() { Duration duration = Duration(seconds: 5); print(duration); // 0:00:05 Duration longDuration = Duration(hours: 1, minutes: 30, seconds: 15); ..

    [Flutter Dart] enum

    코드팩토리의 플러터 프로그래밍 2판 책을 참고하여 공부용으로 작성한 게시글입니다.  📌 enum한 변수의 값을 몇 가지 옵션으로 제한하는 기능정확히 어떤 선택지가 존재하는지 정의해둘 수 있기 때문에 유용 enum Status{ before, during, after,}void main(){ Status status = Status.before; print(status) // Status.before} 속성 자체 출력속성 리스트 출력속성 인덱스 출력enum Status { before, during, after,}void main() { Status status = Status.before; // 1. name 속성: enum 값의 이름을 문자열로 반환 print(st..

    [Flutter] Children, child 의 차이점

    코드팩토리의 플러터 프로그래밍 2판 책을 참고하여 공부용으로 작성한 게시글입니다.        #코드팩토리의플러터프로그래밍2판 #공부용

    [Flutter] 기본 위젯 Center, Container, GestureDetector, SizeBox, Column, Row, ListView

    코드팩토리의 플러터 프로그래밍 2판 책을 참고하여 공부용으로 작성한 게시글입니다.        #코드팩토리의플러터프로그래밍2판 #공부용