自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dangkei 的专栏

程序员笔记

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

原创 Wangler环境变量接口的工作原理

摘要:TypeScript接口Env定义了环境变量的结构和类型,但实际配置由Cloudflare Workers运行时注入。环境变量来源包括wrangler.toml、Cloudflare Dashboard和本地.dev.vars文件。该接口提供编译时类型检查,确保代码安全性和智能提示,而实际值在运行时由平台映射。这种设计分离了类型定义和实现,既保证了开发时的类型安全,又实现了生产环境的灵活配置。(149字)

2025-09-02 00:16:41 740

原创 详细分析CORS 工作原理

CORS 是一种安全机制,允许网页从不同的域(域名、协议、端口)请求资源。** credentials **:如果前端需要发送cookie,需要设置。预检通过后,浏览器才会发送真正的请求(GET、POST等)。** 本地开发 **:建议允许本地开发服务器的域名,方便调试。这段代码是确保您的前后端分离架构能够正常工作的关键!浏览器会阻止这种跨域请求,除非后端明确允许。当浏览器发送跨域请求时,会先发送一个。请求来询问服务器是否允许实际请求。** 生产环境配置 **:记得将。替换为您实际的前端域名。

2025-08-28 00:31:14 207

原创 【Wrangler(Cloudflare 的官方 CLI)和 npm/npx 的区别一次讲清】

Wrangler 是 Cloudflare 官方 CLI 工具,用于开发、部署和管理 Workers 及相关服务(KV、R2、D1 等)。支持本地开发调试(wrangler dev)、资源管理(KV/R2 操作)、密钥管理(secret put)和日志查看(tail)等功能。与 npm/npx 的区别在于:npm 用于安装管理依赖,npx 可直接运行未安装的包(如 npx wrangler@latest dev)。建议长期项目用 npm 安装 Wrangler,临时使用则用 npx 运行最新版本。

2025-08-25 13:01:22 1754

原创 Cloudflare应用如何选择你的Worker 项目骨架

Cloudflare Worker模板主要针对不同应用场景提供预置项目结构。核心模板包括:1)Worker only(纯净版,适合学习或简单API);2)Static site(静态网站托管);3)SSR/full-stack(前后端一体化应用);4)Durable Objects系列(实时状态管理);5)Workflow/Queue(异步任务处理);6)API starter(标准REST API开发)。对于后台API开发,推荐选择Worker only(灵活性高)或API starter(集成OpenA

2025-08-22 17:57:09 1025

原创 如何创建一个Cloudfalare worker项目?

本文介绍了如何在Cloudflare Workers上创建免费的音乐管理后台服务。主要内容包括: 项目初始化:提供了4种Worker模板选择建议(从Hello World到完整应用),推荐根据需求选择合适模板。 技术配置:详细说明了D1数据库创建、R2存储绑定的配置方法,以及如何初始化数据库表结构。 开发建议: 推荐使用Hono框架简化API开发 演示了基础路由和请求处理实现 强调在免费额度内开发 免费资源说明: Workers:10万次/天 KV存储:100万次操作/天 D1数据库:1GB存储+500万行

2025-08-22 17:37:55 1193

原创 ES6同步功能改造layui-table的显示

该代码实现了一个基于表格的数据展示功能,主要包含以下部分: 数据加载:通过loadTableData函数异步获取表格数据,支持分页参数和查询条件 表格渲染:使用treeTable组件渲染数据,包含标题、作者、创建日期等列,并提供预览、编辑、删除操作按钮 分页控制:通过laypage实现分页功能,支持页码跳转、每页显示数量调整 数据交互:当分页参数变化时自动重新加载数据并刷新表格 整个功能采用Promise处理异步操作,实现了表格数据的动态加载和分页展示。

2025-08-22 17:29:14 131

原创 用最通俗的方式帮你拆解一下 Cloudflare Worker 的原理和用法。

Cloudflare Worker是一个运行在边缘服务器上的小程序,相当于部署在全球各地的智能机器人。它拦截用户请求并执行JS/TS代码,可返回数据、访问存储服务(R2存大文件、KV存键值、D1存结构化数据)或转发请求。开发者无需维护服务器,就能构建低成本、自动扩展的后端服务。典型应用如歌曲API:Worker处理请求,从KV获取歌词,R2提供音频,D1管理用户数据,前端直接调用接口。这种架构实现了前后端分离的轻量级解决方案。

2025-08-22 17:27:10 698

原创 分享【GitHub自动化部署脚本配置】

摘要: 本文介绍如何配置Vite项目实现GitHub Actions自动部署至GitHub Pages。通过增强版vite.config.ts自动解析package.json中的homepage字段生成基准路径,配合.github/workflows/deploy.yml工作流文件实现提交代码后自动构建部署。关键步骤包括:1)配置Vite自动识别仓库名;2)设置GitHub Actions工作流监听main分支推送;3)确保package.json包含正确的homepage URL。最终只需git push

