从零到一:AI 全栈开发笔记

从零到一:AI 全栈开发入门笔记

一、项目架构:前后端分离

现代 Web 开发的第一课,不是写代码,而是划分职责。一个可维护的项目,从目录结构开始就有了清晰的边界:

复制代码
fe/        ← 前端:用户看到的一切
backend/   ← 后端:数据、逻辑、接口

为什么不能把所有代码塞进一个文件?因为单体文件的宿命是:改不动、不敢删、加不了。模块化的核心思想很简单------每个文件夹有自己的职责,每个文件只做一件事。这不是教条,是无数项目"屎山"化之后换来的教训。

二、前端三件套:让页面早一点被看见

前端说到底就是三种语言各司其职:

语言 职责 引入方式
HTML 结构------页面有什么 标签
CSS 样式------页面长什么样 <link> 头部引入
JS 行为------页面能干什么 <script> 引入

这里有一个容易被忽视的体验细节:CSS 放在头部,让样式尽早加载 。用户打开网页的那一瞬间,如果 HTML 结构已经渲染而样式还没到,页面会"闪一下"------先看到裸结构,再突然穿上衣服。把 CSS 放在 <head> 中,就是在跟浏览器的渲染时序赛跑,让用户更快看到完整的页面。这一点小小的"爽感",就是前端体验的起点。

三、盒子思维与布局体系

写 HTML 不是在写字,是在搭盒子。每个页面区域都是一个容器,先把盒子摆好位置,再往里面填内容。

块级元素 vs 行内元素,这是 CSS 世界的第一性原理:

  • 块级元素(divsectionheader)天生独占一行,适合做盒子
  • 行内元素(spanaem)可以和平共处,适合装内容

在 PC 时代,屏幕尺寸五花八门,于是有了经典的"容器 + 行列"布局模式:

markdown 复制代码
.container  →  固定宽度,左右留白,居中显示
  .row       →  一行
    .col     →  一列

这套思路被 Bootstrap 框架发扬光大。聊到"页面好看"这个话题,Bootstrap 的 Twitter 团队用一套 CSS 类名解决了无数开发者的布局痛点------栅格系统、响应式断点、预制组件,让后端程序员也能写出能看的页面。

四、语义化 HTML:不要 div 满天飞

如果页面里全是 <div>,在浏览器眼中它只是一堆没有意义的盒子。搜索引擎看不懂你的内容层级,屏幕阅读器也不知道哪里是导航、哪里是正文。

语义化标签就是给 HTML 装上"说明书":

xml 复制代码
<header>   <!-- 比 <div class="header"> 更有语义 -->
<nav>      <!-- 导航区域 -->
<main>     <!-- 主体内容 -->
<article>  <!-- 独立文章 -->
<aside>    <!-- 侧边栏 -->
<footer>   <!-- 页脚 -->

表格也是重灾区。很多人直接用 <div> 拼表格,但正确的做法是:

css 复制代码
<table>
  <thead>
    <tr><td>姓名</td><td>年龄</td></tr>
  </thead>
  <tbody>
    <tr><td>张三</td><td>25</td></tr>
  </tbody>
</table>

thead + tbody 是表格语义的关键,缺少它们,这只是一个"长得像表格的 div 堆"。大厂面试特别爱问这个------不是问你用过什么框架,而是问你知道 <header><div> 的区别吗?框架会过时,语义化不会。

五、DOM:从 HTML 到 JavaScript 的桥梁

HTML 文档的本质是什么?它是一段文本,但通过 HTTP 传输时,Content-Type: text/html 告诉浏览器:"这段文本里有标签,请按 HTML 解析"。

xml 复制代码
<!DOCTYPE html>  <!-- 告诉浏览器:这是 HTML5 -->

这个声明不能省。HTML4 和 HTML5 的解析规则不同,<!DOCTYPE html> 就是浏览器的"模式开关"。

当浏览器解析完 HTML,它就变成了一个可以被 JavaScript 操作的对象树------DOM(Document Object Model)

dart 复制代码
// document 是整个文档的入口
document.documentElement  // <html> 根节点
document.body             // <body>

// 用选择器在树上"旅行"
const el = document.querySelector('.box')  // 找到节点
el.innerHTML = '新内容'                     // 修改内容

// 遍历树
el.parentNode     // 父节点
el.children       // 子节点
el.nextSibling    // 兄弟节点

// 挂载新节点
document.body.appendChild(newEl)

HTML 标签到了 JS 内存里,就变成了可以增删改查的 Document Node。理解了这层映射关系,才真正跨过了"会用框架"到"理解前端"的门槛。动态插入 HTML、事件绑定、组件渲染------所有前端框架的底层原理,都建立在这棵 DOM 树之上。

六、后端起步:一行命令跑起 HTTP 服务

JavaScript 的野心不只在前端。Node.js 让它通吃前后端,而 npm 是进入后端世界的钥匙:

csharp 复制代码
npm init -y          # 生成 package.json,项目的"身份证"
npm i json-server    # 安装 JSON Server

package.json 是 Node.js 项目的描述文件------项目名、版本、依赖、脚本,都在里面。几行配置,json-server 就能把一个 JSON 文件变成 RESTful API,支持 CRUD 操作,让前端开发者不用等后端就能跑通完整的数据流。

七、总结

回头看这条路:HTML 搭结构,CSS 管样式,JS 管交互------然后模块化拆分目录,语义化写标签,理解 DOM 树,用 Node.js 搭后端。每一步都在回答同一个问题:代码怎么写,才能让三个月后的自己还敢改?

模块化是为了维护,语义化是为了可读,前后端分离是为了独立演进。这些都不是炫技,是生存策略。

相关推荐
cd_9492172116 小时前
云工场科技推进CPU+GPU协同推理,推动大模型应用降本增效
大数据·人工智能·科技
惊鸿一博16 小时前
大语言模型_概念_Transformer_位置编码 RoPE 解释
人工智能·语言模型·transformer
东方佑16 小时前
OpenASH-85M:基于累积最大值注意力的无 Softmax 语言模型,支持有状态推理
人工智能·语言模型·自然语言处理
linmengmeng_131416 小时前
【总结】HugeGraph-AI:当图数据库遇见大模型,构建智能图应用的新范式
数据库·人工智能
通信小呆呆17 小时前
维度分数傅里叶时频图 + 图神经网络:突破传统时频分析的目标识别与杂波抑制新框架
人工智能·神经网络·算法
IronMurphy17 小时前
AI Agent 学习笔记 Day 1:大模型基础、API 调用与 Prompt 工程
人工智能·笔记·学习
ZHW_AI课题组17 小时前
基于PCA与HOG特征融合的热轧钢带缺陷检测
人工智能·python·机器学习
掘根17 小时前
【openCV】图像缩放,翻转,旋转,视频文件/摄像头读取/保存
人工智能·opencv·计算机视觉
MediaTea17 小时前
DL:扩散模型的基本原理与 PyTorch 实现
人工智能·pytorch·python·深度学习·机器学习
janeysj17 小时前
Jupyter和LangSmith——AI Agent开发调试监控工具
ide·人工智能·jupyter