自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

乙壳虫的博客

编程之路

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

原创 Springboot-配置文件中敏感信息的加密:三种加密保护方法比较

在Spring Boot应用中,数据库密码、Redis密钥等敏感信息的保护至关重要。本文详细介绍了如何使用AES加密算法对这类关键配置进行加密处理,确保它们不会被轻易泄露。通过实现EnvironmentPostProcessor接口,我们可以在应用启动时自动解密这些配置,从而保证应用能够安全地使用这些敏感数据,同时大大降低了信息泄露的风险。这种方法为开发者提供了一种实用且高效的安全策略,以应对日益严峻的信息安全问题。

2024-05-13 14:32:45 1079 1

原创 Redis常用数据结构及原理

了解不同的数据结构和其对应的操作命令,可以根据不同的需求选择合适的数据结构,高效地存储和管理数据,提高系统的性能和可扩展性。同时,熟悉 Redis 数据结构也是设计和开发高性能应用的基础。

2023-07-17 14:35:08 2563

原创 【MySQL表设计常用规范-结合实际工作经历说明】

作为一名程序员,数据的设计和优化等操作是必须要掌握的。此文结合实际工作场景来讲述关于MySQL表结构设计优化等常用方案和注意事项。

2023-07-15 15:58:52 3563

原创 提高代码调试能力——IDEA debug技巧

代码调试是每个开发人员必备的技能。熟悉并掌握调试的一些必备技巧可以大大提升调试能力,快速定位问题。文中介绍了debug必备技巧:断点、运行到下一行、回到上一步、运行到指定行,调试过程修改变量值、远程调试等

2023-06-20 14:54:05 5573

原创 收件地址解析成 省+市+区+详细地址的形式

将用户输入的地址解析成规范的省市区+详细地址的形式

2023-06-17 16:16:28 6267 2

原创 java递归实现多级Map集合合并(结合实际场景)

递归实现多级Map集合合并

2022-12-15 16:46:32 6121 1

原创 Springboot中上一个定时任务没执行完,是否会影响下一个定时任务执行分析及结论

本文将用测试代码验证:定时任务阻塞问题。在springboot中使用定时任务的步骤在启动类上加上注解:@EnableScheduling,表示允许定时任务执行定时任务需要在类上加上@Component或者其衍生类(Controller、Service等),用于纳入Spring容器管理。在需要定时任务方法上增加注解@Scheduled,注解的参数是定时任务执行时机首先需要知道:定时任务默认是单线程的。,所以默认情况下,上一个定时任务没有执行完,下一个定时任务是不会开始的。单线程定时

2022-05-10 14:43:24 16654 4

原创 spring事务失效原因及解决方案

