尝试滚雪球学习法

学高数有什么屌用呢?本来就该是需要什么学什么,为什么为了凑全、凑整、过关去学呢?学了对我做项目有什么用呢?本来就是错误的学习方法,一代代延续,可悲至极。真正有用的是占山为王,逐个击破,滚雪球式地按需去学。

另外,可以迁移的技能就是好技能,除此之外,全是垃圾。最少且必要的知识,也是那部分为数不多的可以迁移运用的知识。

游牧人速通

前端(30min)

动机

互联网不缺大而全;所有教程都需要重构精简一遍

价值

  • 建立对程序员的基本认识
  • 借助AI开发软件
  • 正确的编程价值观和品味
  • 建立兴趣
  • 找到未来的方向,事半功倍,避免浪费数百小时学不重要的东西

写代码的本质

遵循某种规则的文本(规则就是编程语言)

人 —(概念化)—> 解决方案 —(编程语言)—> 代码

真正重要的是把一个任务拆解成不同模块,每个模块需要写哪些代码 - 有了这个能力,AI就可以写

人都会中文,并不都能写成书。


实操

  1. 下载VScode
  2. 创建index.html文件
  3. 模块化排版

网络上有html教程,可以自行搜索学一下

问题

为什么双击html文件打开会被浏览器渲染?当你输入网址的时候发生了什么?

客户端(client) -> 网络 -> server

请求 - 响应

CSS & JavaScript

这些本身都是可以跟HTML写到一个文件中的。但为了模块化开发,可以分成三个文件。

Network这样就会收到相关联的三个文件,下载下来,然后做出响应。

js请求b站api,获取数据 - 直接前端去调用b站数据会被拒绝;可以用node.js做一个自己的后端,前端去调用自己的后端,然后后端再去偷偷调用b站的后端数据。

更复杂的是可以自己建立一个数据库,有用户注册、发动态都会更新到数据库中,然后前端会从后端调用数据。

后端(30min)

前端后端数据库是怎么联动的

后端:软件真的只是手机上运行的代码吗?为什么手机端、电脑端的购物车数据可以同步?软件背后的一整套服务(服务端)也在通过网络请求为客户端提供支持。

后端不是代码,是一段数据。

以数据为中心的角度:

  • 前端:数据的展示和数据的交互
  • 后端:数据的存储、处理,以及给前端数据点提供访问接口(API)

客户端 - request - 网络 - response - 服务端


常见的后端编程语言:Java,C#,js

常见的后端开发框架:Java(Spring Boot), JavaScript(ExpressJS), Python(Django), C#(ASP.NET)

框架:在开发过程中有一些通用的模式,有人做了一些工具可以重复使用(软件库 - 别人写好的代码)

常见的数据库:MySQL, PostgreSQL, MongoDB


实操

  • 语言:JavaScript
  • 运行环境:NodeJS(需要下载)
  • 库(library):ExpressJS

NodeJS运行环境:在其出现之前,JavaScript只能在浏览器上运行,能不能在后端脱离浏览器也用这个语言?

完成以上之后,在terminal中运行npm install express来安装express框架。npm是nodejs的包的管理器(package manager),帮你管理第三方的依赖。

做一个todo list app

增删改查:

  • 获取所有TODO
  • 获取单个TODO
  • 创建TODO
  • 删除TODO

API设计模式

这个是用来设计前后端沟通的规则 - 前端服务员报菜谱上的菜名,后端厨师才能出对应的餐

  • RESTful
  • GraphQL
  • RPC
  • SOAP

RESTful API

  • Resource
  • HTTP Methods
    • GET
    • POST
    • DELETE

资源就是你要管理的数据实体。它们在 URL(路径)中用名词表示。

HTTP 方法 = 你想对资源做的动作。

常见的有:

  • GET → 读取(查)
  • POST → 新建(增)
  • PUT / PATCH → 更新(改)
  • DELETE → 删除

