C.W.K.
Stream
← C.W.K. Quests
🧩

Chrome Extensions Quest

최근 수정: 2026-05-16

쓸만한 clipboard utility 손으로 짜면서, anchor 7 개가 어떻게 household embed 로 커지는지 직접 봐

Chrome extension 은 손으로 만들어봐야 감이 와. 매 track 마다 ClipDeck — 선택한 텍스트를 CRUD 하는 진짜 쓸 만한 clipboard — 한 조각씩 붙여 나가. 마지막 track 에선 ClipDeck 을 Pippa Chrome Embed v0.1 옆에 두고 anchor 하나씩 비교해봐.

9 tracks · 54 lessons · ~19h · difficulty: intermediate-to-advanced

Level 0Extension 입덕
0 XP0/54 lessons0/13 achievements
0/100 XP to next level100 XP to go0% complete
Chrome extension 은 hands-on 영역이야. manifest 표나 API reference 읽기만 해서는 형태가 안 잡혀 — 직접 만들어봐야 감이 와. 이 quest 는 hello-world MV3 manifest 로 시작해서, ClipDeck 으로 끝나 — 어느 페이지에서든 선택한 텍스트를 chrome.storage 에 모으고 side panel 에서 CRUD 하는 진짜 쓸 만한 Chrome extension. 앞 8 track 은 service worker / content script / side panel / popup / permissions / DOM tools / packaging 을 한 조각씩 ClipDeck 에 붙여 나가는 흐름. 마지막 9 번째 track 은 ClipDeck 을 cwkPippa 의 Pippa Chrome Embed v0.1 — PippaEmbed framework 의 canonical first child — 옆에 두고 anchor 7 개를 하나씩 비교해. 9 tracks. lesson 약 55 개. 19 시간. quest 자체가 single terminal session 으로 마무리 가능하게 짜여 있어 — ClipDeck 이 손에 들린 채로, household embed 의 형태가 반대편에서 보이는 채로 끝나.