1. 需求示例需求伪代码如下:@Servicepublic class JysdService { public String test1(args) { try { test2(args); } catch (Exception e) { return "异常"; } .... } @Transactional(rollbackFor = Exceptio

2022-02-17 14:46:08 8552

原创 爬虫—微博博主动态及相册的请求构造规律

1. 查找的博主u_id1.1 请求通过https://s.weibo.com/ajax/topsuggest.php?key=博主名称&_k=1636439925298&_t=1&outjson=1&uid=自己账号的uid查找到他的u_id,后面的操作需要用到。1.2 参数参数描述key待查找的博主的名称_k我没有找到是什么东西,但是我估计是时间戳,因为我发现这个值跟我当前的时间是就差了几毫秒,并且只要传入的是一个时间戳,返回的结果都

2021-11-09 15:55:22 8121

原创 浅谈CAS原理

1. 背景我们知道,synchronized就是一种独占锁,独占锁是一个悲观锁,会导致其他所有需要锁的线程挂起,等待持有锁的线程释放锁。而另一种更加有效的锁就是乐观锁,CAS就是一种乐观锁2. CAS原理CAS(Compare And Swap),比较并交换。我们知道,如果我要对一个变量进行操作,可以分为三个步骤读取该变量的值进行一系列的运算得到新的结果将运算的结果保存这儿需要知道CAS中有三个概念:内存地址的值V,旧值(从内存地址读取到的值)A,新值(进行操作后的结果值)。对应上面三

2021-08-08 08:51:45 6789

原创 layui表单提交了多次的两个原因

layui表单提交时出现提交多次的原因1. js文件引用了多次一般使用layui需要引用layui.js,有的会引用layui.all.js。如果使用layui默认的表单提交方式,且你的上述js文件同时引用,或者重复引用,那么就会导致表单渲染多次,就会导致表单提交多次的情况。引用的时候,注意不要同时引用layui.js和layui.all.js。如果自己的页面需要引入其他的页面,那么也要注意你需要引入的页面中是否已经引用过layui.js了,避免重复引用。2. 提交触发的事件出现在<form

2020-12-17 11:20:09 7328 1

原创 因搜狗输入法引发的Ubuntu下idea卡死的问题

1. 问题前几天升级Ubuntu系统(18->20),一些包自然也跟着更新了,但是升级完之后,我的idea会莫名其妙的卡死。其他应用没有任何问题。2.解决过程如果要直接看解决方案的,查看本文中的尝试三,或者访问输入法切换至fcitx导致IDEA进程卡死问题2.1 尝试一一开始以为是内存不够,但是查看内存使用情况,并不是这个问题。而且如果是内存不够,那么就不是idea卡死了,是整个系统用起来都会卡顿,但是我现在只是idea卡死,其他的应用没有任何影响。所以不是这个问题。2.2 尝试二会不会

2020-10-16 17:24:19 8380 4

原创 echart多图表切换时图表宽度变成100px,而不是100%

现页面中有如下图表需要显示现我希望页面在进行缩放的时候,图表大小也跟着变。首先想到的就是宽度设置为100%,但是当我在“总计”,“加分”,“扣分”之前切换时,发现图表宽度变成了100px(如果你设置的宽度是固定大小的,比如500px,那就不会有这个问题),这是echart本身的原因。那么如何解决图表自适应问题呢,现在有如下代码(只展示了主要的部分代码)<!--图表容器--><div class="tab-pane active" id="total"> <!--

2020-09-14 09:46:47 5791 2

原创 如何使用线程安全的时间类(jdk1.8)

1. Java8新时间特性我们一般描述时间会用Date()对象来表示,但是为了时间显示更加符合习惯,会使用SimpleDateFormat来进行格式化。但是这种使用是存在缺陷的。1.1 SimpleDateFormat线程不安全SimpleDateFormat是线程不安全的,因为这个这个类是继承于DateFormat的,DateFormat中有一个Calender属性,可以说SimpleDateFormat的格式化就是依赖于这个属性进行操作的。SimpleDateFormat的format方法中将传

2020-09-02 09:36:10 4712 1

原创 Java集合如何在JSP中展示

1. Java集合如何在JSP中展示1.1 JSP遍历Java中的List、Set集合现Java中有如下的数据,通过ModelAndView绑定传到JSP页面public ModelAndView userList() { List<String> userList = new ArrayList<>(); userList.add("张三"); userList.add("李四"); userList.add("王二麻子"); Mode

2020-08-18 21:43:17 5727

原创 win10安装jdk8和eclipse(使用镜像下载解决官网下载慢的问题)

1. 安装jdk81)下载并安装jdk8jdk8可以在Oracle官网下载,但是下载速度有些慢。我们可以去清华镜像下载OpenJDK8,下载地址。下载完之后,直接解压就可以了。2)添加系统环境变量添加JAVA_HOME在系统环境变量中新增变量JAVA_HOME(下载的包解压之后可能是这样的D:\Applications\OpenJDK8\OpenJDK8U-jdk_x64_window...

2020-04-19 00:08:32 5154

原创 安装QQ for Linux(腾讯终于在2019/10/24发布了Linux版的QQ了)

腾讯之前也有过Linux版的QQ,但是不久就停止维护了,时隔10年,终于回来了。下面介绍一下安装方法1. 去官网下载安装包这个根据你自己的Linux发行版来看,我的是Ubuntu,所以下载得到的是linuxqq_2.0.0-b1-1024_amd64.deb。2. 执行命令安装进入下载包所在目录,执行命令:sudo dpkg -i linuxqq_2.0.0-b1-1024_amd64....

2020-03-03 19:15:03 4059

原创 ArrayList底层扩容机制

ArrayList学习List集合下常用的两个实现类是ArrayList和LinkedList,在LinkedList中我们知道了LinkedList的内部是用双向链表实现的,而本文要说的ArrayList是用一个Object型的数组实现的。ArrayList继承和实现类有哪些图中红色线代表的是继承关系,蓝色线代表的是实现关系,A表示这是一个抽象类,I表示这是一个接口Arra...

2019-12-28 22:07:52 3258

原创 LinkedList底层原理分析

LinkedList分析下面是LinkedList所继承和实现的父类的关系图图中,红色的线代表的是继承关系,蓝色的线代表实现关系,方框标明红色A的表示是抽象类,红色I的表示是接口。Iterable(Interface))这个接口的意思是可迭代,也就是说,实现该接口的类都是可以迭代的。Collection(Interface)这是集合的父类,我们熟知的Set和List都是这...

2019-12-28 22:04:22 3091

原创 html+css+jQuery实现购物车功能

购物车1. 搭建简单的架子<!DOCTYPE html><html> <head> <title>购物车</title> <meta charset="utf-8"/> <script src="../jquery-1.9.1.min.js"></...

2019-12-22 21:26:49 6805

原创 html+css+jQuery写一个简单的计算器

写一个简单的计算器由于代码不多,而且为了方便,就把css和js都写在html文件里就行了。1. 搭建一个简单的架子<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"> <title>计算器</title> ...

2019-12-22 17:10:27 3258

原创 Ubuntu无法联网的问题解决

我将一些常用的Ubuntu软件安装汇总在了github上,方便自己和大家使用。Ubuntu无法联网的问题解决更多Ubuntu软件安装注:因为仓库会一直维护,所以如果链接失效,请留言,谢谢...

2019-10-18 20:49:32 3017

原创 Ubuntu安装Google浏览器

我将一些常用的Ubuntu软件安装汇总在了github上,方便自己和大家使用。Ubuntu安装Google浏览器更多Ubuntu软件安装注:因为仓库会一直维护,所以如果链接失效,请留言,谢谢...

2019-10-18 20:48:30 2951

原创 Ubuntu安装网易云音乐

我将一些常用的Ubuntu软件安装汇总在了github上,方便自己和大家使用。Ubuntu安装网易云音乐更多Ubuntu软件安装注:因为仓库会一直维护,所以如果链接失效,请留言,谢谢...

2019-10-18 20:46:01 2810

原创 Ubuntu安装flameshot截图工具

我将一些常用的Ubuntu软件安装汇总在了github上,方便自己和大家使用。Ubuntu安装flameshot截图工具更多Ubuntu软件安装注:因为仓库会一直维护,所以如果链接失效,请留言,谢谢...

2019-10-18 20:44:57 2481

原创 Ubuntu安装Typora

我将一些常用的Ubuntu软件安装汇总在了github上,方便自己和大家使用。Ubuntu安装Typora更多Ubuntu软件安装注:因为仓库会一直维护,所以如果链接失效,请留言,谢谢...

2019-10-18 20:43:33 2510

原创 Ubuntu安装搜狗输入法

我将一些常用的Ubuntu软件安装汇总在了github上,方便自己和大家使用。Ubuntu安装搜狗输入法更多Ubuntu软件安装注:因为仓库会一直维护,所以如果链接失效,请留言,谢谢...

2019-10-18 20:42:10 2356

原创 Ubuntu安装Git

我将一些常用的Ubuntu软件安装汇总在了github上,方便自己和大家使用。Ubuntu安装Git更多Ubuntu软件安装

2019-10-18 20:39:27 2539

原创 Ubuntu安装QQ/TIM/微信

我将一些常用的软件安装发布在github上了,方便自己也方便感兴趣的朋友。Ubuntu安装QQ/TIM/微信更多Ubuntu软件安装

2019-10-18 20:36:32 2317

原创 CSDN博客迁移到博客园了

CSDN用了一年多了,博客园注册了好久,但是都没使用过。从今天开始,该账号下的文章会迁移到博客园,以后发表文章也只发表在博客园上附上博客园链接:我的博客园...

2019-06-01 09:52:04 3085

原创 python实战之selenium自动爬虫

今天用selenium爬取了我关注的某个博主的所有文章,并保存到本地文件。思路:自动打开浏览器并搜索网址,找到文章的标题,评论数,阅读量以及链接和下一页的节点,爬取完一页后就自动点击下一页继续爬取,直到爬完,最后关闭浏览器。过程中遇到的问题:一,关于找节点:如果节点比较简单的,可以直接copy xpath得到,然后利用find_element_by_xpath()得到相应的节点,进而得...

2019-05-21 09:01:39 2489

原创 Git学习笔记

以下笔记是学习廖雪峰Git教程时总结的1.写在前面学习还是要多动手,自己创建一个仓库LearnGit,专门用来学习Git,这样也不用担心胡乱修改之后,会有所损失2. 测试:直接在远程库修改,看本地使用pull之后的结果,是本地能直接被修改,还是要手动修改? 结果:(若只是远程库修改,本地未修改该文件,那么pull之后,本地的文件里会自动修改)3. 创建版本库 git ...

2019-05-11 16:03:45 2219

原创 MySQL笔记系列----触发器

一. 触发器介绍用途:当我们希望用户在使用数据库时(增删改查),数据库会自动执行一些命令,而不是人为的去敲命令,或者是开发人员在代码里写命令。场景:我们希望用户在对表进行修改时,可以把修改同步到另一张表实现:假设现有一张表stu1,为了方便,我们创建另一张表stu2,然后让stu2的内容始终与stu1的保持同步创建stu2的SQLCREATE TABLE stu2 LIKE ...

2019-04-20 14:19:02 2429

原创 简单说说range和xrange的区别

首先得说明一下,只有在python2中才有xrange和range,python3中没有xrange,并且python3中的range和python2中的range有 本质的区别。所以这儿说的range和xrange的区别是只针对python2的。1. 不同点range在py2中,range得到的是一个列表,即x = range(0, 5)print(type(x)) # ...

2019-04-16 11:18:32 35620

原创 django之cookie和session理解及使用

我们现在来说一个例子。当你要访问某个网站时,发现无法访问,并且它可能会直接跳转到登录页面让你先登录。OK,那就先登录,登录之后,就可以访问该网站的任意链接。但是http不是无连接的吗,每次请求一个网页都是一次全新的请求,那么服务器为什么就能知道你是谁了呢?肯定是你身上有某个标记,并且它能看懂这个标记对吧。这就涉及到cookie和session。一.Cookie在你登录或者注册之后,服务...

2019-04-15 20:34:32 2595

原创 git push 出错:fatal: the remote end hung up unexpectedly

使用git push 时,报错。报错情况如下:原因是因为文件太大了,所以我们需要改一下http最大请求容量。解决办法1. 如果是在Windows下,那么就可以修改.git/config文件,在最后一行增加如下内容[http] postBuffer = 524288000例如:2. 如果是在linux下,可使用命令:git config ht...

2019-04-04 01:07:40 3106

原创 File "manage.py", line 14 ) from exc ^ SyntaxError: invalid syntax出错的原因及解决方法

