Gitee

创建自定义springboot的starter

夙愿已清 提交于 2020-10-03 05:19:45
springboot自定义starter 完整的springboot starter包含两个组件 autoconfigure 这里包含自动配置的代码 starter 依赖,或者依赖的其他springboot starter组件 自定义starter的命名 一般来说,自动装配的配置文件都是以xxxx-spring-boot-autoconfigur starter模块的命名为xxxx-spring-boot-starter 开始自定义starter 创建工程 这是工程的目录结构 pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring

太赞了!墙裂推荐这款网页版 Nginx 配置生成器,好用到爆!

。_饼干妹妹 提交于 2020-10-03 05:19:14
之前民工哥也给大家介绍过一款Nginx配置生成器: 强大!Nginx 配置在线一键生成“神器” ,不太了解的人可以去看一看。 最近民工哥又发现一款好用的网页版开源工具,同样它的功能也是Nginx配置生成器,功能非常强大,方便实用,它是: NginxWebUI 。 NginxWebUI介绍 NginxWebUI是一款方便实用的 nginx 网页配置工具 ,可以使用 WebUI 配置 Nginx 的各项功能,包括 端口转发,反向代理,ssl 证书配置,负载均衡 等,最终生成「nginx.conf」配置文件并覆盖目标配置文件,完成 nginx 的功能配置。 项目地址:https://gitee.com/cym1102/nginxWebUI 官方网站:https://nginxwebui.gitee.io NginxWebUI功能说明 该项目是基于springBoot的web系统,数据库使用sqlite,因此 服务器上不需要安装任何数据库。 本项目可管理多个nginx服务器集群, 随时一键切换到对应服务器上进行nginx配置, 也可以一键将某台服务器配置同步到其他服务器, 方便集群管理。 nginx本身功能复杂, 本项目并不能涵盖nginx所有功能, 只能配置常用功能, 更高级的功能配置仍然需要在最终生成的nginx.conf中进行手动编写。 部署此项目后,

Qt音视频开发22-通用GPU显示

时光毁灭记忆、已成空白 提交于 2020-10-02 16:30:55
一、前言 采用GPU来绘制实时视频一直以来都是个难点,如果是安防行业的做视频监控开发这块的人员,这个坎必须迈过去,本人一直从事的是安防行业的电子围栏这个相当小众的细分市场的开发,视频监控这块仅仅是周边技术玩一玩探讨一下,关于GPU绘制这块着实走了不少的弯路。 之前用ffmpeg解码的时候,已经做了硬解码的处理,比如支持qsv、dxva2、d3d11va等方式进行硬解码处理,但是当时解码出来以后,还是重新转成了QImage来绘制,这样就大打折扣了,尽管可以看到GPU使用率有了,但是依然耗时的操作还是在CPU绘制显示,这就显得很尴尬了,Qt封装了大部分的opengl的操作,直接做成了QOPenGLWidget,既支持ffmpeg解码出来的yuyv格式的数据显示,还支持硬解码出来的nv12格式的数据显示,很好很强大,这样的话就大大减轻了CPU的压力,专门交给GPU绘制,经过这么一番彻底的改造,效率提升至少5倍,不要太牛逼!如果开启了opengl绘制,则对应内存会增加不少,可能opengl绘制需要开辟很多的内存来交换数据吧。 采用GPU显示需要同时支持yuyv格式和nv12格式,因为有些配置差的电脑,硬解码很可能歇菜,此时就需要用opengl来直接绘制ffmpeg软解码出来的yuyv数据,做到自动切换,这样就兼容了所有的可能的情况。测试发现ffmpeg4的性能要优于ffmpeg3

1.2.0版本seata整合nacos实现分布式事务(2)

