自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

发现问题,面对问题,分析问题,解决问题,总结问题

一点点积累,一点点进步,一点点成长,一点点升华

  • 博客(408)
  • 资源 (6)
  • 收藏
  • 关注

原创 本地启动时避免将服务注册到Eureka网关

在某些情况下,我们获取的配置都是远程配置中心的,即使本地开发也不能随意修改影响别人,针对于此可以通过本地修改代码的方式,例如可以限制获取本地的操作系统属性,如果是windows或者mac则不进行注册。当在本地开发时,有时你可能想要避免将服务注册到网关,这样可以更轻松地进行单独的服务测试。在使用Eureka注册服务时,你可以通过配置来控制服务是否注册到Eureka服务器。这样配置后,服务启动时将不会向Eureka注册自己,也不会从Eureka获取服务注册信息。这对本地开发和测试来说是非常方便的。

2023-12-10 11:47:42 735

原创 根据表名称快速查询表所有字段是否包含特定数据筛选

根据表名称快速查询表所有字段是否包含特定数据筛选。当前需要清理某个表中所有字段,检查是否有包含@DEl@字符的脏数据,如果字段比较少的直接根据字段查询即可,但是如果有几十个字段的话,逐个检查会很慢。通过这种方式相对来说可以更加快速匹配数据和定位问题字段。2:通过字段拼接的方式构建一个筛选条件。1:根据表名称获取当前表所有的字段。3:使用这个统一的一个字段进行查询。

2023-09-25 20:25:56 314

原创 Linux内核网络参数调优命令

当服务器的处理能力有限,无法及时处理大量的连接请求时,可以通过增大 somaxconn 参数,增加监听队列的长度,让更多的连接请求可以先暂时存放在队列中等待处理。这样一来,即使服务器繁忙,新的连接请求也不会立即被拒绝,而是可以暂时等待,直到服务器处理完前面的连接再逐个处理队列中的连接请求。cat /proc/sys/net/core/netdev_max_backlog,该文件表示在每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。

2023-08-05 20:56:58 1144

原创 AIPRM for ChatGPT 提示词模板扩展工具实践

AIPRM for ChatGPT是一个Chrome浏览器扩展程序,基于Chromium内核开发的浏览器都可以使用该扩展,比如微软的Edge浏览器等。在AIPRM的帮助下,我们可以在ChatGPT中一键使用各种专门为网站SEO、SaaS、营销、艺术、编程等领域设计的提示模板。此外,我们也可以在AIPRM上保存、分享、编辑、删除自己或他人创建的提示模板。如果喜欢或不喜欢某个模板,我们还可以在社区中投票反馈,最终影响这个模板的推荐排名。

2023-07-02 14:56:17 1346 1

原创 分布式配置中心Apollo中Namespace的类型整理

公共类型的Namespace具有public权限。公共类型的Namespace相当于游离于应用之外的配置,且通过Namespace的名称去标识公共Namespace,所以公共的Namespace的名称必须全局唯一。

2023-06-19 19:51:23 735

原创 MyBatis插件开发——解析和记录输出完整的SQL语句

自定义MyBatis插件,该插件实现当MyBatis执行SQL发生异常时输出错误原因,SQL参数以及完整的SQL语句。在日常的开发中我们可以通过mybatis配置设置是否输出SQL,但是对于正常运行的SQL全部输出出来日志量过大,所以这里实现了仅针对于发生异常的时候输出执行的SQL语句。对于日志输出的SQL框架仅提供了带有占位符的SQL以及对应的参数,如果想要测试运行这个SQL还需要自己手动拼接下,所以为了提高效率,在插件中对于SQL进行解析和占位符的替换,最终输出的SQL语句是可以直接在数据库中运行的。

2023-06-18 14:25:00 2792

原创 MySQL 根据表名称生成完整select语句

在编写SQL语句的时候我们经常写SELECT *的方式,但是这个大多仅在临时查询,对于真正使用的时候一般还是写字段名称的方式,但是字段名称一般都比较多,一个一个写比较麻烦,对于此我们可以通过INFORMATION_SCHEMA.COLUMNS快速生成某个表的(select 字段A,字段B from 表名称),提高工作效率。它是INFORMATION_SCHEMA数据库的一部分,该数据库是一个系统目录,包含有关RDBMS中的数据库、表、列和其他数据库对象的元数据。替换表名称为自己需要的特定的表名称。

