自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不畏浮云遮望眼

长期回收免费点赞和收藏

  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

原创 【完全开源】IP 纯净度检测 可一键部署到自己的CF

很多轮子大家都是看到过 现在手搓直接开源 让大家也可以用自己的轮子。

2026-09-17 15:44:28 193

原创 从 prototype 到 V8,看懂 JavaScript 原型链

从一个实例属性查找题出发,讲清 prototype、[[Prototype]]、constructor、new、属性查找、class 和 instanceof,再结合 ECMAScript 规范与 V8 源码理解浏览器里原型链如何工作。

2026-06-23 16:03:44 368

原创 从v8源码和react深入浅出理解 JavaScript 作用域链与闭包

从一道作用域输出题出发,理解 JavaScript 的词法作用域、词法环境、V8 Context、闭包保存变量的原因,再结合 React Hooks 解释 stale closure、useCallback、useRef 和 useEffectEvent。

2026-06-22 16:22:50 452

原创 深入浅出 call、apply、bind

从一道 this 输出题出发,重新理解 call、apply、bind 的真实作用,再结合 ECMAScript 规范和 V8 源码解释 thisArg、类数组参数、Bound Function、TypeScript 函数类型与手写实现边界。

2026-06-18 13:35:35 218

原创 深入理解 JavaScript 之 new 原理及模拟实现

从构造函数的基础用法出发,深入理解 JavaScript new 运算符在对象创建、原型链接、this 绑定和返回值处理上的完整过程,并手写一个更接近真实行为的模拟实现。

2026-06-17 15:17:52 160

原创 深入浅出理解浏览器事件循环:从一道输出题讲到 Chrome 源码

从日常代码出发,深入浅出理解浏览器事件循环,再结合 Chromium/Blink/V8 源码解释 task、microtask、HTML 解析、requestAnimationFrame 和渲染之间如何互相让路。

2026-06-12 15:15:24 659

原创 AI 写代码越快,程序员越要知道自己到底值钱在哪

AI 编程真正昂贵的不是某一次生成代码,而是长期运行的 Token、上下文、工具调用、重试和验收成本。程序员未来值钱的地方,不是比 AI 更快敲代码,而是能定义问题、控制成本、设计边界、验证结果,并为系统长期后果负责。

2026-05-29 13:27:41 375

原创 本地 AI 编码助手从 0 配起来:先选模型,再接 Ollama、VS Code、Claude Code 和 Codex

本地 AI 编码助手不是先下载最大模型,而是先用 CanIRun.ai 看硬件边界,再用 Ollama 把模型、上下文和 API 跑稳,最后用配置文件接进 VS Code、Claude Code 和 Codex。

2026-05-21 15:03:27 641

原创 完全开源、本地 SQLite 管理一切:我写了一个桌面邮件客户端 OneMail

添加 Gmail、Outlook、QQ、163 这类邮箱时,通常需要先在服务商后台打开 IMAP,再按服务商要求生成应用密码或授权码。工作可能在 Outlook,个人可能在 Gmail,国内服务还会挂 QQ 邮箱、163 邮箱,项目里再来几个自定义域名 IMAP。你在意远程图片和邮件隐私;写信窗口贴近 Gmail:浮层窗口,顶部可以展开或还原,收件人行可以按需展开抄送和密送,底部有发送、格式栏、附件、链接、保存草稿和丢弃草稿。数据库就是一个本地 SQLite,导出、保存、换机器导入,路径清楚,边界也清楚。

2026-05-19 12:13:11 633

原创 Nginx CVE‑2026‑42945:隐藏18年高危漏洞被曝光(附解决方案)

CVE-2026-42945 不是简单的低版本问题,而是 ngx_http_rewrite_module 在特定 rewrite 组合下的堆溢出。本文记录触发条件、风险复现思路、Debian 包版本坑,以及升级到 nginx 官方 mainline 1.31.x 的完整修复过程。

2026-05-15 10:51:39 1595

原创 贪心算法最坑的地方:每一步都看起来很对,最后还是错了

- 最优子结构 - 交换论证 - 动态规划 - 0-1 背包

2026-05-15 09:51:55 408

原创 邮件中点击“加载图片”,你的IP地址已经被泄漏

邮件里那句“加载图片”看起来只是补全内容,实际会触发一次对外 HTTP 请求。只要请求打到发件人控制的服务器,对方就可能记录你的 IP、打开时间、User-Agent、语言环境、Referer、唯一追踪 ID,甚至把这次请求绑定回具体收件人