2025-08-12 10:10:58 362 1

原创 【分享-POI工具,Excel字段取值容错小工具】

当cell内的值是一个纯数字的时候, POI取到的还会是一个double类型的值. getStringCellValue(这个方法就会抛出类型不匹配的错误.)row.getCell(1).getStringCellValue();这里是很容易报错的. 因为excel里的列格式即使设置为文本。避免excel总是自动转换或者用户输入错误造成的导入数据错误.然后我们必须要从cell中取String类型就这样使用。在使用POI导出Excel数据的时候这样。取double类型就这样使用。

2024-12-19 11:10:10 620

原创 自然朗读的强大工具:Natural Reader 使用指南

Natural Reader 不仅支持短文本的快速转换,还能处理长文档,是你学习、工作和日常生活的有力工具。无论是为了提升阅读体验,还是希望将书籍、文档变成音频随时收听,Natural Reader 都能让你轻松实现。想亲自体验一下?点击这里下载并试用 Natural Reader 吧!Windows版本下载链接 https://en.freedownloadmanager.org/Windows-PC/NaturalReader-FREE.html#google_vignette。

2024-10-14 13:15:30 9109 1

原创 so-vits-svcAI-人声训练工具-详细的安装指南和使用教程

推理时可以通过修改推理脚本中的参数来调整声线的特性和转换效果,如音色转换程度、音高变化等。

2024-10-11 11:47:16 1818

原创 【Ajax提交Form中表单不跳转示例】

前端提交表单是经常遇到的需求. 点击表单提交执行Ajax提交表单内容, 但不跳转页面

2024-09-02 09:30:00 399

原创 定义自己的@RequestBody

升级 Spring WebMVC 版本到支持 @RequestBody 注解的版本,这样就可以正常使用 @RequestBody 注解了。但是实际项目中我们往往不能为了一个功能升级全局的spring版本所以只能考虑第二种方案。在 Spring WebMVC 版本不支持 @RequestBody 注解的情况下,你可以自己实现一个类似的注解来替代 @RequestBody。② 在控制器方法中使用 @MyRequestBody 注解来接收请求体内容。① 创建一个自定义注解,例如 @MyRequestBody。

2023-10-07 09:56:03 458

原创 JavaScript变量,对象和函数概念问答

Javascript入门容易,想成为高手难啊,初学者很容易上手开始开发程序, 但是使用久了会遇到很多迷惑的问题可能很久都无法参透,本人学习中曾经遇到过很多这种情况。现在把问题总结如下供初学者参考。

2023-07-21 14:29:44 187

原创 压力测试工具ab命令安装使用介绍

在Windows上使用ab命令需要安装Apache HTTP服务器的Windows版本,也就是Apache Lounge版本。ab(Apache Bench)是Apache自带的一个性能测试工具,用于模拟多个并发访问,测试服务器的性能。e. 在“编辑环境变量”窗口中添加“C:\Apache24\bin”路径,然后点击“确定”关闭窗口。这个命令将会向http://www.example.com/发送1000个请求,每次并发数量为10。a. 右键单击“计算机”图标,选择“属性”。c. 点击“环境变量”。

