- 博客(619)
- 资源 (11)
- 问答 (1)
- 收藏
- 关注
原创 成为全栈·Vue管理后台篇·评论审核工作台:状态流、上下文与操作反馈
本文基于 Vue 管理后台评论工作台,讲解 reviewing/approved/rejected 筛选、服务端分页、parentId 回复上下文、专用审核端点、官方回复返回 rejected 状态、级联删除确认提示和评论缓存失效。文章如实指出当前列表只展示文章与父评论 ID,讨论如何改进上下文而避免 N+1 请求,并强调前端审核按钮不替代服务端授权。
2026-11-13 09:24:07
8
原创 成为全栈·Vue 管理后台篇·编辑器图片上传:从文件选择到文章附件关联
本文追踪 Vue 管理后台 Markdown 图片从文件选择到文章正文引用的完整过程:FormData API、fetch boundary、Bearer 认证、附件响应 URL、Markdown 插入、封面上传、上传计数及保存互锁。文章也指出多文件 Promise.all 的部分成功边界、新建文章因尚无 ID 而不能关联 articleId、孤立附件清理需要独立设计,并提供分层验收清单。
2026-11-13 09:22:30
12
原创 成为全栈·Vue 管理后台篇·Markdown 编辑器如何承载真实的文章状态流
本文以 Vue 管理后台 ArticleFormPage 为例,分析 Markdown 编辑器如何承载文章详情加载、正文与发布设置、草稿/待审/发布/下架状态、契约校验、dirty/busy/savedAt 保存反馈、未保存离开保护、预览和列表缓存失效。文章把编辑器输入能力与父页面的文章领域逻辑分开,并指出图片上传是独立异步流程,不等于选中文件即完成。
2026-11-13 09:20:43
7
原创 成为全栈·Vue 管理后台篇·文章列表的筛选、批量操作和部分失败反馈
本文通过 Vue 与 React 管理后台的文章列表,分析服务端筛选、当前页选择、逐条 API 批量删除、软删除说明、部分失败和缓存刷新。重点对照 Vue 使用 Promise.allSettled 汇总失败数量但清空选择,与 React 顺序执行并保留失败项及逐条错误信息的差异,讨论如何选择并发策略、设计重试路径,并强调每条资源操作仍受后端契约授权。
2026-11-13 00:09:23
40
原创 成为全栈·Vue管理后台篇·仪表盘不是几张卡片:组合统计接口与角色视图
本文从 Vue 管理后台真实仪表盘讲解如何并行获取全站统计、分类分布、近期文章和评论,如何由角色能力控制相关 query 是否启用及区域是否展示,以及指标命名、加载/空/错误状态和下一步工作入口如何设计。文章强调以契约提供的数据为边界,不把累计值冒充趋势,不将前端隐藏区域视作后端授权。
2026-11-12 00:15:52
157
原创 成为全栈·Vue 管理后台篇·分页只显示第一页:从接口total 定位到前端修复
本文从一次真实验收问题出发:接口返回 total=85、totalPages=9,管理后台却不能切换下一页。文章追踪服务端分页闭环,讲解 Naive UI DataTable 的 remote 模式、受控 page、itemCount 与页码回调如何连接 Vue Query key 和 API 参数,并对比 React 独立 TablePagination 的做法,给出从响应映射到网络请求的逐层排查和验证清单。
2026-11-12 00:12:58
360
原创 成为全栈·Vue 管理后台篇·Vue Query:服务端数据缓存、query key与变更失效
本文通过 Vue 管理后台的文章列表、仪表盘、分类和站点设置,解释 TanStack Vue Query 的 query key、fresh/stale/inactive 状态、局部 staleTime、加载错误状态和 mutation 后缓存失效。文章强调 query key 必须覆盖影响响应的参数,服务器数据不应复制进 Pinia,并用文章域前缀失效说明写操作后如何让缓存重新对齐后端事实。
2026-11-12 00:10:37
206
原创 成为全栈·Vue 管理后台篇·Pinia 与 Zustand:客户端状态应该保存什么
本文对照 React Zustand 和 Vue Pinia 的实际代码,按数据来源与生命周期划分认证会话、页面交互、服务器数据、URL 状态和 UI 偏好。文章解释为什么 access token 不应持久化到 localStorage,为什么文章数据应由 TanStack Query 管理,以及 Vue 重写如何兼容 React 版侧栏偏好格式,并提供状态归属判断表。
2026-11-12 00:08:20
132
原创 成为全栈·Vue 管理后台篇·Vue Router如何守住多角色后台边界
本文以 Vue 管理后台的会员、编辑、管理员角色为例,讲解 Vue Router 如何通过 meta 声明登录、控制台和能力要求,守卫怎样区分登录页、No Access、403 与 404,菜单与直接 URL 如何共享纯权限函数。文章同时明确前端路由守卫只负责导航体验,API 的真实读写权限必须由后端独立验证。
2026-11-11 09:27:48
243
原创 成为全栈·Vue 管理后台篇·登录恢复与刷新令牌:Vue 后台的会话生命周期
本文沿 Vue 管理后台实现,完整分析登录后建立 Pinia 内存会话、启动时通过浏览器 Cookie 恢复、并发 401 合并刷新、失败请求单次重放、账号禁用处理及退出清理。重点区分 Web 的 HttpOnly Cookie 与移动端安全存储路径,并说明前端会话代码、后端令牌撤销和部署 CORS/Cookie 属性各自的责任及验证边界。
2026-11-11 09:26:03
181
原创 成为全栈·Vue 管理后台篇·用 fetch 建一层可控的请求内核
本文拆解 Vue 管理后台基于 fetch 实现的请求内核,说明 URL 与 query 序列化、统一响应信封、ApiError、Bearer token、凭证策略、JSON 请求体及 FormData 上传的处理边界。结合真实测试解释为什么不能手动设置 multipart boundary、为什么 TypeScript 泛型不等于运行时校验,以及并发过期请求如何由内核共享刷新流程。
2026-11-11 09:24:25
238
原创 成为全栈·Vue管理后台篇·从冻结 OpenAPI 生成类型,并组织 Vue API模块
本文基于 Vue 管理后台的真实代码,梳理冻结 OpenAPI、openapi-typescript 生成文件、业务类型别名、API 模块和 fetch 请求内核之间的职责。重点说明生成 TypeScript 类型不等于自动生成运行时请求,也不等于验证线上 JSON;通过文章列表接口示例展示契约字段如何流向页面,并介绍重新生成、类型检查和审阅差异的实践步骤。
2026-11-11 09:21:29
155
原创 成为全栈·Vue 管理后台篇·Vue响应式与 React Hooks:同一交互的两种运行模型
本文以同一套管理后台中的文章筛选、分页和权限展示为例,对比 Vue 响应式依赖追踪与 React 组件重新渲染模型。通过 ref、computed、watch 和 useState、useMemo、useEffect,解释两种框架的状态传播、闭包与依赖处理差异,并给出从 React 页面迁移 Vue 时区分本地状态、派生状态、服务器状态和副作用的检查方法。
2026-11-10 11:27:07
257
原创 成为全栈·Vue管理后台篇·<scriptsetup>:把页面拆成可读、可测的 Vue 组件
本文基于 Vue 管理后台的文章列表和 PageHeader 组件,讲解 <script setup lang="ts"> 如何连接模板与组件状态、props/slot 如何划分父子边界、vue-tsc 如何检查 SFC 模板,以及组件和 composable 应在什么条件下抽取。文章避免只罗列指令,而是沿着筛选、分页和文章查询的实际数据流分析 SFC 责任边界,并给出组件拆分练习。
2026-11-10 11:21:50
135
原创 成为全栈·Vue 管理后台篇·Vue3 + Vite + Naive UI:后台工程基座怎么搭
本文基于已经落地的 Vue 管理后台,介绍 Vue 3、Vite、TypeScript、Naive UI、Vue Router、Pinia、Vue Query、Biome、Vitest 和 vue-tsc 各自负责的边界。通过真实目录和入口代码解释应用装配顺序、API/附件代理、锁文件复现以及质量门禁,并区分类型、测试、构建和线上接口验证分别能证明什么,帮助开发者搭出可持续迭代的后台工程。
2026-11-10 11:16:21
301
原创 成为全栈·Vue 管理后台篇·为什么把 React 管理后台再用 Vue 实现一遍
为什么一个已经运行的 React 管理后台还要再用 Vue 实现?本文从真实工程出发,明确 M7 重写的学习目标、React 对照基线、冻结 API 契约、三角色权限和业务验收边界。文章解释“业务行为一致”与“代码结构相同”的区别,并用分页问题说明页面出现数据不等于功能验收完成。文末给出目录阅读路径和对照练习,为后续 Vue 工程、请求、会话和管理业务文章建立共同基线。
2026-11-10 11:00:32
284
原创 成为全栈·基础补充·并发幂等与重复请求:怎样避免业务状态被改坏
客户端超时后重试、用户连续点击、两个设备同时操作,都可能让同一业务动作重复执行。本文区分并发与重复请求,结合点赞关系和刷新令牌轮换,讲解业务不变量、唯一约束、事务、数据库锁、进程锁和幂等键的适用边界,并说明超时重试的风险、故障注入与并发测试方法,避免把一个进程内互斥误认为多实例安全。
2026-11-09 11:33:49
239
原创 成为全栈·基础补充·配置与运行观测:服务怎样安全启动和排障
服务在开发机启动,不代表已经具备安全、可排障的运行条件。本文从配置集中解析与 fail-fast 校验开始,介绍环境优先级、密钥脱敏、结构化日志、存活与就绪探针、超时和优雅关闭,并说明如何区分本地验证、容器构建与生产部署。结合 Go 后端的实际运行手册,给出一套适合个人项目逐步采用的配置与观测基线。
2026-11-09 11:31:02
343
原创 成为全栈·基础补充·数据库迁移与事务:数据结构怎样安全演进
数据库升级为什么不能只执行一条 ALTER TABLE?本文区分结构迁移、事务和业务数据搬迁,介绍版本化迁移、expand/contract、真实数据库方言验证、事务边界与外部资源补偿。结合 PostgreSQL、MySQL、SQLite 的差异和一次 13 张业务表的离线导入演练,说明空库升级、备份、dry-run、关系核验及回退准备应如何形成一条可审阅的迁移流程。
2026-11-09 11:27:54
469
原创 成为全栈·基础补充·测试分层与质量门禁:怎样验证一个全栈项目
一个测试通过究竟能证明什么?本文从单元、HTTP 集成、契约、差分、真实数据库、客户端回归和手工验收多个层次,说明不同测试的适用范围与盲区。结合多端内容系统的 Go 重写验证,解释后置状态断言、测试环境隔离、替身边界和质量门禁分层,并给出按业务风险选择测试证据的方法,避免用覆盖率或一次绿色 CI 代替交付判断。
2026-11-09 11:24:11
342
原创 成为全栈·基础补充·API 契约与兼容性:接口文档怎样约束前后端
接口文档如何从“说明书”变成前后端共同遵守、可以自动检查的契约?本文从一个多端内容系统出发,拆解路径、参数、身份、响应和错误语义,重点说明缺失、null 与零值的区别,以及新增字段、分页默认值、错误码变化对客户端的影响。结合 Node 与 Go 实现之间的真实差异,给出从产品规则、OpenAPI、类型生成到契约测试和客户端回归的协作流程。
2026-11-08 12:24:10
283
原创 成为全栈·基础补充·服务端心智模型:一个请求从浏览器到数据库发生了什么
从会员发布文章这个动作出发,本文沿着客户端、DNS/TLS、反向代理、HTTP 路由、中间件、认证授权、输入校验、业务服务、数据库事务和响应序列化,解释一次请求在服务端经历的完整链路。文章还通过故障表说明 DNS、代理、鉴权、业务、数据库和外部服务故障分别应从哪里排查,帮助前端开发者建立系统级的服务端心智模型。
2026-11-08 12:21:18
261
原创 成为全栈·基础补充·Node.js 运行时:事件循环与异步
Node.js 如何在一个主 JavaScript 执行线程上处理大量网络请求?本文解释同步阻塞、异步 I/O、事件循环、Promise 微任务、libuv 线程池和 CPU 并行的区别,并说明 async/await 不会自动开启线程。文章还介绍异步错误、超时、取消、性能诊断和 Worker Threads 的适用边界,最后与 Go goroutine 做概念对照。
2026-11-07 10:22:53
294
原创 成为全栈·基础补充·缓存的层次与失效:浏览器、CDN、服务端、数据库
浏览器、CDN、服务端、数据库和客户端状态都有缓存,但它们的 key、生命周期、安全范围和失效方式并不相同。本文解释 Cache-Control 中 max-age、no-cache、no-store、private 的区别,介绍 ETag、CDN purge、服务端进程缓存和移动端 fresh/stale/expired 策略,并重点讨论会员数据隔离、写后失效以及如何用测量决定是否缓存。
2026-11-07 10:18:44
454
原创 成为全栈·基础补充·认证与授权:两个总被混淆的概念
登录成功只说明服务端确认了某个身份,不代表这个身份可以访问所有资源。本文区分认证与授权,介绍账号密码、Cookie、Bearer token、JWT、访问/刷新令牌、会话撤销、角色权限与资源所有权,并说明第三方登录如何映射到本地账号。通过匿名、角色不足和资源归属等测试场景,强调服务端必须在每次操作时执行权限判断。
2026-11-06 09:56:43
285
原创 成为全栈·基础补充·Web 安全基础:XSS、CSRF 与 SQL 注入
本文从输入和信任边界出发,讲解 XSS、CSRF 和 SQL 注入的触发条件与防护边界:按输出上下文编码并谨慎渲染 HTML;保护自动携带 Cookie 的跨站写请求;用参数化查询和值绑定避免输入改写 SQL 结构。文章还区分输入校验、认证、授权、CORS、CSP 和密钥管理,并给出适合隔离环境的安全测试场景。
2026-11-06 09:53:17
913
原创 成为全栈·基础补充·域名、DNS 与 HTTPS 证书
输入网址后,浏览器需要解析域名、连接目标服务、验证 TLS 证书,再发送 HTTP 请求。本文解释 A/AAAA/CNAME/TXT/MX 记录、DNS 缓存和 TTL,说明证书的域名匹配、有效期与续期边界,并把 DNS、HTTPS 和反向代理放在同一条部署链路中。最后给出逐层排查清单,帮助区分解析、连接、证书和应用路由故障。
2026-11-06 09:49:37
540
原创 成为全栈·基础补充·Nginx 入门:反向代理与静态托管
Nginx 可以托管前端静态文件,也可以作为反向代理把 HTTPS 请求转给内部 API。本文从请求路径讲起,解释反向代理、静态目录、代理头、路径拼接、可信 IP、Cookie、上传体积、超时和缓存边界,并提供配置结构示例和逐层排查顺序。配置片段需要结合实际证书、路由和运行平台验证,不能直接复制为生产方案。
2026-11-06 09:46:01
302
原创 成为全栈·基础补充·Docker 入门
Docker 镜像和容器解决的是运行环境可复制问题,不会自动解决数据持久化、密钥、备份和生产验收。本文解释镜像、容器、Dockerfile、多阶段构建、端口、网络、Compose、数据卷和原生依赖,并用 Node 示例展示构建与运行分离。还说明容器退出、端口不可达和数据库数据丢失的常见原因,以及如何区分“有 Dockerfile”和“已在目标环境运行”。
2026-11-05 11:14:33
378
原创 成为全栈·基础补充·TypeScript:从会用到用好
TypeScript 可以在开发阶段发现许多错误,却不能保证网络响应和用户输入在运行时符合类型声明。本文从 strict 和 null 检查讲起,介绍 `any` 与 `unknown`、判别联合、泛型和 DTO 边界,并说明何时需要运行时 schema 校验。通过请求状态和文章数据示例,帮助前端开发者把类型真正用作协作和建模工具,而不是用断言关掉编译器提醒。
2026-11-05 11:10:48
268
原创 成为全栈·基础补充·数据库索引:为什么加了索引还是慢
为什么加了索引,查询还是慢?本文从实际列表 SQL 出发,解释 B-tree 与复合索引、最左前缀、低区分度、函数和前缀匹配、排序分页、回表以及索引写入成本,并介绍如何用 EXPLAIN 观察执行计划。文章强调先定位真实瓶颈、再通过代表性数据验证,不把索引当成给字段贴上的万能加速器,也提醒跨数据库需要分别验证。
2026-11-05 11:05:26
336
原创 成为全栈·基础补充·SQL 入门:从 SELECT 到 JOIN
本文以文章系统为例介绍 SQL 的基本思路:用 SELECT 和 WHERE 取出目标集合,用 JOIN 关联作者与分类,用 GROUP BY 统计,再以稳定排序和分页输出。文章也解释 NULL 判断、参数化查询、插入更新删除的风险、事务边界,以及 ORM 零值可能带来的更新问题。读完后,你能把“页面需要显示什么”拆解成可检查的数据库查询。
2026-11-05 11:01:38
188
原创 成为全栈·基础补充·Linux 服务器入门
Linux 服务器不是一台“放在云上的开发电脑”。本文从 SSH、非 root 用户、文件权限和目录规划讲起,解释服务进程、systemd、日志、端口、防火墙、反向代理、资源和备份,并比较自管 Linux 与 Serverless 的责任边界。文章以部署前核对清单收尾,帮助前端开发者理解应用从本地运行到长期服务之间还需要哪些工程准备。
2026-11-04 11:31:47
443
原创 成为全栈·基础补充·Git 进阶:分支策略与协作
Git 不只是保存代码的工具。本文从工作区、暂存区和提交开始,解释分支、远端、fetch/pull/push、合并冲突、merge 与 rebase,以及 restore、reset 和 revert 的影响差异。结合文章与代码快照的协作场景,说明如何用清晰提交信息、短分支和 tag 建立可审阅、可回滚、可复现的工程历史,并提醒哪些操作会重写共享记录。
2026-11-04 11:26:50
375
原创 成为全栈·基础补充·命令行基础:全栈绕不开的终端操作
终端常见问题往往不是命令太难,而是当前目录、参数、退出码和进程状态没有搞清楚。本文从 `pwd`、`cd`、路径引用和命令结构讲起,解释标准输出、错误输出、管道、环境变量、本地服务进程与端口,并提醒如何安全处理删除、写库和部署命令。学会这些基础,才能把项目运行、测试和发布步骤变成可重复流程。
2026-11-04 11:23:05
678
原创 成为全栈·基础补充·HTTP 协议:前端天天用却说不清的那些事
一次浏览器请求包含什么?本文从请求行、头部和请求体讲起,解释常见 HTTP 方法、状态码与业务码、Cookie、Content-Type、HTTPS、CORS、缓存和反向代理的边界,并给出从 Network 面板逐层排查问题的顺序。读完后,你能区分请求没发出、服务器返回错误和浏览器拒绝脚本读取响应等不同情况,不再把所有问题都称为“接口挂了”。
2026-11-04 11:19:44
263
原创 成为全栈·Go 后端篇·管理接口也有业务边界:用户、公开资料与站点配置
Go 管理 API 仍需防止自我降权、最后管理员被移除、公开资料泄露和站点配置越权。本文结合 M6 administration/auth service,解释用户筛选与 auth.Public 投影、事务锁定 active admin、公开会员最小资料、单例 SiteSetting 白名单及密码重置撤销会话,并给出数据库后置状态测试用例。
2026-11-03 10:58:38
162
原创 成为全栈·Go 后端篇·三轮代码审阅之后:把可读性和证据做成工程规则
M6 三轮 Go 代码审阅怎样从意见变成工程改进?本文以第三轮为例,讲领域文件重组、命名事务 helper、中文包说明、AST doccheck 与缺陷注入自检,并展示如何用 Go 源码实验纠正审阅报告中的 go/doc 论证、用准确边界描述 GOPROXY=off 构建。文章也区分测试运行通过与静态门禁全绿,说明逐轮绑定代码基线的重要性。
2026-11-03 10:56:22
396
原创 成为全栈·Go 后端篇·Go 上线准备:CGO、单写拓扑与生产切换演练
Go 服务准备上线要验证什么?本文对照 M6 的 Dockerfile 和交付报告,说明 CGO/SQLite 与 Debian/glibc、多阶段镜像、四个运行命令、PostgreSQL 权限、单写实例边界、R2/local 存储、反向代理与数据切换回退。文章明确完整容器构建、真实微信/R2 联调和生产迁移不是本轮已完成证据,并给出目标环境验收表。
2026-11-03 10:53:16
446
原创 成为全栈·Go 后端篇·换后端不改前端:四个客户端如何做兼容回归
换后端不改客户端,需要什么证据?本文按 Web、管理后台、Taro 小程序和 Flutter 的现有请求/会话路径,说明 Go 本地 smoke 覆盖的认证、投稿、互动、评论和通知工作流,以及微信替身、Taro 平台传输替身和真实 Flutter Dio 的区别。文章还明确 Cookie、UI 页面、开发者工具、真实微信/R2 和生产网络的未验收边界。
2026-11-02 11:09:35
309
空当接龙-经典纸牌游戏游戏 for Mac AppleSilicon
2026-10-09
黑苹果USB无线网卡驱动,适用于mac10.15.x的版本,祝大家好用!
2020-08-04
win10系统iis伪静态配置安装文件64位版
2015-12-17
黑苹果 Clover 引导编辑器 Mac 版本
2020-05-03
Sip 软件免费版,MacOS 下好用的屏幕取色软件
2020-05-03
文本替换专家2.5(无需注册版|非破解)
2015-11-24
让黑苹果系统,支持安卓手机分享USB网络 HoRNDIS-9.2
2020-09-01
用于 MAC上卸载 Creative Cloud 的工具
2017-02-27
FengFocus jQuery焦点图插件
2015-09-04
Sublime Text 3/64 精心调配版 by FungLeo
2015-08-26
移动端css文字使用什么单位最合适?
2015-08-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