自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(169)
  • 资源 (8)
  • 收藏
  • 关注

原创 c++安全问题

C++作为一门功能强大但复杂的编程语言,赋予了开发者极大的灵活性和控制度。随着技术的不断进步,学习和应用C++的方法也在不断演化,但其核心的思想——高效、可控的性能及对遗留代码的兼容,始终是C++持续受到青睐的原因。在技术不断发展的今天,程序员应不断学习新的技术知识,保持对技术的热情和好奇心,同时兼顾代码的安全性和效率,以充实和丰富自己的程序人生。

2024-03-20 11:00:15 432

原创 Python虚拟环境(Virtual Environment)

Python虚拟环境是一种用于隔离和管理项目所需的Python解释器及其依赖库的工具。它可以让我们在同一台机器上同时运行多个项目,并且每个项目都可以有不同的依赖库和Python版本。虚拟环境可以为每个项目提供独立的运行环境,避免各项目之间的依赖冲突。Python虚拟环境是Python开发中非常实用的工具,可以帮助我们解决依赖冲突问题,简化环境配置,方便项目迁移等。通过使用虚拟环境,每个项目拥有独立的运行环境,可以避免不同项目之间的影响。

2024-01-18 21:57:06 1707

原创 早日退休!

从前端到后端,再到iOS、Android开发,以及产品、设计、功能测试和性能测试,乃至测试开发,每个环节似乎都有自己的高度,背后反映的则是工作内容的复杂度、技术难度以及角色的重要程度。在这个基础上,产生相互鄙视的心态不但会损害团队的合作精神,也会影响个人的职业成长,毕竟每个人都只是一个螺丝钉,在大型的项目中扮演自己的角色。鄙视链的形成,是多种因素综合作用的结果。在IT行业中辛勤工作的每个人,无论处于鄙视链的哪一个环节,都应该意识到,我们都是在为了共同的目标而努力:完成项目,提供解决方案,改善用户体验。

2023-12-11 15:23:09 150

原创 Mysql timestamp和datetime区别

文章目录一、存储范围和精度二、默认值和自动更新三、时区处理四、索引和性能五、存储空间和数据复制六、使用场景和注意事项七、时区转换MySQL是一个常用的关系型数据库管理系统,其内置了多种数据类型用于存储和操作数据。其中,timestamp和datetime是两种常用的日期和时间类型,在实际应用中经常被使用。本文将从不同的角度分析二者的区别,并结合案例和代码进行比较说明。

2023-12-05 16:15:47 349

原创 撤销git本地修改

git reflog 命令可以查看 Git 中所有的提交历史和分支移动情况,包括已经删除的提交。这个命令会将您当前的分支重置到 e9769f58 这个快照上,而且会保留你本地的代码修改。您可以通过这个命令找到git操作时间线上的某一个节点,也就是git提交快照的Hash值。

2023-10-08 11:51:35 267

原创 什么是GPT?

GPT是Generative Pre-training Transformer的缩写,翻译成中文是生成型预训练转换器。它最初是由OpenAI团队在2018年开发的一种人工智能语言模型。GPT的主要功能是生成自然语言的文本,这也是它被称为“生成型”的原因。它的工作机制是以一种序列化的方式处理信息,可理解为一种理解语言的模式,对输入的一段文字或者语句进行分析,然后预测接下来应该生成什么内容,进而能够撰写段落或完整的文章。

2023-06-30 11:05:56 14436 1

原创 python tornado 开启多进程的几种方法

开启多进程的几种方法1. 使用多个进程启动多个Tornado实例2. 使用tornado.process.fork_processes()方法启动多个进程3.使用标准库中的multiprocessing4.使用第三方模块gevent5.使用官方提供方式6.使用supervisor以下各种方式仅供参考,本人亲测只有官方提供的方式比较靠谱。1. 使用多个进程启动多个Tornado实例

2023-04-11 23:37:42 1350 1

原创 python logging 详解

python logging 详解1. 导入logging模块2. 配置日志记录器3. 记录日志消息4. 自定义日志记录器5. 日志轮换6. 日志过滤器7. 日志异常跟踪8. 日志输出到控制台和文件9. 使用配置文件10. 使用第三方库11. format格式详解12. 总结

2023-04-11 11:04:49 906

原创 如何理解java的值传递?