2026-05-14 16:02:48 411

原创 多对象存储多账号太分散,我写了一个单 SQLite 的统一上传入口

最近整理公司对象存储上传流程,真正麻烦的不是上传文件,而是多家对象存储、多账号、多 bucket 分散管理。于是顺手写了 OneFile,用一个单容器、单 SQLite 的后台接住 S3、R2、B2、OCI、OSS、COS。

2026-05-07 19:51:02 269

原创 程序员做副业最容易亏的地方:把写代码当成全部

程序员做副业最容易亏的,不是技术不够,而是把副业当成一个工程项目来做:只算写代码的时间,不算需求、分发、交付和维护这几笔账。

2026-05-03 06:23:31 380

原创 面试有一种死法,叫“我这个项目没什么难点”

很多程序员面试挂掉,不是因为项目真的太普通,而是因为他说不出项目里真正处理过什么问题。

2026-04-29 09:42:56 177

原创 产品说“这个需求很简单”的时候,开发已经开始防御性微笑

一个“给新生互相认识用的小程序”,在群里听起来只是登录、看同学、聊聊天、自动加群。真正紧张的不是某一个开发,而是整个研发侧都会意识到:每一句“很简单”背后都有没说清楚的边界、责任和异常场景。

2026-04-28 11:33:50 356

原创 前端反调试:常见套路、识别方法与绕过思路

很多页面不是在检测器里直接动手,而是前面负责检测,后面统一收口到一个破坏函数。

2026-04-24 19:41:59 548

原创 Next.js SSR 为什么对 SEO 更友好:从原理、实现到页面选择一次讲明白

很多人把“页面能打开”和“搜索引擎能高效抓到内容”当成一回事。可在 Next.js App Router 项目里,真正该想明白的是:哪些内容该预渲染,哪些内容该按缓存周期刷新,哪些内容才应该留到请求时处理。这篇把 Next.js SSR 对 SEO 的帮助、边界和主流写法一次讲清楚。

2026-04-22 10:34:56 386

原创 网络七层到底怎么落到一次前端请求上:从浏览器到网卡,再到远端服务器

把一次 `fetch` 沿着时间轴拆开,浏览器缓存、DNS、ARP、TCP、TLS、IP、以太网、网卡、路由器、NAT、负载均衡和服务端内核分别在什么时候出手,七层模型怎么一层层落到实物上。

2026-04-20 21:06:30 536

原创 CSS Houdini 到底能不能用:从浏览器渲染原理、兼容性到实际场景,一次讲明白

CSS Houdini 当年被很多人讲成“CSS 超能力”,可真到项目里,问题反而更现实:它到底解决了什么旧问题,为什么它比传统 polyfill 更靠近浏览器渲染管线,哪些 API 现在真的能用,哪些还只是适合看 demo。这篇我会把 Houdini 放回 style、layout、paint、composite 这条链里讲,也会顺手把一件事讲清楚:今天谈它,离不开兼容性判断,更离不开渐进增强。

2026-04-19 13:20:20 254

原创 本地明明好好的,怎么一上线就跨域了?把同源策略、前后端分工和 CORS 一次讲明白

很多跨域问题,不是代码上线才突然坏掉,而是你本地开发时被 dev server 和代理暂时“护住了”。真想把这事搞明白,第一步不是搜 React、Vue、Next.js 跨域怎么配,而是先用大白话把浏览器同源策略想通:它到底在防什么、没有它会怎样、前后端各自该怎么处理。

2026-04-18 15:06:06 270

原创 大文件上传最难的,不是切片,是认文件:秒传、续传和文件指纹怎么做

很多教程在“前端切片、后端合并”这一步就收了,可真正难的问题往往出在第二次上传和页面刷新的时候:能不能秒传,能不能断点续传,刷新后怎么恢复,超大文件到底怎么“认”。这篇先用 Node.js 把一套自建大文件上传方案顺一遍,再把 `resumeKey`、`fileFingerprint` 和 `fullHash` 这几层标识讲透,最后再对照 Amazon S3 看它为什么会成为事实上的行业标准。

2026-04-18 14:52:31 378

原创 m3u8 视频怎么下载?为什么 B 站只给你一个 blob:把 HLS、DASH、MSE 这条前端链路讲透

