TypeScript 入门:给 JavaScript 的每样东西,提前贴一张标签
如果你写过一点 JavaScript,被 undefined 的报错折磨过、被拼错的属性名坑过,那么这篇是给你的。我们不背语法表,而是把 TypeScript 想成一件事——给代码里的每样东西,提前贴一张写清楚「它是什么」的标签。
Archive
按时间查看完整的开发记录。
如果你写过一点 JavaScript,被 undefined 的报错折磨过、被拼错的属性名坑过,那么这篇是给你的。我们不背语法表,而是把 TypeScript 想成一件事——给代码里的每样东西,提前贴一张写清楚「它是什么」的标签。
导读:这篇讲 ES Modules 怎么把隐式依赖变成显式声明,怎么按依赖方向把代码分层,以及为什么分层之后测试突然变得好写了。最后两节是真实案例——一个查表函数在特定输入下会返回一个函数而不是文案,另一个计数器会把数字拼成字符串。基础同学可以顺着读,有经验的同学可以直接跳到第六节看那个坑。
从「为什么单线程不够用」讲起,把 std::thread、数据竞争、互斥锁、死锁、条件变量、原子操作、future 和线程池串成一条线。没写过多线程的同学可以顺着读;写过但心里总没底的,可以直接跳到第五节的死锁和第九节的线程池。
从「为什么需要异步」讲起,一路到事件循环和竞态处理。基础同学可以顺着读下来,有经验的同学可以直接跳到后半段的坑和进阶。
框架会过时,语法会演进,但这些底层机制不会变。搞懂值与引用、作用域闭包、对象、数组方法、错误处理、事件冒泡这 6 个概念,你看任何 JS 代码都不会慌。
从文本入库、向量检索到多轮对话,复盘一个 LangChain + ChromaDB RAG 原型如何通过边界梳理、错误处理和离线测试变成可靠的本地演示。
CSS 经常被误解成“给网页换颜色的工具”,于是初学者容易陷入两个极端:要么背诵大量属性,却不知道它们为什么没有生效;要么让 AI 一次生成整份样式,只要页面看起来像成品就不再检查。这篇文章换一种方式学习 CSS。我们会从一条最小规则开始,逐步理解选择器、层叠、继承、盒模型、单位、Flexbox、Grid、响应式和可访问性,再把它们落到 Tracebase 企业知识库工作台中。最后还会复盘三个真实故障,并附上可以直接运行的完整 HTML 与 CSS。
今天开始学习 Web 全栈时,我很快发现原来的节奏并不适合我:从空文件开始,一个标签一个标签地背,再反复回答“这是标签名还是属性名”。这种方式当然能建立语法基础,但我的目标不是参加 HTML 默写考试,而是借助 AI 完成一个真正的企业知识库产品。
这篇文章记录的不是已经完成上线的系统,而是从当前 HTML 原型推导出的产品和架构设计。
1.查找命令 1.1 which命令 which命令是用于查找命令的程序文件。语法:which 要查找的命令 […]