1、基本数据类型(值传递)java中的基本数据类型可以在栈(stack)中直接分配内存,它有以下八种:boolean,byte,char,short,int,long,float,double2、引用数据类型(址传递 或 引用传递)除了基本数据类型外,他们的对象的引用在栈(stack)中,对象实际存放在堆(heap)中,实际上是将对象的地址赋值了过去。3、特殊类型(效果等同于值传递)String类型、Integer类型等,这些类型保存数据的变量是final类型,只要牵涉到数据变更,都需

2023-01-28 15:16:55 205

原创 bug减半、工资翻倍(1024)

祝所有程序员:bug减半、工资翻倍

2022-10-24 19:54:32 185

原创 The following method did not exist (maven依赖冲突解决全记录)

jar包依赖冲突全记录2、下载Maven Helper打开IDEA项目配置,下载Maven Helper插件从错误日志我们可以看到guava这个jar包出现问题打开pom文件分析maven依赖冲突从上图可以得到的信息:从下面这张图,我们可以把问题看的更清楚。升级jar包版本至30.1-jre即可。还有一种情况时,高版本的jar包不兼容低版本的jar包,这种情况以后碰到会总结过来。...

2022-08-16 17:13:51 8901

原创 今日份工作感悟

更主动的做事,提出创新、有益的观点。更smart的做事,从公司角度思考痛点,可优化的点。能帮你做事的人越多,代表你的能力越强。把控不了的事情,选择相信别人。让别人做事的时候,先从帮助别人的角度思考问题。多沟通,沟通越好,协调到的资源越多,能力越强。不害怕别人讨厌你,做好自己就行,没办法让所有人都喜欢。不要陷入业务陷阱,那样只有同情分、辛苦分,埋头做事的时候也要发出声音。要展现出你的能力,在机会来临时,别人能想到你。如果觉得有用,就随手点个赞🙏...

2022-07-14 19:26:19 135

原创 望一望漫天星光(随笔)

最近看到一些董宇辉直播的片段,多有感概,很多话并不是单纯的鸡汤,而是有思想、有情怀、有原则、有哲学的一些思考,这些是他认知层面带来的,甚至说是他的灵魂所映射出来的。曾几何时,我也是有这种能力的,对生活中的事情的思考出发点不是利益、金钱、好处这些角度,而是从自然、平等、意义这些角度出发,可以为一件小事感伤,也可以为一个小确信开心半天,也可以对一些事物有自己有纯粹的认知。但是大学毕业之后,就在不断的丧失这种能力,没时间感伤,没时间纸短情长,没时间去触动灵魂层面的涟漪。那个容易感伤、纸短情长、矫揉造作的少年再也没

2022-06-17 12:02:29 262

原创 Unsupported class file major version 60

最近项目依赖的一个第三方组件升级了,升级了pom文件依赖之后,发现本地启动报错,如下:我的java版本是16,springboot的版本是2.3.3.RELEASE,分析发现是springboot的版本不支持java16,需要升级。解决方案:原来的配置如下:将springboot版本升级为2.5.14参考链接:https://spring.io/projects/spring-boot#learn...

2022-06-09 19:48:06 1708 2

原创 springboot升级引入的跨域问题

springboot版本从升级到后,前端访问后台接口提示跨域问题。将原来的跨域配置,如下:修改为如下:

2022-06-08 15:09:15 522

原创 qtextcodec file not find 问题解决

qtextcodec file not find 问题解决

2022-05-06 14:25:47 2674

原创 kafka重复消费(总结)

根本原因已经消费的数据,但是offset没有成功提交具体情况:1. 消费者宕机、重启,导致消息已经消费但是未提交offset。2. 消费者处理比较耗时,一次poll的数据,在max.poll.interval.ms达到最大值后仍未完成,未提交offest,触发rebalance。3. 消费者使用自动提交offset,但当还没有到auto.commit.interval.ms的时间,没来的及提交。有新的消费者加入或者移除,发生了rebalance。4. 超过session.timeout.ms

2022-04-20 20:56:16 4542

原创 kafka大量堆积故障复盘(生产环境)

1. 增大partition个数2. 增加消费者数量3. 消费堆积数据入库保存4. 减少consumer处理时长5. 避免产生rebalance注意:同一个消费群组的consumer个数要等于partition个数,这样能让consumer的消费能力提升到最大。

2022-04-20 16:50:39 4916

原创 postman黑屏问题 mac电脑

