전체 글

기록합시다.
AI

[AI] LangGraph

1. 랭체인의 탄생 배경: "LLM의 한계를 극복하다"2022년 말, ChatGPT의 등장과 함께 대형 언어 모델(LLM)의 놀라운 능력이 세상에 알려졌습니다. 하지만 개발자들은 곧바로 순수 LLM이 가진 명확한 한계에 부딪히게 됩니다.정보의 단절 (Knowledge Cut-off): 모델이 학습한 시점 이후의 최신 데이터나, 기업 내부의 비공개 데이터에는 접근할 수 없습니다.환각 현상 (Hallucination): 모르는 것도 그럴듯하게 지어내는 문제가 있어, 신뢰도가 중요한 서비스에 바로 적용하기 어렵습니다.행동 능력의 부재: 텍스트를 생성할 수는 있지만, 웹을 검색하거나, 계산기를 두드리거나, 데이터베이스에 쿼리를 날리는 등의 능동적인 '행동(Action)'을 할 수 없습니다.랭체인은 바로 이러한 ..

AI

하네스 엔지니어링

https://github.com/multica-ai/andrej-karpathy-skills GitHub - multica-ai/andrej-karpathy-skills: A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej KarpathA single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls. - multica-ai/andrej-karpathy-skillsgithub.com 안드레카파시가 말한 60줄짜리 md 파일이 star 가 170k를 넘어섰다. 핵심..

DATA

[DATA] 아호코라식 알고리즘 (Aho-Corasick)

부끄러운 과거의 일입니다. pull을 받지 않고 개발을 한적이 있고, 그 때 아호코라식 알고리즘에 대해 정확히 알게 되었다. 아호 코라식? 일대다(1:N) 다중 문자열 검색에 특화된 알고리즘입니다. Trie(트라이) 자료구조에 KMP 알고리즘의 '실패 링크(Failure Link)' 개념을 결합하여, 찾고자 하는 모든 패턴을 트라이 형태로 구성한 뒤 대상 텍스트를 단 한 번만 스캔하여 모든 매칭 결과를 찾아냅니다. as-is : 3억건의 데이터를 for문을 통해 반복으로 처리한다 - 너무 비효율적임. to-be : O(n+m) 성능이 말이 안된다 정말. 어떻게 작동하는가? (알고리즘의 흐름)타겟 데이터로 "ushers"라는 텍스트가 들어왔다고 치자.u: Root에서 시작. 'u'가 없으니 그냥 넘어..

PYTHON

[DATA] spark, iceberg

spark 는 jar를 박기 시작하면 무거워져서, 1MB 이상일 경우 docker 에서 적재하고 실행하는데에 오래걸림. 특히 운영환경에서 수백개, 수십개의 docker 를 띄우는 환경이라면, 더더욱 경량화에 신경써야 한다. Apache Spark와 Iceberg를 통한 데이터 적재와 Trino의 MERGE 쿼리 활용1. **환경 설정** Docker와 Python 3.12 버전 - 생략.2. **데이터 파이프라인 개요** Apache Airflow, Spark, Trino를 활용해 데이터 파이프라인을 구축하는 방법에 대해 간단히 설명함. 각 툴의 역할은 다음과 같음. - **Apache Airflow** : 작업 스케줄링과 관리.- **Spark** : 대량의 데이터를 빠르게 처리하고 분석.- ..

ALGORITHM

머쓱이 Level 0 완료

다음엔 좀 더 꾸준히 해볼 것. 머쓱이와 레벨 0 완료.

DATA

[DATA] Spark ETL

Spark는 대규모 데이터 처리를 위한 분산 컴퓨팅 시스템입니다. 원래 UC 버클리의 연구자 팀에 의해 개발되었으며, Hadoop의 MapReduce보다 빠르고 유연한 데이터 처리 기능을 제공합니다. Spark는 메모리 내에서 데이터를 처리하기 때문에, 디스크 기반의 처리보다 훨씬 빠른 성능을 자랑합니다. 또한, 다양한 언어(Scala, Java, Python, R)를 지원하여 개발자들이 쉽게 접근할 수 있도록 하고 있습니다.### Spark로 ETL을 해야 하는 이유Python이나 Pandas, Polars와 같은 도구들도 ETL 작업에 많이 사용되지만, Spark는 대규모 데이터 처리에 최적화되어 있습니다. 특히, 데이터의 양이 많아질수록 Spark의 성능이 더욱 두드러집니다. Spark는 클러스터 ..

DATA

[DATA] Spark Shuffle

Spark에서 Shuffle은 데이터 처리의 중요한 개념입니다. Shuffle이란 데이터의 재분배를 의미하며, 주로 Wide Transformation에서 발생합니다. Wide Transformation은 데이터의 구조를 변경하는 연산으로, 예를 들어 `groupByKey`와 `reduceByKey`가 있습니다. 이 두 연산은 데이터의 재구성을 필요로 하며, 이 과정에서 Shuffle이 발생합니다. `groupByKey`는 모든 데이터를 한 곳으로 모으는 방식으로, 데이터의 양이 많을 경우 성능 저하를 초래할 수 있습니다. 반면, `reduceByKey`는 데이터를 미리 로컬에서 합친 후 Shuffle을 수행하기 때문에 더 효율적입니다. 이러한 차이로 인해, 데이터 처리 시 어떤 연산을 선택하는지가 성능..

DATA

[DATA] Apache iceberg

Hive and Iceberg Quickstart - Apache Iceberg™Hive This guide will get you up and running with Apache Iceberg™ using Apache Hive™, including sample code to highlight some powerful features. You can learn more about Iceberg's Hive runtime by checking out the Hive section. Docker Images The fastesticeberg.apache.org    Iceberg?데이터 버전 관리: Apache Iceberg는 사용자가 시간 경과에 따른 데이터의 변경 내용을 추적할 수 있는 데이터 버전 관리..

DATA

[DATA] Apache Hive

https://hive.apache.org/ Apache HiveApache Hive is a distributed, fault-tolerant data warehouse system that enables analytics at a massive scale. Hive Metastore(HMS) provides a central repository of metadata that can easily be analyzed to make informed, data driven decisions, and therefore ihive.apache.org   HIVE? 대규모 데이터 세트를 SQL과 유사한 쿼리 언어인 HiveQL을 사용하여 처리하고 분석할 수 있도록 설계된 데이터 웨어하우스 인프라 Hadoop 에..

ERROR

[ERROR] Datagrip bug

merge 문이 안써진다    intellij 24 1 - ultimate 버전을 돈내고 쓰는데  여기 붙어있는 datagrip은  무료인 디비버 커뮤니티 툴보다 못한 성능을 보여준다.    https://youtrack.jetbrains.com/issue/DBE-12911 Vertica Dialect shows syntax error with MERGE using subquery : DBE-12911What steps will reproduce the problem? 1. set dialect to Vertica 2. start typing the following sample query MERGE INTO destination d USING (SELECT 'whatever' as whatever) a..

girin_dev
girin_dev