自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(104)
  • 收藏
  • 关注

原创 claudeCode使用记录

如果强行混用 OpenAI 协议的配置指向 Anthropic 兼容接口,客户端会自动拼接错误的请求路径,导致服务端无法识别请求,哪怕模型名称完全正确也会报错。很多人遇到模型不存在报错时,会误以为是模型名称不对,反复切换ID却始终无效,核心原因是混淆了 Anthropic 协议和 OpenAI 协议的环境变量。作为请求路径,所以你的 Base URL 直接填写根地址即可,比如。使用 Anthropic 协议时,客户端会自动在地址后拼接。如果使用 OpenAI 兼容协议,客户端会自动拼接。

2026-09-29 17:32:51 216

原创 从零理解 MCP:它是什么,以及怎么用它

MCP 是一套让 AI 工具发现和调用外部能力的标准协议。它不聪明,不主动,但它是目前让 AI 连接外部世界最通用的方式。作为使用者,你只需要找到现成的 MCP Server,配好连接和权限,就能让 AI 操作各种系统。作为开发者,你可以用官方 SDK 写一个 MCP Server,把自己的工具开放给所有支持 MCP 的 AI 工具。让 AI 从“只会聊天”变成“能动手做事”,而且这件事不需要每家重复造轮子。

2026-09-22 11:24:38 229

原创 Keycloak 授权体系详解:资源、策略、权限

假设没有策略层,权限直接绑角色:权限 A 保护资源 1,绑定角色admin权限 B 保护资源 2,绑定角色admin权限 C 保护资源 3,绑定角色admin当规则变化,比如「admin 还必须属于财务部才能访问」时,你必须在每一个权限里逐个修改判断条件。权限一多,维护成本爆炸。有了策略层:创建一个策略「admin 且属于财务部」权限 A/B/C 都引用这一个策略规则变化时,只改策略一处,所有引用它的权限自动生效。资源是保护对象,策略是判断条件,权限是把两者绑在一起并做出裁决的桥梁。

2026-09-18 16:40:29 298

原创 Client authentication(客户端授权)开关与OAuth2 PKCE的深刻理解

Client authentication(客户端授权)这是 Keycloak(和整个 OIDC/OAuth2 体系)里一个的开关。。翻译成人话就是——

2026-09-16 17:05:42 137

原创 前端组件打包方式tsup+esbuild与vite+Rollup的区别

tsup和Vite的打包方案,最核心的区别可以概括为与。tsup基于esbuild,为 npm 包发布而生;而Vite采用esbuildRollup的双引擎架构,主要为 web 应用开发服务。下面是它们在原理、配置和适用场景上的详细对比。

2026-08-27 17:00:48 299

原创 tsup 打包配置,打包逻辑

类型谁装什么时候用消费方项目运行时需要你的项目开发/构建时需要。

2026-08-27 16:49:25 210

原创 Vue 前端构建工具链完全理解指南

"打包"这个词在前后端语境下含义不同。在前端领域,它至少包含两层意思,取决于你在哪个阶段执行。

2026-08-27 16:38:46 337

原创 .gitignore 文件的真正含义

一旦某个文件已经被 Git 跟踪(commit 过),再把它加入。让 Git 自动忽略它的。Git 会继续跟踪该文件的后续修改。已被追踪过),仅仅修改。

2026-08-20 15:02:06 199

原创 @changesets/cli是什么?哪些情况下需要使用?怎么使用

如果你想要不同的 CHANGELOG 格式,可以指向自定义包,比如。

2026-08-20 14:42:24 215

原创 Changeset Monorepo 发布工作流程

Changesets 的核心哲学"先计划,后执行"。changeset只是记录意图,才真正消费意图修改版本号,才真正发布。这种分离设计让你可以在一个 PR 中积累多个变更,最后统一发布。是关键钩子:它保证了每次publish前自动执行tsup构建,所以你不需要手动先build再publish。tsup双格式输出:每个包同时输出 ESM(import)和 CJS(require),确保兼容性。external配置确保不会被重复打包。Monorepo 的内部依赖管理中的。

2026-08-19 17:43:24 506

原创 从零搭建私有 npm 仓库:一次完整的实战学习笔记

本文记录了作者部署私有npm仓库Verdaccio的全过程思考。通过问答形式,详细解析了Docker部署原理、目录挂载机制、权限问题处理等关键技术点。在组件开发环节,探讨了Monorepo管理、样式导入、发布配置等实际问题,并总结了从部署到使用的完整心智模型。文章特别强调了理解底层原理的重要性,如Docker数据持久化、pnpm workspace管理、发布源分离等核心概念,为前端工程化实践提供了可复用的经验总结。

2026-04-01 16:15:45 573

