ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证A practice system for engineers targeting compiler, systems, high-frequency-trading and quant roles: timed problems with staged hints, runnable performance labs, long-form guides on LLVM, C++ internals and microarchitecture, and spaced repetition.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A practice system for engineers targeting compiler, systems, high-frequency-trading and quant roles.
Most preparation sites show you the pattern, the approach and the solution on one page. You leave
knowing you could have solved it. Forge hides all three behind gates that open on a timer, treats
the pattern label as a spoiler in the problem list as well as the problem page, and records what you
revealed against each attempt — so "solved" means something specific.查看完整 README ↗A practice system for engineers targeting compiler, systems, high-frequency-trading and quant roles.
Most preparation sites show you the pattern, the approach and the solution on one page. You leave knowing you could have solved it. Forge hides all three behind gates that open on a timer, treats the pattern label as a spoiler in the problem list as well as the problem page, and records what you revealed against each attempt — so "solved" means something specific.
120 problems · 33 patterns · 64 guided labs (118 steps) in 12 tracks
23 guides (80k words) · 32 C++ concepts · 61 drills
239 recall questions · 71 rapid-fire mechanisms · 19 estimation chains
plus mental-math drills and a market-making game (trading track, clearly scoped)
npm install
npm run dev # http://localhost:3000
That is the whole setup. With no configuration the app is fully functional and saves progress in the browser. Sign-in and cross-device sync are opt-in — see below.
Full runbook in SETUP.md. Check your work at any point with:
npm run doctor
It verifies the environment variables, that Supabase is reachable, that the schema is applied, that row-level security actually hides other users' rows, and that the Google provider is enabled — and prints the exact redirect URLs to paste into Supabase and Google.
Without those variables CLOUD_ENABLED is false, every cloud path is skipped, and the sign-in button
is replaced by an explanation. The app never degrades into a broken state because a backend is missing.
Progress is a single JSON document. Writes go to memory and localStorage immediately; when signed
in they are also pushed to Postgres on a debounce and pulled on sign-in and on tab focus.
Both directions go through merge() in src/lib/progress/state.js,
which is a CRDT join: commutative, associative and idempotent, verified by property tests over
random states in scripts/test-state.mjs. Collections are unioned;
scalar fields are last-write-wins registers with their own timestamps. The practical consequence is
that a device which was offline for a week never loses its work and never wins by clobbering — and
merging in a different order cannot produce a different result.
Attempts are additionally appended to their own table, so the record of what you solved outlives any one browser.
content/guides/ 23 markdown guides — read on the server, never bundled
content/labs.json 61 labs parsed from debug_lab into guided steps (server-side)
src/app/ routes: landing, /today /practice /learn /labs /progress, /learn/guide/[num]
src/screens/ the five surfaces
src/shell/ top bar, command palette, URL-backed navigation
src/data/ roles, curriculum, prompts, external links, sessions
src/data/generated/ built by scripts/build-content.mjs and build-labs.mjs — do not edit
src/lib/progress/ state shape + CRDT merge, and the local-first store
src/lib/supabase/ browser and server clients; both no-op when unconfigured
supabase/schema.sql tables, row-level security, indexes
Guide markdown is read by a server component, so the 532 KB of guide text never reaches the client bundle. Only the guide you are reading is sent, already rendered.
| Command | What it proves |
|---|---|
npm run lint | no lint errors, React hook rules included |
npm run build | production build, all 23 guides prerendered |
node scripts/test-state.mjs | the sync merge is commutative, associative, idempotent |
./scripts/test-solutions.sh | every reference solution compiles -Werror under ASan+UBSan and passes known-answer and randomized differential tests |
node scripts/check-curriculum.mjs | every problem in the bank is placed in a tier |
node scripts/build-content.mjs | regenerates the content index; fails on duplicate guide numbers |
npm run smoke | headless Chrome walks every surface, the palette, the gates, persistence and the theme |
npm run doctor | the deployment is actually wired up: env, schema, RLS, Google provider |
npm run test:scroll | the landing page scrolls, the app does not, nothing overflows sideways |
npm run test:guides | every guide opens by clicking it, plus legacy links, palette anchors and the back button |
npm run test:labs | every lab page renders, the runner shows copyable commands and reference output, evidence notes persist |
npm run check:links | every problem named anywhere resolves to the bank or an exact judge page; check:links:verify re-asks the judge |
npm run test:anchors | every contents entry resolves to a heading that exists, and clicking it scrolls |
npm run test:followups | the pass-work track renders, the session bar follows you, scratchpad notes are findable, the review queue explains itself |
npm run test:audit | the findings from the black-box audit stay fixed: gated content absent from the DOM, no leaked bug comments, labs obtainable, real session timing, keyboard-usable modal, readable at 390px |
npm run test:nav | tabs and problem selection reach the URL, so Back works and views can be linked |
npm run test:role |
Run the smoke test against a built server:
npm run build && npx next start -p 4310 &
npm run smoke
Any Node host works. On Vercel: import the repository, add the two NEXT_PUBLIC_SUPABASE_*
environment variables if you want sign-in, and deploy. Add the deployed callback URL to Supabase
and to the Google OAuth client.
scripts/gap_problems*.mjs and are compiled and tested by
scripts/test-solutions.sh. A solution that is not tested does not belong in the bank.src/data/generated/stats.js, which is generated from the
content itself, so the copy cannot drift away from what is actually there.| the role switch actually re-sorts every surface, and the first-run picker appears once |
npm run test:links | no chip in the UI names a problem without linking somewhere |
npm run check:content | guides stay role-specific: no company targeting, no personal leftovers, every guide titled |
npm run check:map | every competency maps to real rapid-fire domains, guides, labs and problem sections |
npm run test:mentalmath | the timed drill reports real elapsed times, not zero |
npm run test:auth | the OAuth callback redirects instead of throwing, for every failure mode |