自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一万个小时

世界上没有一蹴而就的成功

  • 博客(194)
  • 收藏
  • 关注

原创 记一次跨域问题

CORS

2024-05-14 17:54:00 156 2

原创 记一次处理大数据而导致的内存溢出问题

JVM内存溢出分析

2023-11-26 21:43:02 668

转载 使用StopWatch优雅的输出执行耗时

sw.stop();输出1009以后我们统计代码执行效率建议大家都使用这个工具来进行输出,不需要在starttime、endtime再相减计算,用优雅的方式来完成这件事情。参考。

2023-09-27 11:37:29 248

原创 在master分支进行代码回滚

要回滚master代码,要在master分支上进行reset,其他分支进行reset时,会提示git push提交出现Everything up-to-date提示问题;错误:无法推送一些引用到 ‘gitlab*********.git’总共 0(差异 0),复用 0(差异 0),包复用 0。

2023-09-26 15:28:17 433

转载 iterm2 保存账号密码

脚本#!/usr/bin/expectset timeout 30spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex $argv 2]expect { "(yes/no)?" {send "yes\n";exp_continue} "password:" {send "[lindex $argv 3]\n"}}interact这里[lindex $argv 0] 、 [

2022-03-04 16:00:05 843

原创 No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-netflix-ri

记一次版本冲突导致的问题:java.lang.IllegalStateException: No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-netflix-ribbon?产生过程:项目从dubbo改为feign,但是由于Spring Boot、feign版本各个项目不一致,导致feign接口调用报错:java.lang.IllegalStateException: No

2022-02-23 16:05:43 1919

原创 Sentry服务搭建及Sentry-SpringBoot配置

准备工作查看内核版本:cat /proc/version查看系统版本:lsb_release -a安装docker:CentOS系统安装docker安装docker-compose:安装与卸载安装过程问题一:ERROR: Package ‘pyrsistent’ requires a different Python: 2.7.8 not in ‘>=3.5’解决:执行——sudo pip install pyrsistent==0.16.1 参考地址如果还不行,就进行p

2021-11-05 16:39:28 863

原创 MyBatis-Plus updateById方法更新不了空字符串/null解决方法

