모든 개발자가 거쳐 가는 의식이 있다: 이 정확히 같은 에러를 전에 해결한 기록이 분명히 있다. GitHub 이슈의 댓글이었나, 설정 스니펫을 올린 블로그였나, Stack Overflow에서 채택 답변 아래 +12번 어딘가였나. 어쨌든 저장한 기록이 있다 — 어딘가에. 스무 분간의 브라우저 고고학 끝에, 처음부터 다시 Google에 검색어를 넣고, 지난번에도 헤엄쳤던 그 SEO 슬러지에 다시 닿는다. 북마크는 이걸 막으려고 존재했는데, 북마크바는 쓰기 전용 데이터 구조가 되어 있었다. insert는 계속되는데 select는 안 되는 저장소 — 개발자가 자기 도구를 그렇게 디버깅한 적이 한두 번이 아닐 것입니다. 우리는 남의 시스템의 select 경로를 의심하는 데 훈련된 직업이고, 자기 북마크가 쓰기 전용이었다는 사실을 인정하기 가장 더딘 사람들도 우리입니다. 남의 시스템 앞에서는 관찰자였던 우리가, 자기 북마크 앞에서는 낙관론자가 됩니다 — ’다음에 정리해야지’는 select가 안 되는 쿼리의 사촌입니다. 우리는 실패를 관찰하는 법을 알지만, 자기 보관함에 대해서는 관찰을 미룹니다. 미룬 관찰은 다음 에러에서 다시 청구서로 옵니다.
Marqly는 읽는 경로를 고친다. 저장은 계속 클릭 한 번인데, 인출이 기억처럼 작동하는 AI 북마크 관리자다: 설명하면, 시맨틱 검색(Pro 기능)이 찾아낸다. 검색창이 요구하는 게 링크의 이름이 아니라 문제의 모양인 상태 — 그 하나를 만들기 위해 나머지 설계가 있다. 인덱싱이 저장 시점에 일어나고, 검색이 자연어를 받고, 표시가 원문에 남는 한 가지 순서로 배치되어, 결국 터미널에서 grep 하듯 보관함을 greppable하게 만듭니다. 저장할 때 이름을 지어 주지 않아도 되는 저장소, 그게 2026년의 북마크입니다. 저장 시의 라벨과 검색 시의 키워드를 사람이 맞추던 시대가, 두 편을 기계가 읽는 시대로 넘어갔습니다. 넘긴 쪽은 이미 새 물건을 사고, 붙든 쪽은 이번 주말에도 폴더 이름을 고치고 있습니다. 그 주말의 파일명을 ’backup-final-2’로 지은 날, 시스템의 진실은 확정됩니다.
디버깅의 기억은 보통 세 조각으로 남습니다. 증상의 문장, 만져 본 설정, 그리고 ’뭔가 있었을 텐데’의 감각. 키워드 검색은 이 셋 중 어느 것도 요구하지 않고, 그래서 결국 넷째로 Google에 다시 묻게 됩니다. 이 절은 그 넷째를 취소하는 이야기입니다. 취소되면 남는 것은 의외로 평범합니다 — 에러를 다시 만나지 않는 인생이 아니라, 한 번 만난 적 있는 인생. 두 번째 등장부터는 검색 5초로 끝나고, 그 5초는 에러를 다시 만나지 않아도 된다는 뜻이기도 합니다., 그 5초의 합이 한 달이면 디버깅 시간의 절반입니다. 에러를 고치는 시간보다 에러를 다시 찾는 시간이 길었던 해가 있었다면, 이 한 문장이 그 해의 사후 진단입니다. 그리고 다음 해부터는 진단이 아니라 예방이 됩니다. 저장된 기록은 다시 만날 에러를 줄이지는 못하지만, 만나는 시간을 갉아먹지는 못하게 합니다.
코드를 기억하는 방식에 맞춘 인출
기술 북마크가 키워드 검색에서 구조적으로 실패하는 이유는 명확하다. 페이지에서 쓸모 있는 부분은 제목에 잘 안 들어 있다. CORS 프리플라이트를 고쳐 준 그 답은 대개 “프로덕션에서만 fetch 실패” 같은 제목 아래 있다. Marqly의 시맨틱 검색(Pro)은 제목, 전체 페이지 본문, 당신의 하이라이트, 영상 자막을 가로질러 의미로 매칭한다. ’Safari 날짜 파싱 회피책’이나 ’Go에서 JSON 파서 벤치마크한 그 글’이, 공유 키워드 하나 없이 정확한 저장으로 이어진다. AI로 북마크 검색하기에 실제 쿼리 패턴이 단계별로 정리되어 있다. 키워드 쿼리에 익숙한 손으로 첫 문장을 입력할 때 어색할 수 있는데, 그건 검색이 이상한 게 아니라 입력이 처음이라 그렇다. 세 번째 저장부터 감이 옵니다. 첫 문장은 길고 어색하지만, 결과에는 페이지의 제목뿐 아니라 당신이 읽은 단락이 함께 올라옵니다. 하이라이트해 둔 문장이 검색 결과 속에서 다시 반짝이는 순간, 보관함은 남의 목록이 아니라 당신의 기록이 됩니다. 검색어가 문장이 된다는 감각은 설명보다 사용으로 붙는 종류입니다. 이 항목을 읽고 ‘될까?’ 의심하는 게 아니라 ‘내 걸로 한 번?’ 해 보는 사람에게만 실제로 작동합니다. 의심은 여기서 끝나고, 검증은 저장 세 번에서 끝납니다.
하이라이트는 여기서 한 번 더 날을 세운다. 3,000단짜리 글에 결정적 단락 하나가 — 실제 flag, 실제 gotcha — 들어 있을 때, 그것만 칠한다. 하이라이트는 라이브러리에 동기화되고 그 자체로 검색되므로, 다음 번에는 글을 통째로 다시 읽지 않고 스니펫으로 직행한다. 하이라이터는 모든 사이트에서 동작하고, 메모를 지원하고(‘v5에서 깨짐, v4에 고정’), 페이지를 다시 열면 표시가 남는다. 메모 한 줄이 다음 학기가 아니라 다음 스프린트를 위해 존재하는 도구 — 그 정도가 딱 개발자에게 맞는 크기의 기록법이다. 자세한 것은 어떤 웹사이트에서든 텍스트 하이라이트하기에서.
인출이 고쳐진 뒤에도 남는 질문이 하나 있습니다 — 목록이 자라는 동안 무엇을 보게 되는가. 개발자의 보관함은 스택·도메인·프로젝트가 겹치는 3차원이라, 어떤 1차원 분류에도 조용히 틀립니다. 이 절은 그 3차원을 포기하는 대신 기계에게 주는 법에 대한 설명입니다.
유지보수 0원의 정리
개발 북마크의 폴더 트리는 반드시 썩는다. Postgres 성능 글은 databases에 넣나, performance에 넣나, backend에 넣나? 넣을 때마다 마이크로 인터럽트이고, 결국 전부는 정렬되지 않은 더미에 떨어진다. Marqly는 그 결정을 없앤다. AI 자동 태깅(Pro)이 저장 시점에 모든 저장에 라벨을 자동으로 붙이고(작동 방식), 폴더 대 태그의 논쟁은 북마크 정리 방법에서 매듭났다. 손으로 정리하지 마라. 정리 규칙을 지킬 사람이 당신이라는 전제부터가, 이미 트래픽을 잘못 잡은 시스템입니다. 분류에 쓰는 시간의 합을 계산해 본 개발자는, 그게 가장 오래된 premature optimization임을 인정하게 됩니다. 폴더의 대안이 자동 태그이고, 자동 태그의 대안은 없습니다. 수동 태그라는 중간자만 있을 뿐이고, 그 중간자는 세 달 만에 비어 갑니다. 라벨이 붙지 않은 채 쌓인 300개는, 어느 날 아침 모두의 ’기타’가 됩니다. 그리고 ’기타’는 이 절 전체가 취소하려던 그 단어입니다.
보드는 태그가 못 하는 굵은 구조를 담당한다. 프로젝트마다, 스택마다, ‘이번 분기에 Rust 배우기’ 같은 목표마다 하나씩 만들어 링크와 하이라이트를 모으세요. 보드는 가입 없이 열리는 공개 페이지로 공유할 수 있으니 — ‘이 코드베이스 온보딩 읽을거리’ 보드가 README에 붙는 링크, 다음 입사자에게 건네는 목록이 됩니다. 열람 전용이지 공용 작업 공간은 아니라는 점은 알아 두세요. 온보딩 링크 묶음을 건네는 데 필요한 건 열람이지 병합이 아니고, 그 최소가 이 제품의 공유 면입니다. 팀 위키가 아니라, 당신 선별의 스냅샷을 건네는 일. 그리고 스냅샷은 계속 갱신되어, 다음 입사자가 보는 것은 오늘의 목록입니다. 링크가 아니라 목록 전체가 살아 있어서, 온보딩 문서는 쓰이는 동안 계속 자랍니다. 온보딩이 끝난 뒤 그 보드가 커리큘럼이 되는 팀도 있습니다. 보드는 목록으로 시작해서, 문화로 끝납니다. 이 페이지가 보드를 언급하는 이유도, 공유 가능한 목록이 팀에서 제일 먼저 굳는 관습이기 때문입니다.
확장 프로그램은 디버깅 세션의 실제 모양에도 맞춘다. 세 가지 가설을 들고 14개 탭이 열린 채 깊이 파고드는 중이라면, 탭 저장기가 모든 열린 탭을 한 번에 태그 달린 검색 상태로 수집해 — 창을 닫아도 흔적을 잃지 않습니다. 사이드패널 라이브러리는 ’이거 전에 저장하지 않았나?’를 지금 이 페이지에서 나오지 않고 확인하게 합니다. 검색창이 하나 더 늘어난 게 아니라, 터미널 옆에 보관함이 상주하는 것과 같습니다. ‘나 이거 봤나?’ 확인이 탭 전환 6초가 아니라 시선 이동 반 초가 되면, 같은 걸 두 번 저장하는 일 자체가 줄어듭니다. 중복 저장이 눈에 띄게 줄면 보관함의 노이즈도 같이 줄어, 검색 정확도가 따라 올라갑니다. 인덱스는 잡음이 적을수록 선명하고, 선명한 인덱스는 다시 잡음을 줄입니다. 선순환의 첫 바퀴는 늘 작고, 그래서 대부분의 사람은 돌기 전에 그만둡니다. 이 절을 읽은 사람이 오늘 저장하는 링크 세 개는, 그 다음 주 검색 결과에 그대로 나타날 것입니다.
문서와 답변이 이 보관함의 주식이라는 점은 이미 여러 절에서 나왔습니다. 다만 요즘 엔지니어링 콘텐츠의 상당량은 영상에 있고, 영상은 텍스트 검색이 기본으로 닿지 않는 영역입니다. 자막을 붙이는 동작 하나가 그 영역을 보관함 안으로 데려옵니다. 데려온 다음부터 영상은 시간이 아니라 텍스트이고, 시간은 스크럽이 아니라 검색입니다. 영상 자료를 대하는 개발자의 태도가 여기서 갈립니다 — 재생하느냐, 인용하느냐, 그 질문입니다. 인용의 쪽에 서면 영상은 자료이고, 재생의 쪽에 서면 영상은 시간입니다.
스크럽 없는 영상 튜토리얼
컨퍼런스 토크와 튜토리얼 영상에는 진짜 엔지니어링 내용이, 끔찍한 정보 밀도로 들어 있다. Marqly는 모든 유튜브 시청 페이지에 AI 카드를 얹는다 — 핵심 구간이 있는 스트리밍 요약, 자막에서 질문에 답하는 Chat 탭(Pro), 원클릭 복사의 재생 동기화 자막. 23분 14초에 나온 명령어가 스크린샷이 아니라 붙여넣을 텍스트가 됩니다. 북마크 버튼은 영상을 자막과 함께 저장해, 나중에 라이브러리에서 그 발표의 내용을 검색 가능하게 만듭니다. 요약은 스크럽을 지우고, 자막은 재시청을 지우고, 검색은 ’그 영상 어디였지’를 지웁니다. 영상 준비에서 사람이 하던 세 가지 수고를 기계가 떠안는 순간, 남는 판단은 딱 하나입니다 — 이 내용을 수업·코드리뷰·기술 노트에 쓸 것인가. 스크럽과 메모 사이 어딘가에 있던 노동이, 여기서부터는 판단 한 개로 줄어듭니다. 그리고 판단은 기계가 덜 할수록 빨라지는 종류의 일입니다. 전체 워크플로는 AI로 유튜브 영상 요약하기에 있습니다.
문서 페이지에는 안전장치 하나가 더 필요합니다. 문서는 최신 릴리스를 따라가고, 최신 릴리스는 움직입니다. 옛 버전 고정이 필요한 순간, save-as-PDF가 페이지를 레이아웃을 따른 깔끔한 PDF로 얼립니다 — 브라우저에서 로컬로 렌더링되니, 의존하는 참조가 발밑에서 다시 쓰일 수 없습니다. 문서가 발밑에서 움직이는 팀에서, 이 캡처가 유일한 고정이 됩니다. version pinning이 코드의 규칙이라면, PDF 캡처는 문서의 규칙입니다. 그리고 규칙을 지키는 데 드는 시간은 5초입니다. 값싼 규칙이 오래 가는 법입니다. 그리고 이 페이지의 법은 단 하나 — 닫기 전에 저장.
Pro에서는 대화가 라이브러리 전체로 확장됩니다. ’내 저장 중 zero-downtime Postgres 마이그레이션을 다룬 게 뭐 있었지?’가 저장 내용에서 답을 받습니다 — 인터넷 전체를 다시 검색하는 것보다 대체로 신호가 높은, 당신이 직접 고른 인터넷의 하위 집합입니다. 이미 고른 것을 다시 묻는 질문은, 새 검색보다 늘 빠르고 늘 정확합니다. 이미 고른 것을 다시 묻는 일은, 결국 고른 사람의 특권입니다. 그리고 그 특권은 매번 클릭 한 번으로 적립됩니다. 적립된 인출은 다시 저장의 부담을 줄이는 방향으로 쓰이고, 순환은 그렇게 자기 자신을 급유합니다. 순환이 도는 저장소에는 빚이 생기지 않고, 대신 시간이 쌓입니다. 이미 고른 것을 다시 묻는 질문은, 항상 새 검색보다 빠르고 항상 새 검색보다 정확합니다.
여기까지 읽고 ’내 경우는 좀 특별하다’고 생각하는 개발자를 위해 마지막에 못 박아 두면 — 이 페이지는 북마크의 저장 문제가 아니라 인출 문제를 다룹니다. 저장의 특수함(스크립트, 파이프, 셀프 호스팅)이 요구사항이라면 그건 이 도구의 영역 밖이고, 인출의 특수함(레이스, 마이그레이션, 회피책)이라면 정확히 안쪽입니다. 이 페이지가 약속할 수 있는 건 여기까지고, 나머지는 100개 저장 안에 직접, 100개 안에서 확인됩니다. 무료 티어는 이 페이지의 논증을 검증하기 딱 맞는 크기입니다. 그래서 이 페이지의 마지막 문장은 제안입니다: 지금 이 탭을 닫기 전에, 그걸 저장하세요. 이 페이지의 마지막 문장은 제안이 아니라 동작입니다.
정리해 두면, 이 페이지의 주장은 하나이고 시험법은 하나입니다. 주장 — 저장의 비용은 클릭 한 번이고, 인출의 비용은 검색 한 번이어야 한다. 시험법 — 오늘 닫으려는 탭 중 하나를 저장하고, 일주일 뒤 제목 없이 찾아보라. 통과하면 이 글은 끝났고, 실패하면 검색창을 조금 더 ’문장’으로 채워 보라. 도구보다 질문이 짧던 시절은, 여기까지였습니다. 2026년의 북마크바가 고쳐야 했던 것은 정직함이 아니라 인덱스였고, 그 한 줄이, 결국 이 글 전체의 전부였습니다.
시작하기
- 확장 프로그램을 설치하세요. Chrome, Edge, Firefox, Safari. 가입은 app.marqly.com에서 무료, 카드 없음. 무료 티어는 최대 100개 저장까지 보관함 전체를 검색할 수 있습니다.
- 기존 북마크를 가져오세요. 브라우저의 북마크 HTML 내보내기 파일(주요 4개 브라우저 모두 같은 형식)을 넣고 — Pocket(list.csv)과 Raindrop(HTML) 내보내기도 됩니다.
- 자동 태깅이 백로그를 씹게 두세요. (Pro) 수년간 쌓인 링크가 태그 달린 채, 시맨틱 검색 가능 상태로 나온다. 그다음부터 저장은 클릭 한 번이고, 정리는 아무의 일도 아닙니다. 그리고 이 문장이 이 페이지에서 가장 긴 문장보다 중요합니다. 기능 나열의 어떤 줄보다, 일하는 방식에 스며드는 문장이 오래 남으니까요. 이 절까지 다다랐다면, 이 페이지의 논증은 사실상 하나였습니다: 분류는 실패하고, 검색은 남는다.
적합 평가도 솔직하게. 공개 API가 없고 셀프 호스팅 배포도 없어서, 커스텀 자동화나 온프레미스 요구사항에는 들어가지 못합니다 — 오프라인 읽기는 웹과 iOS 앱에서 Pro이고(Android 앱과 Android 브라우저의 웹앱은 온라인으로 읽기; Android 앱은 Google Play에 있습니다). Marqly가 만들어진 목적은 문서·답변·이슈·튜토리얼의 매일 순환입니다. 마찰 없이 저장하고, 이번에는 실제로 되찾는 것. 그게 20년 된 북마크바와 이 도구 사이의 유일한 기능 차이입니다. 이 차이를 이해한 사람은 표를 보지 않고도 도구를 고릅니다. 나머지는 전부 그 하나의 차이를 설명하는 각주입니다. 그러니 이 페이지를 한 번만 읽고, 세 번째 문장부터는 직접 저장하며 읽어도 됩니다. 이 페이지의 기능은 전부 무료 티어의 클릭 한 번에서 시작하고, 나머지 차이는 데이터가 쌓인 뒤에야 보입니다. 검색 한 번이 3분의 스크롤을 이기면, 그 3분은 결국 다시 읽기에 들어갑니다.
그리고 그 읽기가 쌓이면, 이번 분기에는 없던 기능이 하나 더 생깁니다 — 이미 해결한 문제를 한 번 더 해결하지 않는 것. 북마크바가 약속하고 한 번도 지킨 적 없는 기능이었고, 이번에야 비로소 동작합니다.
자주 묻는 질문
해결한 코드 문제를 설명해서 저장한 페이지를 찾을 수 있나요?
바로 그것이 핵심 유즈케이스입니다. Marqly의 시맨틱 검색(Pro)은 제목, 페이지 본문, 하이라이트, 자막을 가로질러 의미를 매칭합니다. 'useEffect 클린업의 레이스 컨디션에 대한 그 답변'이면, 그 단어들이 제목에 단 한 번도 등장하지 않은 Stack Overflow 스레드를 정확히 찾아냅니다. 페이지가 붙인 이름이 아니라, 당신이 문제를 기억한 방식으로 검색하는 것이죠.
Marqly에 API나 셀프 호스팅 옵션이 있나요?
둘 다 없습니다. 그리고 시작 전에 알 가치가 있습니다. 스크립트로 두드릴 공개 API도 없고, 자체 인프라에 돌리는 버전도 없습니다. Marqly는 호스팅 서비스이며 Chrome·Edge·Firefox·Safari 확장, 웹앱, iOS 앱으로 제공합니다. 북마크를 커스텀 툴체인에 흘려보내야 하거나 자기 서버에서 돌아야 한다는 요구사항이 존재한다면, 이 도구는 답이 아닙니다.
이미 가지고 있는 수백 개 북마크는 어떻게 되나요?
브라우저에서 내보내세요 — Chrome, Firefox, Edge, Safari 모두 표준 북마크 HTML 파일을 만듭니다 — 그리고 그 파일을 Marqly로 가져오면 됩니다. Pocket 내보내기(list.csv)와 Raindrop.io의 HTML 내보내기도 들어갑니다. 그다음 AI 자동 태깅(Pro)이 백로그 전체를 처리해, 2024년 이후 열어 본 적 없는 'dev stuff 2' 폴더가 수동 분류 없이도 검색 가능한 자료실이 됩니다. 다만 원래 저장 날짜는 보존되지 않고 가져온 날짜로 기록됩니다.