真把“怎么下载 m3u8 视频”讲深,第一步不是写脚本,而是先承认不是所有网页视频都在用 `m3u8`。我在 2026-04-17 抓了一条 B 站公开页,页面里给出的已经是 `dash.video[]` 和 `dash.audio[]`,再加 `SegmentBase.Initialization`、`indexRange` 和签名 URL,最后播放器才通过 `MediaSource` 生成一个 `blob:` 地址挂到 `<video>` 上。也就是说,`blob:` 往往是最后一步,不是第一步。

2026-04-17 18:46:19 783

原创 设计模式和管理能力,才是 AI Vibe Coding 时代真正的自救:AI 不会提醒你系统正在散架

AI Vibe Coding 最大的错觉,是把“能很快写出来”误当成“系统仍然可控”。这篇不复读 23 个模式,而是挑 8 个最适合 AI 编程场景的设计模式,说明它们如何帮你守住边界、变化点和协作关系。再往下一层,真正稀缺的是管理复杂度的能力,而这恰好最不会被 AI 主动提醒。

2026-04-17 13:45:48 395

原创 前端难点在哪?

如果只拿一个静态页面来定义前端,那前端当然显得很简单。可一旦你把真实项目里的工程化、运行时、复杂交互、复杂渲染、跨平台和协作成本都摆出来,你会发现它根本不是“把页面做出来”这么一句话能概括的。前端不是把设计稿翻译成 HTML。前端是在不同宿主环境里,把业务、交互、渲染和工程约束组织成一个可长期运行的用户界面系统。这也是为什么它总被低估。因为它最复杂的部分,往往不在你第一眼看见的地方。如果你现在正准备学前端,我会很直接地建议一句:别只盯着框架和页面。尽早把工程化、Node.js。

2026-04-16 15:24:30 428

原创 面试官:如何让AI稳定回复JSON?

这题真正难的,不是说一句“请严格返回 JSON”,而是把大模型为什么天然不稳定、ChatGPT 的 `json_schema` 和 `strict: true` 底层怎么做,以及线上系统该怎么兜底,顺着一轮面试追问讲清楚。

2026-04-16 09:55:01 410

原创 前端工程化到底是什么:会写 HTML CSS JavaScript,为什么一进项目还是一脸懵

你明明会写 HTML、CSS、JavaScript,自己做几个页面也能跑,可一进真实项目就先被 `package.json`、Vite、TypeScript、`.env`、CI/CD 砸得发懵。前端工程化不是背工具名,而是学会用模块化、构建、环境管理、规范和自动化,把“能写页面”变成“能接项目、能协作、能稳定交付”。

2026-04-15 19:45:35 399

原创 多智能体协作,不是多开几个 Agent:从中介者模式看 OpenClaw 和 Hermes Agent

多智能体不是多开几个 Agent,而是把软件行业过去二十年已经踩明白的网关、工作流、监督树和控制回路重新搬回 LLM 时代。结合 OpenClaw 和 Hermes Agent 这两条路线,这篇文章从中介者模式、业务架构演进和伪代码三个层面,解释多智能体真正的竞争点为什么会落在编排、隔离、上下文治理和失败恢复上。

2026-04-15 10:34:28 1785

原创 Axios 投毒复盘:攻击者只改了一个 package.json,为什么整台开发机都要按失陷处理

复盘 axios@1.14.1 和 0.30.4 两个恶意版本如何借助 plain-crypto-js@4.2.1 的 postinstall 下发跨平台 RAT,以及为什么这次事件应该按整台开发机失陷来处置。

2026-04-14 09:49:45 427

原创 OpenClaw 教程:新 Mac 从 0 配到国产 AI、飞书微信和无人值守

这篇默认按一台全新的 macOS 机器来写,顺着更真实的上手顺序往下走:先装 OpenClaw、跑通 Gateway,再接国产 AI 和飞书微信,然后把基础配置、记忆、ClawHub Skills、配置目录和无人值守一步步配顺。

2026-04-13 18:19:32 545

原创 一句 hi,为什么让 Codex 吃掉 14770 个输入 token:逐字段拆解一次真实请求

本文揭示了一个看似简单的AI交互背后隐藏的复杂机制。当用户仅输入"hi"时,模型实际接收的是一整套包含14667字符的指令集、12个工具定义和详细环境上下文,总请求包达66KB。分析显示,大部分计算资源消耗在模型初始化、环境加载和工具准备阶段,而非处理用户输入本身。这种代理模式的工作机制与普通聊天截然不同,其核心成本来源于系统初始化而非具体交互内容。