2023-07-18 09:55:34 1546

原创 【Mybatis分页拦截器使用】

使用mybatis后,很多增删改查,编写一些crud之类的mapper.xml mapperDao.java的代码基本都形成套路的模式。这时使用mybatis-plus就是简化这一工作量的好方法。

2023-06-20 13:43:39 1700

原创 【Spring配置元数据的三种方式】

Spring提供进一步典型化注解:@Component,@Service,@Repository和 @Controller。@Repository,@Service和@Controller是@Component针对更特定用例的专业化(分别在持久层,服务层和表示层)。因此,可以使用@Component,但是使用@Repository,@Service或者@Controller,能更好地适合于通过工具处理,或与切面进行关联,而且这些构造型注解在Spring框架的将来版本中还可以包含其他语义。

2023-06-20 13:24:30 417

原创 【awk基本用法】

默认awk是以空格和tab制表符分隔每一行文本。也可以使用-F参数指定字符分割每行文本。$后跟数字是awk把每一行字符串分割处理后的列表。先到这里, 有兴趣时候再继续发掘。

2023-06-19 17:50:35 108

原创 【journalctl查看日志命令详解】

verbose: 显示该条目的全部可用journal字段,包括通常被内部隐藏的字段。json-sse: JSON格式,经过打包以兼容server-sent事件。short-iso: 默认格式,强调显示ISO 8601挂钟时间戳。short-monotonic: 默认格式,提供普通时间戳。json-pretty: JSON格式,适合人类阅读习惯。short-precise: 默认格式,提供微秒级精度。short: 默认syslog类输出格式。json: 标准JSON,每行一个条目。

2023-06-19 17:46:11 1309

原创 【public interface Comparator<T> 接口用法】

FunctionalInterface 这个注解表明该接口是一个函数式接口。一般而言,函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。@FunctionalInterface:标明一个接口是一个函数式接口。Java引入Lambda,改善了集合操作(引入Stream API),并可以利用到Lambda表达式的延后性。函数式接口可以使用lambda表达式调用。

2023-06-19 17:45:03 173

原创 【Git本地有四个工作区域】

Git本地有四个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)、git仓库(Remote Directory). 工作目录:存放项目文件的地方 暂存区:临时存放项目文件的改动情况 资源库:本地安全存放数据的位置,里面存放着提交到所有版本的数据 git仓库:托管代码的服务器,服务器安全存放数据的位置,里面存放着提交到所有版本的数据。1.Git版本管理中下列不适于Git的本地工作区域的是()

2023-06-16 09:59:19 170

原创 【翻译docker run的官方参考文档】

您可以使用 Docker 网络驱动程序或外部网络驱动程序插件创建网络。您可以将多个容器连接到同一个网络。一旦连接到用户定义的网络,容器只需使用另一个容器的 IP 地址或名称即可轻松通信。对于overlay支持多主机连接的网络或自定义插件,连接到同一多主机网络但从不同引擎启动的容器也可以通过这种方式进行通信。以下示例使用内置bridge网络驱动程序创建网络并在创建的网络中运行容器使用该标志,您可以传递特定的 cgroup 以在其中运行容器。这允许您自行创建和管理 cgroup。

2023-06-16 00:45:00 239

原创 【从头开始学docker系列之九,Linux下安装docker 及docker-compose 】

大多数时候docker应用还是在linux操作系统的场景。

2023-06-15 18:30:00 192

原创 【BlockingQueue阻塞队列学习】

