chatgpt-spring-boot-starter|Springboot集成ChatGPT|ChatGPT
1.介绍chatgpt-spring-boot-starter是一个基于openai-api的启动器,与Springboot集成轻松调用ChatGPT。它集成了官方api,而非其他开源项目劫取auth-session的做法,所以非常稳定。
项目github地址:chatgpt-spring-boot-starterDemo github地址:demo-chatgpt-spring-boot-starter
Demo 在线体验(仅供学习使用):Demo ChatGPT
**画面是ChatGPT帮我写的html,非常简陋。如有大佬擅长前端,可提pull request帮忙优化,感谢。文件路径 src/main/resources/static/index.html
2.使用方法1.添加maven依赖12345<dependency> <groupId>io.github.flashvayne</groupId> <artifactId>chatgpt-spring-boot-starter</artifactId> ...
gpg: keyserver send failed: No route to host
问题笔者使用MacOS向Maven中心仓库提交jar包时,需要gpg签署。因文件需要远程校验,需将公钥传之密钥服务器,命令如下:
1gpg --keyserver keys.gnupg.net --sent-keys BEXXXXXXXX....
该命令返回:
12gpg: keyserver send failed: No route to hostgpg: keyserver send failed: No route to host
笔者踩了此坑,查了google,github的解决方法都不行,因此在此分享自己的思考和解决方案。
解决方案1报错信息是No route to host,而且笔者在相同网络的另一台windows电脑是没问题的,因此考虑是域名解析的问题。既然是域名解析问题,那就是DNS问题。因此笔者确认了Macbook网络的DNS,果然是空的。添加DNS 8.8.8.8后即可正常上传。
附国内可用的keyserver列表1234keyserver.ubuntu.compgp.mit.edusubkeys.pgp.netwww.gpg-keyserver.de
解决方案2 ...
rbac-spring-boot-starter|Springboot角色/资源/权限控制组件
简介rbac-spring-boot-starter基于RBAC (Resource-Based Access Control) 实现了用户资源权限的管理,支持Springboot自动装配。项目github地址:rbac-spring-boot-starter
Demo项目Rbac-Demo
配置方法
加载maven依赖
12345<dependency> <groupId>io.github.flashvayne</groupId> <artifactId>rbac-spring-boot-starter</artifactId> <version>2.0.0</version></dependency>
yml配置rbac.enable等配置:
12345678910rbac: enable: true #启动rbac-spring-boot-starter组件(默认false) tokenExpireTime: 7200 #Token过期时间(默认7200s) ...
MySQL分页组件mysql-mybatis-pagination|Springboot|Mybatis
1.介绍mysql-mybatis-pagination是一个基于MySQL方言 “SQL_CALC_FOUND_ROWS & FOUND_ROWS()” 的轻量级分页组件。项目github地址:mysql-mybatis-pagination
2.使用方法
追加Maven依赖。依赖加载后,对于SpringBoot项目,启动时会自动装配组件,无需其他配置。12345<dependency> <groupId>io.github.flashvayne</groupId> <artifactId>mysql-mybatis-pagination</artifactId> <version>1.0.1</version></dependency>
代码中使用Page.start(pageNum,pageSize)声明开始分页,接下来的查询将会自动分页;使用Page.end(users)结束分页并将查询结果包装成PageInfo对象。1234Page.start(pageN ...
树莓派根据CPU温度自动化控制散热风扇开关 GPIO自动化控制元件|【原创】转载请注明来源
准备设计 & 踩过的坑
设计:使用三极管做开关,通过控制GPIO输出高/低电平实现电路的通/断,进而实现自动化控制风扇。(同理可用这种方式控制很多其他的元件)
坑:不要直接使用GPIO控制风扇或继电器的方式实现自动化控制:这样的想法很好,然而由于树莓派GPIO引脚电流过小,是不足以使风扇运转或使继电器持久闭合/断开。
需要的材料
树莓派
三极管(型号 S8050 某宝上很容易买到)
杜邦线
风扇
电路设计使用三极管做开关,电路连接如下图:
程序设计使用Python导入RPi.GPIO的包,直接调用包的方法控制GPIO引脚输出电平的高低。
在”/home/pi”目录下新建文本 GPIO.py 并写入以下Python程序:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051# -*- coding: utf-8 -*-# 树莓派 根据温度自动启动或停用风扇import RPi.GPIO as GPIOimport timeimport ...
Java经纬度计算距离 |【原创】根据Wgs84坐标/经纬度计算两目标位置的直线距离 Java Spring
计算方式使用开源项目geodesy发行的jar包进行距离计算,十分便捷;笔者将计算结果与某地图上两点测距结果进行比较,误差很小,所以计算结果也很准确。
开源项目:https://github.com/mgavaghan/geodesy
发行maven pom依赖:
12345<dependency> <groupId>org.gavaghan</groupId> <artifactId>geodesy</artifactId> <version>1.1.3</version></dependency>
代码加载maven依赖后,新建以下Utils方法简单封装:
1234567891011121314151617181920212223242526272829303132333435import org.gavaghan.geodesy.Ellipsoid;import org.gavaghan.geodesy.GeodeticCalculator;import org.g ...
Java查找附近的目标 |【原创】使用Geohash查找周边附近的目标 Java Spring
前言须知本章讲解如何使用Geohash查找附近的位置,以及如何解决Geohash区域边缘问题。一个Geohash代表的是一个区域,一个Geohash字符串代表一个区域(如一个正方形),同一区域内的Geohash相同,不同区域的Geohash不同。因相邻区域的Geohash不同,所以会有边缘问题:如范围2.4km的Geohash直接匹配则查不到相邻区域相距100米的目标。本篇使用九宫格方法来解决边缘问题。特别提醒:Geohash是根据经纬度计算直线距离,而大多地图导航软件会根据目标之间的路线计算路径距离,所以会有差距。干货1.加载依赖–使用开源项目Geohash的发行jar包项目Github地址:https://github.com/kungfoo/geohash-java
发行jar包的Maven仓库地址:https://mvnrepository.com/artifact/ch.hsr/geohash
pom依赖
12345<dependency> <groupId>ch.hsr</groupId> <artifactId> ...
Github配置SSH KEY无密码 |【原创】从零开始Github拉取推送代码配置SSH KEY
三步设置Github SSH KEY1.本地安装git客户端git官方下载地址:https://git-scm.com/downloads
2.生成公私钥对在桌面鼠标右键打开“Git Bash Here”;输入以下命令
1ssh-keygen -t rsa -C "flashvayne@gmail.com" #请将邮箱换成自己的
然后一直Enter到结束;这时依次输入以下命令查看公钥内容:(后续设置将会使用到公钥内容)
123cd ~/.sshlscat id_rsa.pub
如下图所示
3.登录Github,在Settings中设置SSH key如下图方式打开SSH key设置页
点击[new SSH key]页面中的Title随意输入页面中的Key输入上一步得到的公钥(cat id_rsa.pub 命令输出的内容)然后添加即可
至此已设置完成,接下来进行验证是否正常
验证功能是否可正常1.选择想要拉取的项目,以SSH方式获取链接
2.在自己的目录鼠标右键打开“Git Bash Here”,输入以下命令即可拉取,拉取完成即正常。项目后续也可进行修改提 ...