배경 저는 java 기반 자체 프레임워크를 쓰는 회사에서 프레임워크 코어 개발자 역할 겸임으로 일하고 있습니다. 해당 프레임워크는 내부적으로 mybatis/ibatis 와 비슷한 xml 문법으로 쿼리를 작성하고 여느 SI 회사처럼 수천줄 이상의 긴 SQL에 대부분의 로직을 작성합니다. 개인프로젝트 할 때는 js 쪽을 자주 다루는데요, typescript에서 db를 다룰 때 제가 익숙한 방식으로 쿼리를 짤 방법이 마땅치 않더라고요. ORM 은 복잡한 쿼리를 다루기가 어려워서 쿼리 빌더를 찾아봤는데, 얘네들도 결국 CTE나 함수, 복잡한 조건이 들어가는 경우는 한번에 쿼리를 만들지 못하고 변수를 나눠서 만든 다음 합성해서 써야하는게 불편했습니다. 그래서 없으면 내가 만들어봐야지 하고 SQL을 그대로 쓸 수 있지만 raw driver를 직접 쓰진 않고, 업무에 꼭 필요한 dynamic SQL 기능은 mybatis 처럼 하나의 SQL statement 에 모두 코딩할 수 있는 라이브러리를 만들었습니다. 만들다보니 node 계열은 드라이버마다 인터페이스가 제각각이라, 어쩌다보니 드라이버 호출 인터페이스 추상화도 들어가고, java에서처럼 공통된 트랜잭션 관리가 없어서 트랜잭션 추상화도 들어갔습니다. 사용법 Tagged template 를 적극적으로 사용해서 기본적으로 모든 statement 를 Prepared Statement 로 처리합니다. 예시: const users = await db.all(sql.rows<UserRow>` SELECT id, name FROM users WHERE organization_id = ${organizationId} AND status = ${status} `); 일반적으로 ${value} 는 항상 bind parameter 로 처리되고, 각 드라이버별 placeholder는 자동으로 처리해줍니다. 만약 table 명을 동적으로 처리하고 싶다거나 fragment 를 사용하실 때를 위해서 sql.ident, sql.fragment, sql.list 같은 헬퍼도 미리 마련해두었습니다. Why SQL first? raw sql vs query builder vs orm 은 어디서나 논쟁이 되는 주제입니다. 레딧에서도 논의가 많은 주제고, go의 sqlc나 rust 의 sqlx를 추천하는 사람들을 많이 봤습니다. 어떤 게 무조건 정답이라고 하긴 어렵습니다. 각자의 장단점이 있으니까...
Show GN: SQLBraid - SQL을 그대로 쓰는 TypeScript 라이브러리
4 weeks ago
39
Related
NIST 타원곡선 시드 생성의 수수께끼가 풀려 현상금 지급
1 hour ago
1
메모리에서 출발해 트랜스포머를 발명할 수도 있었다
1 hour ago
1
NVIDIA Run:ai - 여러 팀이 GPU를 나눠 쓰도록 관리하는 Kubernetes 기반 플랫폼
2 hours ago
2
iroh 1.0까지의 여정 - IPFS 구현에서 공개 키 기반 연결 라이브러리로
3 hours ago
2
Show GN: 테슬라 로드스터 시뮬레이터, 킥플립 시뮬레이터
3 hours ago
1
Linus Torvalds “AI 사용을 금지하지 않겠다. 자신이 하는 일을 이해해야 한다”
3 hours ago
2
B2B에서 YouTube로 잠재 고객을 확보하는 방법
3 hours ago
2
Apache Spark 리소스 최적화: 하루 800만 건의 작업 실행에서 얻은 교훈
3 hours ago
9
Tips
click
Trending
Popular
영탁 "임영웅과 자주 운동해, 축구 실력 1티어..장민호는 개발" [사당귀]
2 weeks ago
220
넷마블 ‘몬길: 스타다이브’, 1.4 대규모 업데이트…‘이자벨라’ 등장
2 weeks ago
212
주말 새 2금융권까지 해킹피해 확산에…당국, 4일 전 금융업권 협회장·금융사 대표 긴급 소집
1 week ago
211
Show GN: 믹스독 — 같은 구독으로 더 많이 쓰는 오픈소스 코딩 에이전트
2 weeks ago
204
임산부석 차지한 노인…다리 깁스한 34주 만삭 임산부는 결국
1 week ago
202
한국큐빅, 매출 67% 차지 안산공장 생산중단…부산공장으로 통합
2 weeks ago
202
승부 가리기엔 11회가 모자랐다…KT, 연장 접전 끝 롯데와 2-2 무승부→매직넘버 2
1 week ago
200
“군대 안가” 자랑한 축구대표팀에…안철수 “군대가 혐오시설? 군면제 없애야”
1 week ago
199
은행권 AI 연쇄해킹…공격서버에 ‘중국어 문자열’ 있었다는데
1 week ago
190
평택시흥고속도로서 트럭이 승용차 2대 추돌…트럭 운전자 사망
1 week ago
182
© Clint's Theme Park 2026. All rights are reserved

![영탁 "임영웅과 자주 운동해, 축구 실력 1티어..장민호는 개발" [사당귀]](https://image.starnewskorea.com/cdn-cgi/image/f=auto,w=1200,h=645,fit=cover,q=high,sharpen=2/21/2026/10/2026100208562556697_1.jpg)








English (US) ·