poll(long timeout, TimeUnit unit) 检索并删除队列的头部,如有必要,等待指定的等待时间以使元素可用,如果超时,则返回 null。offer(E e, long timeout, TimeUnit unit)尝试将元素插入队列,如果队列已满,那么会阻塞直到有空间插入。阻塞队列即使生产者也是消费者的,构造参数也是成员变量。take()获取队列的头部元素并将其删除,如果队列为空,则阻塞并等待元素变为可用。put() 将指定的元素插入队列,如果队列满了,那么会阻塞直到有空间插入。

2023-06-15 10:43:38 263

原创 【体验阿里云ECS开发环境快速搭建JDK+Tomat+MySQL】

今天体验一下阿里云的ECS云开发环境,创建弹性服务器后。

2023-06-15 10:31:37 155

原创 【git分支管理】

删除本地 branch -d 删除远程用 push origin --delete。

2023-06-15 10:16:51 101

原创 【mybatis根据id查询映射主子表的实体类结果】

废话不多说,直接上实例。

2023-06-15 10:15:43 245

原创 【从头开始学docker系列之八,使用 docker run命令】

如果未--format提供标志,这些字段允许您自定义某些命令的默认输出格式。财产描述输出的自定义默认格式。有关支持的格式化指令列表,请参阅文档中的输出格式部分。输出的自定义默认格式。有关支持的格式化指令列表,请参阅文档中的输出格式部分。输出的自定义默认格式。有关支持的格式指令列表,请参阅文档中的格式部分。输出的自定义默认格式。有关支持的格式指令列表,请参阅文档中的格式部分。psFormatdocker ps输出的自定义默认格式。有关支持的格式指令列表,请参阅文档中的格式部分docker ps。

2023-06-15 10:00:00 330

原创 【软件包 java.util.concurrent.atomic 说明】

当一个线程看到由 a 引起的对原子变量的更新时weakCompareAndSet,它不一定看到对发生在 之前的任何其他weakCompareAndSet变量的更新。例如,在更新性能统计信息时,这可能是可以接受的,但在其他情况下很少见。除了表示单个值的类之外,此包还包含更新程序类,可用于获取 compareAndSet对任何选定类的任何选定volatile 字段的操作。此包中的类还包含获取和无条件设置值的方法,以及weakCompareAndSet下面描述的较弱的条件原子更新操作。

2023-06-15 09:57:06 135

原创 【生产消费者模式对比多线程优缺点】

消费者模式和多线程看起来差不多?为啥有些情况选择消费者模式不选择多线程呢?为啥?

2023-06-15 09:56:06 185

原创 【redis 的基本操作指令简介】

【代码】【redis 的基本操作指令简介】

2023-06-15 09:37:47 89

原创 【centos防火墙相关命令】

●centos7默认没有 netstat 命令,需要安装 net-tools 工具,yum install -y net-tools。3.、开关防火墙,默认启动防火墙。2、查看防火墙所有开放的端口。6、检查端口被哪个进程占用。7、查看进程的详细信息。

2023-06-15 09:32:21 607

原创 【vbox配置Ubuntu 18.04.6桥接网卡配置】

在18.04.6中传统的配置/etc/network/interfaces已无效!

2023-06-15 09:31:49 444

原创 【SVN基本安装及使用简介】

anno-acess = none #无登陆权限用户不能访问版本库。auth-access = write #有权限用户可读写版本困。password-db = passwd #用户名密码存储文件。– svnadmin 版本库的创建/导入/导出/删除等。– svnserver 控制svn系统服务的启动。-------- 指定存储版本库的数据保存类型。– svn 版本库检出/更新/提交/重定向。/path/repos/conf目录。– svnlook 查看版本库信息。直接使用linux删除命令删除。

2023-06-15 09:24:50 168

原创 【Reactor学习-五——回压和重塑请求的方法】

在 Reactor 中实现背压时,消费者压力传播回源的方式是向request上游操作员发送。当前请求的总和有时被称为当前“需求”或“待处理请求”。需求上限为Long.MAX_VALUE,代表一个无限制的请求(意思是“尽可能快地生产”——基本上是禁用背压)。第一个请求来自订阅时的最终订阅者,但最直接的订阅方式都立即触发无限制请求Long.MAX_VALUE:subscribe()以及它的大多数基于 lambda 的变体(有Consumer的除外)