2023-06-11 17:39:15 426

原创 后台服务接口间大文件的流式发送和读取

使用HTTP协议进行数据流式传输是一种常见的方法。对于大文件数据传输可以使用HTTP的chunked编码或使用多部分响应来实现数据流式传输。【HTTP的chunked编码】在发送数据的服务中,可以将数据切分为较小的块,并使用HTTP的chunked编码将这些块发送给接收数据的服务。接收数据的服务在接收到每个块时可以进行相应的处理。【使用多部分响应】发送数据的服务可以将数据分割为多个部分,并使用多部分响应将这些部分作为独立的消息发送给接收数据的服务。接收数据的服务可以逐个处理这些部分。

2023-06-11 17:11:52 2700 1

原创 关于前后端分离的Cookie的事项

同源策略主要是由浏览器实施的一种安全机制,用于限制不同源(协议,域名,端口)之间的客户端脚本访问。同源策略确实会限制浏览器中前端应用程序对不同源服务器的访问,但在服务器与服务器之间的通信中,同源策略并不适用。

2023-06-11 10:25:28 3544 1

原创 RabbitMQ消息属性详解

在AMQP规范中,message-id和correlation-id是“应用级别使用”的属性,并没有提供正式的行为定义。这意味着就规范而言,你可以利用它们实现任何目的。这两个字段允许多达255个字节的UTF-8编码数据,并以未压缩的方式存储在Basic.Properties数据结构中。

2023-05-31 21:26:46 2367

原创 《心静的力量》读书笔记

我们内心的平静和生活中的种种快乐并不在于我们身在何处,拥有什么,或者我们是什么人,而在于我们的心境如何。

2023-05-21 20:21:01 533

原创 如何在Java中使用同步回调和异步回调

使用异步回调函数的方法是使用 CompletableFuture API。这个强大的 API 在 Java 8 中引入,有助于执行和组合异步方法调用。它完成了我们在前面的示例中所做的一切,例如创建一个新线程然后启动和管理它

2023-04-16 20:24:52 2580 1

原创 通过javassist操作字节码实现MyBatis动态生成DAO的实现类功能

mybatis帮我们简化了通用的实现类的代码,并通过字节码技术在运行期间根据接口和xml文件自动生成了对应的实现类。当前就通过javassist来实现类似的过程。注意上面的代码重点在于原来通过IOC注入的方式是由mybatis提供其实现类,但是现在是通过我们自定义的MyBatisGenerateDaoProxy工具类根据接口创建对应的实现类代码。【1】这里使用的javassist类是mybatis所自行封装提供的类,其所提供的api和javassist所提供的api相同。【4】创建对应的xml代码。

2023-04-06 21:03:13 644 1

原创 ChatGPT使用介绍、ChatGPT+编程、相关组件和插件记录

OpenAI的GPT-3模型为程序员提供了开发接口。要掌握开发接口的使用方法,就得花时间阅读相关的技术文档。如果没有时间阅读文档,也可以用ChatGPT生成示例代码,从而快速了解接口的基本用法。

2023-03-23 21:00:14 7957 1

原创 《Linux是怎样工作的》 读书笔记(二)

Linux通过内核中名为内存管理系统的功能来管理系统上搭载的所有内存。除了各种进程以外,内核本身也需要使用内存。

2023-03-20 21:42:32 310

原创 《Linux是怎样工作的》 读书笔记(一)

Linux借助硬件,使进程无法直接访问设备。具体来说,CPU存在内核模式和用户模式两种模式,只有处于内核模式时才允许访问设备。另外,使设备驱动程序在内核模式下运行,使进程在用户模式下运行。

2023-03-19 21:08:45 442

原创 使用AppSmith(PagePlug )低代码平台快速构建小程序应用实践

Appsmith 是一个开源框架,可让您的团队更快、更协作地构建自定义内部应用程序,如仪表板、管理面板、CRUD 应用程序。PagePlug 是基于 AppSmith 打造的更适合中国开发者的开源前端低代码项目。无需侵入客户架构,直接连接数据源(API、DB),无需学习任何第三方概念,使用基础 js知识就可以快速生成多平台前端应用,包括 PC 端 web 应用、微信小程序等。PagePlug提供的几款模板参考。