Tracks

  1. 01📜MV3 입문

    0/6 lessons

    Manifest V3 — Chrome extension 게임의 새 룰

    Chrome extension 은 manifest.json 한 장에 살고 죽어. Track 1 은 MV3 시대를 열어보고, install lifecycle 을 걸어보고, ClipDeck 의 hello-world skeleton 을 ship 해 — minimal manifest + 현재 page title 보여주는 popup.

    Lesson list (6)퀴즈 · 5 문제
  2. 02⚙️Service Worker

    0/6 lessons

    MV3 의 background context — event-driven, idle-evicted, household 의 memory 층

    Track 2 가 ClipDeck 의 background.js 를 wire 해. chrome.runtime.onInstalled 로 첫 install 셋업, chrome.tabs.onUpdated 로 방문 URL listening, chrome.storage.local 이 worker eviction 을 견디는 state layer. 끝나면 ClipDeck 이 worker 재시작 너머로 방문 URL 카운트 누적하고 popup 이 그 running total 표시 — CRUD 의 R 워밍업.

    Lesson list (6)퀴즈 · 5 문제
  3. 03Content Script

    0/6 lessons

    페이지 안의 손 — DOM 접근, isolated world, host bridge

    Track 3 가 ClipDeck 을 host page 안으로 보냄. Content script 는 user 의 tab 안에서 DOM 전체 access 와 함께 돌지만 isolated JavaScript world — page 자체 스크립트와 global 공유 안 함. 끝나면 ClipDeck 이 live page 에서 선택 텍스트 read 하고 message channel 통해 service worker 로 보내서 storage 에 저장. CRUD-C 도착.

    Lesson list (6)퀴즈 · 5 문제
  4. 04📑Side Panel

    0/6 lessons

    Chrome 114+ 의 영구 dock — popup 의 크고 느린 형제

    Track 4 가 ClipDeck 을 tooltip 에서 영구 dock 으로 졸업. Side panel 은 user tab 과 나란히 돌고, 다른 곳 click 살아남고, clip 에 숨 쉴 공간 줘. 끝나면 side panel 이 timestamp 와 source URL 가진 전체 clip list 보이고, popup 은 quick-action surface 로 축소, CRUD-R 완전히 도착.

    Lesson list (6)퀴즈 · 5 문제
  5. 05🎚️Action & Popup

    0/5 lessons

    Toolbar icon, badge, popup, context menu — user 의 매일 접하는 surface

    Track 5 가 ClipDeck 의 toolbar icon 을 hello-world 버튼에서 진짜 action surface 로 전환. Per-tab badge 카운트, dynamic popup content, right-click 'Save to ClipDeck' context menu, 선택적 omnibox 단축키, v1 mode toggle (tab 별 capture on/off). 대부분 user 가 popup 을 side panel 보다 열 배 더 자주 만짐 — 이 track 이 그 열 번의 tap 을 의미 있게 만듦.

    Lesson list (5)퀴즈 · 5 문제
  6. 06🔐Permission

    0/5 lessons

    신뢰 계약 — 뭘 요청하는지, 어떻게 요청하는지, user 가 어떻게 거절하는지

    Track 6 가 ClipDeck 의 manifest 를 진지하게 다룸. MV3 permission 모델은 API permission (storage / tabs / scripting), host permission (만질 수 있는 site), optional permission (install 이 아닌 runtime 에 요청) 으로 split. Chrome Web Store 가 overreach 하는 extension 거부; user 가 너무 공격적 prompt 하는 거 uninstall. 이 track 이 아무도 놀라게 안 하고 일 끝내는 manifest ship 하는 법, 그리고 '아니' 라고 말하는 user 위해 design 하는 법 보여 줘.

    Lesson list (5)퀴즈 · 5 문제
  7. 07🛠️DOM Tools

    0/7 lessons

    Messy real-world page 작업 도구 — 그리고 CRUD 의 U+D

    Track 7 가 ClipDeck 의 DOM toolbox 넓힘: article 추출에 Mozilla Readability, Selection/Range deep dive, chrome.tabs.captureVisibleTab 통한 screenshot clipping, React-friendly input-fill trick, 실제 page 만지는 어떤 action 에든 preview-and-confirm 패턴. Track 이 side panel 안 CRUD-U 와 CRUD-D — inline edit / inline delete / undo — 로 닫힘. 끝나면 ClipDeck 이 framework-heavy site 처리하고 저장된 clip 의 full lifecycle 지원.

    Lesson list (7)퀴즈 · 5 문제
  8. 08📦Packaging

    0/5 lessons

    Icon / build / publish — 작업 폴더를 다른 사람이 install 할 수 있는 것으로

    Track 8 가 ClipDeck ship. 네 required size 의 icon, unpacked-vs-packed split, privacy policy 와 store listing 가진 Chrome Web Store submission, org-only extension 위한 private-fleet distribution, one-file content script 넘어 자라게 해 주는 bundler setup. 끝나면 ClipDeck 이 public URL — 또는 private URL — 가진 실제 software, 다른 사람이 Install click 가능.

    Lesson list (5)퀴즈 · 5 문제
  9. 09🧪Case Study — Pippa ChromeEmbed v0.1

    0/8 lessons

    실제 ship 된 extension, file by file — 첫 여덟 track 이 가르친 모든 것의 적용

    Track 9 가 실제 ship 된 extension 을 end to end walk: 모든 page 에 docked iframe 통해 cwkPippa 가구를 올리는 Pippa ChromeEmbed v0.1 prototype. 각 lesson 이 prototype 의 한 file 이나 한 순간에 anchor, ClipDeck 패턴 으로 parallel draw back. 끝나면 production Chrome extension 이 실제로 어떻게 composing 하는지 working mental model, 그리고 v0.1 이 충분한 때와 아닌 때 아는 규율.

    Pippa ChromeEmbed v0.1 — Chrome window 오른쪽 가장자리에 docked 된 Pippa chat panel, 메인 뷰포트에 host page 보임
    Pippa ChromeEmbed v0.1
    Lesson list (8)퀴즈 · 5 문제
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.