2023-06-14 10:54:09 276

原创 【Reactor学习-四——Reactor核心!功能!】

请注意,所有事件,即使是终止事件,都是可选的:没有onNext事件,只有一个 onComplete事件表示一个空的有限序列,但删除onComplete并且您有一个无限的空序列(不是特别有用,除了围绕取消的测试)。Mono仅提供可用于 a 的运算符的子集Flux,并且一些运算符(特别是那些将 theMono与另一个结合的运算符Publisher)切换到 a Flux。A Mono是一个专门的,它通过Publisher信号最多发出一个项目, 然后以一个信号终止(成功,有或没有值),或者只发出一个信号(失败)。

2023-06-14 10:52:03 395

原创 【Reactor学习-三——从命令式编程到反应式编程】

对于每个订阅者,热序列并不是从头开始的。相反,迟到的订阅者会收到他们订阅后发出的信号。然而,请注意,一些热反应流可以完全或部分缓存或重放排放历史。从一般的角度来看,热序列甚至可以在没有订阅者在监听时发出(这是“订阅之前什么都不会发生”规则的例外)。对于每个订阅者,一个冷序列重新开始,包括在数据源。例如,如果源包装了一个HTTP调用,则会为每个订阅发出一个新的HTTP请求。大多数地方都是根据翻译网站或机器人翻译成背压,少数地方翻译为回压,我也认为翻译为回压更契合场景的意思。

2023-06-14 10:50:55 120

原创 【Reactor学习-一 CallBack与Reactor——阻塞代码和非阻塞反应式代码对比】

在基于回调的代码中,这是一项复杂的任务。在Reactor中,只需在链中添加一个超时操作符即可,如下所示:。缺点很明细,代码量大,不易跟踪,代码重复,对比响应式代码来实现相同功能。

2023-06-14 10:49:05 147

原创 【Reactor学习-二 CompletableFuture与Reactor的比较】

另一个例子:我们得到一个ID列表,我们希望从中获取一个名称和一个统计信息,并将它们成对地组合起来,所有这些都是异步的。

2023-06-14 10:48:21 636

原创 【MyBatis基础构建SqlSessionFactory】

使用mybatis maven需要引入的依赖。mybatis-config.xml文件。

2023-06-14 10:00:50 231

keeplive+nginx负载均衡解决方案

Keeplive期初是专门为LVS设计的,专门用来监控LVS集群系统中各个服务节点的状态,后来又加入VRRP的功能,因此除了配合LVS服务以外,也可以作为其他服务(nginx,haroxy)的高可用软件,VRRP是Virtual Router Redundancy Protocol(虚拟路由冗余协议)的缩写,VRRP出现的目的就是为了解决静态路由出现的单点故障问题,它能够保证网络的不间断,稳定的运行。所以keepalive一方面具有LVS cluster nodes healthchecks功能,另一方面也具有LVS directors failover

2023-10-17

史上最完整java注释教程

注释是java中的一种元数据,可以应用于java源代码的各个元素,以便以后的工具、调试器或应用程序能够利用这些注释,并帮助以积极和建设性的方式分析程序。更重要的是,我们可以用java或几乎所有的语言来注释类、方法、变量、参数和包。重要的是,要了解应用于java源代码的注释与其他类成员一起编译成字节码,并且使用反射程序员可以查询此元数据信息,以确定在任何特定上下文中执行的适当操作。

2023-10-17

MySql性能优化的几种解决方案

MySql性能优化的几种解决方案,使用于dba,系统管理员,系统架构师。以及软件开发人员。

2023-10-07

the road tobe a java god.pdf

Java基础超全知识指南

2021-09-17

空空如也

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

TA关注的人

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