2026-04-10 18:36:49 643

原创 一周 AI 产品速览:从模型升级到落地场景的新观察

本文提出一个系统化观察AI产品动态的框架,建议每周从三个层面梳理:1)模型层关注能力升级、成本优化和多模态扩展;2)应用层聚焦场景化工具和现有工作流整合;3)工作流层追踪全流程AI改造。作者强调实践优于收藏,建议每周至少深度试用1-2个工具,将有效用法固化为可复用的模板。对团队应用,主张从小场景试点开始,建立可衡量的评估指标,持续优化人机分工边界。通过这种结构化观察方法,既能把握快速迭代的AI发展,又能将技术转化为实际生产力。

2026-04-08 19:10:49 401

原创 看完claude code源码 这几条少烧token的方法你一定要知道

本文分析了Claude Code会话中token消耗高的主要原因,并提供了优化建议。核心问题在于每轮请求都会重复携带系统提示、工具描述、历史消息等上下文内容。源码显示,动态header切换可能消耗5-7万token,单个工具结果限制5万字符,大日志会持续消耗token。 主要优化建议: 避免长会话切换不同任务,任务变更时开新线程 精选日志内容,避免整段粘贴 按需使用工具和技能,避免加载无用功能 合理使用多agent,注意隔离噪音 控制记忆文件大小,按需分层使用 及时分拆过长的会话 未来可改进方向包括toke

2026-04-04 17:03:26 608

原创 从 Apifox CDN 投毒事件,看 AI 全栈时代的开发工具供应链风险

Apifox供应链攻击事件揭示了AI全栈时代的安全隐患。攻击者通过篡改Apifox官方CDN入口文件,在合法事件追踪脚本中植入恶意代码,利用Electron的高权限环境实现主机级入侵。攻击链包含四阶段:CDN投毒、环境探测与身份补全、分层载荷下载、持续数据窃取。该事件凸显了开发者终端作为"权限聚合点"的风险——随着研发链路集中,单点突破可能导致整个研发环境沦陷。安全边界重建速度滞后于职责合并速度,使这类供应链攻击在AI全栈时代更具破坏性。

2026-04-03 10:22:22 369

原创 mac包管理器

NPM本文对mac上npm开发的一些使用和配置分享,假定阅读者已经有一定shell基础和前端工作流的知识。Pack 管理器 brew安装:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"命令注释brew –hel...

2019-07-29 16:25:16 1243

原创 域名添加ssl证书 https

序言环境:CentOS Linux release 7.5.1804 (Core)阿里云 服务器正文进入阿里云后台 进入管理控制台>域名点击蓝色域名进入下面页面免费开启SSL证书>选择证书>填写要申请的前缀(例如: api 证书:api.XXX.com)4. 下载证书选择服务器类型下载完是zip文件 文件名的三段代表 id_域名_服务器 重命名文件和文...

2019-04-15 10:44:28 6502

原创 动态加载script 加载完成回调事件

序言网页中有很多的第三方插件都是通过直接引入script库的方式进行加载,由于加载脚本需要时间,如果script还没有加载完成,便使用库中的对象就会有错误。解决方案获取script DOM 对象绑定onload事件异步回调总体的思路是这样子 asyncComplete() { return new Promise((reject, resole) =&gt; {...

2019-02-27 10:41:20 7061

原创 小技巧:使用命令行打开vscode 以及其他工具

vscode手动打开vscodecommand + shift + p 打开命令面板(或者点击菜单栏 查看&gt;命令面板)输入shell(选择"install code command in PATH")打开终端 进入需要用IDE打开的文件夹 输入"code ."sublime打开终端输入命令行ln -s "/Applications/Sublime Text.app/C...

2018-11-30 14:35:04 17114 1

针式打印机使用指南

针式打印机 得力 型号:DE-620k 安装教程以及内部后台打印示例。 后台为Lodop第三方提供 针式打印机是一种特殊的打印机,和喷墨、激光打印机都存在很大的差异,而针式打印机的这种差异是其它类型的打印机不能取代的,正是因为如此,针式打印机一直都有着自己独特的市场份额,服务于一些特殊的行业用户。

2018-12-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除