原创 从零搭建私有 npm 仓库Verdaccio

本文详细记录了从零搭建私有npm仓库Verdaccio的全过程,包括阿里云安全组设置、Docker安装、Verdaccio镜像拉取、配置文件编写及容器部署。重点解决了数据持久化存储和目录权限问题,提供了完整的config.yaml配置示例,并针对部署过程中可能出现的500错误给出了解决方案。通过私有仓库的搭建,可实现组件和工具函数在多项目间的共享,避免代码重复维护的痛点。文章还验证了部署成功的访问方法,为开发者提供了一套完整的私有npm仓库搭建指南。

2026-04-01 16:02:15 555

原创 Jenkins + Gitee 自动化部署 Vue 项目完整指南

本文详细介绍了从零搭建前端项目自动化部署系统的完整流程。主要内容包括:1)环境准备,包括Linux服务器、Gitee仓库和Vue项目;2)Jenkins的Docker安装与配置,解决权限和端口问题;3)关键插件安装与全局工具配置;4)SSH密钥对生成与部署配置;5)Gitee凭证添加与Webhook设置;6)流水线任务创建与脚本编写;7)自动化部署验证。文章还总结了常见问题解决方案,如SSH连接失败、Webhook不触发等,提供了完整的配置速查表。通过这套系统,开发者推送代码到dev分支即可自动完成构建部署

2026-03-31 09:33:24 737

原创 前端项目部署与问题解决

前端项目部署

2026-03-30 09:51:23 147

原创 Jenkins 部署与问题解决

在宝塔面板的“软件商店”中搜索并安装 Docker。选择/www/jenkins_home右键,修改权限。:在docker中搜索jenkins然后安装。:导航中的本地镜选择。

2026-03-30 09:47:12 172

原创 Keycloak 主题定制踩坑记:一个前端小白的血泪总结

如果你和我一样,是个前端开发者,突然被要求去定制 Keycloak 的登录页和管理界面,那么这篇文章就是为你准备的。我将用自己亲身的经历,记录下从零开始到成功定制主题的过程中,踩过的每一个坑、犯过的每一个错误。希望能帮你少走一些弯路。

2026-03-05 15:00:40 449

原创 Keycloak 完全使用指南:从零开始理解与应用

本文从零开始介绍前端开发者如何独立完成Keycloak认证中心的集成与主题定制开发

2026-03-04 10:30:21 1764

原创 iOS Universal Links配置

该json文件命名为apple-app-site-association,放在域名跟路径的.well-known下面。这里要注意,两个app下的配置都是一样的applinks:dyhy-web.yndysc.com,Xcode 工程 → 选择 Target → Signing & Capabilities。在 Domains 中添加:applinks:dyhy-web.yndysc.com。点击 "+" → 添加 Associated Domains 能力。:两个app分别AppA和AppB,

2026-01-08 10:22:20 507

原创 005不同语言的空安全概念

类型系统严格区分可空和非空。string: 表示一个字符串,string | null或者。

2025-11-21 18:24:34 502

原创 004不同语言的元组对比

元组

2025-11-20 16:30:49 290

原创 003不同语言数组详解

用val和var来修饰的也能控制可变不可变,但是与swift完全不一样,val修饰的不可变不是真正意义的不可变,而是说不可以重新赋值,到可以修改内容,真正的不可变与可变通过不同的申明方式来实现,Array可变,如果是引用类型那么array1和array2指向的是同一份内存地址,但是swift的值类型特性就不是这样。用let 和var来控制不可变与可变,用var申明就完全可变,用let申明就完全不可变,体现为,(2)值类型修改时地址变化。(1)值类型写时赋值。不可修改不可重新赋值。

2025-11-20 14:13:52 344

原创 002不同语言的类型特点、数据类型详解,number、string

不同语言的类型特点、数据类型详解,number、string

2025-11-20 10:23:07 327

原创 001类比各门语言的变量、常量定义

常量变量的定义

2025-11-19 16:27:39 330

原创 uniapp中的uni_modules分包

这里以qiun-data-charts组件使用为例子,子包目录subpackages/popupSjyy。

2025-11-04 13:59:28 429

原创 vue2与vue3的区别之—响应式系统

被调用时,通知所有收集到的 Watcher 进行更新操作(如重新渲染组件)。中收集依赖这个数据的 Watcher(例如一个组件、一个计算属性)。1、vue2中Object.defineProperty的良达硬伤,响应式的主要原理是Object.defineProperty。的响应式,它不直接操作对象,而是创建一个。:在组件初始化时,Vue 会遍历。来拦截并重新定义对该对象的基本操作。2、对数组中的监听需要特殊处理。函数返回对象的所有属性。

2025-11-04 13:48:15 256

