自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 相识词设计思路及实现方法

嘿嘿嘿给我说,词库这方面我们还没想法,要不这样你就知识库(也就是 用户名 邮箱 电话 相关的三个库),要求比如输入英文名 能显示中文名,就这样一个实例,没错,剩下的又是我自己发挥的时候,开发真难,抱着客户都是祖宗的原则,我只能,害,这不简简单单的事情嘛。同步es怎么样,毕竟三张表多字段匹配管理查询效率不说,且sql写起来也麻烦不是,直接组成宽表搞到es,嘿嘿嘿,还能分词,好是好,又得考虑同步问题,咋比对值有没有改变还是直接全部更新一遍,想的这头疼,好希望公司有个项目经理,这种方案的事我就不操心了。

2023-11-26 18:47:17 246

原创 搜索记录及使用缓存的设计思路

插入:因为搜索历史不同于文章统计功能改变其根据id 修改uv pv 值即可,也考虑到检索是否正常执行完成,可以保证其搜索内容的唯一性(之前就是搜索一次添加一行数据),修改其检索时间查询数据库根据检索时间倒序也无需在数据库层面去重操作。在实现的过程中发现历史搜索并不单纯只包含搜索内容,搜索的时间命中的数据方便,可用于后期实现搜索相关的计算和统计。所以搜索插入的时候不能靠搜索内容省去去重的操作,所以每次搜索的时候相关的信息需要全部入缓存然后再同步库。最近业务写到检索这块的内容,设计到搜索记录的增删操作。

2023-11-22 11:47:00 627

原创 学习分布式第一天(分布式系统原理和概念)

三大特征:基本可用(Basically Available)、软状态(Soft State)、最终一致性(Eventually Consistent)三个特征。相对于传统ACID(原子性、一致性、隔离性、持久性)事务模型,提供了一种更为宽松和灵活的设计思路。通俗易懂点就是折中,数据的实时性不要求的那么高了,保证服务的一致性,对不一致的数据有补偿的措施。三个角色:领导者(leader)、跟随者(follower)和候选者(candidate)。是 CP(强一致性)还是AP(可用性)根据业务场景决定。

2023-09-17 20:19:36 362

原创 spring 请求 出现实体类大小写不一致 出现的问题

程序能正常运行起来,都以为满天欢喜的时候,请求的时候出现空指针,断点调试发现不管前端传username 或者 userName ,实体都是用username 来接收,我使用userName当然空指针。因为当时在内网开发,没有办法上网,也不太确定为什么产生的原因,就直接使用三目运算符号判空解决,当时猜想get不行set 可能也不行,但是get可以自己定义获取,但是set 是spring 自己帮我们封箱,所以采用这个暂时解决。然后出现在实体出现一个username 和 userName的 两个属性。

2023-09-17 10:05:17 406

原创 mybatis mapper.xml 文件外键映射

数据库 关联还是需要确定表的量级, 不然结果集过大必然导致查询数据变慢。

2023-09-09 15:42:11 471

原创 Cause: com.github.pagehelper.PageException: 无法自动获取数据库类型,请通过 helperDialect 参数指定! kingbase数据库

现在政府项目要求国产化,数据库使用的是kingbase,在使用mybatis 分页插件的时候,遇到Cause: com.github.pagehelper.PageException: 无法自动获取数据库类型,请通过 helperDialect 参数指定!kingbase数据库。KingbaseES适配Mybatis-Plus时,由于Mybatis-Plus无法识别Kingbase。方法很简单,人家也告诉你指定数据库类型,我直接吧kingbase 在配置,项目都启动不来。

2023-09-08 15:41:53 2291

原创 记录 JSONObject.parseObject json对象转换 对象字段为null

之前也是用过所以没出啥事,发现这个searchContext 字段的属性为null,因为的debug 走的能看见发的消息的没有丢失,但是还有 / 这种符号,我就开始漫长的调试之路,但都是没有结果,也不知道啥问题吧。但是我有data 注解是可以有 get set 方法, 我就猜想 是不是 构造器的问题 就加了 @AllArgsConstructor 注解,就解决了上面的问题。刚开始我是按照平常发送请求的格式 ,但是socket 发送的是文本,也就是他会给加 /n,所以刚开始转换的时候是非法字符。

