- 博客(127)
- 资源 (5)
- 收藏
- 关注
原创 Spring Boot 3 整合 Swagger OpenAPI:优雅生成项目API接口文档
Spring Boot 3 是一个功能强大、灵活且易于使用的框架,它带来了许多令人激动的特性和改进。Java 17 支持:Spring Boot 3 全面支持 Java 17,使开发人员能够利用最新的 Java 特性和性能改进。模块化支持:Spring Boot 3 引入了对 Java 模块化的支持,使应用程序的架构更加模块化、可维护性更强。响应式编程:Spring Boot 3 提供了对响应式编程的支持,通过响应式流和异步编程模型,提高应用程序的性能和可伸缩性。
2023-05-31 21:02:59
3028
2
原创 Copilot 简介 背景,优势与快速开始
Copilot是一个人工智能代码生成器,由OpenAI和GitHub合作开发,可以根据用户提供的代码输入和上下文,自动生成相应的代码,帮助开发人员提高效率。Copilot利用机器学习技术和大量的开源代码库进行训练,可以生成Python、JavaScript、TypeScript、Ruby、Go和其他语言的代码片段。Copilot是通过GitHub Codespaces集成到了GitHub编辑器中,使得开发人员可以轻松地使用它来编码。
2023-05-06 20:07:10
7609
1
原创 Quarkus 集成 mailer 使用 easyexcel 发送表格邮件
官方文档: https://cn.quarkus.io/guides/mailer首先发送邮箱服务,那么就需要有一个邮箱的配置,并且需要开启 smtp 服务才能进行发送邮箱,这里我使用的是 网易邮箱,其他的邮箱应该也是同理. 屏幕截图功能实现直播监控
描述:在做直播,社交类项目的时候,通常会用到一些im流监控的手段,来监控视频防止一些涉黄等不良东西出现,然后运营人员能直接监控,并且下线,警告等功能,比如直播的超管就能随时封禁直播间。今天我们就来对接声网的接口,来实现监控的功能。流程图上面就是大概的业务逻辑,接下来就是看看声网的接口了。视频录制监控接口文档 : 云端录制文档根据自己的业务来选择调用那个接口,我这里就先用视频截图,的接口了。https://docs.agora.io/cn/cloud-recording/cloud_rec
2021-06-01 11:48:52
2691
9
原创 SpringBoot 整合 MongoDB 多方位操作详解
前言MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。安装教程:菜鸟教程直接看教程,下载安装,网速的我这里有百度网盘,需要的自取 : 链接:https://pan.baidu.com/s/15ggY5ZKYFDvb2a3o9e81bQ提取码:f6k9基本概念SQL术语/概念MongoDB术语/概念
2021-05-27 12:57:30
333
1
原创 Netty-数据传输秘密
描述网络编程中传输的数据总是具有相同的类型: 字节,这些字节是如何流动的主要取决于我们所说的网络传输一个帮助我们抽象底层的数据传输机制的概念,在网络编程中主要的传输有 OIO-阻塞传输,NIO-异步传输,Local-JVM内部的异步通信,Netty-异步通信在实现这种编程的转换的时候,比如 阻塞io传输到 nio异步传输,的时候,你会发现代码往往不能进行复用。并且自己可能要重新编写一套代码来解决问题,然而Netty 为他所有的传输实现了提供了一个通用的API,这相较于JDK所提供的简单的很多,接
2021-05-24 20:48:25
254
原创 Netty-实现一个简单的Http 服务器
在前面的学习中我们对netty模型以及组成部分有了初步的认识,这里我们使用Netty 实现一个简单的http 服务。来加深对Netty的认识。描述1.Netty监听8080端口,当用户访问浏览器的时候,http://localhost:8080/2.客户端接收到请求,然后转发数据到浏览器:hello, Netty !3.实现url 过滤,对不处理的请求,无需做处理。代码实例ChannelHandler/** * @Author qrn * @Title https://blog.csdn
2021-05-23 19:07:11
342
原创 Netty-核心组件
描述在Netty中包括了以下核心组件,这些组件代表了不同类型的构造: 资源,逻辑以及通知。对于每个组件来说,都提供了一个基本的定义,并且在适当情况下,还会踢动一个简单的实例代码来说明他的用法。ChannelChannel 是Java Nio的一个基本构造,他代表一个到实体的开发连接,也就是通道,在通道中进行读写操作。回调一个回调就是一个方法,一个指向已经被提供给另外一个方法的方法的引用。Netty 在内部使用了回调来处理时间,当一个回调被处罚时,相关的时间已经被一个ChannelHandler 的
2021-05-20 18:47:18
165
4
原创 Netty-Reactor模型
Reactor模式io复用结合线程池,就是Reactor模式的基本设计思想,可以理解为:客户发送请求到服务端,服务端完成监听到工作,然后在转发给多个线程去执行业务处理,前面的nio模型就是这样去做处理的,比如nio群聊系统的例子。核心组成:ReactorReactor在一个单独的线程中运行,负责监听和分发事件,分发给适当的处理程序来怼io事件做出反应。HandlersHandlers处理程序执行io事件要完成的实际事件,处理业务逻辑的部分。模式分类:根据Reactor 的数量和处理资源池的
2021-05-18 23:43:18
210
原创 Netty-NIO 零拷贝
描述:在java程序中,常用的零拷贝有mmap(内存映射) 和 sendFile,那么他们在系统里,到底是怎么样的一个设计?在nio中是如何实现零拷贝的呢?传统io拷贝直接内存拷贝:从图中可以看到,内核缓冲区,拷贝到 用户缓冲,在拷贝到socket 缓冲,在dma 拷贝,这是非常耗费资源的。mmap优化mmap 通过内存映射,将文件映射到内核缓冲区中,同时用户空间可以共享内核空间的数据,这样在网络传输的时候,就可以减少内核空间到用户空间的拷贝。sendFile 1.0数据传输不经过用
2021-05-14 20:10:48
248
5
原创 杉德微信小程序(云函数h5)支付详解
最近在工作中,有机会使用了杉德的微信支付,其实对于杉德我也不是很了解,这里,我也只说一下我对接的过程,希望对后面有接这个支付的朋友们会有一点帮助,然后就是,我只是开发,里面的一些配置我其实也不太清楚,所以大家如果出现一些什么配置的问题,自己多去和领导沟通,是不是什么配置没弄。先来看看杉德的官网: https://open.sandpay.com.cn/developmentAccess/docs找到自己对应的业务,去查看对应的api接口文档,我这里是微信小程序。如果有时间的话,我建议大家从头都看一
2021-05-13 19:56:55
5341
5
原创 Netty-NIO 实现简单的群聊系统
场景1.服务端能够获取客户端信息2.服务端获取客户端发送的信息3.服务端实现信息转发,给其他客户端4.客户端连接服务端,发送数据5.接收服务端转发的信息,打印在控制台上。流程图需求描述这个小实例,可以用到前面所说的 Buffer,Channel,Selector,SelectionKey,整合在一起使用。如果有不懂这几个之间的关系,先看看前面的讲解会好很多。Server1.构建 Selector,Channel,并且注册进Selector ,SelectionKey 状态为 OP_A
2021-05-12 16:02:22
231
6
原创 Netty-NIO:核心组件(Buffer,Channel,Selector)详解
Nio最核心的组成部分就是Selector与Channe,还有Buffer,一个选择器中可以有多个通道和缓冲。BufferBuffer 是一个顶级抽象类,所在java.nio.Buffer 中,里面提供了一些属性和方法来提供缓冲的功能操作。 private int mark = -1; //标记 private int position = 0;//位置 private int limit;//最大的长度 private int capacity;//容量buffer
2021-05-11 00:01:54
261
4
原创 Netty-NIO线程模型
IO模型基本说明IO模型简单的理解:就是用什么样的通道进行数据的发送和接收,很大程度上决定了程序通信的性能。目前为止java共支持3种网络编程模型:BIO,NIO,AIO:BIO:同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。线程模型图代码实例/** * @Author qrn * @Date 2021/5/9 下午9:20 * @Version 1.0
2021-05-09 23:17:39
579
4
微信小程序 旋转木马效果
2019-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人