原创 uniapp兼容问题处理总结

但是要注意这个是vue2,vue3中没有首先两个编译后的代码都一样然后在子组件中为设计的语法糖默认行为可以修改这个配置,比如父组件中子组件中为的双向绑定设计,更通用,不限于表单场景默认行为(这个不可重新配置)上面演示的是vue2的代码,下面看看vue3,vue3中没有这里如果不写:value直接写<filter-query v-model="showFilterStatus" />的话默认编译的参数值为modeValue衍生知识:计算属性可以写重写计算属性的get set方法,比如下面。

2025-10-22 17:31:05 282

原创 git 查看配置以及pull模式设置

git 查看配置以及pull模式设置

2025-08-01 14:23:09 220

原创 前端VUE项目-day1

vue 开发项目day1总结

2025-07-10 10:24:29 577

原创 进一步了解git

SVN(集中式)单一中央仓库所有代码和历史版本集中存储在中央服务器,用户本地仅保存当前工作副本。强依赖网络:提交、查看历史等操作需实时连接服务器,离线环境下功能受限。Git(分布式)全量本地仓库:每个用户的本地都是一个完整的仓库,包含全部代码和历史记录。去中心化:无需实时连接中央服务器,大部分操作(如提交、分支)可在本地完成,适合离线工作。

2025-06-18 11:56:26 542

原创 falsk模型-flask_sqlalchemy增删改查

【代码】falsk模型-flask_sqlalchemy增删改查。

2025-05-19 09:25:49 661

原创 falsk-ORM的使用-数据库表的创建

ORM操作以及数据库表的创建、操作

2025-05-16 16:02:33 566

原创 typeScript入门

什么是静态类型检查?ts是怎么执行的?一文入门ts

2025-03-21 11:42:17 1071

原创 不同开发语言对字符串的操作

内部存储的是 UTF-16 编码的字符序列,而不是简单的字符数组。由于 Unicode 字符的长度可能不同(例如,某些字符由多个 UTF-16 码点组成),直接通过索引访问字符可能会导致错误。来实现,因为 Swift 的字符串是由 Unicode 标量组成的,字符的长度可能不一致(例如,某些字符由多个 Unicode 标量组成)。Python 中的字符串是不可变的序列,可以通过索引直接访问字符。JavaScript 中的字符串可以通过索引直接访问字符。类型,可以通过索引直接访问字符。运算符或字符串模板。

2025-03-10 17:21:47 933

原创 不同开发语言之for循环的用法、区别总结

详细讲解不同开发语言for循环的用法,对比学习,提取相同点以不同点,帮助快速掌握不同的开发语言

2025-03-07 14:02:02 1700

原创 vue中为组建添加样式的方式

在 Vue 2 中,可以通过多种方式为view添加样式,并且支持动态绑定样式。

2025-02-18 14:06:06 504

原创 Intent的七大属性

FLAG_ACTIVITY_REORDER_TO_FRONT:如果activity在task存在,拿到最顶端,不会启动新的Activity。*FLAG_ACTIVITY_SINGLE_TOP:相当于Activity加载模式中的singletop(第二种)*FLAG_ACTIVITY_NEW_TASK:默认的跳转类型,会重新创建一个新的Activity(第一种)*FLAG_ACTIVITY_NO_HISTORY:被启动的Activity一旦退出,他就不会存在于栈中。

2025-02-06 17:29:00 475

原创 oc中* 与**的区别以及如何修改传递的实参数

(3)**代表指向指针的指针,例如 int **pp = &p,这里&p代表的是p的地址,pp指向它,说明pp是指向p的指针,所以用**来申明指针的指针,也就是说只要看到**就要知道,他后面带的变量是指向指针的指针。(3)在changeString方法中,传进来的string是指针的指针,*string代表的是这个指针的指针最终指向的地址里面的值。(3)把指针变量p指向的地址里面的值变成了5,实际上就是把上面3所在的地址中的3变成了5,所以最终a变成了5。(1)str代表的是一个指针变量,里面存储着。

2025-01-17 13:54:37 449

原创 ios文件管理,沙盒机制以及如何操作“文件”APP,把文件共享到文件app

iOS如何实现文件的存储模式是怎样的?如何实现文件的共享,以及如何实现两个app共同共享数据

2025-01-16 16:24:09 4972 1

原创 微信小程序开发设置支持scss文件

首先找到project.config.json文件,打开文件在setting下设置useCompilerPlugins,在useCompilerPlugins数组中增加"sass"在微信小程序开发中,默认是不支持scss文件的,创建文件的时候,css文件默认创建的是wxss后缀结尾的,但是用习惯了scss的怎么办呢?

2025-01-09 14:57:05 1146