2023-08-25 15:37:52 2062

原创 websocket 接收消息无法获取用户id

公司项目是基于ruoyi 框架快速搭建开发,使用多线程搜索查询,所以以用户区分任务,保证可以搜索任务和取消搜索,所以我这需要获得用户id,使用 SecurityUtils 共工工具类从请求头获取token,然后解析得到用户基本信息和权限。在开发的过程中正常使用,建立socket连接也正常,但是在后续发消息的时候,在后续将代码移动websocket 出现获取用户ID 异常的错误,其实在获取 loginUser 是空的。

2023-08-25 15:21:48 2118

原创 spring boot 项目整合 websocket

尝试写不会的代码总是非常的认真,但也非常煎熬。然后接收消息时用到了 SecurityUtils 公共方法 从token 获取用户id,但是却出现获取失败。明天再看/*** 用户ID**/trythrow new ServiceException("获取用户ID异常", HttpStatus.UNAUTHORIZED);/*** 获取用户**/trythrow new ServiceException("获取用户信息异常", HttpStatus.UNAUTHORIZED);

2023-08-24 23:41:47 701

原创 文件夹的批量下载

公司想实现文件系统下载,上次图简单就草率的写了文件下载,这不趁着同事请假赶集吧这坑给填上。

2023-08-23 16:05:43 168

原创 文件的批量下载

批量下载需要和原先名字对应,所以是map的形式,key是下载的路径,value是文件的输出流,设置响应头的目的是告诉浏览器这是下载文件格式为zip,然后就是将流往zip里写,都是jdk包下的。根据输入的linux 服务器的账号信息通过sftp ftp 两种连接方式批量下载文件。批量下载文件返回多个流给前端让挨个下载,不是很合适,所以的将文件打成zip包下载。

2023-08-23 09:45:31 176

原创 记录更换若依框架的用户和部门两种表的过程

公司使用若依框架快速构建项目,客户那边原有的数据要同步过来,且要求字段与原先的字段一致,可以让数据丝滑无畅导入。用户表和部门表是基础在代码出现的地方比较多,该如何考虑去过度去更换)

2023-08-11 15:10:37 408

原创 ruoyi导入excel报错数据越界

使用若依框架导出导入功能,有些数据类型需要转换格式在导入的时候出现数组越界的情况,排查了很久发现是实体类的 readConverterExp 格式不对,严格按照 = 转换 ,代表分割。

2023-08-04 14:20:15 332

原创 程序启动自动注册外部接口

*** 外部接口自启动*/考虑到每个属性需要有说明,就像swagger定义了一个注解,逻辑就是通过类获取类的方法再去校验每个类上的注解和参数,通过参数有可以获取属性的上面注解的说明/*** 说明* @return*//*** 分组* @return*/ADD,EDIT,REMOVE,SELECT写的代码越多发现自己错的越多,但是辛苦绞尽脑汁的写的代码头大,想法都是出奇的奇怪。删了删了重写。

2023-08-04 14:10:25 172 2

原创 Text ‘Thu Jul 27 11:16:45 CST 2023‘ could not be parsed at index 0

错误 could not be parsed at index 0。遇到这个错误,时间串与格式不匹配,原因是时间格式的是英文的。

2023-08-01 13:17:07 1054

原创 二进制位运算

3.2无符号整数 ~a = -(a +1)3.1有符号整数 ~a = -a - 1。如果两个相应的二进制位不同,则结果为 1,否则为 0。如果至少有一个对应位是0,则结果位为0。如果至少有一个对应位是1,则结果位为1。如果两个对应位都是1,则结果位为1。如果两个对应位都是0,则结果位为0。

2023-07-30 14:18:53 62

原创 自定义注解实现对象获取当前登录用户信息

*** 获取当前登录的用户注解*//*** Type 类型*/INSERT, // 新增类型UPDATE // 修改类型Class<?// 对象类型/*** 获取当前登录的用户切面*/@Aspect@Component@Autowired/*** 包含currentUser 注解的参数 进行初始化*/Class<?i++) {/*** 获取当前登录的用户信息*/

2023-07-24 17:01:09 283

原创 windows下hadoop安装时出现error Couldn‘t find a package.json file in “D:\\hadoop\hadoop-2.7.7\\sbin“问题

