- 博客(340)
- 资源 (9)
- 收藏
- 关注
原创 8.OpenResty系列之2W并发实践
本文的目标是,成功压测OpenResty接口达到10W并发.高并发其实就是能够扛助某一时刻流量,往往就呢几秒中,真正秒杀下单支付的流量是很小一部分.
2024-01-28 15:16:26 350
原创 7.OpenResty系列之LuaRestyRedisLibrary
OpenResty最佳实践作者:曾经某个后台应用,逐个处理大约 100 万条记录需要几十分钟,经过 pileline 压缩请求数量后,最后时间缩小到 20 秒左右。
2024-01-28 15:15:47 444
原创 AI文本生图模型Stable Diffusion部分模型叠加效果
兄弟们,最近有个烦恼,就是找图有点费事,干脆自己部署个文本生图模型Stable Diffusion,虽然机器性能慢,但是效果还可以,先和大家截图分享下,后面将映射ai.shenjian.online供大家免费使用。
2024-01-14 08:22:50 891
原创 6.OpenResty系列之深入理解(二)
对于 MySQL ,可以调用 ndk.set_var.set_quote_sql_str ,进行一次过滤即可,如果恰巧你使用的是 PostgreSQL ,调用 ndk.set_var.set_quote_pgsql_str 过滤输入变量。在发起子请求前,用户程序应总是读取完整的 HTTP 请求体 (通过调用 ngx.req.read_body 或设置 lua_need_request_body 指令为 on).Nginx 子请求是一种非常强有力的方式,它可以发起非阻塞的内部请求访问目标 location。
2024-01-07 10:28:52 1127
原创 FRP内网映射家用服务器至公网访问
兄弟们,服务器到货了,后续与大家分享内容就用它了。我预装的操作系统是Centos8,首先要解决的是远程访问的问题。【特别注意】下述的端口,记得在阿里云安全组配置中放开端口入规则!!
2023-12-17 17:11:28 447
原创 9.基于SpringBoot3+I18N实现国际化
新建messages_zh_CN.properties文件。新建messages_en.properties文件。在resources目录下新建目录i18n, 然后。如果出现乱码情况,请将文件设置为UTF-8即可。
2023-12-06 16:02:28 383
原创 4.OpenResty系列之Nginx负载均衡
假设这样一个应用场景:将应用部署在 192.168.1.11:80、192.168.1.12:80、192.168.1.13:80 三台 linux 环境的服务器上。网站域名叫 www.helloworld.com,公网 IP 为 192.168.1.11。在公网 IP 所在的服务器上部署 nginx,对所有请求做负载均衡处理(下面例子中使用的是加权轮询策略)上篇文章中,代理仅仅指向一个服务器。但是,网站在实际运营过程中,大部分都是以集群的方式运行,这时需要使用负载均衡来分流。
2023-12-03 09:07:49 123
原创 3.OpenResty系列之Nginx反向代理
Nginx (engine x) 是一款轻量级的 Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器什么是反向代理?反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
2023-11-26 15:37:37 219
原创 Vue项目Jenkins自动化部署
在项目根目录新建builds\k8stest目录,然后新建insole-tool.yaml文件,建好命名空间insole后,修改镜像名,可以直接拿来用。在Vue项目根目录新建default.conf文件,主要进行代理配置、首页配置、端口配置,需修改实际api与IP端口配置。我们希望提交uat分支时,UAT项目能够自动发布,提交master分支时,无需自动发布,管理员手工发布。在Vue项目根目录新建nginx.conf文件,主要配置请求体大小等,不需要修改。我们装好Webhook触发插件后,配置如图所示。
2023-11-21 12:06:38 215
原创 9.基于SpringBoot3+MybatisPlus定制化代码生成器类
我们在中讲到自定义代码生成器,但是往往遗留代码生成的类格式或者命名不符合要求,需要手工修改,但是当表很多时就比较头痛,所以我们自定义模板在进行代码生成。
2023-11-15 20:47:00 215
原创 解决Dockerfile中 Could not initialize class sun.awt.X11FontManager错误
如果您使用的是基于Alpine Linux的发行版,可以使用apk命令来安装DejaVu Sans字体和fontconfig工具。Dockerfile中增加命令。
2023-11-13 13:41:28 1017
原创 2.OpenResty系列之Lua入门
Lua是一种轻量级的、高效的脚本编程语言,最初由巴西里约热内卢天主教大学的一个研究小组开发和发布。Lua的设计目标是提供一个简单、可嵌入、可扩展的脚本语言,官方实现完全采用 ANSI C 编写,能以 C 程序库的形式嵌入到其他应用程序中。简洁和轻量级:Lua的语法简单、清晰,具备较小的代码库和内存占用,使得它非常适合嵌入式系统和资源受限的环境中使用。高效性:Lua的解释器是基于虚拟机技术构建的,执行速度较快。
2023-11-12 14:08:57 356 1
原创 解决错误error:0308010C:digital envelope routines::unsupported at new Hash
启动脚本package.json中加入如下即可。
2023-11-10 11:07:20 1106
原创 8.基于SpringBoot3+Security6+JWT实现鉴权机制(二)
本文我们将实践前后端访问Token鉴权,后端校验Token的完整代码。
2023-11-08 20:24:20 409
原创 7.基于SpringBoot3+Security6+JWT实现鉴权机制(一)
为什么要说下呢,JWT三部分组成,就要刚刚笔者参加的2023下半年系统架构师考试中考到了,然后我竟然想不起来了。。。JWT(JSON Web Token)由三个部分组成,它们分别是头部(header)、载荷(payload)和签名(signature)。头部(Header):JWT的头部是一个包含两个部分的JSON对象,用于描述签名算法和令牌类型。它通常包含以下信息:typ(类型):令牌的类型,这里通常是"JWT"。alg(算法):用于签名令牌的算法,例如HMAC、RSA或者其他加密算法。
2023-11-07 09:12:15 241
原创 Uniapp使用AES128加解密16进制
在对接低功耗蓝牙时,我们需要对蓝牙传输数据进行加解密,由于我们对接的命令是16进制,如5500020101aa00,每个16进制表示特定的含义,所以直接对16进制加解密。OK,只要加解密出来的结果与嵌入式那边出来的结果一致,就可以愉快的对接了, 关注算法小生不迷路。
2023-11-06 20:18:37 513
原创 1.OpenResty系列之入门简介
OpenResty(也称为ngx_openresty)是一个基于Nginx的全功能Web应用服务器,它将Nginx与一组附加模块和Lua脚本语言集成在一起,以提供高性能的Web应用程序开发和扩展性。Nginx是一个轻量级的、高性能的HTTP服务器和反向代理服务器,广泛用于构建高流量网站和应用程序。OpenResty利用Nginx的高性能和可扩展性,并通过添加Lua脚本语言的支持,使开发人员能够通过编写脚本来扩展和定制服务器行为。
2023-11-05 16:04:56 659
原创 5.基于SpringBoot3+MybatisPlus实现批量插入
MybatisPlus自带的批量插入为伪批量插入,故此我们自定义批量插入方法。
2023-10-12 09:42:09 249
原创 4.基于SpringBoot3实现全局异常处理与统一返回封装
config目录下GlobalExceptionHandler.java,代码如下。config目录下UnitedResponseAdvice.java,代码如下。欢迎关注公众号算法小生。
2023-10-11 13:28:07 164
原创 3.基于SpringBoot3集成MybatisPlus
org.springframework.boot.autoconfigure.AutoConfiguration.imports内容如下。至此,可以正常启动项目,集成MybatisPlus完毕,对于使用语法,可以去官网查询,后续我们将介绍特殊的一些用法。resources目录下新建META-INF.spring目录,然后新建文件。运行main方法根据提示创建包即可, 生成代码后我们在根据需要修改即可。在application-dev.yml配置错误打印SQL日志。欢迎关注公众号算法小生。
2023-08-25 23:20:04 572
原创 2.基于SpringBoot3集成SpringDoc Swagger3
我们可以看到方法级别也加了锁,此时如果我们在最上面Authorize处输入token,则调用方法时也会默认传递token。我们修改CloudClient中login方法如下,重启后看下授权区别。我们在build.gradle中引入依赖。欢迎关注公众号算法小生。
2023-08-19 20:32:49 521
原创 基于Helm快速部署私有云盘NextCloud
如果您就是管理员,请参照 config.sample.php 中的示例编辑 config/config.php 中的“trusted_domains”设置。然后我们下载nextcloud客户端登录账号,这样数据会实时与服务器双向同步,多台设备数据共享,再也不用来回拷贝数据了。我是在git bash中执行的,如果github访问不通,配置下代理,其中代理的端口可在系统代理中查看。通过本机IP地址访问http://10.12.19.4:31080/即可。登录进去后,我们可以进行创建用户,略。
2023-08-08 21:15:30 253
原创 基于Vue3+LeaderLine实现画线时对应点放大精确选点功能
我们在画线时,可能开始结束位置选择不准,导致测量结果会有偏差,所以新增放大功能,如下所示。欢迎关注公众号算法小生或加我微信haotu369拉你入群交流。
2023-07-28 16:46:31 153
原创 JRebel+XRebel热部署插件激活支持IDEA2023.1
JRebel是一款JVM插件,它使得Java代码修改后不用重启系统,立即生效。IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,修改才能生效;所以推荐使用 JRebel 插件进行热部署。如果报Unable to connect to license server.Check your network connnection and/or VPN settings.在线生成,然后替换{GUID}就行。再次执行上面的操作步骤即可激活。2.下面邮箱地址可随便输入。
2023-07-25 16:21:00 1301
原创 9.Hive系列之企业级调优
此时我们应该仔细分析这些异常的 key,很多情况下,这些 key 对应的数据是异常数据,我们需要在 SQL 语句中进行过滤。有时虽然某个 key 为空对应的数据很多,但是相应的数据不是异常数据,必须要包含在join 的结果中,此时我们可以表 a 中 key 为空的字段赋一个随机的值,使得数据随机均匀地分不到不同的 reducer 上。不过,某个特定的 job 可能包含众多的阶段,而这些阶段可能并非完全互相依赖的,也就是说有些阶段是可以并行执行的,这样可能使得整个 job 的执行时间缩短。
2023-07-22 22:16:30 167
原创 8.Hive系列之压缩与存储
在实际的项目开发当中,hive 表的数据存储格式一般选择:orc 或 parquet。压缩方式一般选择 snappy,lzo。
2023-07-22 22:15:47 149
原创 基于Vue3+LeaderLine实现画线测距及线条自由调整
先看下效果:我们画线后可以根据比例关系自动计算距离,并且线条不对可以自由调整。欢迎关注公众号 算法小生。
2023-07-15 10:24:32 699
绿色PDF转换器
2016-11-08
Socket实现两台计算机间的简单通信
2016-11-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人