举例:

  • GET /todos → 获取所有 TODO

  • GET /todos/1 → 获取 ID=1 的 TODO

  • POST /todos → 新建一个 TODO

  • PUT /todos/1 → 更新 ID=1 的 TODO

  • DELETE /todos/1 → 删除 ID=1 的 TODO 这就是 增查改删 (CRUD) 对应的四种操作。(Create、Read、Update、Delete)

  • 获取所有 TODO: GET /todos

  • 获取单个 TODO: GET /todos/{id}

  • 创建 TODO: POST /todos

  • 删除 TODO: DELETE /todos/{id}

可以按F12 inspect - Network刷新页面去看,headers下面有requestURL(resources)和requestMethod(HTTP method)

本地json文件存储前端请求

用浏览器的console进行代码实验 -> 本地文件存储前端请求(todos)-> postgreSQL


总结

  • 前端(Frontend):浏览器里写 fetch 请求,或者将来做一个 HTML/React 界面。
  • 后端(Backend):Node.js + Express,负责“接收前端请求 → 处理 → 跟数据库打交道”。
  • 数据库(Database):PostgreSQL,负责“持久化保存数据”。

1. 前端 → 后端

  • 前端发起 HTTP 请求,比如:
    fetch('http://localhost:8989/todos')
  • 浏览器会通过 HTTP 协议把这个请求发送到 8989 端口的服务器。
  • 服务器(Express)收到请求,根据路由匹配,比如 /todos 对应到 app.get('/todos', ...),执行里面的代码。

! 前端就像餐厅里的 顾客,把点单(请求)交给服务员(后端)。

2. 后端 → 数据库

  • 后端代码里用 pg 驱动,把 SQL 发给 PostgreSQL。
  • 比如 pool.query('SELECT * FROM todos')
  • 数据库查询到结果后,返回给后端。

! 后端就像餐厅的 服务员,把点单交给 厨房(数据库),等厨师做好菜(查询结果)。

3. 数据库 → 后端 → 前端

  • 数据库返回查询结果,Node.js 拿到数据后,用 res.json(data) 把数据转成 JSON。
  • 浏览器收到 JSON 后,再渲染出来(比如在 Console 里看到 [ { id: 1, title: '1st todo', completed: false } ])。

! 整个过程就像:顾客点菜 → 服务员传菜 → 厨房做菜 → 服务员端菜 → 顾客吃到菜。

技术栈梳理

  • 语言:JavaScript(你写的代码)。
  • 运行环境:Node.js(跑后端)、浏览器(跑前端)。
  • 框架:Express.js(帮你快速写 Web 服务器)。
  • 数据库:PostgreSQL(存数据)。
  • 驱动:pg(Node.js ↔ PostgreSQL 的桥梁)。
  • 工具:VS Code(写代码)、pgAdmin(看数据库)、浏览器 DevTools(调试 API)。
  • 协议:HTTP(前后端通信)、SQL(数据库语言)。

想象你开了一家外卖餐厅

  1. 顾客点单 → 前端

    • 顾客在手机 App / 网页上下单。
    • 这就好比浏览器里你写的 fetch 请求。
    • 前端的任务:收集用户输入,把它打包成请求发给服务员。
  2. 服务员接单 → 后端 (Express + Node.js)

    • 服务员听懂顾客点的是什么菜(路由 /todos)。
    • 然后把需求转给厨房(数据库)。
    • 这里的服务员就是 后端代码,跑在 Node.js 上,主要逻辑框架是 Express。

👉 后端不等于数据库,后端是“中间人”,负责沟通前端和数据库。

  1. 厨房 → 数据库 (PostgreSQL)
    • 厨师(数据库)真正掌握原材料(数据)。
    • 你点了“加一条 todo”,服务员就去告诉厨师:INSERT INTO todos ...
    • 厨房做好菜(查询结果/新数据),再交给服务员。

👉 数据库是 存储层,后端必须通过 SQL 才能和它交流。

  1. 服务员端菜 → JSON → 前端展示
    • 服务员把厨房做好的菜(数据),用一个托盘(JSON 格式)端给顾客。
    • 前端拿到 JSON,再决定要不要放在网页上显示。

三分钟实验室全栈

小甲鱼python

Last modified on 2025-08-26 • Suggest an edit of this page
← Prev: 言说的意义
Next: 大脑对任务排序过载 →