Plan: Transitioning to Forward Deployed Engineer / AI Engineer
一份分階段路線圖,供後端工程師轉向 FDE 與 AI Engineer 角色——解讀頭銜混亂、應用型 LLM 技術棧與面試循環。
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證A simple practice problem generator for media preparation in microbiology
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A self-contained web app that drills microbiology students on the math behind preparing dehydrated culture media. Students see a randomized problem, get three attempts to enter the correct mass in grams, and on either success or failure are shown a full step-by-step ratio-and-proportion solution.
Built for Preliminary Microbiology lab instruction. Drop it on GitHub Pages and share the link — no server, no build step, no dependencies.
Once deployed, the app lives at: https://calebhendren.github.io/mediacalc/
x g / V mL = gPerL g / 1 L, the unit conversion, the cross-multiplication, and the final 2-decimal-place answer.role="math" and a plain-English aria-label so screen readers describe the math instead of trying to parse the visual fraction layout.prefers-reduced-motion respected.The student's input is parsed as a number and compared to the true answer with a tolerance of ±0.02 g (configurable). This is loose enough to accept either round-half-up or round-half-down at the 2-decimal place, but tight enough that random guesses fail.
For example, for 1635 mL of MSA the exact answer is 181.485 g. Any of the following is accepted:
.
├── index.html # Markup only — no inline CSS or JS
├── css/
│ └── styles.css # All styles
├── js/
│ ├── config.js # Media list and tunable constants — edit this
│ ├── utils.js # Formatting and random helpers
│ ├── question.js # Random question generation
│ ├── solution.js # Worked-solution HTML builder
│ ├── calculator.js # On-screen calculator widget
│ └── app.js # Entry point — wires everything together
└── README.md
The JS is loaded as native ES modules (<script type="module">), which every browser shipped in the last several years supports. There is still no package.json, no bundler, no build step.
Everything you might want to change lives in a single file: js/config.js.
export const MEDIA = [
{ name: 'nutrient agar', gPerL: 23 },
{ name: 'tryptic soy agar', gPerL: 40 },
{ name: 'citrate agar', gPerL: 24 },
{ name: 'MacConkey agar', gPerL: 50 },
{ name: 'mannitol salt agar', gPerL: 111 }
];
name is rendered directly in the problem text. Use the spelling and capitalization you want students to see (the app capitalizes the first letter at the start of a sentence).gPerL is grams of dehydrated powder per 1 L of finished medium.These default values reflect common Difco/BD formulations; verify against your own manufacturer's label before using in the actual lab.
| Constant | Default | What it controls |
|---|---|---|
COMMON_VOLUMES_ML | [100, 150, 200, 250, 300, 400, 500, 600, 750, 1000, 1500, 2000] | The "clean" classroom volumes used 75% of the time. |
COMMON_VOLUME_PROBABILITY | 0.75 | Probability (0–1) of picking from COMMON_VOLUMES_ML instead of the random range. |
RANDOM_MIN_ML / RANDOM_MAX_ML / RANDOM_STEP_ML | 100 / 2000 / 5 | Random-volume range and step size in mL. |
ANSWER_TOLERANCE_G | 0.02 | Maximum allowed error in grams when grading a student's answer. |
ATTEMPTS_PER_QUESTION | 3 | Number of guesses before the solution is revealed. The pip indicator scales to match. |
No other file needs to change. The footer count, attempts pip count, and grading tolerance all derive from these values at runtime.
Because the app uses ES modules, opening index.html directly via file:// will be blocked by the browser's module CORS rules. Run it through a local static server instead:
# Python 3
python3 -m http.server 8000
# Node (with npx, no install needed)
npx serve .
Then visit http://localhost:8000.
main branch and the / (root) folder.https://calebhendren.github.io/<repo-name>/.GitHub Pages serves the files over HTTPS, so the ES modules load with no extra configuration. No build step or GitHub Actions required.
Tested on current versions of Chrome, Safari, Firefox, and Edge, on both desktop and mobile. The app uses no build tooling and no transpilation; it relies on ES2017+ features and native ES modules, which every browser released since 2018 supports.
This app is intended for use in higher-education courses and aims to meet WCAG 2.1 Level AA.
<label> associations, validation messages are surfaced via an ARIA live region, and equation blocks expose plain-English descriptions for screen readers.If you find an accessibility issue, please open an issue on the repository.
MIT. Use it, modify it, share it with your students.