不问归期 提交于 2020-10-02 12:17:26
上一篇 https://my.oschina.net/u/3901188/blog/4316832 已经完成了 Seata 的服务端 整合 nacos 的搭建启动。本篇章记录 Seata 客户端实现模拟分布式事务场景。 分布式事务场景准备:客户端分三个服务 order订单服务、storage库存服务、account账户余额服务。三个服务对应的独立的数据库。 库需要自行建立,我这里创建的名称为 seata_order、seata_account、seata_storage 三个库名称。sql的建库建表语句我都写代在项目的sql文件夹中。 写在这里太过于长了,太占地方了,项目demo我直接打包上传上码云了。项目地址链接: https://gitee.com/maogouxiong/seata-nacos-test-demo 需要的伙伴可以上去下载下来自行测试。 这里我主要关键点: 项目我使用了 mybatis-plus 的代码生成器直接生成代码。代码生成器类我放在了每个服务项目的test目录下。 另外代理数据源是要配置的。在代码里面每个服务都有配置代理数据源,需要留意看下 我这里测试 Seata 服务端是通过源码启动的。源码启动看下我上一篇文章有讲到。 先启动 Seata 服务端,当 Seata 服务端启动成功,启动日志是这样的: 然后启动 三个客户端服务, 当 order订单服务

Git把本地代码提交到远程仓库

回眸只為那壹抹淺笑 提交于 2020-10-02 07:53:25
我们这里以Gitee为例子,如果小伙伴们是其他的Gitlab,Github都不要紧,因为就只有创建仓库界面有点不一样,但是操作大体都相同。这里我们主要是学习把本地代码第一次提交到远程仓库上面的Git命令。 如果小伙伴们只是想学本地代码第一次提交到远程仓库的可以直接跳过步骤一,直接看步骤二的内容。 一、Gitee创建仓库 Gitee官网: https://gitee.com 在注册完成并成功登录码云账号后,用户可以开始创建自己的第一个仓库。 1、通过网站右上角的「+」号,选择「新建仓库」,进入新建仓库页面 2、在新建仓库页面填写仓库信息。仓库相关概念说明如下: 仓库名称 : 仓库的名称,用于仓库命名 归属 :仓库归属账户,可以是个人账号/组织/企业中的一种,创建成功后该账户默认为仓库的拥有者(管理员) 路径 :仓库的git访问路径,由 用户个性地址+仓库路径名称 组成。创建仓库后用户将通过该路径访问仓库。 仓库介绍 :仓库的简单介绍 是否开源 :设置仓库是否为公开仓库,公开仓库对所有人可见,私有仓库仅限仓库成员可见。 选择语言 :仓库主要开发用的编程语言 添加 .gitignore :系统默认提供的git忽略提交的文件模板,设置 .gitignore 后将默认忽略指定目录/文件到仓库 添加开源许可证 :如果仓库为公开仓库,可以添加设置仓库的开源协议

虚拟机系列 | 执行引擎和垃圾回收

拜拜、爱过 提交于 2020-10-02 01:38:29
本文源码: GitHub·点这里 || GitEE·点这里 一、执行引擎 应用程序经过编译,转换为字节码文件,字节码加载到内存空间并不能直接在操作系统上执行,执行引擎作为Java虚拟机核心的组成部分,作用就是将字节码指令解释/编译为对应系统平台上的本地机器指令。 解释器 :虚拟机启动时会根据预定义对字节码采用逐行解释的方式执行,将每条字节码文件中的内容解释为对应系统平台的本地机器指令执行; JIT编译器 :虚拟机将源代码编译成本地机器平台相关的机器语言,并且寻找热点高频执行的代码将其放入元空间中,即元空间中存放的JIT缓存代码; 垃圾回收 :对于没有任何引用的对象标记为垃圾,会被回收释放内存空间。 二、垃圾对象标记 1、引用计数法 每个对象保存一个整型引用计数器,用来记录对象被引用的次数,当该对象被一个对象引用时,计数器加1,当失去一个引用时,计数器减1;引用计数算法就是通过判断对象的引用数量来决定对象是否可以被当做垃圾对象回收掉。 虽然引用计数法效率高,但是当两个对象互相引用时会导致这两个对象一直不会被回收,这是一个致命的缺陷。所以JVM并没有采用该标记算法。 2、可达性分析算法 可达性分析算法是基于对象到根对象的引用链是否可达来判断对象是否可以被回收; 运行程序把所有的引用关系链看作一张图,通过GC-Roots根对象对象集合作为起始点

