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에 정리되어 있다.