最近运气确实不咋地,水逆的不行,postman用的好好的,然后突然打不开了,打开加载一会就是黑屏,然后也关不了,只能通过任务管理器kill掉。折腾了我一天,才解决掉,记录一下,希望你们碰到这个问题的时候能有帮助,不,希望你们别碰到这个问题。

2022-04-14 14:51:36 2210

原创 HikariPool-1 - Interrupted during connection acquisition

HikariPool-1 - Interrupted during connection acquisition问题描述临时解决办法根本原因最近在压测springboot服务的是时候,遇到HikariPool-1 - Interrupted during connection acquisition,先记录一下临时解决办法,后面有时间在review这个问题。问题描述问题日志:Caused by: org.apache.ibatis.exceptions.PersistenceException:

2022-03-20 15:17:35 5319 2

原创 关于TCP拥塞控制算法的一点总结

一、基础概念1、MSL:报文最大生存时间2、TTL:报文最大生存时间3、RTT:一个完整报文交互时间二、流量控制1、什么是流量控制?2、TCP报文格式3、如何实现流量控制4、滑动窗口工作图三、拥塞控制1、拥塞控制是什么?2、拥塞控制算法3、滑动窗口和拥塞窗口的区别4、其他拥塞控制算法四、拓展思考1、TCP中的拥塞控制算法是最好的吗?2、TCP是最好的吗?

2022-02-23 11:54:12 1763

原创 springboot 按月分表的优雅实现方式

一、项目背景1、分表的方式二、代码实现1、pom文件依赖2、配置文件3、MybatisPlusConfig实现4、优雅的使用5、mysql表名拆分三、遇到的问题在实际工作中,会遇到业务比较集中的情况,随着时间推延,这部分业务关联的mysql表就会越来越大,十分臃肿。尽管在项目架构上做了读写分离,也会导致查询的时候出现比较慢的情况,导致线上慢查询的出现。这种情况下导致的慢查询,单纯从sql优化的角度是无法解决的,此时我们就会用到分库分表。由于我们目前的问题是部分mys

2022-01-14 13:37:20 4809 1

原创 二叉树的循环遍历和递归遍历(经典)

主要介绍二叉树遍历的经典方法:递归和循环递归遍历前序遍历:根、左、右中序遍历:左、跟、右后序遍历:左、右、跟循环遍历前序遍历:跟、左、右中序遍历:左、跟、右后序遍历:左、右、跟

2022-01-12 17:52:16 736

原创 obs源码 windows编译

本文章主要记录obs源码在windows平台的编译过程,详细记录每个细节。obs源码编译一、编译环境1、Qt52、CEF Wrapper 37703、windows版本 CMake4、Windows版本 Git5、Visual Studio 20196、vs2019开发工具包二、源码编译1、源码下载2、创建输出目录3、配置CMake选项三、obs sln项目编译

2021-12-17 18:47:45 2475 16

原创 mysql 模糊查询like优化方案(亲测)

前言本文的测试数据是基于740w数据进行的。查询开头是“今天不开心”的聊天记录,是可以走索引的。select * from message_1 where content like "今天不开心%”;查询包含“今天不开心”的聊天记录,是不能走索引的。select * from message_1 where content like "%今天不开心%";咱们主要优化的是第二种情况,我本人测试查询耗时是在9秒。优化方案对于查询包含某个关键词的需求,从业务上来说尽量避免。但是实际

2021-11-18 19:43:32 29098 16

原创 mysql 语句优化的几种方式(总结)

一、避免操作多余数据1、使用where条件语句限制要查询的数据,避免返回多余的行。2、 尽量避免select *,改使用select 列名,避免返回多余的列。3、若插入数据过多,考虑批量插入。4、尽量避免同时修改或删除过多数据。5、尽量避免向客户端返回大数据量。二、避免删库跑路6、删除数据时,一定要加where语句。三、where查询字句优化7、避免在where 子句中的 “=” 左边进行内置函数、算术运算或其他表达式运算。8、避免在 where 子句中使用 != 或 <> 操作符。9

2021-11-16 19:48:40 14026 3

原创 23种设计模式--状态模式

状态模式的解决思想是:当控制一个对象状态转换的条件表达式过于复杂时,把相关“判断逻辑”提取出来,用各个不同的类进行表示,系统处于哪种情况,直接使用相应的状态类对象进行处理,这样能把原来复杂的逻辑判断简单化,消除了 if-else、switch-case 等冗余语句,代码更有层次性,并且具备良好的扩展力。优点:结构清晰,状态模式将与特定状态相关的行为局部化到一个状态中,并且将不同状态的行为分割开来,满足“单一职责原则”。将状态转换显示化,减少对象间的相互依赖。状态类职责明确,有利于程序的扩展。通