1. 问题在linux上安装django,并将项目上传后,执行python manage.py runserver 时,报错了,报错如下:File "manage.py", line 14 ) from exc ^SyntaxError: invalid syntax原因是因为我是用pip3安装的django(pip3 install django),但是...

2019-04-03 22:21:49 19135 3

原创 django之model中数据库查询

一. 数据的查询和编辑假如现在models.py中已经下面这个类,并且已经创建了相应的表class Stu(models.Model): stu_id = models.CharField(max_length=20) # 学号 name = models.CharField(max_length=50, unique=True) 姓名 password = ...

2019-04-01 17:59:33 4161

原创 django之项目部署到服务器(centos7+uwsgi+nginx+python3)

项目源码请点击这儿先说如何将django部署到服务器吧。在之前我还是想说一下,因为我也是弄了好久,看了很多的博客、资料,但是就是没有成功。踩了很多坑之后,总结了一些问题的所在。其实服务器环境和别人的也没什么差别,主要都是一些细节的东西,但是别人的博客没有写出那些坑,那是因为人家没遇到,或者说人家觉得那样的是很基础的东西,所以就没说了。今天我也来谈谈我部署的整个过程,不一定能让你真的完整的部...

2019-03-19 12:54:46 6436 10

原创 linux安装git,以及常用的一些命令

1.安装git$ yum install git -y2.生成秘钥$ ssh-keygen -t rsa -C “邮箱”,然后它会提示你设置密码什么的,其实没什么必要,所以就全部回车,然后就会在/root目录下生成一个目录.ssh注意,如果要查看的话,你可以使用ls -a /root,得到该目录下的所有文件,包括隐藏文件。然后进入该文件后,你会看到四个文件authorized_ke...

2019-03-13 00:34:34 3393

空空如也

空空如也

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

TA关注的人

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