刚刚用鸿蒙跑了个“hello world”!跑通后,我特么开始怀疑人生....

社会主义新天地 提交于 2020-10-01 22:48:16
Python实战社群 Java实战社群 长按识别下方二维码, 按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群 ▲ 作者丨一个俗人 来源: https://my.oschina.net/u/169565/blog/4557279 最近华为鸿蒙OS 2.0正式开源!关于鸿蒙的教程其实网上也已经有一些尝鲜的小伙伴分享的相关文章了,编者我按照步骤一步步跑下来,整个流程还是非常简单的,尤其是对Android开发的小伙伴来说,从IDE到项目的创建及项目的编译安装简直是一模一样呀。我特么的都有点怀疑人生了...感兴趣的读者也可以试试哦。 再贴一下鸿蒙的源码地址:https://openharmony.gitee.com 咱们一起来跟着一位网友学习一下如何跑起来第一个“hello world”,原文如下: 1.前序 1.1 官网: https://www.harmonyos.com 网上搜索第一个不是官方是三方的 1.2.IDE下载位置: 源码编译的下载: https://device.harmonyos.com/cn/ide 开发应用的下载:https://developer.harmonyos.com/cn/develop/deveco-studio#download 1.3.源码位置: https://device.harmonyos.com/cn

Spring Security如何优雅的增加OAuth2协议授权模式

不羁岁月 提交于 2020-10-01 13:00:17
一、什么是OAuth2协议? OAuth 2.0 是一个关于授权的开放的网络协议,是目前最流行的授权机制。 数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据。系统从而产生一个短期的进入令牌(token),用来代替密码,供第三方应用使用。 由于授权的场景众多,OAuth 2.0 协议定义了获取令牌的四种授权方式,分别是: 授权码模式 :授权码模式(authorization code)是功能最完整、流程最严密的授权模式。它的特点就是通过客户端的后台服务器,与"服务提供商"的认证服务器进行互动。 简化模式 :简化模式(implicit grant type)不通过第三方应用程序的服务器,直接在浏览器中向认证服务器申请令牌,跳过了"授权码"这个步骤,因此得名。所有步骤在浏览器中完成,令牌对访问者是可见的,且客户端不需要认证。 密码模式 :密码模式(Resource Owner Password Credentials Grant)中,用户向客户端提供自己的用户名和密码。客户端使用这些信息,向"服务商提供商"索要授权。 客户端模式 :客户端模式(Client Credentials Grant)指客户端以自己的名义,而不是以用户的名义,向"服务提供商"进行认证。严格地说,客户端模式并不属于OAuth框架所要解决的问题。在这种模式中,用户直接向客户端注册,客户端以自己的名义要求

Jenkins 插件 升级站点 镜像 好用的 2019年11月

别来无恙 提交于 2020-10-01 12:05:28
这两天开始学Jenkins 用docker下载了一个镜像运行 , 版本太老了。初始化插件各种报错:版本低/ 更新失败等。 dockerhub里面的版本才 2.60 然后又从Jenkins.io 官网上下载稳定版最新. 2.190 . 又初始化插件,还是各种报错。 最后 jenkins 管理中心页面上有个中文社区链接,点了一下,最下面有推荐的 中文 更新中心。 这才ok. 地址如下, 拿走不谢~ https://jenkins-zh.gitee.io/update-center-mirror/tsinghua/update-center.json 转载请标注原出处:https://www.cnblogs.com/java2sap/p/11895787.html 来源: oschina 链接: https://my.oschina.net/u/4290521/blog/4529750