ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
브라우저 안에서 도는 온디바이스 AI를 활용한 개인용 일본어 학습 웹앱. 서버 없이 순수 프론트엔드로 동작하며, 사전 뜻풀이·읽기·JLPT 급수·한자 정보 같은 "정답이 정해진 정보"는 AI가 만들지 않고 공개 데이터셋을 가공한 정적 JSON에서만 가져온다. 입력한 문장과 학습 기록은 어디로도 전송되지 않는다 — 예외는 오십음도 발음 게임 하나로, Chrome의 음성 인식이 목소리를 구글 서버로 보낸다(게임 첫 화면에도 적혀 있다). 별개로 사이트에 Google AdSense 광고가 붙어 있어 광고 쿠키가 쓰이며, 광고에는 입력한 문장이나 학습 기록이 전달되지 않는다. 외부로 가는 요청 전체는 앱의 /privacy(개인정보 처리방침)에 정리해 두었다. 개인 학습용 프로젝트이며 서비스 출시용이 아니다. PWA라서 브라우저의 "앱 설치"(iOS Safari는 공유 → 홈 화면에 추가)로 홈 화면에 둘 수 있다. 한 번 열어본 화면은 오프라인에서도 열린다. 사전·한자 데이터는 용량이 커서 그 화면을 처음 열 때 저장되므로, 한 번도 안 연 화면(예: 한자 획순)은 오프라인에서 안 된다. 새 버전이 배포되면 바로 바꾸지 않고 "새로고침할까요?"를 먼저 묻는다.查看完整 README ↗
브라우저 안에서 도는 온디바이스 AI를 활용한 개인용 일본어 학습 웹앱. 서버 없이 순수
프론트엔드로 동작하며, 사전 뜻풀이·읽기·JLPT 급수·한자 정보 같은 "정답이 정해진 정보"는
AI가 만들지 않고 공개 데이터셋을 가공한 정적 JSON에서만 가져온다. 입력한 문장과 학습 기록은
어디로도 전송되지 않는다 — 예외는 오십음도 발음 게임 하나로, 발음 판정 모델(약 190MB — 사이트를 열면
백그라운드에서 받는다)을 아직 못 받았으면 Chrome의 음성 인식이 목소리를 구글 서버로 보낸다(게임 첫 화면에도
적혀 있다). 모델이 있으면 판정도 기기 안에서 한다. 별개로 사이트에 Google AdSense 광고가 붙어
있어 광고 쿠키가 쓰이며, 광고에는 입력한 문장이나 학습 기록이 전달되지 않는다. 외부로 가는
요청 전체는 앱의 /privacy(개인정보 처리방침)에 정리해 두었다.
개인 학습용 프로젝트이며 서비스 출시용이 아니다.
npm install
npm run dev
기타 스크립트:
npm run typecheck # 타입 체크
npm test # vitest
npm run lint # oxlint
npm run build # 프로덕션 빌드
PWA라서 브라우저의 "앱 설치"(iOS Safari는 공유 → 홈 화면에 추가)로 홈 화면에 둘 수 있다. 한 번 열어본 화면은 오프라인에서도 열린다. 사전·한자 데이터는 용량이 커서 그 화면을 처음 열 때 저장되므로, 한 번도 안 연 화면(예: 한자 획순)은 오프라인에서 안 된다. 새 버전이 배포되면 바로 바꾸지 않고 "새로고침할까요?"를 먼저 묻는다.
오프라인 동작은 개발 서버(npm run dev)에서는 확인할 수 없다 — npm run build && npm run preview로
띄워 둘러본 뒤 서버를 끄고 새로고침해 본다.
회화 연습·작문 첨삭·선생님에게 질문은 온디바이스 AI가 필요하다. 두 가지 방법이 있고, 브라우저에 맞는 쪽을 앱이 알아서 안내한다.
chrome://flags의 관련 플래그를 켜고 재시작한다. 크로미움 기반이어도
Whale·Edge·Opera 등에는 구글이 모델을 배포하지 않아 동작하지 않는다.둘 다 안 되더라도 오십음도·사전·한자·단어장은 그대로 사용할 수 있다. 앱 안의
/diagnostics(자가진단) 페이지에서 지금 브라우저가 어느 쪽을 쓸 수 있는지 확인할 수 있다.
각 화면이 따로 놀지 않도록 아래가 밑에 깔려 있다. 전부 브라우저 안에만 저장된다.
/memory에서 언제든 보고 지울 수 있다.React + TypeScript + Vite + Tailwind CSS, react-router-dom, Zustand(설정·학습 상태는
localStorage persist), IndexedDB(끝없이 쌓이는 학습 기록·기억·대화), Framer Motion,
WanaKana(로마자→히라가나 변환), react-markdown + remark-gfm(선생님 답변),
@litert-lm/core(Gemma 4 / WebGPU), vite-plugin-pwa(설치·오프라인), vitest.
/test로 지금 단원 점검, /level로 레벨 진단그 밖에 대문(오늘의 학습), 학습 로드맵(/curriculum), 레벨 진단(/level), 선생님의 기억(🧠 /memory), 정보(ⓘ —
출처·백업·화면 모드), 자가진단(/diagnostics) 페이지가 있다. 화면 모드는 기기 설정·밝게·어둡게
중에 고를 수 있다. 아래 출처는 정보 페이지에서도 확인할 수 있다.
| 데이터 | 출처 | 라이선스 |
|---|---|---|
| 사전 뜻풀이·읽기·JLPT 급수·후리가나 | Bluskyo/JMDict_Extended (JMDict 기반) | CC BY-SA (EDRDG) |
| 단어의 한국어 뜻풀이 | 한국어 위키낱말사전 (kaikki.org 가공본) | CC BY-SA 3.0 |
| 한자 음독·훈독·뜻·획수 | scriptin/jmdict-simplified의 KANJIDIC2 JSON | CC BY-SA (EDRDG) |
| 한자 JLPT 급수 매칭 | AnchorI/jlpt-kanji-dictionary | MIT |
| 한자 획순 벡터 경로 | KanjiVG | CC BY-SA 3.0 |
| 발음 판정 모델(오십음도 발음 게임) | prj-beatrice/japanese-hubert-base-phoneme-ctc-v3 — ONNX·fp16으로 변환해 사용 | Apache-2.0 |
가공 스크립트와 상세 스키마는 scripts/data/README.md에 있다.
학습 로드맵(src/data/curriculum.json)은 위 데이터셋이 아니라 직접 정리한 자료다.
급수별 언어능력 기준은 JLPT 공식 요약을,
문법 목록은 jlptsensei를, 단어·한자 목표치는
migaku의 JLPT 어휘 정리를 참고했다.
목표치는 JLPT가 공식 발표하는 수치가 아니라 통용되는 추정치이고, 문법도 각 급수의 핵심만
추린 것이라 실제 시험 범위는 더 넓다.
레벨 진단(/level)과 단원 점검(선생님 /test)의 문제 은행(src/data/level-test-bank.json)도
직접 만든 문제다. 위 커리큘럼의 문형을 바탕으로 새로 썼고, JLPT 공식 문제가 아니며 기출·시판
문제집의 문장을 옮기지 않았다. 어휘 뜻·한자 읽기 문제는 위 사전 데이터에서 만든다. 진단 결과도 공식
급수 판정이 아니라 공부를 시작할 단계를 고르기 위한 추정이다.
개발자를 위한 상세 규칙과 구현 노트는 CLAUDE.md에 정리되어 있다.