2023-03-04 17:26:58 6792 4

原创 Easy-Es框架实践测试整理 基于ElasticSearch的ORM框架

Easy-Es(简称EE)是一款基于ElasticSearch(简称Es)官方提供的RestHighLevelClient打造的ORM开发框架,在 RestHighLevelClient 的基础上,只做增强不做改变,为简化开发、提高效率而生。EE是Mybatis-Plus的Es平替版,在有些方面甚至比MP更简单,同时也融入了更多Es独有的功能,助力您快速实现各种场景的开发.

2023-02-11 20:54:22 2948 6

原创 logstash毫秒时间戳转日期以及使用业务日志时间戳替换原始@timestamp

详细观察内部数据发现其中日志数据有一个timestamp字段保存的是业务日志的毫秒级时间戳,经过和@timestamp数据对比发现二者的时间不匹配。经过分析得知@timestamp是按照logstash插入es数据的时间来排序,而且数据是按照批次来的,每一批次的时间可能都是大径相同,结果就是导致上面描述的一系列问题。

2023-02-11 20:35:42 2206

原创 《技术领导力:程序员如何才能带团队》 读书笔记

一位管理者最重要的是给团队指明方向,包括技术方向和业务方向,还有个人成长方向。与下属相比,领导者的优势不只在于他的专业能力,还在于他的眼光和胸怀。既然选择做技术管理,你就要有成就他人的心胸,同时还要有超出一般人的眼界,能够给予团队正确的方向。同时,要保持对技术的兴趣,多关注新技术的发展,否则你很难在重大的技术决策上做出正确的决定。

2023-02-02 21:49:59 674

原创 工作笔记——微信支付开发相关知识整理

小程序支付是指商户通过调用微信支付小程序支付接口,在微信小程序平台内实现支付功能;用户打开商家助手小程序下单,输入支付密码并完成支付后,返回商家小程序。

2023-01-08 19:40:32 2638

原创 开发检查测试参考文档整理

成长的关键在于总结和反思,为了避免相同的问题重复发生,避免无谓的踩坑,提高工作效率,减少共性BUG的产生。我这里将日常WEB开发中常见的开发注意自测检查事项进行了抽象,整理,分类,希望能够帮助开发人员减少出现这些易错的,常见的开发问题。

2022-12-26 21:19:30 847

原创 OWASP API安全Top 10

OWASP API安全Top 10的发布,第一次在公众视野中理清了API安全的常见问题类型,同时也从API生命周期管理、纵深防御的安全设计思想上,为API安全的综合治理提供了指导方向。当然,作为API安全的第一个版本,也会有它的不足,比如笔者认为API1与API5对问题成因的阐述,没有传统的Web安全中对水平越权、垂直越权的描述清晰,容易导致问题归类划分的混乱,但仍有理由相信,OWASP API安全Top 10对业界的重大意义,未来的版本发布更值得期待。

2022-12-18 16:10:34 989

原创 《API安全技术与实战》 读书笔记 API的前生今世和API安全的演进

API安全是从安全的角度关注API领域的安全问题和这些问题的解决方案,从技术和管理两个层面提高API自身和API周边生态的安全性。

2022-12-18 16:05:58 551

原创 Java脚本化编程实践整理 ScriptEngineManager万字详解

对于多变的计算公式,应用程序扩展/定制:你可以“外部化”应用程序的各个部分,例如配置脚本、业务逻辑/规则和金融应用程序的数学表达式。对于规则引擎类似的功能实现,对于其中的业务流程,动态脚本使用也可以参考使用这种脚本语言特性。下图是Kettle软件工具的截图,可以看到下面有很多的脚本处理方式,Kettle就是Java编写的,我自己就使用过很多次其中的动态脚本的功能,那么对于这类场景来说,我们就可以去使用ScriptEngineManager去帮助我们实现。

2022-12-10 15:07:06 4611

原创 管道模式 流处理