1、修改为bin目录。

2023-06-17 19:37:30 356

原创 mysql 百万数据 如何优化

2.准备十万数据 执行成功但是之插入64条数据,单次最大传输包为4KB。这里解决思路将最大传输包设置为256KB,显示成功,但是查询没有数据没有改变(需要修改配置文件)。 执行 然后是漫长的等待(等的花都械了),共花费13950.374s ,接近4小时完成。 数据量:百万, 文件大小:188416 ,查询时间4.1198s 在添加数据没有使用索引,

2023-06-11 11:48:47 626

原创 自定义连接池

【代码】自定义连接池。

2023-06-09 19:52:18 70

原创 代理设计模式

动态代理抽象出接口实现,与具体的业务实现解耦,更容易维护和扩展。同时增加和删除被代理类也更加方便。动态代理实现更加简洁,不需要手动编写大量的代理类。

2023-06-09 17:53:08 52

原创 单例设计模式

单例模式是一种创建型设计模式,它的作用是在系统运行期间,保证一个类仅有一个实例对象,并提供一个全局唯一的访问点。

2023-06-09 16:30:42 41

原创 建造者设计模式

建造者模式是一种对象创建型设计模式,它的目的是通过将对象的构造过程拆分成多个简单的部分并将它们组合起来构建一个复杂的对象。建造者模式关注的是对象创建的过程,而不是对象的细节。

2023-06-09 16:06:34 42

原创 观察者模式

当有一些对象需要观察一个主题并在主题状态更改时自动更新自身时当你有一些相同的对象需要通知同一个主题并且它们之间没有必要知道彼此时。

2023-06-09 14:51:31 48

原创 mysql底层存储方式

数据以表的形式存储,每页16KB(行溢出),Mysql5.7之后使用压缩技术可超过16KB,包含表名 列名 索引 字段 的基本信息,MYI:索引文件,存储了MyISAM表的索引。索引文件通过B-Tree索引结构,加速数据的查找,排序等操作。MYD:数据文件,存储了MyISAM表的数据记录,其中MYD文件的大小与表的记录数、字段数量有关。表结构信息文件,通常存储在 MyISAM 表所在的数据库目录下,文件名与表名相同。

2023-06-09 12:47:50 140

原创 Maximum upload size exceeded; nested exception is java.lang.IllegalStateException

解决思路, 设置请求文件最大值。

2023-05-31 13:25:41 609

原创 Nacos 配置中心添加扩展不生效

原因:配置扩展配置需要优先加载扩展配置,将优先加载自己解决。

2023-05-31 02:40:25 866 2

原创 断点持传简单实现

通常视频文件都比较大,所以对于媒资系统上传文件的需求要满足大文件的上传要求。http协议本身对上传文件大小没有限制,但是客户的网络环境质量、电脑硬件环境等参差不齐,如果一个大文件快上传完了网断了没有上传完成,需要客户重新上传,用户体验非常差,所以对于大文件上传的要求最基本的是断点续传。

2023-05-30 11:38:36 53

原创 MyBatis Plus @TableLogic 注解生效(已解决)

使用Server RemoveById 和 Mapper deleteById sql 打印结果都为 delete from。将Mybatis Plus 版本提升到 3.20 解决。​​​​​​在实体类添加。

2023-05-06 00:48:28 864

原创 MySQL事务隔离级别:如何选择适合你的隔离级别

本文将介绍MySQL的四种事务隔离级别,包括读未提交、读已提交、可重复读和串行化,并探讨它们之间的区别和解决的问题。同时,本文还将探讨如何在实际开发中选择适当的事务隔离级别,并提供一些实际应用的建议和方案。无论您是开发人员还是DBA,本文都将为您提供有用的参考和建议。

2023-04-05 21:58:16 527

原创 《数据库设计指南:避免坑点,走向高效、可靠的数据库系统》

本文介绍了数据库设计中需要注意的多个方面,包括业务需求、数据模型、表设计、数据类型、索引、查询优化、存储引擎、备份恢复等,提出了一系列防坑指南和建议,帮助读者避免在数据库设计中走弯路。通过遵循这些指南和建议,可以设计出高效、可靠、易于维护的数据库系统,从而满足不同业务需求。

2023-04-05 21:27:09 190