问题:分成维护中要保存快照信息,所以要更新空字符串/null数据解决办法:@ApiModelProperty(value = "分成人ID")@TableField(value = "share_person_id", updateStrategy = FieldStrategy.IGNORED)private String sharePersonId;@ApiModelProperty(value = "分成人姓名")@TableField(value = "share_person_nam

2021-09-30 16:54:14 207

原创 实战之MySQL语法错误:1093 - You can‘t specify target table ‘jy_declaration_share‘ for update in FROM clause

错误SQLupdate jy_declaration_share set city_name = null where id in (select id from jy_declaration_share where city_name like '%成都%');错误信息1093 - You can’t specify target table ‘jy_declaration_share’ for update in FROM clause错误分析不能在 FROM 子句中指定目标表 ‘jy_de

2021-09-13 17:46:31 90

转载 实战之MySQL根据时间范围查询

数据展示YYYY-MM-DD HH:mm:ss格式查询写法一:select * from user where create_time between '2020-01-01 00:00:00' and '2020-02-01 00:00:00';写法二:select * from user where create_time >= '2020-01-01 00:00:00' and create_time < '2020-02-01 00:00:00';非YYYY-

2021-09-13 14:45:53 1782

原创 实战之MySQL统计两个时间段的平均时长

需求背景PM需要统计不同地区的折佣的审批的平均时长。SQL答案SELECT '七月', '非身份≥8折', cd.region_id as 地区ID, cd.region_name as 地区, COUNT(cd.commission_discount_num) as 单数, AVG(TIME_TO_SEC(timediff(cd.finish_time, cd.create_time))) as 平均审批时间 from jy_commission_discount cd, qy_contract

2021-09-13 14:27:44 1876

原创 vim复制多行

开发工具 在vim 中快速复制粘贴多行将光标移动到要复制的文本开始的地方,按 v 进入可视模式。将光标移动到要复制的文本的结束的地方,按 y 复制。 此时vim 会自动将光标定 位到选中文本的开始的地方,并退出可视模式。我移动光标到文本结束的地方,按 p 粘贴。...

2020-12-17 17:24:20 22775 1

原创 记一次线上大量404问题

背景SLB监控平台突然报大量的404,如图:分析通过404状态码,可知是访问了不存在的接口:比如客户端新发版调用错地址,再或者测试接口压测打到线上环境等抓去显示404状态码的接口:cat webapi-access.log | grep 'HTTP/1.1|404|' | awk -F '|' '{print $9}' | sort -nr | uniq -c | sort -nr结果展示:155397 /proxy/api/shortvideo/home/list 29

2020-12-04 18:49:16 643

转载 tomcat 配置项目前缀(推荐方式四)

一. 显示配置 Context 的 path需要在 server.xml 文件中手动配置。中添加path 即为访问时前缀的名称,/表示不添加前缀。二. 使用 webapps 子目录 ROOT将项目文件夹下的文件放入 webapps 下的子目录 ROOT 中(删除原来的文件,放入的文件保证有 index 之类的文件),启动项目后,访问不需要任何前缀。三. 直接使用 webapps 目录(方法二是方法三的特例)将项目文件夹放入 webapps 下,启动后前缀即是项目文件夹的名字注意:方法二和方

2020-09-21 10:31:17 567

原创 Linux查看某个应用安装目录

首先通过ps -ef | grep redis,查询出来进程号XXXXps -ef | grep redis再通过ls -l /proc/XXXX/cwd注意:cwd后面没有斜线 /Redis实例:[root@vm ~]# ps -ef | grep redisroot 4515 1 0 May28 ? 01:49:32 src/redis-server *:6379 root 27053 27026 0 10:46 pts/0 00:

2020-09-01 10:49:26 1057

转载 tomcat 配置项目前缀(推荐方式四)

一、显示配置 Context 的 path需要在 server.xml 文件中手动配置。<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"></Host>中添加<Context path="/" docBase="/your/project/base/" reloadable="false"></Context>path 即为访问时前缀的名称,/

2020-09-01 10:15:43 631

转载 wc命令

Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。命令格式:wc [选项] 文件命令功能:统计指定文件中的字节数、字数、行数,并将统计结果显示输出。该命令统计指定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所指定文件的总统计数。命令参数:c 统计字节数。l 统计行数。m 统计字符数。这个标志不能与 -c 标志一起使用。w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。L

2020-08-18 16:25:45 1028

转载 awk 入门教程

转载出处:阮一峰awk 是处理文本文件的一个应用程序,几乎所有 Linux 系统都自带这个程序。它依次处理文件的每一行,并读取里面的每一个字段。对于日志、CSV 那样的每行格式相同的文本文件,awk 可能是最方便的工具。awk 其实不仅仅是工具软件,还是一种编程语言。不过,本文只介绍它的命令行用法,对于大多数场合,应该足够用了。一、基本用法awk 的基本用法就是下面的形式。# 格式$ awk 动作 文件名# 示例$ awk '{print $0}' demo.txt上面示例中,de

2020-08-18 15:46:25 539

原创 统计线上服务器所有接口及对应QPS

背景:项目做牌照方切换,需要统计线上接口及对应的访问量材料:日志是本地压测产生的日志,重要的是格式2019-07-03T11:16:23+0800|127.0.0.1|-|-|GET|http|127.0.0.1|/iptv/api/new/video/play/get?...2019-07-03T11:16:23+0800|127.0.0.1|-|-|GET|http|127.0.0.1|/iptv/api/new/video/play/get?...2019-07-03T11:16:23+0

2020-08-18 14:52:21 1430

原创 修改docker的默认安装目录

原因前段时间做线上docker服务迁移,最近收到了磁盘要满的告警,通过df -h和du -sh /var/*查看发现,var磁盘空间太小,且docker安装(存储)目录就在var目录下(/var/lib/docker),所以要迁移到比较大的盘下面准备工作我们以/letv/docker为新的docker存储目录首先,将原有的docker安装目录复制到/letv/下面cp -a /var/lib/docker /letv/其次,备份下之前的存储目录mv -u /var/lib/docker /v

2020-08-16 10:51:36 2277

转载 BAD PASSWORD: it is too simplistic/systematic

这个问题我遇到后,知道是密码过于简单导致的,但是编写什么样的密码能符合要求我并不知道,总之我试了很多次都没成功!问题:centos7 环境下修改root密码报错如下:BAD PASSWORD: it is too simplistic/systematic解决:编辑/etc/pam.d/system-auth1.修改内容:password requisite pam_cracklib.so try_first_pass retry=3password sufficient pam_uni

2020-07-20 20:34:04 2589 3

原创 scp文件夹提示:not a regular file

原因:产生这错误提示的原因是:scp的是个文件夹办法:-r:递归复制整个目录。关于scp命令详细参考这里:scp命令

2020-07-20 18:54:53 2582

原创 touch一次创建多个文件

touch {log1.txt,log2.txt,log3.txt}

2020-07-20 18:12:39 5036

转载 nc命令传输文件/目录

方法1,传输文件演示(先启动接收命令)使用nc传输文件还是比较方便的,因为不用scp和rsync那种输入密码的操作了把A机器上的一个rpm文件发送到B机器上需注意操作次序,receiver先侦听端口,sender向receiver所在机器的该端口发送数据。步骤1,先在B机器上启动一个接收文件的监听,格式如下意思是把赖在9995端口接收到的数据都写到file文件里(这里文件名随意取)nc -l port >filenc -l 9995 >zabbix.rpm步骤2,在A机器

2020-07-20 18:01:32 1592

原创 基于csv文件刷新消息表数据

业务场景介绍公司的视频/专辑信息要批量更新,更新的逻辑是:定时读取消息表中的数据,更新完数据就删除表中数据;所以只需要批量向消息表写消息就可以实现刷新。利用navicat导入.csv文件新建立一张临时表,与csv文件中列名对应并指定主键(关于主键:选中一个字段, 在列中找到“键”的一列,点击选中即可,同时下面会显示——是否自动递增等选项)在navicat中新建的表上右键:点击“导入向导” ——>选择“CSV文件”——>点击“继续”——点击“添加文件”,选择你要导入的csv文件即可(其他

2020-07-13 17:15:35 650

原创 Git工作流规范

Git基本原理及命令使用Git简明教程Git工作流使用方式选择微型项目,使用集中式工作流。小型项目,功能分支工作流。中大型的互联网项目,不断需求迭代,一个版本接一个版本,参考并使用如下Git工作流。Git工作流使用场景当一个项目中有多个不同版本的需求迭代,每个版本由不同的开发人员参与开发,每个版本上线时间不一致。目前很符合大屏代理服务端接口的这种场景,可以遵循Git工作流规范。其他类似的项目模式,多人协作开发场景,亦可遵循此Git工作流规范。Git工作流规范Git工作流规范说明1、

2020-07-06 22:56:28 381

转载 Tomcat启动log打印到INFO: At least one JAR was scanned for TLDs yet contained no TLD各种解决方式

问题:启动tomcat时,catalina.out日志打印到如下内容就停止不动了,也不报错SEVERE: FarmWarDeployer can only work as host cluster subelement!Dec 02, 2016 4:27:39 PM org.apache.catalina.startup.HostConfig deployWARINFO: Deploying web application archive /app/apache-tomcat-7.0.73/weba

2020-07-06 16:34:04 553

原创 记两个最近的问题

问题一:idea启动tomcat项目一直卡在has finish in XXx ms其实这个问题在于自己在输出框中没有看到错误提示,单纯任务项目启动慢;最后突然想起来,配置的log是在指定位置的,所以赶紧去看一下,发现提示redis配置地址错误,改了很快启动好了。记一下这个问题,加深下印象。问题二:坑位圈人群BUG问题:配置好视频的人群,并把mac地址加入到人群中,但是根据观星人群返回数据老是同时有,同时没有,每次数据都不对;但是debug的结果都是正确的。原因:缓存问题:服务器环境每次都走缓

2020-07-06 11:44:32 194

转载 服务树——灵活强大的运维资源管理体系

运维行业发展至今,从最初的人肉运维、脚本时代,到后期的平台化阶段、以及现在很火的AIOps的概念。都绕不过一个主题——资源管理。无论是健全而人性化的发布体系、灵敏强大的监控体系、还是稳定高效的服务发现,都需要我们有一种可以很灵活的管理资源的模型。这个模型,应该有如下两个特点:支持业务分级,可以与业务形态灵活对应筛选能力灵活,可以支持多个维度灵活精确的匹配与筛选这就是服务树概念的由来。接下来笔者会将我们在服务树的建设过程中的一些思考和遇到的问题,分享给大家。此篇文章专注介绍服务树模型的设计与实

2020-06-30 20:47:02 1167

转载 linux下查看磁盘分区的文件系统格式

df -T 只可以查看已经挂载的分区和文件系统类型。Filesystem Type 1K-blocks Used Available Use% Mounted on/dev/sda1 ext4 20642428 3698868 15894984 19% /tmpfs tmpfs 32947160 0 32947160 0% /dev/shmfdisk -l 可以显示出所有挂载和未挂载的分区,但不显示文件系统类型。Disk /dev/sda: 299.4 GB, 299439751168 by

2020-06-29 21:37:37 1161 1

原创 删除Linux系统中的大文件

###寻找大文件并删除查看系统的整体使用情况:df−h\color{red}{df -h}df−hFilesystem Size Used Avail Use% Mounted on/dev/mapper/VGSYS-lv_root 9.8G 3.6G 5.7G 39% /tmpfs 3.9G 0 3.9G 0% /dev/shm/dev/vda1 1

2020-06-29 21:30:08 734

原创 查看Linux系统版本信息

查看Linux内核版本命令cat /proc/versionLinux version 2.6.32-926.573.26.1.letv.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Thu May 19 15:38:38 CST 2016uname -aLinux vm-10-122-64-91 2.6.32-926.573.26.

2020-06-29 20:23:17 598

原创 yum provides反查询安装lsb_release示例

LSB是Linux Standard Base的缩写, lsb_release命令用来显示LSB和特定版本的相关信息。如果使用该命令时不带参数,则默认加上-v参数。-v 显示版本信息。-i 显示发行版的id。-d 显示该发行版的描述信息。-r 显示当前系统是发行版的具体版本号。-c 发行版代号。-a 显示上面的所有信息。-h 显示帮助信息。反查询lsb_release源[root@vm-10-122-64-91 ~]# yum provides lsb_release Loaded

2020-06-29 20:13:36 514

原创 Docker删除容器和镜像

Usage: docker ps [OPTIONS]List containersOptions: -a, --all Show all containers (default shows just running) -f, --filter filter Filter output based on conditions provided --format string Pretty-print containers using a Go te

2020-06-28 21:31:15 2337 2

原创 记一次访问量翻倍原因及分析

背景:SLB监控到后台接口访问量翻倍,具体如下:分析:首先,确认下访问量增加前后都是哪些接口改变,所以统计一次未增加前的接口(1秒或者1分钟的QPS)及翻倍后的QPS。统计一分钟的命令如下:1.未增之前09:19时间的结果:cat host-access.log | grep 2020-06-04T09:19 | awk -F ‘|’ ‘{print $8}’ | awk -F ‘?’ ‘{print $1}’ | sort -nr | uniq -c2.增加后的09:35时间的结果:cat

2020-06-04 11:15:50 514

原创 Mac笔记本外接显示器竖屏设置

第一步command + 空格:调起搜索框,输入“系统偏好设置”,点击显示器,显示如下:第二步点击“排列”,将外接显示设置为主屏,如下图:第三步勾选“镜像显示器”,如下图:第四步点击“显示器”,如下:第五步调整屏幕方向及缩放,如下图:第六步将主屏设置为mar显示器,如下图:...

2020-06-02 15:53:39 16252 4

转载 模板方法模式(模板方法设计模式)详解

参考地址AQS定义的抽象方法,在子类实现有用到模版方法设计模式.前言在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。例如,去银行办理业务一般要经过以下4个流程:取号、排队、办理具体业务、对银行工作人员进行评分等,其中取号、排队和对银行工作人员进行评分的...

2020-03-13 18:31:17 425

转载 Java字节码增强探秘

1.字节码1.1什么是字节码?Java之所以可以“一次编译,到处运行”,一是因为JVM针对各种操作系统、平台都进行了定制,二是因为无论在什么平台,都可以编译生成固定格式的字节码(.class文件)供JVM使用。因此,也可以看出字节码对于Java生态的重要性。之所以被称之为字节码,是因为字节码文件由十六进制值组成,而JVM以两个十六进制值为一组,即以字节为单位进行读取。在Java中一般是用jav...

2020-03-11 14:57:56 271 1

原创 ThreadLocal详解

前言ThreadLocal工作中会偶有用到,是解决thread间的数据隔离问题的(并不是为解决并发和共享问题的),也是面试常见问题,比如:ThreadLocal知道吗?说说你自己的理解?或者这样问:在多线程环境下,如何防止自己的变量被其它线程篡改?无论基于哪种原因都是很有必要学习的。ThreadLocal是什么贴一段源码中的介绍:这个类提供线程的局部变量,可以通过get()和set()方法来...

2020-03-03 20:26:35 406

原创 将开发的功能分支(feature)合并到测试分支(develop)

目录1、操作步骤1、切到feature功能分支2、拉取并提交最新代码3、切换到develop分支4、合并代码5、解决冲突(mac idea版)6、提交代码,完成合并2、原理分析1、操作步骤1、切到feature功能分支git checkout feature2、拉取并提交最新代码//先拉取git pull (mac idea: comman...

2019-12-23 20:01:32 6291

空空如也

空空如也

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

TA关注的人

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