NetworkX
-
NetworkX 대표 알고리즘 3선 — 코드 베이스 분석에서 한 줄로 끝나는 일들IT 2026. 5. 27. 23:00
코드 베이스를 노드(함수·모듈)와 화살표(호출·import)의 그래프로 표현하면, 그동안 사람이 손으로 풀던 분석들이 의외로 한 줄 함수 호출로 끝난다. NetworkX가 그 한 줄을 가능하게 만드는 도구다 — Python 그래프 라이브러리로, 약 300개의 표준 그래프 알고리즘을 즉시 쓸 수 있는 형태로 제공한다.300개는 많아 보이지만, 코드 베이스 분석에 자주 쓰는 자리는 실제로 셋 정도로 좁혀진다. 순환 import 감지, hub 모듈 식별, 변경 영향 분석. 이 셋만 손에 익으면 정적 분석 도구의 핵심을 직접 짤 수 있다.이 글은 그 세 알고리즘이 각각 어떤 문제를 풀고, 코드는 어떻게 생겼고, 결과를 어떻게 활용하는지를 단계별로 풀어 본다.대표 3선 한눈에다이어그램 설명. 셋 모두 "본인이 손..
-
가벼운 그래프 데이터 처리 — NetworkX + SQLite WAL 조합의 정체와 효과IT 2026. 5. 27. 22:00
코드를 노드(함수·모듈·repo)와 화살표(호출·import·의존)로 표현하는 그래프 모델이 필요해진 순간, "전용 그래프 데이터베이스가 정답"이라는 첫 충동이 든다. Neo4j 같은 서버를 띄우거나, 임베디드 그래프 DB를 끼우거나. 매력적인 선택지들이다 — 전용 쿼리 언어, 토폴로지 알고리즘, 영속성 모두 갖춰져 있으니까.그런데 막상 데이터 규모를 재 보면 의외의 결론에 닿는 경우가 많다. "수만 노드 규모면 더 가벼운 조합으로 충분하다"는 결론이다. 본인의 22개 repo를 인덱싱한 노드 수가 약 5,000개 수준이라면, 전용 그래프 DB는 과한 도구일 수 있다. 그 자리에 들어가는 더 작고 단순한 조합이 NetworkX + SQLite WAL이다.이 글은 그 두 도구 — Python 그래프 라이브..