管道这个名字源于自来水厂的原水处理过程。原水要经过管道,一层层地过滤、沉淀、去杂质、消毒,到管道另一端形成纯净水。我们不应该把所有原水的过滤都放在一个管道中去提纯,而应该把处理过程进行划分,把不同的处理分配在不同的阀门上,第一道阀门调节什么,第二道调节什么……最后组合起来形成过滤纯净水的管道。这种处理方式实际上体现了一种分治(Divid and Conquer)思想,这是一种古老且非常有效的思想。接下来,我们来看管道模式的实际应用。一个典型的管道模式,会涉及以下3个主要的角色。(1)阀门:处理数据的节点

2022-12-04 15:26:06 366

原创 Selenium隐藏浏览器和元素截屏实践

在使用Selenium采集网页数据时,需要不断地调用浏览器。实际上,通过对Selenium的设置,可以达到隐藏浏览器的效果。在程序中,对浏览器设置了headless,其作用是实现无界面状态。当设置了隐藏浏览器时也是可以正常进行和之前不隐藏浏览器一样的操作的。// 设置隐藏浏览器模式 firefoxBinary . addCommandLineOptions("--headless");在网络爬虫中,很多网站会采用验证码的方式来反爬虫,例如在登录时设置验证码、频繁访问时自动弹出验证码等。

2022-11-19 10:39:54 1477 1

原创 前端工程化——Livereload和HMR、本地开发服务器

本地开发服务器动态编译功能的目的是为了节省人力、方便前端开发和调试,本质原理是监听+触发。webpack-dev-server是官方提供的用于搭建本地开发环境的一个微型Node.js服务框架,并且提供动态编译、HMR(热更新)等功能。如果你的项目不需要Mock服务,webpack-dev-server完全可以满足需求。但是Mock服务是本地开发服务器不可或缺甚至可以说是最重要的功能,不能舍弃。幸运的是,webpack同时提供了webpack-dev-middleware,它是Express框架的一个中间件,

2022-11-13 09:52:48 691

原创 前端工程化——构建过程中的增量更新与缓存

增量更新策略完美地解决了上述缺陷,实现的方案很简单,将原本作为参数值的hash指纹作为资源文件名的一部分并且删除用于更新的url参数。比如上文提到的代码改为增量更新策略之后的形式如下:

2022-11-13 09:18:57 1175

原创 前端工程化——前后端分离,进化流程

前端工程化不是一个框架或者工具,聚焦的不是某个垂直的研究领域或者特殊的业务类型,而是一种可演化、可扩展的服务,服务的目标是解决前端开发以及前后端协作开发过程中的难点和痛点问题,涵盖项目的起始、开发、测试以及部署环节。工具是前端工程化的实现媒介,规范是工程化的指导方针,工作流程是工程化的外在表现形式以及约束规范的载体。

2022-11-13 08:45:56 839

原创 vue弹窗如何嵌入其它vue页面

对于类似需要根据特定参数动态展示其他组件数据的时候,我们可以通过在可以给子组件传递其他参数,在子组件watch中监听。通过子组件监听参数变量变化从而动态展切换数据。注意子组件渲染只会执行一次created生命周期,如果非要将更改内容写在created中,就要配合 v-if 使用,将子组件用 v-if 包裹起来,每次都重新加载子组件。

2022-11-11 21:16:29 9191

原创 一种通过注解处理数据权限设计整理

【1】如果所示,通过注解和SQL注入变量的方式去处理数据权限,相对于硬编码的方式这样的处理更加简单。【2】因为筛选条件是通过${}变量注入的方式,所以在当前切面需要进行适当的安全处理,避免出现SQL注入的危险。【3】这种的方式需要配合sys_dept这类的单位/部门表进行关联,可能无法适配其他场景,需要进行适当的调整。【4】当前方式是在ORM框架执行前做切面处理的,除此之外,我们也可以通过类似MyBatis的拦截器机拦截执行SQL进行场景处理。

2022-11-10 20:13:17 604

原创 一次关于引入自定义JAR包JDK版本问题总结

【1】本次的问题主要是因为在使用扩展JAR包时不细心,没有仔细检查JDK版本的要求,以后在使用非官方或者自定义的JAR包时要注意这一点,另外,要养成深究问题的思维,要多思考多实践。【2】此外,对于Class文件的版本号一定要有敏感度,比如52对应的是JDK1.8,版本号55是JDK11

2022-11-02 20:19:06 1392

