博客
全部正文均在本站博客发布;首页静态页仅作导航与主题样式。
-
Cookie 与 Session:登录态常放在哪里
HTTP 本身 无状态 :每个请求在协议层面独立;要在多次请求间识别「同一用户」或维持「登录态」,需要额外机制。 常见两种互补思路:把 票据 放在客户端 Cookie,或把 会话数据 放在服务端(Session),或二者组合。 理解它们的边界有助于正确实现注销、跨域与安全策略。 入门:Cookie 是什么 Cookie 是浏览器替服务器 存储的一小段名字–值对 (及若干属性),在后续符合条件的请求里 自动带回 (视 Domain /…
-
DNS 如何把域名解析成 IP
当你在浏览器输入域名时,计算机最终需要知道对方的 IP 地址 才能建立连接。 DNS(Domain Name System) 就是把人类易读的域名映射到 IP(及其它记录类型)的分布式目录服务。 本文从 一次解析经历的步骤 讲到 缓存、记录类型与常见故障 。 入门:解析路径的大致顺序 应用程序(如浏览器)需要连接 example.com ,先向 解析器(resolver) 发问——常见是你操作系统配置的 DNS,或路由器下发、运营商提…
-
Docker 镜像与容器:一次构建,多处运行
容器 把应用及其依赖打包成可在不同环境一致运行的单元; Docker 是最常用的实现与工具链之一。 镜像(image)是 只读模板 ,容器(container)是镜像运行起来的 可写实例 ——类比「类与对象」有助于记忆。 入门:镜像里有什么 分层文件系统(union/overlay):多条只读层 + 一条可写层;共享层可节省磁盘与拉取时间。 元数据:默认入口命令、环境变量、暴露端口声明等。 入门:容器与虚拟机差异(心智) 容器共享宿主…
-
嵌入式调试与测量入门
嵌入式问题同时跨越 软件状态机 与 电气现实 : 先区分「程序未跑到」与「程序跑到了但外设没按预期动作」,再用 分层证据 缩小范围。 测量手法错误会得到「看起来很真实的假波形」,要特别警惕。 入门:最小调试情报 日志 :UART/SWO/RTT;注意波特率、缓冲区溢出与 编码 (见 UTF-8 )。 断点与单步 :注意打断实时路径可能导致时序消失;关键路径可用 GPIO 翻转配合逻辑分析仪。 寄存器快照 :核对时钟是否使能、引脚复用是…
-
嵌入式系统入门地图
「嵌入式」泛指计算能力 服务于特定装置 的系统:软件直接贴近传感器、执行器与外设寄存器, 约束来自功耗、成本、实时性与可靠性。 本文提供 鸟瞰地图 :MCU、外设、时钟、存储与调试——细节务必回到 具体订货型号的数据手册 。 入门:嵌入式 vs 通用计算机 往往 没有屏幕键盘 ,人机交互可能是 LED、串口、总线。 强调 确定性 :中断延迟、DMA、看门狗与电源模式直接影响功能安全。 资源边界硬: RAM/Flash 常在 KB~少量…
-
用费曼技巧检验你是否「真懂」
费曼技巧 常被概括成一句话:选一个概念,用简单语言讲给「完全不懂的人」听; 讲不下去的地方,就是你的知识缺口,回去补书或做实验,直到能顺畅讲完。 它不是玄学,而是一种 自我检测「结构是否建立」 的学习流程。 入门:最小步骤 在白纸上写下概念名称。 用朴素语言解释「它是什么、解决什么问题、何时不适用」,避免名词堆砌。 卡住就标记缺口,回到教材或权威文档那一节。 必要时加一个极简类比或手绘图;类比错了要能指出类比失效的边界。 深入:为什么…
-
防火墙与安全组:流量在进主机之前就被过滤
公网服务器会收到大量扫描与无关连接。 防火墙 通过规则决定哪些 IP、端口与协议可以通过, 在云环境里常与 安全组(Security Group) 等抽象一起出现:本质是 策略化的包过滤 , 默认拒绝或默认放行取决于设计与合规要求。 入门:防火墙通常在哪个路径生效 主机防火墙 :iptables/nftables、Windows Defender Firewall、云主机内的 agent rules——靠近 进程监听端口前后 。 网络…
-
Git 入门:从安装到协作
本文面向零基础读者,介绍 Git 是什么、如何安装与做个人版本管理,以及如何在 VS Code 里操作、如何连接 GitHub/Gitee,并对团队协作用法有初步概念。 文中命令与行为说明均以 Git 官方手册 、 GitHub 文档 、 Gitee 帮助 、 Visual Studio Code 文档 为核对依据;托管平台界面与认证政策会变,请以各平台 当前 页面为准。 阅读本文前 下文示例多在 终端 (命令行)中输入命令。你需要会…
-
HTTP 状态码入门:分类与常见含义
浏览器或客户端每发起一次 HTTP 请求,服务器都会在响应行里返回一个 三位数字状态码 , 并配合 原因短语 (仅供参考,客户端不应依赖短语文本)。 RFC 9110 (继承并整合早期 HTTP 语义规范)按首位数字把响应分成五类;理解分类比死记每一个码更重要。 入门:五类状态码(背首位即可) 1xx(Informational) :临时响应;常见如 100 Continue ,多数应用层代码很少直接处理。 2xx(Success)…
-
HTTPS 在传输过程中解决什么问题
HTTPS 可以理解为「在 HTTP 之下先铺好一条安全的传输通道」。 现代实践中,这条通道通常由 TLS (常被口语称作 SSL/TLS)提供:在 TCP 连接之上协商密钥、验证身份,然后才把 HTTP 请求与响应放进加密载荷里。 本文区分 三道常见问题 :机密性、完整性、身份验证,并说明它们 各自不解决什么 。 入门:HTTPS 解决了哪三类问题 机密性(Confidentiality) :中间人难以读懂载荷内容;但不等于「服务器…
-
JSON:一种轻量的数据交换格式
JSON(JavaScript Object Notation) 用键值对、数组与字面量描述结构化数据, 可读性较好,被大量 API 与配置文件采用(亦有 YAML、TOML、MessagePack 等替代场景)。 本文覆盖 语法子集 、 跨语言边界 与 安全注意 。 入门:基本类型 对象 :无序的「字符串键 → 值」集合,写作 { "key": value } 。 数组 :有序列表,写作 [ a, b, c ] 。 值 可为字符串、…
-
Linux 文件权限 rwx 与 chmod 入门
在类 Unix 系统里,每个文件或目录都带有 权限位 ,决定拥有者、同组用户与其他用户能读、写还是执行。 另有 特殊位 (setuid、setgid、sticky)与 ACL 扩展——入门阶段先把 rwx 与归属搞清楚。 入门:三段 rwx 怎么看 ls -l 的首列形如 -rwxr-xr-x :首位是文件类型,其后三组各三位,分别是 拥有者 / 组 / 其它 的 r、w、x。 对目录而言, x 往往意味着「可进入」而非「可执行二进制…
-
单片机嵌入式 C 实践要点
下列实践面向资源受限 MCU:优先 可读、可预测、可测试 。 具体寄存器名、启动文件与链接脚本随工具链与芯片而变,请以 厂商示例与数据手册 为准。 入门:中断与 volatile ISR(中断服务程序)与主循环/任务共享的变量应使用 volatile (或更安全的原子类型/消息队列),防止编译器优化掉「看似无人写入」的读操作。 ISR 内避免阻塞与耗时计算:只做标记、清标志、搬运最小数据。 入门:栈与堆 首选 静态分配 与固定大小缓冲…
-
PCB 绘制与加工常识
PCB(印制电路板)把原理图变成可制造的导电图形与绝缘层叠。 线宽、间距、孔径与阻抗控制的 可制造性 取决于 板厂工艺能力 ;开始前务必下载并填写 设计规则(DRC) 对照表。 入门:层叠与阻抗 两层板成本低;高速或高密度常用四层及以上以获得 完整地平面 。 受控阻抗(差分对、DDR 线等)需要已知介电常数、介质厚度与目标阻抗——由层叠与线宽几何共同决定。 入门:设计规则(DRC) 最小线宽/间距、钻孔直径、环径(annular ri…
-
进程与线程:操作系统调度在调度什么
进程 是资源分配的基本单位:拥有独立的地址空间、文件描述符表等上下文。 线程 是 CPU 调度的常见单位:同一进程内的多个线程共享地址空间,切换成本通常低于进程。 操作系统在内核里维护 就绪队列 ,按调度策略决定下一个运行的线程/进程。 入门:为何需要多线程 在 I/O 等待时让其他线程继续工作,或在多核上并行计算,可提高吞吐。 但共享内存也带来 竞态条件(race) ,需要锁、原子操作、消息传递或无共享架构(如 actor)等同步手…
-
REST 与资源风格 API:名词、动词与状态
REST(Representational State Transfer) 是一种架构风格,常用于设计 HTTP API: 把业务对象建模成 资源(名词) ,用 HTTP 方法(动词) 表达操作, 用状态码与标准标头传达结果。它不等同于「返回 JSON」,JSON 只是常见 表示形式 。 入门:资源与 URI 资源应有 稳定可预测的 URI ,例如 /users/123 、 /orders?state=open 。 「动词挤进路径」如…
-
原理图与硬件设计入门
原理图描述 电气连接与元件参数 ,是 PCB 与装配的依据。 阅读顺序建议: 电源与地 → 复位/时钟 → 通信接口 → 模拟链路 ——具体项目可能调整,但「先搞清楚电从哪来」通常最省钱。 入门:符号与网络标签 元件符号(symbol)不等同于封装(footprint);一对多、多对一要核对 BOM。 网络标签(net label)跨页连接;重构时最容易漏改。 电源轨命名一致: VDDA / VDD / VCC 混用要有定义表。 入门…
-
SSH 密钥与远程登录:公钥为何能代替密码
SSH(Secure Shell) 常用于加密远程登录与文件传输(如 sftp / scp )。 密钥登录 用一对数学相关的密钥替代频繁输入密码:私钥留在本机(可口令保护),公钥登记在服务器或 Git 托管网站。 入门:公钥与私钥各自干什么 私钥(secret key) :绝不共享;用于证明「你持有对应身份」。 公钥(public key) :可公开分发;服务器只保存公钥,用来校验签名或协商。 登录流程的细节(如 OpenSSH 的具…
-
五分钟读懂 TCP/IP 分层在干什么
互联网通信常被描述为「分层协作」: TCP/IP 模型 把复杂问题拆成若干层,每层只关心自己的职责,上层依赖下层提供的能力。 下文先从 日常现象 建立直觉,再展开 各层职责与边界 ,最后落到 排障时应先看哪一层 。 入门:为什么总要谈「分层」 当你抱怨「Wi‑Fi 满格但网页打不开」「能 ping 通但 HTTPS 报错」时,问题往往出在 不同层 : 链路可能畅通(帧能到路由器),但 DNS、TCP、TLS 或应用逻辑任一环节异常都会…
-
字符编码与 UTF-8:为何会出现「乱码」
计算机底层只认二进制。把「文字」变成字节序列的规则,就是 字符编码 。 编码不一致或解码错误时,用户会看到「乱码」——本质是 同一串字节被用错了字符集来解释 。 UTF-8 是 Unicode 的一种变长编码,已成为 Web 与现代系统的主流。 入门:Unicode 与编码的区别 Unicode :给字符分配 码点(code point) ,例如 U+4E2D。 UTF-8 :把码点编码成 1~4 字节序列的规则;与 Latin-1、…