自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 Grafana隐藏左侧菜单栏的同时,显示搜索框

Grafana的 URL链接,后缀加上这个**&kiosk=full**,隐藏左侧导航栏的同时,搜索框可以正常显示。

2023-11-21 15:20:51 350

原创 grep搜索日志中的多个关键字技巧

在这些示例中,将’关键字1’、‘关键字2’、'关键字3’替换为你实际要搜索的关键字,将’源文件’替换为要搜索的目标文件的路径和文件名。该命令将匹配包含同时出现"关键字1"和"关键字2",或者包含"关键字3"的行。该命令将匹配包含同时出现"关键字1"和"关键字2",或者包含"关键字3"的行。该命令将匹配包含同时出现"关键字1"和"关键字2"的行。该命令将匹配包含"关键字1"或"关键字2"的行。多个关键字组合使用时,表达and关系,使用。* 表达or关系,使用。

2023-11-10 18:04:31 2477

原创 IDEA版本升级后Git拉取和推送的标签消失

题外话,如果不喜欢新的UI,可以切换回旧版本,不过新版本的界面更简洁,熟悉一分钟就感觉不想用就版本啦。最近升级IDEA版本到IntelliJ IDEA 2023.1.2,启用了新UI,经过一番查询,新版本IDEA可以自定义TouchBar。点击OK,就可以啦,右上角的熟悉图标就又回来啦。变成了下面这个样子,按钮消失了。在右上角空白处鼠标右键,会出现。注意选择前面带箭头和标识的。之前经常使用的GIt。添加之后就会出现在下方。,弹出自定义框,选择。

2023-06-15 19:59:03 4300 2

原创 高并发解决方案

稳定性:在处理高并发时,要注意系统的稳定性和可靠性。如果系统崩溃或者出现故障,将会给用户带来很大的影响。异步处理:采用消息队列等异步处理方式,将请求分发到不同的服务节点进行处理,提高系统的稳定性和吞吐量。代码优化:对核心代码进行优化,减少计算复杂度,减少数据库查询次数等,提高系统性能。负载均衡:通过负载均衡技术,将访问请求分摊到多个服务器上,避免单一服务器过载。增加服务器资源:通过增加服务器数量或者升级硬件,提高系统的容量和吞吐量。缓存:采用缓存技术,将经常访问的数据缓存在内存中,提高数据访问效率。

2023-05-26 17:12:15 205

原创 kafka业务最佳实践分享

项目主要为数据采集、数据分析与数据可视化三部分,主要使用kafka的rocketmq作为消息中间件。

2022-09-26 14:30:09 527

原创 内存分页,list或者set结果分页

在一些系统接口对接过程中,往往需要调用别人的接口并进行封装,但是返回的数据量又特别大,前端要求分页显示,这时只能将数据聚合后,在内存中进行分页。pageSize 每页数量(最小 1,最大 100)pageNo 页码(从 1 开始).........

2022-08-16 15:57:41 592 2

原创 freemarker模板生成的html转图片

freemarker模板代码大致过程:组装Model数据,加载freemarker模板,生成Html文件,再将Html文件转成图片(可以设置图片的长和宽,字体等)效果

2022-06-15 20:48:29 1485