2021-11-08 23:11:29 1355

原创 23种设计模式--桥接模式

一、基本概念桥接模式:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。为什么不直接使用继承呢?不是可以通过继承来实现多态吗?为什么用组合方式?二、使用场景对于只有一个维度的变化,使用继承来实现多态的功能,完全可以满足。但对于存在多个维度的使用场景,完全使用继承就会显得代码比较臃肿。像上面这种情况,如果使用继承实现的话,需要4 * 3一共12种子类。如果需要新增加一个品牌Oppo的话,需要增加4个子类,代码实现的繁琐程度随着

2021-10-19 17:11:18 162

原创 mysql事务未提交 也未回滚

公司的一哥们在使用事务时未进行commit,链接断开后数据库执行了回滚操作,导致线上直播相关库的部分数据丢失,本文通过mysql命令行模拟该事故,并提供解决该问题的思路。希望对大家有帮助。一、场景模拟二、紧急处理三、原因分析四、相关命令1、查看正在执行的事务2、查看正在锁的事务3、查看等待锁的事务4、查看所有的线程列表5、定位未提交的事务执行的sql语句

2021-09-03 18:39:45 3245 1

原创 Flink 环境搭建 和 入门demo

文章目录一、环境搭建1、下载2、运行3、访问4、提交作业二、入门demo1、pom文件依赖2、我的demo3、运行结果一、环境搭建1、下载下载地址:https://flink.apache.org/downloads.html#apache-flink-1124flink-1.12.4的下载地址:https://apache.website-solution.net/flink/flink-1.12.4/flink-1.12.4-bin-scala_2.11.tgz我用的是1.12.4的版本,

2021-08-02 11:19:26 1304

原创 java服务内存占用过高

文章目录1、查看内存占用高的进程2、查看对象个数和占用内存大小3、导出内存镜像4、安装独立版本的Memory Analyzer工具5、使用MAT工具进行分析6、注意以下代码没有特殊说明,都是指终端命令行操作1、查看内存占用高的进程top2、查看对象个数和占用内存大小jmap -histo 624可以看到程序中各个对象所占用内存的情况,根据占用字节数大小降序显示,这里只能看出哪些对象占用内存高,但是还不能具体定位到问题代码,需要进一步排查。有个自定义的类Animal,个数和占用内存比较高

2021-07-23 14:34:09 1809

原创 java服务CPU占用过高

文章目录1、查看占用CPU高的进程2、查看服务线程信息3、查看问题线程状态4、jstack查看线程信息5、代码问题排查以下代码没有特殊说明,都是指终端命令行操作1、查看占用CPU高的进程top2、查看服务线程信息ps -mp 183 -o THREAD,tid,time3、查看问题线程状态通过上一步,我们可以看到TID为220的线程占用cpu比较高。转化为16进制方便后续查询。printf "%x\n" 220查看该线程运行状态。jstack 183 | grep dc

2021-07-21 18:42:54 605

原创 无法推断类型变量 R, 参数不匹配