原创 Redis高级面试题汇总

Redis是一款高性能的键值数据库,具有高速、可靠、易于使用等特点,在企业中应用广泛。本文提供了一些Redis高级面试题,涵盖了Redis的事务、分布式锁、Lua脚本、集群模式、管道、发布/订阅、HyperLogLog等方面,可以帮助面试者了解Redis的高级功能和使用方法。

2023-03-23 01:15:09 248

原创 Spring Cloud 高级面试题及答案

本文介绍了30道 Spring Cloud 高级面试题及答案,包括 Spring Cloud 的概念、组件及其功能,如 Eureka、Ribbon、Feign、Hystrix、Config 等,以及相关的实现技术和框架,如 Spring Cloud Sleuth、Kubernetes、Alibaba、Gateway、LoadBalancer、Stream、Task、Security、Function 和 Contract 等。本文可供 Spring Cloud 开发者和面试者参考和学习。

2023-03-23 01:11:39 642

原创 Java高级面试题汇总

本文整理了Java高级面试题,主要包括JVM的工作原理、类加载器、反射、Lambda表达式、Stream API、函数式接口和CompletableFuture等方面的知识点。这些知识点是Java技术面试中非常重要的内容,可以考察面试者对Java核心概念的理解和应用能力。文章对每个知识点都进行了详细的解释和示例,帮助读者深入理解Java高级编程技术,并为应对Java技术面试提供参考。

2023-03-21 00:52:31 109

原创 Java常见面试题汇总

Java 是一种广泛使用的面向对象编程语言,具有跨平台、可靠、高性能等优点,在软件开发领域中得到了广泛的应用。Java 面试题是求职者在 Java 技术岗位面试时必须掌握的内容。本文汇总了 Java 常见的面试题,包括基础知识、集合框架、多线程、网络编程、异常处理、反射、注解、NIO 等方面的问题,以帮助读者更好地掌握 Java 编程技能和应对面试。

2023-03-21 00:42:05 61

原创 Java基础面试题

本文提供了一些Java基础面试题的答案,包括Java的特点、多态性的实现、多线程的实现、异常处理、泛型、序列化和JAR包等内容。这些问题涵盖了Java程序员必备的基本知识和技能。

2023-03-21 00:28:41 36

原创 人工智能对职业的影响:哪些职业可能被取代,哪些职业将会兴起?

本文讨论了人工智能可能对哪些职业产生影响,可能被取代的职业包括文案撰写和编辑、客服代表、数据分析师、翻译、新闻记者、市场调研员、个人助手和会计和审计员等。但同时,人工智能技术也为许多新职业提供了机会,例如人工智能研究员和工程师、人工智能伦理学家、数据科学家和数据工程师、人机交互设计师、人工智能教练和培训师、人工智能法律专家、人工智能安全专家和人工智能应用顾问等。

2023-03-20 23:54:09 1075

原创 火爆全网的人工智能:一次惊艳的体验之旅

在这篇文章中,作者通过亲身体验,阐述了火爆全网的人工智能在写作领域的强大实力。尽管仍有局限,但人工智能在许多行业中都表现出了惊人的能力。作者呼吁大家抓住科技风潮,拥抱人工智能,以便在未来更好地利用这项技术来改善我们的生活。

2023-03-20 23:52:05 62

原创 《GPT技术如何提升工作效率:我的亲身体验与感悟》

在本文中,我分享了GPT技术如何在各个方面提升我的工作效率,包括写作与编辑、数据分析与报告、项目管理与协同办公、学习与研究以及创意与灵感。同时,我也谈到了在使用GPT时需保持警惕,避免过度依赖,以及学会独立思考。GPT作为一款强大的AI工具,在未来仍有巨大的发展潜力,我们应学会适应并利用新兴技术来提升自己。

2023-03-20 22:23:26 1052 2

原创 【无标题】

本文从日常生活角度探讨了GPT-4技术对生活的影响,包括内容创作、沟通交流、学习、工作和语言翻译等方面所带来的变革。尽管仍存在数据更新、误导性信息、模型偏见以及安全和隐私等挑战,但GPT-4技术的不断发展预示着它将为人类带来更多便利和价值。挑战

2023-03-20 01:43:50 34

空空如也

空空如也

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

TA关注的人

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