avatar
Articles
60
Tags
42
Categories
8
首页
文章
生活
项目
关于
我做开发那些年
Search
首页
文章
生活
项目
关于

我做开发那些年

我在宝塔上部署一个 AI 图片去背景服务,踩了 4 个坑
Created2026-06-09
事情的起因很简单。 有个基于 FastAPI + rembg 的图片去背景服务,要部署到宝塔 Linux 面板上。代码只有 400 多行,逻辑也不复杂——接收图片上传、调 rembg 去除背景、返回 PNG。 我原以为十分钟搞定。结果花了三个小时。 第一个坑:NumPy 版本打架第一次调接口,直接 500: 12AttributeError: _ARRAY_API not foundA module that was compiled using NumPy 1.x cannot be run in NumPy 2.4.6 rembg 底层依赖 onnxruntime 和 opencv-python,这两个库在 PyPI 上分发的 Linux 预编译 wheel 是用 NumPy 1.x 的 C API 编译的。但我虚拟环境里装的是 NumPy 2.4.6,新版改了底层 C 接口,老二进制直接崩。 我下意识 pip install "numpy<2",确实降下来了,但接着第二个坑就冒出来了。 后面我也试过升级 onnxruntime 和 opencv-...
张雪峰离世的背后:当“人生导师”输给身体,我们该反思什么
Created2026-03-26
我是在前天晚上微信群看到群友发的新闻截图才得知这一消息的–张雪峰死了,震惊中又带着几分怀疑,生怕这又是一个“谣言”,但经过一番信息搜索与验证之后,终是不得不接受这一事实。 从“全能导师”到“生命缺憾”最早认识张雪峰,是网络上看到关于他讲关于专业,关于职场的视频,至今许多金句依然记得很清楚。“普通家庭的孩子,选专业首选‘糊口’,再谈‘梦想’。没有生存,梦想就是空谈”。 “别在最能吃苦的年纪选择安逸,但也不要在不该拼命的时候透支生命”。 在很多的印象中,他就是那个敢大大咧咧说实话的人,把许多关于职场、专业,努力与阶层的一些隐藏真相揭露出来的真正“人间清醒”。 没有恭维的意思,我敢说整个中国,有无数普通家庭的孩子都收益于他所说过的话和做过的事。而就是这样的一个人,就这样突然去世了,他的年龄永远定格在了41岁。 张雪峰的死亡原因是心源性猝死,这种突发的疾病据说抢救的失败率高到90%多,也就是说一旦发生,基本就是和这个世界告别了。 “奋斗至上”是一种幻觉在出事前一段时间,他曾维持每天直播12小时的高强度状态,往往直播到深夜甚至凌晨。而在最极端的高考志愿填报季,他为了讲课和赶路甚至创下了40...
虚拟 DOM 要凉了?Vue 3.6 Vapor Mode 凭什么颠覆前端性能?
Created2026-02-02
虚拟DOM的困境从平衡艺术到性能拷问在前端演进中,Vue以“声明式模板+虚拟DOM”的平衡之道,成为兼顾开发效率与性能的优选。声明式模板降低开发心智负担,虚拟DOM则默默优化DOM操作,保障应用响应性。 但随着Svelte、Solid.js等编译型框架崛起,行业开始反思:虚拟DOM是否是高性能的唯一答案?这些框架跳过虚拟DOM,通过编译时优化直接操作DOM,大幅提升渲染效率。 面对挑战,Vue 3.6推出Vapor Mode——并非颠覆现有生态,而是通过编译时优化实现“无虚拟DOM”渲染,让开发者无需改变习惯,就能享受极致性能。 一、Vapor进行的范式重构1.1 传统虚拟DOM的性能瓶颈传统Vue渲染遵循“模板→AST→VNode→Diff→Patch”链路。无论模板多精简,运行时都需承载虚拟树处理逻辑。 在组件高频更新、万级DOM节点等场景下,Diff递归计算与VNode内存占用会成为性能负担,导致页面卡顿、响应变慢。 1.2 Vapor Mode核心:编译时直出DOM指令Vapor Mode的核心是“降维”——放弃生成虚拟节点树的render函数,编译阶段直接拆分静态&#x...
Cursor 封神,Trae 免费,Claude Code 扫地
Created2026-01-29
2026年如果一个开发还没接触和使用过过AI进行编程,好像就有了一种落伍一样原罪。说实话,作为一名深度依赖 AI 的老码农,我现在的开发状态基本是:离开 AI 不会写代码,但看着每月的订阅账单又隐隐作痛。 在过去的半年里,我几乎尝遍了各种号称“Cusor杀手”, “Cusor平替“的工具。但最后我得出了一个略显残酷但真实的结论:Cursor 依然是那个不可逾越的“白月光”,但它的贵,也是真的让人心碎。 下面分享一下自己使用过的几款AI编程工具,说说我这个老码农最真实的爱恨体验。 Cursor:依然是那颗最贵的“朱砂痣”在前端逻辑领域,Cursor 依然是不可撼动的王者。它的 Composer 模式最懂前端的“散装”逻辑——你改一个 GlobalStore,它能顺着依赖链把十几个组件里的 useSelector 全改了。 上周我在重构一个嵌套了四层的权限路由组件。当我还在思考如何优雅地拆分 useAuth 逻辑并保持 TypeScript 的泛型推导时,Cursor 的 Composer 模式已经默默扫描完了我的整个 src/hooks 文件夹。 它给出的方案不是简单的复制粘贴...
面试被问HTTP请求头?别慌,这篇“大白话”带你稳过!
Created2026-01-27
面试时被问“HTTP常见请求头及作用”,估计是很多后端/前端同学的“常规暴击”。别慌,不是你背得不够熟,而是面试官要的不是“报菜名”,是“懂原理+能落地”的回答。 今天咱们抛开枯燥的背诵清单,用唠嗑的方式把这些请求头扒明白——既能应对面试,以后工作中排坑也能用得上。 必背核心请求头, 面试高频这几个请求头,要是面试时说不明白,面试官大概率会默默在小本本上画叉。重点不是“是什么”,是“为什么要有”“实际用在哪”。 1. Host:告诉服务器“我找错人了吗?”写法很简单:Host: www.xxx.com 说白了,它就是告诉服务器你要访问的域名和端口号。别觉得这玩意儿多余——现在很多服务器都是“一个身子扛多个网站”(虚拟主机),比如同一台服务器上既挂着淘宝又挂着天猫,你发请求时不说明要找哪个,服务器哪知道该给你返回淘宝首页还是天猫商城? 面试时别踩这个坑:有同学一上来就说“Host就是指定IP啊”,大错特错!IP是服务器的“小区地址”,Host是服务器上的“单元房号”——你找朋友总不能只说小区名,不说几单元几零几吧?而且HTTP/1.1里,Host是必须带的,少了...
HTTP 与 HTTPS:一字之差,安全性有何天壤之别?
Created2026-01-24
每天打开浏览器刷网页、用APP发消息、在电商平台下单,我们的每一次网络操作,背后都离不开两个核心协议——HTTP和HTTPS。 很多人只知道“HTTPS更安全”,却不清楚二者的本质差异,以及为什么如今所有正规网站都在强制切换到HTTPS。今天我们不聊空洞的理论,从技术底层和实际应用场景出发,把这两个协议讲透。 什么是HTTP?—— 互联网的“明文通信规则”HTTP,全称HyperText Transfer Protocol(超文本传输协议),本质上是一套规定了“客户端(浏览器/APP)和服务器如何通信”的规则。你可以把它理解成两个人打电话的“话术规范”,规定了该怎么开口、怎么传递信息、怎么结束对话。 从技术维度来说,HTTP工作在OSI七层模型的应用层,基于TCP协议(传输层)实现数据传输,核心作用是实现“超文本”的交互——这里的超文本不仅是文字,还包括图片、视频、链接等各种资源。它的工作逻辑很简单:客户端发起请求(比如你输入网址按下回车),服务器接收请求后返回响应(比如网页的HTML代码),一次通信就完成了。 HTTP的核心特性的是“无状态、无连接”: 无状态,指...
2026 年,只会写 div 和 css 的前端将彻底失业?
Created2026-01-20
上周面试了三个自称“三年经验”的前端候选人,面完之后,我坐在面试间里沉默了很久。 简历包装得挺漂亮,但作品集一打开,还是那套乏味的静态页面堆砌。2026年了,居然还在用五年前的 jQuery 插件跑轮播图,响应式布局全靠媒体查询在那里硬堆断点。 我试探性地问:“首屏加载太慢,怎么优化?” 对方回答:“把图片压小一点。” 我接着问:“项目里的状态管理怎么做的?” 他眼神就开始飘忽:“那个……后端会处理好。” 走出面试间,我跟 HR 感慨:不是前端行业容不下人,是这个时代已经不需要只会搬砖的“切图仔”了。 这个结论,在 2026 年比以往任何时候都更扎心。但这从来不是“技术淘汰人”的故事,而是价值重构的必然。 醒醒吧,“切图”从来不是前端的全部必须承认一个现实:在 2026 年的今天,“搭建页面”已经快没门槛了。 现在的设计稿一键转代码工具、甚至是成熟的 AI 生成组件,能让一个刚入行的小白在半天内撸出一个像模像样的首页。但这恰恰是最危险的地方——工具替代的,永远是“重复性的体力劳动”。 回想我刚入行那阵(2018 年前后),市场确实有一段“野蛮生长”的红利期。那时候只要能还原设...
吃透 XSS/CSRF/SQL 注入:Web 安全防护实战手册
Created2026-01-18
Web应用程序的安全性是任何基于Web业务的核心命脉,哪怕是代码里一个不起眼的小bug,都有可能导致用户隐私信息泄露。下面我们就聊聊常见的Web攻击手段,以及对应的防护思路。 一、什么是Web攻击Web攻击(Web Attack),简单说就是针对用户上网行为或者网站服务器等设备发起的攻击行为。常见的攻击操作包括植入恶意代码、修改网站权限、窃取网站用户隐私信息等。 而站点安全,就是为了保护站点不被未授权访问、使用、修改和破坏,所采取的一系列行为和实践。 我们日常开发中最常遇到的Web攻击方式主要有三种: XSS (Cross Site Scripting) 跨站脚本攻击 CSRF(Cross-site request forgery)跨站请求伪造 SQL注入攻击 二、XSS 跨站脚本攻击XSS 全称跨站脚本攻击,它的核心是允许攻击者把恶意代码植入到提供给其他用户使用的页面中。 这个攻击过程涉及三方角色:攻击者、客户端、Web应用。攻击的最终目标很明确——盗取存储在客户端的cookie,或者其他网站用于识别客户端身份的敏感信息。一旦拿到这些信息,攻击者甚至可以直接假冒合法用户,和...
一文读懂:什么时候该用防抖,什么时候该用节流
Created2026-01-14
在 JavaScript 开发中,面对像“滚动页面”“窗口缩放”或者“搜索框输入”这种高频触发的事件,如果代码每触发一次就执行一次任务,电脑很容易“累死”(浏览器卡顿、服务器压力大)。 为了解决这个问题,我们通常会用到防抖(Debounce)和节流(Throttle)。它们就像是给高频事件安上了“减速带”或“过滤器”。 防抖(Debouncing)防抖的核心逻辑是:当事件触发时,不立刻执行,而是等一段时间。如果这段时间内事件又触发了,就重新计时。 就像电脑休眠。你设置了 10 分钟不动就关屏,如果你在第 9 分钟动了下鼠标,电脑会重新开始数 10 分钟。只有当你整整 10 分钟没碰它,它才真的关屏。 核心理念: “等最后一个人上车再发车”。 12345678910function debounce(fn, delay) { let timer = null; // 准备一个闹钟变量 return function(...args) { // 如果闹钟还没响又触发了,赶紧把旧闹钟掐了,重新定一个 if (timer) clearTimeout(t...
把大象装进冰箱分几步?Node.js 大文件“切片上传”深度解析
Created2026-01-12
在用 Node.js 和 JavaScript 开发文件上传功能时,如果文件特别大(比如好几个 GB 的高清视频或者压缩包),一次性上传不仅慢,而且万一中途网络断了,就得从头再来,非常让人崩溃。 这时候就需要“断点续传”。断点续传说白了,就是把大文件切成一小块一小块来传,传完了再拼起来;中间万一断了,下次只传还没成功的那几块就行。下面用大白话加简单例子,把实现断点续传的几个核心步骤说清楚。 文件切片:把大象装进冰箱分几步?第一步得把大文件“切碎”。在浏览器里,文件对象(File)其实是 Blob 的一种,它自带一个slice 方法,可以像切火腿肠一样把文件切成一个个小片段。 • 做法:设定一个固定的切片大小(比如 5MB),用循环把文件切开。 • 例子: 123456789const file = bigFile // 用户选择的大文件const CHUNK_SIZE = 5 * 1024 * 1024; // 5MB一块let chunks = [];let cur = 0;while (cur < file.size) { chunks.push(fil...
12…6
avatar
jvxiao
全栈前端开发者 | Vue & Node.js
Articles
60
Tags
42
Categories
8
Follow Me
Recent Posts
我在宝塔上部署一个 AI 图片去背景服务,踩了 4 个坑2026-06-09
张雪峰离世的背后:当“人生导师”输给身体,我们该反思什么2026-03-26
虚拟 DOM 要凉了?Vue 3.6 Vapor Mode 凭什么颠覆前端性能?2026-02-02
Cursor 封神,Trae 免费,Claude Code 扫地2026-01-29
面试被问HTTP请求头?别慌,这篇“大白话”带你稳过!2026-01-27
Categories
  • ES6进阶11
  • Vue11
  • Vue源码阅读1
  • Web开发9
    • 网络安全1
  • life1
  • 小程序开发1
  • 搭建博客4
Tags
Vue Session Node安装 微信小程序 JavaScript进阶, ES6进阶 Cookie 依赖收集 程序人生 Proxy 小程序 源码阅读 JavaScript进阶 packages 前端进阶 前端开发 Node JavaScript Set 博客搭建 Web开发 Vuex 守护进程 Javascript npm 个人IP 随笔 Array 对象存储 宝塔系统, 移除图片背景 组件 微信云 Pinia Token error Web开发,JQuery Vite Map React MVVM 闭包,作用域
Archives
  • June 2026 1
  • March 2026 1
  • February 2026 1
  • January 2026 11
  • December 2025 19
  • October 2025 3
  • September 2025 2
  • August 2025 4
Website Info
Article Count :
60
Total Word Count :
97.6k
Unique Visitors :
Page Views :
Last Update :
© 2025 - 2026 By jvxiaoFramework Hexo 7.3.0|Theme Butterfly 5.5.4
Search
Loading Database