전체 글 71

Codex MCP 서버를 이용한 AskUserQuestion 구현

현재 이전 포스트 Codex MCP 서버를 활용한 Subagent 환경 구축Codex CLI를 사용하며, 최근 들어 좀 더 유연한 개발환경 설정을 위해Oh-My-OpenCode나 Claude Code로의 이주를 고민해보기도 했었지만,애초에 ChatGPT만 유료 구독을 하고 있던 학생의 입장에서 자연스레 Cohou27.tistory.com를 통해 언급했던 것과 같이 Codex를 사용하는 입장에서 Claude Code에 부러운 기능이 많아 알아보던 중,이번에는 Claude Code의Ask User Question Tool을 알게되었다. Claude Code의 AskUserQuestion Tool보통 Agent와 대화하거나 심지어는 Deep Research와 같은 작업을 진행하기 위해 프롬프트를 작성할 때,종..

Dev 2026.01.20

Codex MCP 서버를 활용한 Subagent 환경 구축

Codex CLI를 사용하며, 최근 들어 좀 더 유연한 개발환경 설정을 위해Oh-My-OpenCode나 Claude Code로의 이주를 고민해보기도 했었지만,애초에 ChatGPT만 유료 구독을 하고 있던 학생의 입장에서 자연스레 Codex CLI를 선택하게 됐던 것이기 때문에금전적인 부담 탓에 쉽게 결정내리기 힘들었다. 개발 과정에서 어느정도 반복적으로 진행하는 나만의 프로세스가 있었기에매번 비슷한 프롬프트를 입력하던 것이 귀찮아진 나는,명령을 자동으로 실행하는 기능을 알아보기 위해 문서를 살펴보다codex exec와 같은 명령어로 반복되는 작업을 스크립트화하여마치 길게 입력하던 프롬프트에 별칭을 달아두고 사용하듯이 세팅할 수 있다는 것을 알게되었다. 그러나 더 작업을 진행하며 Session Contex..

Dev 2026.01.13

NestJS - Neo4j Deadlock 문제 해결 (feat. BullMQ와 Kafka)

이전에 Neo4j와 Wikidata를 연동하여 사용자의 개인 지식 그래프를 확장하는 Pipeline에 관한 글을 남겼었다.Personal Knowledge Graph Auto Expansion Neo4j + Wikidata로 Personal Knowledge Graph 자동 확장하기본 포스팅에서는 특정 Entity를 중심으로 Wikidata에서 이웃을 가져와 Neo4j Database에 삽입해본 작업기를 정리하고자 한다. Background현재 진행 중인 프로젝트에서 사용자의 일정 데이터를 기반으로 개hou27.tistory.com 이후 계속해서 MVP 개발을 진행하며기능 테스트를 하던 어느 날, 아래와 같은 이슈가 발생하였다.https://github.com/Calabi-Yau-Ontology/cal..

개발 일지 2026.01.08

Knowledge Graph 구축을 위한 NER 기능 고도화

이전에 아래 포스트를 통해 개인 지식 그래프 구축을 위한 초석을 다지는 내용을 다루었었는데https://hou27.tistory.com/entry/Neo4j-Wikidata%EB%A1%9C-Personal-Knowledge-Graph-%EC%9E%90%EB%8F%99-%ED%99%95%EC%9E%A5%ED%95%98%EA%B8%B0 Neo4j + Wikidata로 Personal Knowledge Graph 자동 확장하기본 포스팅에서는 특정 Entity를 중심으로 Wikidata에서 이웃을 가져와 Neo4j Database에 삽입해본 작업기를 정리하고자 한다. Background현재 진행 중인 프로젝트에서 사용자의 일정 데이터를 기반으로 개hou27.tistory.com 오늘 이 포스트를 통해 다루고자 ..

개발 일지 2025.12.26

Neo4j + Wikidata로 Personal Knowledge Graph 자동 확장하기

본 포스팅에서는 특정 Entity를 중심으로 Wikidata에서 이웃을 가져와 Neo4j Database에 삽입해본 작업기를 정리하고자 한다. Background현재 진행 중인 프로젝트에서 사용자의 일정 데이터를 기반으로 개인 지식 그래프를 구축해야했다. 상세한 내용은 생략하고, 현재 포스팅하고자 하는 상황만을 요약하자면일정 속에서 그래프화할 데이터를 선별하여 구축한다고 해도 그 상태는 그저 고립된 정보가 될 뿐추후 활용 가능한 데이터로써의 가치가 없는 지식 그래프의 탈을 쓴 "단어 모음"에 그친 상태였다. 따라서 초반에는 Wikidata 또는 schema.org를 기반으로 전체적인 지식 맥락을 제공해줄 데이터를 Neo4j에 Preload하고자 했다. 그러나 해당 방안을 점차 구체화하다보니 다음과 같은 ..

