- 博客(78)
- 资源 (9)
- 收藏
- 关注
原创 网站标签页图标如何添加
Web应用清单是一个JSON文件,用于定义网站在用户设备上的表现,包括图标、名称等信息。虽然Favicon主要用于浏览器标签页,但它也会在某些情况下影响桌面图标。如果用户通过应用内的分享功能将链接发送到桌面,应用通常会使用应用图标作为默认图标。通过以上方法,可以有效设置网站或应用分享到桌面的图标,提升用户体验。如果需要自定义,可以在应用的。: 在网站的HTML文件的。
2025-01-31 17:20:31
1254
原创 黑白名单方案
设计一套灵活的黑白名单机制,要求无需修改代码即可修改黑白名单逻辑的切换。使用场景如下,比如原先一个新功能上线,我们期望给部分企业使用;等功能成熟后,我们一般会开放给所有的企业一起使用,但是好巧不巧,一家企业不愿意使用这个功能。我们不可能给每一个企业配置白名单。这样,我们就需要一个黑名单功能,即实现单独给不愿意使用新功能的企业单独配置一个名单。为了不修改代码,我们只需要修改名单类型,配置相关名单的企业就好了。
2024-03-10 16:00:29
559
原创 Mybatis-plus神技:公共字段填充
是 MyBatis-Plus 提供的一个强大的接口,用于处理实体类公共字段的自动填充。通过实现此接口,我们可以极大地简化对于创建时间、更新时间等字段的处理逻辑,使得代码更加简洁,并且保持了一致性和可维护性。这种自动填充功能是 MyBatis-Plus 的一大特色,能够有效地提升开发效率。在实践中,我们可以根据实际的业务需求来自定义填充策略,使其更贴合项目的需求。
2024-03-10 09:43:48
824
原创 ES高级用法:DeleteByQueryRequest
- 希望以上示例代码能够帮助你在Java中使用Elasticsearch的Rest High Level Client执行delete_by_query操作。- 另外,谨慎使用立即刷新策略,特别是在高吞吐量的生产环境中。祝你在使用Elasticsearch时顺利无阻!
2023-12-30 19:13:44
2190
原创 再聊canal的FlatMessage和事务之间的关系
不同事务的FlatMessage的id可能是不同的,而相同id的FlatMessage不一定来自同一个事务。类比到日记本的例子中,FlatMessage的id就像是日记本中写满纸张的页码。
2023-11-11 21:33:22
437
原创 尝试一下Guava带返回值的多线程处理类ListenableFuture
与普通的Future不同,ListenableFuture提供了一种更加灵活且易于使用的方式来处理并发操作。ListenableFuture主要用于异步计算场景,允许在计算完成后添加回调函数(Callback),从而实现对异步任务执行结果的监听和处理。总之,ListenableFuture提供了一种更加灵活、高效且易于使用的方式来处理并发操作和异步任务。它允许开发者在计算完成后添加回调函数,从而实现对异步任务执行结果的监听和处理。这篇博客的时候,没有找到比较好的一个学习demo,故在此整理一下。
2023-08-05 08:23:04
992
原创 使用es必须要知道的一些知识点:索引篇
如果你的批量太大,它们会占用过多的内存。分区规则不一致:不同的索引模板可能具有不同的分区规则,例如按时间分区、按地理位置分区等。当批量处理器处理多个索引模板的请求时,如果分区规则不一致,会导致数据在不同的分区之间不均匀分布,影响查询性能和数据的存储效率。当Elasticsearch被用作大数据量存储中心时,尤其是从Mysql迁移数据进来的情况下,我们很多场景下其实无需对字符串分词,也就是说字符串存储不使用es中的。管理复杂性:处理多个索引模板的请求会增加管理的复杂性,包括索引模板的创建、更新和删除等操作。
2023-07-23 16:36:18
6335
原创 es BulkProcessor踩坑记录:es索引模板生成索引分区不正确
BulkProcessor 是 Elasticsearch 的一个高级客户端 API,它允许您在一次批量操作中执行大量的索引、更新和删除请求。索引模板分区结果为什么会不正确?本文给你答案
2023-07-01 21:02:38
955
原创 Mysql事务隔离级别是怎么实现的?
Mysql的事务隔离级别是由Mysql的各种锁以及MVCC机制来实现的。不同隔离级别存在的问题:在Mysql Innodb存储引擎下,RC、RR是基于MVCC(多版本并发控制)进行并发事务控制的。先来看一个问题,先想一下在不同隔离级别下,事务D读取到的内容是什么?Undo Log版本链RC隔离级别时的ReadView:修改隔离级别完整设置语句案例:设置全局隔离级别为读提交级别。隔离级别演示Mysql事务操作Mysql事务开启有两种方式:InnoDB里面每个事务有一个唯一的事务ID,
2022-12-06 07:30:00
972
原创 按规范初始化的服务器
拿到一台Linux服务器后,我们最好做一些初始化,以便在未来使用的时候能够更加顺手。每一个团队都应该形成各自的服务器管理规范,从而为自动化做好准备,同时也方便内部的沟通、协调……
2022-12-05 07:30:00
245
原创 互联网大厂的建表规范
顺便提一下,使用过Mybatis-plus的同学应该知道,Mybbatis-plus基于Mybatis的拦截器功能,实现了用户信息的自动转换,从而避免手工设置基础属性的值)每个业务系统从需求到实现,都会经历逻辑模型到物理模型的转换。每个团队都应统一术语,从而避免沟通交流中存在鸡同鸭讲的局面。对于命名,并没有很严苛的规定,但在同一个应用中,建议风格统一。...
2022-09-01 16:33:45
501
原创 Zipkin-mysqlConnector8.0 sql拦截器
Connector8.0 sql拦截器官方提供了2个java文件:TracingExceptionInterceptor.java/* * Copyright 2013-2020 The OpenZipkin Authors * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License..
2022-05-07 16:27:15
2873
原创 Sentinel限流规则使用总结
Sentinel限流/熔断规则目前Sentinel支持以下三种限流/熔断规则:基于资源限流(Flow Rule)、系统自适应限流(SystemRule)、系统熔断降级(DegradeRule),sentinel还支持基于授权的限流(AuthorityRule),其父类为AbstractRule。网关限流原理另外,Sentinel还支持网关限流,说到底就是Filter限流,控制限流资源范围。其实现原理为为Servlet添加了一个CommonFilter,doFilter方法如下:public void
2022-04-01 23:02:16
5312
2
原创 使用Axure+svn+httpd搭建自己的在线画图工具
文章目录一、为什么要画图?二、Axure团队项目搭建三、Axure团队项目拉取四、搭建Apache服务使用http协议访问svn安装httpd配置httpd添svn.conf配置配置http用户名密码认证文件 `/data/work/svn/passwdfile`配置/etc/httpd/conf/httpd.conf设置防火墙和Selinux设置权限测试http方式访问svn总结一、为什么要画图?随着经验、软件复杂程度的提升,我们程序员也一定会越来越注重文档编写,文档写过程中呢,我们就不可避免的要去
2022-03-20 13:12:30
3147
原创 你的公司适合建设业务中台吗?
文章目录一、为什么要使用中台二、业务中台是怎么支撑业务的?有何优缺点?中台抱大业务的大腿,小业务抱中台的大腿中台并不总是能够提炼共性需求中台的"轮子”会不断变化,业务被动升级中台是某类业务的中台三、中台实施可以达到什么样的效果?中台的效果,我认为是这样的中台的效果,实际上是这样的四、对建设中台的几个建议五、QA平台和中台有什么区别?一、为什么要使用中台可以让各业务部门保持相对的独立和分权,保证对业务的敏感性和创新性;另一方面,用一个强大的平台来对这些部门进行总协调和支持,平衡集权与分权,并为新业务新部门
2022-02-26 08:00:00
550
原创 使用ssh隧道“升级”你的堡垒机网络
一、什么是隧道?用子涵的大白话来讲,隧道就是一种代理转发机制,其基本步骤为:创建代理:把堡垒机的能力,在本地PC创建一个代理服务;代理服务使用:本地PC或其他PC则可以直接使用代理服务,实现堡垒机的功能。二、ssh隧道使用场景首先我先介绍两种常见的使用ssh隧道的场景:2-1 解决访问内部应用1、PC是开发者电脑,Server是内网服务器;2、PC连接VPN后,可以访问Server1,但无法访问Server2-4中的服务。如果我们想在VPN环境中访问Server2-4的服务该怎么办?
2022-02-18 10:31:55
1672
原创 Netty池化内存分配流程详解
文章目录Netty内存分配Netty内存分配对象Netty内存池化过程Netty内存划分——Arena参考资料Netty内存分配如果是在堆上分配内存空间将会触发频繁的 GC,在堆外内存使用方面,Netty 自己实现了一套创建、回收堆外内存池的相关功能。本文是围绕Netty堆外池化内存的分配流程,总结了Netty是怎么向操作系统申请内存的?Netty申请到内存之后又是怎么管理的?Netty内存分配对象ByteBuf是Netty整个结构里面最为底层的模块,主要负责把数据从底层I/O读到ByteBuf,
2022-01-05 22:26:50
932
原创 Elasticsearch:如何基于Script实现按照text属性值的字符串长度排序
Elasticsearch Script脚本使用填坑,如何基于Script脚本实现text属性按长度的排序规则?
2021-12-18 11:07:03
2980
原创 Git指北:提交不上去的分支
文章目录背景说明操作步骤1. 查分支状态2. 建新分支dev3. 拉取已有分支4. 合并到当前分支5. 验状态背景说明同事有个git项目不能在IDEA中push,分支显示是灰色的,也不能切换分支。分支信息显示为:HEAD->d6b079ff。操作步骤经过一番探索,此类问题解决方式如下:1. 查分支状态查看分支状态,显示不在任何分支上——“Not currently on any branch”:E:\dwlijx_code\crm_pro>git statusNot curren
2021-11-01 20:52:10
1805
原创 CanalClient:认识Message和FlatMessage
概念与总结Message和FlatMessage什么区别?Message和FlatMessage都有各自对应的Handler。FlatMessage在网络中传播过程中是一个json;而Message比较接近字节码数据,传输效率高,但需要反序列化;public class Message implements Serializable { private static final long serialVersionUID = 1234034768477580009L; priv
2021-10-27 10:21:25
2830
原创 接过火炬,升级canal-client-springboot-starter,一个支持rabbitmq的CanalClient
探索之路升级canal.client支持rabbitmqcanal-client-springboot-starter引用jar包canal-client升级1.1.5。<dependency> <groupId>com.alibaba.otter</groupId> <artifactId>canal.client</artifactId> <version>${canal-client.version}
2021-10-26 15:50:55
1415
原创 CanalClient卡死宿主服务原因分析
文章目录背景说明GC日志canal Server日志jstack查看dump日志解决方案临时解决方案:最终解决方案:背景说明数据库进行大批量数据更新的时候,会导致集成Canal client所在的服务无响应。首先,大批量的数据更新一定是会超过单个节点的负载能力的;但是,我们此篇就是要分析一下到底是什么地方导致了服务无响应的问题。首先先查看了CPU、内存信息,没有问题。当时怀疑了两个点:线程死锁;GC时间太长。GC日志查看进程的GC状态,也没有问题。[root@localhost zhe
2021-10-15 13:44:15
1155
转载 七种方式在SpringBoot初始化时搞点事情
文章目录二、容器刷新完成扩展点1、监听容器刷新完成扩展点`ApplicationListener`基本用法易错的点高阶玩法2、`SpringBoot`的`CommandLineRunner`接口3、`SpringBoot`的`ApplicationRunner`接口二、Bean初始化完成扩展点1、`@PostConstruct`注解2、`InitializingBean`接口3、`@Bean`注解的初始化方法4、通过构造函数注入Bean初始化完成扩展点执行顺序?我们经常需要在容器启动的时候做一些钩子动作,
2021-09-28 17:14:24
224
原创 es基于ik分词器“长”关键字wildcard匹配不到数据
文章目录问题描述问题分析mapping分词器设置分析猜想修改属性配置总结问题描述用一句话总结问题便是:使用ik分词器,“长”关键字wildcard搜索不到数据。最终解决方法是没有再使用ik分词器匹配,如有朋友们有更好的方案,欢迎留下您的脚印????????。POST /lpm-company-dev/_search{ "query":{ "bool" : { "must" : [ { "bool" : { "shou
2021-09-24 16:46:42
3623
原创 Anaconda环境安装问题
文章目录Anaconda环境安装问题问题1:current_repodata.json找不到解决方案问题2:ssl模块不可用Anaconda环境安装问题问题1:current_repodata.json找不到新建conda环境报错C:\Users\Lijx>conda create -n pytorch python=3.7Collecting package metadata (current_repodata.json): failedCondaHTTPError: HTTP 00
2021-08-15 19:57:58
4354
3
原创 Netty堆外内存泄漏如何应对?
文章目录一、背景二、Netty堆外内存回收机制什么是堆外内存?Netty堆外内存回收机制具体如何?如何回收?三、堆外内存监控配置反射监控堆外内存服务器上监控堆外内存四、其他案例一、背景开发过程中,我们遇到了堆外内存泄漏的问题——服务会出现假死现象(看似服务进程还跑着,但是没有业务响应)。查看logback的error日志中记录下下面的信息:[location-center:192.168.5.14:8017] [,] 2021-07-27 09:38:39.640 ERROR 53950 [lett
2021-08-11 12:29:45
1636
原创 @RequestParam、@RequestBody不够用?一起来看Springboot如何自定义参数解析器
文章目录场景自定义注解解析接口入参1. 添加自定义注解2. 定义参数解析器3. Spring注入参数解析器使用方法参考资料场景Springboot参数接收方式,提供了@RequestParam、@RequestBody,还有@RequestAttribute、@PathVariable。但是有的时候,接口入参只需要一个参数,如果将一个参数封装成一个对象显得有些麻烦且没有必要。我么可以通过自定义注解实现,参数的自动解析和赋值。自定义注解解析接口入参1. 添加自定义注解import java.lang
2021-08-10 16:10:50
967
转载 Nacos多环境下如何“管理”及“隔离”配置和服务
文章目录前言Namespace如何进行配置和服务的管理、隔离创建和获取NamespaceIDNamespace实施方案1Namespace下新建配置文件创建项目启动工程Namespace实施方案2场景描述新建Namespace和配置文件修改项目的配置文件bootstrap.yml启动项目问题描述总结参考与感谢前言前景回顾:Nacos(五):多环境下如何“读取”Nacos中相应环境的配置Nacos(四):SpringCloud项目中接入Nacos作为配置中心现如今,在微服务体系中,一个系统往往被
2021-07-02 10:04:54
559
原创 用什么手段可以把linux服务器的CPU跑在50%左右?
文章目录需求背景用什么手段可以把CPU跑在50%左右?1-1 创建Python死循环任务1-2 创建cpu任务需求背景项目初期申请的服务器资源,其实很难得到充分的使用。今天收到客户说要进行服务器使用率的检查,否则就要进行降配处理。需求虽然不常规,但存在即合理。用什么手段可以把CPU跑在50%左右?实现思路:分配50%CPU给cgroup任务;然后把该资源组分配给死循环进程。实现步骤:1-1 创建Python死循环任务centos7自带python2.7,所以我们使用Python
2021-06-28 18:28:03
2841
2
原创 2-2 Byte数组与缓冲区基础
文章目录第一节 byte数组基础一、Byte数据类型数据转换数组截取数组合并第二节 缓冲区基础一、缓冲区基础limitposition(位置)mark(标记)二、非直接缓冲区和直接缓冲区非直接缓冲区直接缓冲区第一节 byte数组基础一、Byte数据类型Bit 意为"位"或"比特",是计算机运算的基础单位;Byte 意为"字节",是计算机文件大小的基本计算单位。1 bit 就是1位二进制数,比如 1 或者 0;1 Byte 就是 1 个字节,1 个字节是由8个二进制位组成的。比如1111111,000
2021-06-09 21:49:04
863
原创 2-1 Socket家族的基石
文章目录一、什么是 socket?Socket通讯的基础流程缓冲区(Buffer)单播、广播、多播二、Socket的基础操作ServerSocket类Socket说起905.4王国,Socket家族可谓功不可没。可以这么说,没有Socket家族的技术背景,905.4王国根本无从谈起。本节总结一下,我们在学习Socket编程的时候,需要知道的一些基础性概念。一、什么是 socket?socket 的原意是“插座”,在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定
2021-05-28 23:07:21
167
原创 1-2 认识905.4王国的交流规范
遥知兄弟登高处,遍插茱萸少一人。在计算机技术栈的世界里,其实也有故事。今天就让我们来一起窥探这个IT技术界JT/T 905.4-2014王国(以下简称905.4王国)的生存故事。核心功能通信方式905.4王国是个纪律严明的国度,长久以来,便形成了有问必答的一个交流方式。不像人类那么复杂,会因为情绪的问题刻意避开问题,显得那么不礼貌。这个王国有总是会分为两个派系,Server(上级平台)和Client(下级平台)。一个无休止的问,一个无休止的答。上级平台与下级平台之间应采用面向连接的链路通.
2021-05-25 22:42:18
162
原创 1-1 前言 为什么要学习Socket编程
文章目录课程介绍实战案例课程特点章节介绍学习方法结束语课程介绍学习本课程,你将收获:轻松理解Socket编程中的核心概念及应用场景;快速而整体掌握Socket中的在项目中的实际应用案例;解读并通过编码实现交通部905.4-2014数据交换协议核心逻辑;你好,我是子涵,大学主修通信工程,互联网公司工作近8年,现任上市公司软件技术架构师一职。经过多年的摸爬滚打,深深的体会到学习编程的最好方式就是通过项目历练,才能更好的“打怪升级”。子涵认为,作为一个IT人,对技术的关注点除了从SSH、SSM等
2021-05-20 23:31:59
277
原创 阿里云ACP考试复习心得,文末送福利~
本节就和大家聊一下,ACP考试的一些心得。获取相关复习材料的同学可以查看另一篇《菜鸟架构师爆肝分享!云计算ACP考试学习资料!!》。对于考试,我们都会有一些原始紧张????在里面的。上班累如狗,还得ACP。一次考试不光是对注意力的一种考验,甚至是体力。题型变化笔者是在2021年4月参加阿里云ACP考试的,差不多集中复习是在最后半个月,利用下班时间完成复习的,最终获得了91分的成绩。考试过程中发现,题目把判断题取消了,现在的题目组成是这样的:60题单选,40题多选,每题1分,80分通过。有题库中的考
2021-05-04 11:19:38
686
5
原创 没错,我把这个协议(JT/T 905.4-2014)实现了!
文章目录905.4-2014协议协议约定内容技术要点第一次遇到和客户做数据对接,客户不需要提供任何接口的场景……905.4-2014协议905.4-2014协议,是交通运输部公路科学研究院起草定制的一个协议标准,它也是基于TCP之上的一个应用层传输协议。协议详情,请参考此文。谈谈我对这个协议的理解。首先,我们知道,互联网的数据是由0和1构成的,我们在浏览器中能看到对应的数据,是因为浏览器接收的数据遵循了一定的规范,专业点讲就是协议。http协议就是这样的一个协议,它把传输在网络中的数据变得
2021-04-28 21:56:49
1906
原创 nginx动静分离中的雷,你踩过吗?
今天子涵先生见到了另外一种动静分离的配置方式,nginx产生了诡异的问题,配置的静态资源无法访问了!今天老板又从客户那里带来了告急问题~说主页访问不了经过nginx的排查,发现连静态页面都无法访问。经过仔细的排查、测试,终于真相大白。带雷的配法该服务中的nginx是这样配置的,我们把它称为配法一:server { listen 80; server_name xxxxx.cn www.xxxxx.cn; location / {
2021-04-22 23:23:53
189
从NIO到Netty,编程实战出租车905协议-08172347.pdf
2021-06-11
xls转换为xlsx的exe工具
2020-10-06
VirusBroadcast-master.zip
2020-02-07
omohfhadnbkakganodaofplinheljnbd-1.5.1-Crx4Chrome.com.crx
2019-07-31
hive-jdbc-0.7.0-pentaho-1.0.2.jar解决kettle取hive数据乱码
2015-12-21
小草手把手教你LabVIEW仪器控制
2014-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人