原创 falsk-模型基础-数据库的基本使用

数据库的配置、连接、以及ORM使用

2024-11-29 16:35:48 1167

微信小程序网络请求封装【可自定义请求方法、请求数据类型,】- JhfReq.js

微信小程序网络请求封装【可自定义请求方法、请求数据类型,】- JhfReq.js

2024-11-15

星迈蓝牙SDK文档、用户集成手册【ios集成文档】

星迈蓝牙SDK文档、用户集成手册【ios集成文档】

2024-11-15

pmp项目管理&服务管理基本知识【适用于pmp考试、项目管理相关人员】.pdf

pmp项目管理&服务管理基本知识【适用于pmp考试、项目管理相关人员】.pdf

2024-11-15

python爬虫bs4的基本使用、代理IP和bs4解析【实战讲解-爬取斗鱼颜值主播数据】.zip

python爬虫bs4的基本使用、代理IP和bs4解析【实战讲解-爬取斗鱼颜值主播数据】.zip

2024-11-15

python爬虫实战开发之bs4应用和xpath结合实战操作.zip

python爬虫实战开发之bs4应用和xpath结合实战操作.zip

2024-11-15

微信小程序开发基础教程,名师之作,讲解非常详细,很适合新手入门.zip

微信小程序开发基础教程,名师之作,讲解非常详细,很适合新手入门.zip

2024-11-15

机器学习之线性代数课件(千峰教育优秀作品、深度剖析各个关键知识点).pdf

线性代数是机器学习、AI必须掌握的知识,不仅仅是人工智能的基础,更是现代数学和以现代数学作为主 要分析方法的众多学科的基础。

2024-11-14

Scrapy基础(讲解详细、包括框架流程代码实战,最佳学习资料).zip

Scrapy基础(讲解详细、包括框架流程代码实战,最佳学习资料).zip

2024-11-14

开心消消乐【python实战小游戏】学习开发路上的最好实战教程.zip

开心消消乐【python实战小游戏】学习开发路上的最好实战教程.zip

2024-11-14

PMP(项目管理工程师)考试章节重点汇总知识.pdf

PMP(项目管理工程师)考试章节重点汇总知识.pdf

2024-11-14

新手必学!Python学习路线三部曲!西工大老师讲解.zip

新手必学!Python学习路线三部曲!西工大老师讲解.zip

2024-11-13

JavaScript教程详细笔记出自【千锋HTML5大前端教研院】.zip

JavaScript教程详细笔记出自【千锋HTML5大前端教研院】.zip

2024-11-13

TypeScript学习中记录常用终端命令以及常用配置.md

TypeScript学习中记录常用终端命令以及常用配置.md

2024-11-13

汇编语言本质的图解说明以及常用的操作指令(出自小马哥教程).docx

2024-11-13

千峰教育python笔记

千峰教育python笔记

2024-06-20

uniapp安卓(android)原生录屏、截屏插件(支持应用外录屏、截屏)

资源包括uniapp安卓录屏原生插件包,以及使用文档,下载后把插件包放在uniapp项目的nativeplugins目录下,然后制作自定义基座,完成后按照文档使用录屏插件, 插件支持android原生录屏、截屏、录屏支持暂停结束。 已上传至uniapp官方插件市场,可以到插件市场直接购买集成https://ext.dcloud.net.cn/plugin?id=19504

2024-07-25

uniapp本地集成安卓原生录屏、截屏插件示例代码(支持应用外录屏截屏)

uniapp本地集成安卓原生录屏插件示例代码,包括插件包,支持应用外录屏、截屏。 已上传至uniapp官方插件市场,可以到插件市场直接购买集成https://ext.dcloud.net.cn/plugin?id=19504

2024-07-25

两个半小时玩转iOS缓存之YYCache、视频讲解详细清晰.wmv

两个半小时玩转iOS缓存之YYCache、视频讲解详细清晰.wmv

2024-11-13

小马哥swift入门到精通学习笔记

小马哥swift入门到精通学习笔记

2024-11-13

随意整理前端常见的面试题

前端面试题

2024-06-21

cocos2d-x一步两步跳一跳小游戏源代码

请注意,作者运行项目编译器版本为Creator 3.7.4 ,如果下载后无法运行,请注意查看编译器版本。cocos2d-x一步两步跳一跳小游戏源代码,可以提供给cocos2d-学习者代码参考

2024-06-20

微信小程序仿京东商城开发学习

项目模仿京东商城小程序,可作为学习小程序商城类项目开发资源

2024-06-20

uniapp-仿京东商城首页、分类页实现

uniapp-仿京东首页、分类页实现,该项目为学习uniapp以及商城项目的人群提供代码学习

2024-06-20

空空如也

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

TA关注的人

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