原创 SpringBoot整合Redis实践消息发布订阅特性

发布订阅是消息的一种常用模式。例如,在企业分配任务之后,可以通过邮件、短信或者微信通知到相关的责任人,这就是一种典型的发布订阅模式。首先是 Redis 提供一个渠道,让消息能够发送到这个渠道上 ,而多个系统可以监听这个渠道,如短信、微信和邮件系统都可以监听这个渠道,当一条消息发送到渠道,渠道就会通知它的监听者,这样短信、微信和邮件系统就能够得到这个渠道给它们的消息了,这些监听者会根据自己的需要去处理这个消息,于是我们就可以得到各种各样的通知了。

2022-10-27 20:27:53 1065 1

原创 《完美主义扼杀效率 》读书笔记

所谓时效主义,是指清楚什么时候该下力气,什么时候该放松(专注于最关键的两成),避免做无用功,在有限的时间内实现结果最大化。掌握了这种思维方式,你就能够在更短的时间内,取得更好的成绩

2022-10-26 22:22:39 503

原创 SpringBoot整合Redis流水线实践 大数量批量执行优化

在默认的情况下,Redis 客户端是一条条命令发送给 Redis 服务器的,这样显然性能不高。在关系数据库中我们可以使用批量,也就是只有需要执行 SQL 时,才一次性地发送所有的 SQL 去执行,这样性能就提高了许多。对于 Redis 也是可以的,这便是流水线(pipline)技术,在很多情况下并不是 Redis 性能不佳,而是网络传输的速度造成瓶颈,使用流水线后就可以大幅度地在需要执行很多命令时提升 Redis 的性能。

2022-10-21 22:41:24 607

原创 SpringBoot整合Redis事务特性实践整理

首先 Redis 是支持一定事务能力的 NoSQL,在 Redis 中使用事务,通常的命令组合是 watch… multi…exec,也就是要在一个 Redis 连接中执行多个命令,这时我们可以考虑使用 SessionCallback 接口来达到这个目的。

2022-10-21 21:29:45 569

原创 RPA在政企行业的应用

在新时代具有中国特色的智慧政务中,RPA将会发挥很大的作用:一方面,它可以提高工作效率,减少基层工作人员的工作负担;一方面,它可以更好地监督基层工作人员的工作方式,以实现对国家制度执行情况的监督。

2022-10-12 20:05:51 902

原创 RPA设计实施、开发和单元测试

RPA的设计、开发和单元测试是RPA项目实施的核心阶段。这个实施过程并非是遵循传统的瀑布式软件开发方法,而是遵循敏捷方法论,采用冲刺Sprint和迭代增量Scrum相结合的方法。Sprint指的是一次冲刺迭代,通常是以最快的速度完成一次开发任务的时间周期。Scrum包括一系列最佳实践和预定义角色的管理过程,是一种更高效开发软件的管理方法。

2022-10-12 20:03:32 4579 2

原创 RPA相关技术解析

RPA相关技术解析(抓屏技术,RPA处理不了三种情况,模拟鼠标和键盘技术,Office自动化,对Windows原生应用的自动化,电子邮件自动化,工作流技术,OCR技术,自然语言处理,业务规则引擎,其他自动化处理技术,用于决策判断的相关技术,知识库系统,基于数据的决策,RPA与人工智能技术的结合)

2022-10-12 20:00:48 4093 3

crypto-js.zip

crypto-js前端安全工具

2021-11-14

layui中文离线文档.rar

layui中文离线文档.rar

2021-10-27

JetBrains-IDE-Support(v2.0.10).crx

IDEA调试JS浏览器插件

2021-06-02

2021年最新省市区县编码.rar

2021年最新省市区县编码

2021-03-17

Spring Cloud微服务实战

《Spring Cloud微服务实战》从时下流行的微服务架构概念出发,详细介绍了Spring Cloud针对微服务架构中几大核心要素的解决方案和基础组件。对于各个组件的介绍,《Spring Cloud微服务实战》主要以示例与源码结合的方式来帮助读者更好地理解这些组件的使用方法以及运行原理。同时,在介绍的过程中,还包含了作者在实践中所遇到的一些问题和解决思路,可供读者在实践中作为参考。

2020-11-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除