最近在用java写flink任务,遇到无法推断类型变量 R问题,特此记录一下,希望对大家也有用。1、完整报错信息2、代码实现/** * @Author dingws * @PackageName rule_engine * @Package com.rules.engine.task * @Date 2021/7/7 7:25 下午 * @Version 1.0 */@Slf4jpublic class KafkaMessageDeal3 { public static vo

2021-07-17 11:55:15 2021 2

原创 IDEA 常用快捷键

一、查看类的所有属性和接口二、查看当前类的继承关系视图三、查看接口或类的继承体系四、查看jar包的依赖关系五、跳转到function的具体实现六、跳转到历史光标停留的位置

2021-06-24 15:27:01 444 1

原创 git常用命令总结(合并分支、撤销commit、删除多余文件)

Git 常用命令总结查看git状态,查看新增文件和已修改文件git status更新代码git pull提交代码git commit 文件名或git commit -m '注释'推送代码git pushtest合并到master分支git checkout mastergit merge --no-ff test解决冲突git push保存本地修改git stash push查看本地修改列表git stash list恢复

2021-06-22 16:07:46 518

原创 Parameter index out of range (2 > number of parameters, which is 1) 各种情况总结

情况1、#{}引用参数后,外面多加了双引号“”。举例,my.xml接口sql实现如下: <select id="selectByEndWord" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from idiom where pinyin = "#{endKey}" and name not in

2021-06-21 14:51:44 1179

原创 springboot 打印sql语句和执行时间

项目配置是springboot + mybatis。打印sql语句application.properties配置文件中添加mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl打印sql执行时间添加MapperAspect类@Aspect@Component@Slf4jpublic class MapperAspect { @AfterReturning("execution(* co

2021-06-07 14:51:19 1545 1

原创 SpringBoot 缓存管理 @EnableCaching、@Cacheable

SpringBoot缓存管理一、SpringBoot缓存管理1、pom文件添加依赖2、@EnableCaching开启缓存管理。3、注册缓存管理Bean。4、@Cacheable使用缓存。二、集成redis5、添加redis配置6、修改cacheManager7、查看redis进行验证:三、注解使用事项1、@Cacheable2、@CachePut3、@CacheEvict4、@Caching本文章介绍SpringBoot集成redis缓存管理。一、SpringBoot缓存管理1、pom文件添加依赖

2021-06-03 18:52:46 1095 1

原创 IDEA getResourceAsStream 为null 问题解决

查找在统一级目录下的资源文件test.txtLoadResourceUtil类实现如下:public class LoadResourceUtil { void load(){ InputStream inputStream = LoadResourceUtil.class.getResourceAsStream("test.txt"); System.out.println("inputStream = " + inputStream); }

2021-06-03 16:09:24 1556 5

原创 RestTemplate post请求 中文乱码

解决方案:public class RestUtils { private RestTemplate restTemplate = new RestTemplate(); public String post(String url, String jsonObject) { // 解决返回值乱码 List<HttpMessageConverter<?>> httpMessageConverters = restTemplat

2021-05-26 18:09:56 1333

MongoUtils工具类实现

封装mong关联查询api接口,如addBatch()、delete()、exists()、lookUp()等接口 public void delete(Query query , Object obj , String collectionName){ mongoTemplate.remove(query, obj .getClass(), collectionName); } public boolean update(Query query , Update update , Object obj , String collectionName){ UpdateResult result = mongoTemplate.updateMulti(query, update, obj.getClass(), collectionName); return result.wasAcknowledged(); } public List<?> getAllByCollectionName(

2022-08-26

TCP控制算法--技术分享.pptx

总结TCP协议中的一些控制算法,该文章的目的是尽可能通俗的把TCP的控制算法讲解清楚。

2021-07-27

消息循环--技术分享.pptx

对工作中使用到的消息循环做了一下总结,内容包括有C++、android中消息循环的部分核心代码,以及消息队列的一些使用。

2021-07-27

ffmpeg、aac、h264静态库和头文件

编译好的ffmpeg静态库,h264静态库,aac静态库,可以直接在ios项目中直接使用。支持armv7 x86_64 arm64 i386架构,如果需要在ios中使用ffmpeg的功能,可以直接下载使用。

2020-07-21

webrtc服务器压测报告

开源webrtc服务器压测报告,包括kurento、Janus、Jitsi、licode、MediaSoup等

2020-03-30

doc.redisfans.com.zip

redis命令行详解,离线工具速查。 eg: PUBLISH PUBLISH channel message 将信息 message 发送到指定的频道 channel 。 可用版本: >= 2.0.0 时间复杂度: O(N+M),其中 N 是频道 channel 的订阅者数量,而 M 则是使用模式订阅(subscribed patterns)的客户端的数量。 返回值: 接收到信息 message 的订阅者数量。 # 对没有订阅者的频道发送信息 redis> publish bad_channel "can any body hear me?" (integer) 0 # 向有一个订阅者的频道发送信息 redis> publish msg "good morning" (integer) 1 # 向有多个订阅者的频道发送信息 redis> publish chat_room "hello~ everyone" (integer) 3

2020-02-23

两个pcm两个wav两个mp3两个mp4(可用).zip

两个pcm两个wav两个mp3两个mp4文件下载,亲测可用,可用于音频编解码研究。

2019-09-05

aac音频(可用).zip

5个.aac音频文件下载,资源已经亲自测试可正常播放。可用于aac文件解码使用。

2019-09-05

mybatis逆向工程

资源为mybatis逆向工程依赖jar包,以及执行脚本,详细使用方法可参考:https://blog.csdn.net/Martin_chen2/article/details/80507576

2018-05-30

空空如也

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

TA关注的人

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