개발 일지 2025.12.15

Cypher 기본 문법

지난 포스트에서 Graph Database가 무엇인지 간단히 정리해두었고, [Graph Database] RDF와 LPGKnowledge Graph 연구와 이를 활용한 서비스 개발을 함께 공부하면서,자연스럽게 두 가지 그래프 데이터 모델인 RDF와 LPG를 접하게 되어 이를 정리하고자 포스팅을 작성하게 되었다.먼저 각 개념을hou27.tistory.com이번 글에서는 그중에서도 LPG (Labeled Property Graph) 계열 Database 중 대표적인 Neo4j가 사용하는Cypher의 가장 기본적인 문법을 정리해보려고 한다.Neo4j를 사용하다 보면 자연스럽게 Cypher 쿼리를 자주 작성하게 되는데,노드와 관계를 생성하고 조회하는 기초 문법을 정리하고자 포스팅하게 되었다.Cypher란?Cyp..

Database 2025.12.01

[Graph Database] RDF와 LPG

Knowledge Graph 연구와 이를 활용한 서비스 개발을 함께 공부하면서,자연스럽게 두 가지 그래프 데이터 모델인 RDF와 LPG를 접하게 되어 이를 정리하고자 포스팅을 작성하게 되었다.먼저 각 개념을 먼저 정리하고, 이어서 Cypher와 SPARQL의 특징까지 비교하며 전체적인 내용을 간단히 정리해보고자 한다.Graph Database란?Graph Database는 데이터를 노드(Node)와 엣지(Edge) 형태로 저장하며 관계를 1급 객체로 다루는 Database이다.관계형 데이터베이스처럼 JOIN을 반복하지 않아도 되기 때문에 관계 중심 탐색에 매우 특화되어 있다.그래프 모델은 아래와 같이 크게 두 가지로 나뉜다.LPG (Labeled Property Graph)RDF (Resource Des..

Database 2025.12.01

[GNN] Spectral, Spatial GNN과 Homophily Assumption

GNN오늘 다룰 것은 GNN 관련 내용이다.GNN이란 Graph Neural Network를 말하는데,그래프 형태의 데이터를 처리하기 위한 Neural Network를 말한다. 오늘은 Spectral, Spatial GNN의 개념을 기반으로GNN이 Homophily Assumption에 기반한 Neural Network인 이유를 살펴보도록 하겠다. Homophily vs Heterophily, Homogeneous vs HeterogeneousGraph는 그 성질에 따라 여러가지 용어로 종류를 나눌 수 있다.먼저 Homophilic과 Heterophilic은 특정 노드의 이웃 노드들이 자신과 같은 class인 비율이 높은가에 따라 분류된다.그래서 Homophily Assumption에 기반한 GNN의 성..

Data Science 2025.05.15

TypeORM - Custom Repository 개선안

이전 내용 사실 이전에 TypeORM이 0.3.x 버전 이상으로 올라가면서 @EntityRepository(User) export class UserRepository extends Repository { async customMethod(userId: number): Promise { ... } } 위와 같이 @EntityRepository() 데코레이터를 사용해서 CustomRepository를 구현하는 것이 불가능해졌었기 때문에 typeORM 0.3 버전 이후의 Custom-repository - hou27 TypeORM - Custom repository(사용자 정의 레포지토리) 데이터 베이스 작업 로직을 작성하던 중 내가 작성한 함수를 typeORM에 정의된 메서드처럼 사용할 수 있는 방법이 있..

Backend/NestJS 2023.05.01

[JS] Call by reference가 없는 Javascript

잘못된 생각 최근까지 javascript는 함수 호출 시 참조형이면 넘길 때도 call by reference로 넘겨지고, 원시형이면 call by value로 넘겨지는 줄 알고 있었다. 그러다 최근 질문이 들어와서 답해주려다 자세히 알아보니, 잘못 알고 있었다는 것을 깨달았다. Call by Value & Call by Reference 우선 흔히 알고 있는 두 가지 개념에 대해 살펴보자 Call by Value 호출자가 실제 매개 변수를 평가하고 그 값을 호출자에게 전달하는 관례 호출자에서 값 매개 변수의 수정 내용은 호출자에서 볼 수 없다. Call by Reference 설명을 좀 줄이자면, 호출자(caller)가 함수에 전달한 실제 매개변수(actual parameter)가 변수일 경우, 컴파일..

Dev 2023.04.23