自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第12天:上下文管理器

上下文管理器是一种用于管理资源的机制,它可以在一段代码执行前后自动执行一些操作。最常见的上下文管理器是文件操作和数据库连接。__enter__和__exit__。')上下文管理器简介:上下文管理器用于管理资源,确保资源在使用完毕后正确释放。使用with语句with语句用于包装代码块,确保在代码块执行前后自动执行预定义的操作。自定义上下文管理器:自定义上下文管理器需要实现__enter__和__exit__方法。使用contextlib模块contextlib提供了基于生成器的上下文管理器,更加简洁。

2024-07-03 16:12:40 441

原创 第11天:装饰器

装饰器是一个函数,它接受另一个函数作为参数,并返回一个新的函数。装饰器常用于在函数调用前后添加额外的行为,而无需修改函数本身。func()")有时候我们需要创建带参数的装饰器。为此,我们需要使用多层嵌套函数。")基本装饰器:装饰器函数接受一个函数作为参数,返回一个新的包装函数。带参数的装饰器:使用*args和**kwargs处理带参数的函数。返回值的处理:确保装饰器返回原函数的结果。带参数的装饰器工厂:使用嵌套函数创建带参数的装饰器。类装饰器:通过实现__call__

2024-07-03 14:48:44 784

原创 第10天:字典和集合任务

集合支持数学上的集合操作,如并集、交集、差集等。集合是无序且不重复的元素集合,使用大括号。循环遍历字典的键、值或键值对。

2024-07-02 17:12:20 200

原创 第9天:列表和元组

列表是Python中最常用的数据类型之一,可以包含不同类型的元素。元组是不可变的序列类型,创建后不能修改。

2024-07-02 10:59:04 193

原创 第8天:模块和包

模块是一个包含Python代码的文件,模块可以包含函数、类和变量,也可以包含可执行的代码。模块使你能够组织和重用代码。Python标准库包含许多有用的模块,可以直接导入使用。包是一个包含多个模块的目录。包通过在目录中包含一个名为。

2024-07-02 10:35:17 455

原创 第7天:面向对象编程(OOP)

class Dog:print(my_dog.name) # 输出: Buddyprint(my_dog.age) # 输出: 3my_dog.bark() # 输出: Buddy is barking。

2024-07-02 10:16:34 775

原创 第6天:文件操作和异常处理

在Python中,文件操作包括打开文件、读写文件内容和关闭文件。

2024-07-01 15:57:46 207

原创 第5天:函数

"""函数的文档字符串(可选)"""# 函数体return value # 可选"""打印问候语"""")

2024-06-22 10:35:23 303

原创 第4天:循环结构和列表

列表是Python中最常用的数据结构之一,用于存储一系列元素。列表是可变的,可以包含不同类型的元素。循环结构用于重复执行代码块,直到满足某个条件。循环用于遍历序列(如列表、字符串、元组等)。

2024-06-19 14:35:44 298

原创 第3天:操作符和条件语句

操作符是用于执行各种运算的符号。Python支持多种类型的操作符,包括算术操作符、比较操作符、逻辑操作符和赋值操作符。条件语句用于根据条件执行不同的代码块。在Python中,使用。可以在条件语句中嵌套其他条件语句,以实现更复杂的逻辑。

2024-06-19 14:13:02 590

原创 第2天:变量与数据类型

变量是存储数据的容器,可以把数据保存在内存中供程序使用。在Python中,变量的声明和赋值非常简单,不需要像Java那样显式声明类型。在需要时,Python会自动进行类型转换,例如将整数转换为浮点数。Python有几种基本的数据类型,每种类型都有特定的用途。字符串是文本数据,用引号括起来(可以是单引号或双引号)。在Python中,不同的数据类型之间可以进行转换。表示空值或无值,相当于Java中的。可以使用内置函数进行显式类型转换。

2024-06-18 18:39:51 280

原创 第1天:Python简介与环境设置

Python是一种高级编程语言,以其简洁、易读和强大的功能而闻名。它支持多种编程范式,包括面向对象、过程式和函数式编程。选择一个集成开发环境(IDE)来编写和运行Python代码。现在我们来编写一个简单的Python程序,打印“Hello, World!你需要在电脑上安装Python开发环境。

2024-06-18 18:21:54 439

原创 Python飞跃计划:30天从Java开发者到Python高手

作为一名拥有一年Java开发经验的程序员,我在工作中遇到了技术瓶颈,无法在现有环境中实现技术性的突破。面对选择深入枯燥的技术细节或拓展技术广度,我决定选择后者。Python以其简洁的语法和广泛的应用场景,如脚本编写和网络爬虫,成为我提升技能的首选。通过这个为期30天的学习计划,我将全面掌握Python编程,并通过实际项目巩固所学知识,为今后的职业发展打下坚实的基础。祝大家学习顺利,共同进步!在30天内全面掌握Python编程,从基础语法到高级应用,再到实战项目,让自己能够在实际工作中灵活运用Python。

2024-06-18 18:04:08 495

原创 “选择最佳数据库解决方案:MySQL、SQL Server 和 PostgreSQL 的比较与实际应用指南“

【代码】“选择最佳数据库解决方案:MySQL、SQL Server 和 PostgreSQL 的比较与实际应用指南“

2024-06-13 16:20:57 718

原创 JAVA Spring WebSocket 实时消息

【代码】JAVA Spring WebSocket 实时消息。

2024-06-13 14:11:39 556 1

原创 JAVA (生成验证码)工具类

【代码】JAVA (生成验证码)工具类。

2024-06-13 13:24:35 95

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

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

2023-11-26 18:47:17 286

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

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

2023-11-22 11:47:00 735

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

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

2023-09-17 20:19:36 408

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

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

2023-09-17 10:05:17 600

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

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

2023-09-09 15:42:11 553

原创 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 4513

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

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

2023-08-25 15:37:52 2896

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

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

2023-08-25 15:21:48 2569

原创 spring boot 项目整合 websocket

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

2023-08-24 23:41:47 869

原创 文件夹的批量下载

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

2023-08-23 16:05:43 220

原创 文件的批量下载

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

2023-08-23 09:45:31 228

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

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

2023-08-11 15:10:37 615

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

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

2023-08-04 14:20:15 644

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

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

2023-08-04 14:10:25 227 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 1425

原创 二进制位运算

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 93

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

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

2023-07-24 17:01:09 364

原创 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 551

原创 mysql 百万数据 如何优化

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

2023-06-11 11:48:47 783

原创 自定义连接池

【代码】自定义连接池。

2023-06-09 19:52:18 98

原创 代理设计模式

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

2023-06-09 17:53:08 70

原创 单例设计模式

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

2023-06-09 16:30:42 66

原创 建造者设计模式

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

2023-06-09 16:06:34 103

原创 观察者模式

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

2023-06-09 14:51:31 87

空空如也

空空如也

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

TA关注的人

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