交换排序 冒泡 和快速 的实现
普冉PY32系列(四) PY32F002A/003/030的时钟设置
PY32F002A, PY32F003, PY32F030 三个系列硬件相同, 下面以 PY32F030的时钟树结构为例说明 内部时钟有32KHz和24MHz(从代码上看其实是8MHz),外部时钟是直接接入, PLL只有2倍. 使用外置晶振时如果要达到标称的48MHz, 晶振频率就必须用24MHz,... ......
Springboot整合AOP和注解,实现丰富的切面功能
简介 我们在文章《Spring AOP与AspectJ的对比及应用》介绍了AOP的使用,这篇文章讲解一下AOP与注解的整合,通过注解来使用AOP,会非常方便。为了简便,我们还是来实现一个计时的功能。 整合过程 首先创建一个注解: @Retention(RetentionPolicy.RUNTIME) ......
在Spring Boot中整合Katharsis,来快速开发JSON API的Web应用
1 简介 我们进行Web API开发的时候,经常会使用Json格式的消息体,而Json格式非常灵活,不同的人会有不同的设计风格和实现,而JSON API提供了一套标准。但它并不提供直接实现。 Katharsis是JSON API的Java实现,使用它可以快速开发出Json based的Web接口,还 ......
Spring在Filter中记录Web请求Request和返回Response的内容及时长
1 简介 在Spring MVC中,我们有时需要记录一下请求和返回的内容,方便出现问题时排查。比较Header、Request Body等。这些在Controller也可以记录,但在Filter中会更方便。而我们使用的是OncePerRequestFilter。 2 记录请求 2.1 流重复读的问题 ......
Java JDK Proxy和CGLib动态代理示例讲解
简介 代理模式在Java中有很多应用场景,而代理又分静态代码和动态代理。静态代理是编写、编译或加载时织入代码实现,而动态代理则在运行时实现。简单而言,静态代理是在运行前就已经存在,而动态代理则在运行时才存在的。而常用的动态代理有两种实现: JDK Proxy: JDK Proxy是JDK自带的,不需 ......
GraalVM和Spring Native尝鲜,一步步让Springboot启动飞起来,66ms完成启动
简介 GraalVM是高性能的JDK,支持Java/Python/JavaScript等语言。它可以让Java变成二进制文件来执行,让程序在任何地方运行更快。这或许是Java与Go的一场战争? 下载安装GraalVM 安装GraalVM 首先到官网下载,我是直接到GitHub Release Pag ......
dapr本地托管的服务调用体验与Java SDK的Spring Boot整合
1 简介 之前在文章《dapr入门与本地托管模式尝试》中介绍了dapr和本地托管,本文我们来介绍如果在代码中使用dapr的服务调用功能,并把它整合到Spring Boot中。 Dapr服务调用的逻辑如下: 本次实验会创建两个服务: pkslow-data,提供数据服务,用于返回数据; pkslow- ......
在GCP的Kubernetes上安装dapr
1 简介 我们之前使用了dapr的本地托管模式,但在生产中我们一般使用Kubernetes托管,本文介绍如何在GKE(GCP Kubernetes)安装dapr。 相关文章: dapr本地托管的服务调用体验与Java SDK的Spring Boot整合 dapr入门与本地托管模式尝试 2 安装GKE ......
Spring AOP与AspectJ的对比及应用
1 简介 AOP,即面向切面编程是很常用的技术,特别是在Java Web开发中。而最流行的AOP框架分别是Spring AOP和AspectJ。 2 Spring AOP vs AspectJ Spring AOP是基于Spring IoC实现的,它解决大部分常见的需求,但它并不是一个完整的AOP解 ......
Spring Native打包本地镜像,无需通过Graal的maven插件buildtools
简介 在文章《GraalVM和Spring Native尝鲜,一步步让Springboot启动飞起来,66ms完成启动》中,我们介绍了如何使用Spring Native和buildtools插件,打包出本地镜像,也打包成Docker镜像。本文探索一下,如果不通过这个插件来生成镜像。这样我们可以控制更 ......
(原创)【B4A】一步一步入门02:可视化界面设计器、控件的使用
一、前言 上篇 (原创)【B4A】一步一步入门01:简介、开发环境搭建、HelloWorld 中我们创建了默认的项目,现在我们来看一下B4A项目的构成,以及如何所见即所得的设计界面,并添加和使用自带的控件。 相信看完的你,一定会有所收获! 本地地址:https://www.cnblogs.com/l ......
【Unity 框架】 QFramework v1.0 使用指南 工具篇: 16. LiveCodingKit 写代码不用停止运行的利器 | Unity 游戏框架 | Unity 游戏开发 | Unity 独立游戏
我们在用 Unity 开发的时候,每次编写或修改一点代码就需要进行 停止运行->编写代码->等待编译->运行游戏。 而在很多情况下这个过程是一个比较耗神的过程,因为开发者需要等待,还需要动手操作。 在笔者体验过 GameMakerStudio 的 GMLive 插件后,发现不停止运行就可以直接查看代 ......
数据结构-详解优先队列的二叉堆(最大堆)原理、实现和应用-C和Python
一、堆的基础 1.1 优先队列和堆 优先队列(Priority Queue):特殊的“队列”,取出元素顺序是按元素优先权(关键字)大小,而非元素进入队列的先后顺序。 若采用数组或链表直接实现优先队列,代价高。依靠数组,基于完全二叉树结构实现优先队列,即堆效率更高。一般来说堆代指二叉堆。 优先队列的完 ......
Django框架之drf:7、认证组件,权限组件,频率组件,过滤的多种用法,排序,分页
Django框架之drf 一、认证组件 简介: 登录认证的限制 认证组件是drf框架给我们提供的认证接口,它能够在请求进入视图函数/类前进验证(例如:认证用户是否登录),对不符合认证的请求进行拦截并返回校验失败的信息 1、认证组件使用步骤 模块地址: from rest_framework. ......
单实例Primary快速搭建Standby RAC参考手册(19.16 ADG)
**环境:**Single Instance -> RAC Single Instance: db_name=demo db_unique_name=demo instance_name=demo service_names=demo RAC(2 nodes): db_name=demo db_un ......
django框架之drf:4、序列化器常用字段及参数,序列化器高级用法之source,定制字段数据的两种方法,多表关联反序列化的保存,ModelSerializer的使用
Django框架之drf 一、序列化器常用字段及参数 # 序列化类 》字段类 CharField,除此之外还有哪些其他的 # 序列化类 》字段类,字段类上,传属性的 ,序列化类上,也可以写属性 models.CharField(max_length=32) 1、常用字段 | 字段 | 字段构造方式 ......
半个前端新手入门Electron的过程
前言 先说几句废话,本人是一名 web 后端开发,主语言是 java,在学 Electron 之前,只会一点点 HTML和 JavaScript。本文讲的也是我学习 Electron 的过程,而非教程,请酌情参考。 Electron是什么 Electron是一个使用 JavaScript、HTML ......
linux 高效压缩工具之xz的压缩解压使用
xz是什么 高压缩率的工具,它使用 LZMA2 压缩算法,生成的压缩文件比传统使用的 gzip、bzip2 生成的压缩文件更小, 不过xz也有一个坏处就是压缩时间比较长,比7z压缩时间还长一些。不过压缩主要用于归档,不介意的可以忽略。 擅长压缩文本和日志文件,针对这块的压缩率,是目前我发现效率最高的 ......
SQLSERVER 的 truncate 和 delete 有区别吗?
一:背景 1. 讲故事 在面试中我相信有很多朋友会被问到 truncate 和 delete 有什么区别 ,这是一个很有意思的话题,本篇我就试着来回答一下,如果下次大家遇到这类问题,我的答案应该可以帮你成功度过吧。 二:区别详解 1. 思考 从宏观角度来说, delete 是 DML 语句, tru ......
聊聊程序员的信仰
大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进。 信仰的力量 人没有信仰是很可悲的,就像找工作一样,哪家钱多,就去哪家,哪家轻松,就在哪家。 可怜的是前面几十年我都不知道自己想要什么,真正体会到没有信仰的人是多么可怜,就像墙头草,思 ......
了解 Transformers 是如何“思考”的
Transformer 模型是 AI 系统的基础。已经有了数不清的关于 "Transformer 如何工作" 的核心结构图表。 但是这些图表没有提供任何直观的计算该模型的框架表示。当研究者对于 Transformer 如何工作抱有兴趣时,直观的获取他运行的机制变得十分有用。 Thinking Lik ......
以交互的方式升级ESXi主机
以交互的方式升级ESXi主机 环境说明: 需求:要将 ESXi 6.0 主机和 ESXi 6.5 主机升级到 ESXi 6.7,可从 CD、DVD 或 USB 闪存驱动器引导 ESXi 安装程序。 注意:在升级之前,请考虑断开网络存储的连接。此操作可缩短安装程序搜索可用磁盘驱动器的时间。 断开网络存 ......
探索ABP基础架构的横切关注点
大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进。 授权、验证、异常处理和日志记录等横切关注点是每个系统的基本组成部分,它们对于确保系统的安全和良好运行至关重要。 实现横切关注点会导致应用中的很多地方出现重复代码。此外,一次授权或验证 ......
使用 LoRA 进行 Stable Diffusion 的高效参数微调
LoRA: Low-Rank Adaptation of Large Language Models 是微软研究员引入的一项新技术,主要用于处理大模型微调的问题。目前超过数十亿以上参数的具有强能力的大模型 (例如 GPT-3) 通常在为了适应其下游任务的微调中会呈现出巨大开销。 LoRA 建议冻结预 ......
实现一个简单的在浏览器运行Dotnet编辑器
之前已经实现过Blazor在线编译了,现在我们 实现一个简单的在浏览器运行的编辑器,并且让他可以编译我们的C#代码, 技术栈: Roslyn 用于编译c#代码 [monaco](microsoft/monaco-editor: A browser based code editor (github. ......
Avalonia 实现动态托盘
先下载一个gif图片,这里提供一个gif图片示例 在线GIF图片帧拆分工具 - UU在线工具 (uutool.cn) 使用这个网站将gif切成单张图片 创建一个Avalonia MVVM的项目,将图片copy进去 在项目文件中添加一下代码: <ItemGroup> <None Update="gif ......
SQLSERVER 的 nolock 到底是怎样的无锁?
一:背景 1. 讲故事 相信绝大部分用 SQLSERVER 作为底层存储的程序员都知道 nolock 关键词,即使当时不知道也会在踩过若干阻塞坑之后果断的加上 nolock,但这玩意有什么注意事项呢?这就需要了解它的底层原理了。 二:nolock 的原理 1. sql 阻塞还原 为了方便讲述,先创建 ......
标准&有效的项目开发流程
代码版本管理 在项目中,代码的版本管理非常重要。每个需求版本的代码开发在版本控制里都应该经过以下几个步骤。 在master分支中拉取该需求版本的两个分支,一个feature分支,一个release分支;feature分支用于接受个人分支merge过来的代码,并用于部署dev环境。feature的代码 ......
NodeJS 实战系列:DevOps 尚未解决的问题
本文将通过展示 NodeJS 应用里环境变量的提取过程,来一窥 DevOps 技术是如何应用在现在云平台上的运维工作中的。同时我也想让大家在这里看到 DevOps 的另外一面,即它并非全能,从本地开发到持续部署再到实际运行,有一些运维鸿沟依然还未被填平。“人工操作”依然是工作中的最大风险。 ......
Blazor Hybrid (Blazor混合开发)更好的读取本地图片
在 Blazor Hybrid 应用中,Razor 组件在设备上本机运行。 组件通过本地互操作通道呈现到嵌入式 Web View 控件。 组件不在浏览器中运行,并且不涉及 WebAssembly。 Razor 组件可快速加载和执行代码,组件可通过 .NET 平台完全访问设备的本机功能。 Web Vi ......