原创 Ubuntu执行shell脚本,Syntax error: “(“ unexpected

问题描述环境:Linux#29~20.04.1-Ubuntu SMP Fri Jan 14 00:32:30 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux在Ubuntu环境安装TDengine客户端,执行安装脚本时,提示 “./install_client.sh: 73: Syntax error: “(” unexpected”错误原因1、按照提示,查看第73行代码,语法也没什么问题2、思考可能是 #!/bin/bash解释器有问题通过 sh ./i

2022-03-30 10:49:32 2500 1

原创 TIDB表达式索引

使用MySQL数据库,并有SQL优化经验的开发者都知道,在字段上使用函数,是无法走索引的,最近使用TiDB数据库,发现有个概念叫做 “表达式索引”在一些场景中,查询的条件往往是基于某个表达式进行过滤。在这些场景中,一般的索引不能生效,执行查询只能遍历整个表,导致查询性能较差。表达式索引是一种特殊的索引,能将索引建立于表达式上。在创建了表达式索引后,基于表达式的查询便可以使用上索引,极大提升查询的性能。假设要基于 lower(col1) 这个表达式建立索引,示例的 SQL 语句如下:CREATE I

2021-12-10 09:48:32 1441

原创 zsh: no such file or directory: Volumes/xxxx/安装

提示 zsh: no such file or directory: Volumes/xxxx/安装。这通常是因为您安装了 Oh My Zsh 但是没有更新用户配置环境导致的。打开终端,然后执行一下以下命令,执行完成退出终端然后再重新运行一下终端让其生效即可。PATH=/bin:/usr/bin:/usr/local/bin:${PATH} ...

2021-12-10 09:16:21 6041

原创 Grafana通过Teams设置用户组,来管理dashboard的权限

Grafana通过Teams设置用户组,来管理dashboard的权限1、创建团队 Configuration–>New Team2、添加成员 点击团队–>Add member3、为团队设置dashboard权限,进入Dashborad,进入dashborad设置–>Permissions–> Add Permission...

2021-09-26 10:31:12 1703

原创 MySQL大表添加字段: The table ‘xxxx‘ is full 或者 Incorrect key file for table ‘xxxx’; try to repair it

问题现象:当给MySQL大表添加字段时ALTER TABLE tbl_account ADD create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间';ALTER TABLE tbl_account ADD update_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间';报错 Th

2021-08-03 18:05:27 503

原创 RuntimeError: No application found. Either work inside a view function or push an application contex

python + flask + flask-sqlalchemy 实现mysql数据库操作python编写测试用例,用于实现MySQL的查询测试用例如下:class MySQLTest(unittest.TestCase): def test_queryAll(self): uas = db.session.query(UserAgent).all() self.assertIsNotNone(uas) for ua in uas: pri

2021-07-19 19:42:00 2230 2

原创 MySQL 事务与MVCC

MySQL 事务与MVCC事务的特性在MySQL中原子性:通过undo日志保证隔离性:通过MVCC保证一致性:通过原子性和隔离性保证数据一致性持久性:通过redo日志保证隔离级别在并发事务执行过程中,可能会出现对事务的一致性产生不同程度影响的现象:脏读、不可重复读、幻读如果同一时刻最多只允许一个事务运行,当前事务完成之后,其他事务才能执行,那么就不会出现上述问题了,但是性能就会非常差。为了解决这些问题 ,需要牺牲一些隔离性来保证并发执行的性能,因此SQL标准规定了一些隔离级别来解决上

2021-04-04 23:11:06 107

原创 高并发系统设计

系统性能优化在系统上线后期,随着用户量的增加,对接系统增加,系统性能问题也逐渐暴露出来,主要的表现为接口响应时间变长在使用集中时间段并发量过高时系统报错逐渐增最近负责系统性能优化,并产生了不不错的效果,最近抽时间做了一些总结定位系统性能问题使用Jmeter进行业务流程接口压测, 使用Arthas定位性能瓶颈,发现主要耗时集中在数据库性能优化方式通过arthas的trace命令,查看接口方法调用链,耗时主要集中在数据库数据库方面的优化方式索引优化对where子句和order by

2021-03-27 21:54:40 120 2

原创 junit-vintage-engine和junit-jupiter-engine之间的区别?

通过Spring Initializr生成的SpringBoot项目spring-boot-starter-test 都会排除 junit-vintage-engine依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId></artifactId> <scope>test</scope&gt

2021-03-17 15:35:27 5796 2

原创 Spring Boot和Spring Data Elasticsearch和Elasticsearch 版本对应关系

版本对应关系Spring BootSpring Data ElasticsearchElasticsearch2.4.x4.1.x7.9.32.3.x4.0.x7.6.22.2.x3.2.x6.8.122.1.x3.1.x6.2.22.0.x3.0.x5.5.01.5.x2.1.x2.4.0参考链接: springboot官网

2021-03-04 16:55:54 2415 1

原创 “You are not allowed to push code to protected branches on this project.”

问题描述代码提交到Git上,我可以正常push代码, 但是同事无法push,并提示报错“You are not allowed to push code to protected branches on this project.”问题定位登录gillab查看项目管理者身份,我的身份是Maintainers同事的身份是Developers问题解决Since GitLab 9.0Project: “Settings” -> “Repository” -> scroll down t

2021-03-02 18:11:55 27907

原创 MySQL复合索引

MySQL调优最直接的方式就是优化索引在单个列上创建索引相对简单,通常只需要考虑列的选择率即可,选择性越好,代表数据越分散,创建出来的索引性能也就更好在2个以上的列上创建的索引称为复合索引。复合索引创建的难点在于字段顺序选择如果存在等值查询和排序,则在创建复合索引时,将等值查询字段放在前面,排序放在最后面;如果存在多个等值查询,则选择性好的放在前面,选择性差的放在后面;如果存在等值查询、范围查询、排序。等值查询放在最前面,范围查询和排序需根据实际情况决定索引顺序;此外,《阿里巴巴Java开发手

2021-02-04 10:34:29 305

原创 java虚拟机参数 -D、-X和-XX的区别

JVM配置参数之(-D、-X、-XX的区别)最近在学习jvm调优相关的内容, 一直有一个疑问,为什么有些参数是以-X开头的,有些是以-XX开头的,还有-D开头的?通过查询资料、总结如下-XX说明:标准选择(Standard Options)这些是 JVM 的所有实现都支持的最常用的选项。These are the most commonly used options that are supported by all implementations of the JVM.示例:例如以

2021-01-21 14:08:24 3853 1

原创 int和Integer(== 和 equals的区别)

本篇文章先从一道题目开始 int a = 100; Integer b = 100; System.out.println(a == b); // true Integer a1 = 101; Integer b1 = 101; System.out.println(a1 == b1); // true Integer a2 = 200; Integer b2 = 200; System.out.println(a2 == b2);

2021-01-14 16:26:01 531

原创 SQL面试题

一道美团SQL面试题目,掌握SQL大部分关键字题目描述SQL解答易错点)题目描述学生表(STUDENT)ID(pk)STUDENT_NOSTUDENT_NAME11001王明21002李涛31003刘雨41004赵欢成绩表(SCORE)ID(pk)STUDENT_ID(fk)CLASS_NAMESCORE11语文9021数学9031英语9042语文6052数学

2021-01-13 16:18:20 178

原创 Leetcode83-删除排序链表中的重复元素

83. 删除排序链表中的重复元素难度 简单给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例1:输入: 1->1->2输出: 1->2示例2:输入: 1->1->2->3->3输出: 1->2->3示例 3:输入: 1->1->1输出: 1解题public static ListNode deleteDuplicates(ListNode head) { ...

2021-01-12 14:18:53 67

原创 library source does not match the bytecode for class

library source does not match the bytecode for class在IDEA中阅读代码时,时常会跟踪到jar包源码层面,会点击Download Sources,源码包就会被下载到idea中但是当pom.xml引入了新的版本,此时,再次阅读源码时,就会提示”library source does not match the bytecode for class“库源与类的字节码不匹配原因是:源码文件(xxx-sources.jar)和字节码文件(x..

2021-01-12 09:20:29 6833 3

空空如也

空空如也

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

TA关注的人

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