自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大河的博客

惜恐镜中春。不如花草新。

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

原创 Java便捷生成二维码并使用Excel

会根据这个实体类来生成表格,可以去官网查看注解注释掉其中的某个属性,每一个属性代表每列的信息。工具简化开发,生成字符串对应的字节数组输出流,传入easyexcel完成二维码的生成。使用的是easyexcel和hutool工具便捷快速开发。这两个注解是条件excel行列大小,可以自行调整。第二步字节数组输出流存入excel。第一步生成图片字节数组输出流。

2023-09-08 16:38:05 677 2

原创 IsADirectoryError: [Errno 21] Is a directory: ‘.‘

IsADirectoryError: [Errno 21] Is a directory: '.'

2023-03-05 20:04:09 1624

原创 文件存储系统MinIO实战(window)结合SpringBoot

目录应用场景MinIO介绍纠删码存储形式微软Windows部署下载设置环境变量Java客户端API设置网址访问图片等文件应用场景需要存储海量的图片需要存储大量的视频可以存储海量的非结构化数据存储需求。应用的网站如:网盘网站,可以去存储大量的文件。MinIO介绍MinIO 是在 GNU Affero 通用公共许可证 v3.0 下发布的高性能对象存储。 它是与 Amazon S3 云存储服务兼容的 API。 使用 MinIO 为机器学习、分析和应用程序数据工作负载构建高性能基础架构。Bu

2022-04-07 22:46:30 2343 2

原创 JUC并发编程之共享问题学习

目录临界区synchronized解决临界区一段代码块内如果存在对共享资源的多线程读写操作,称这段代码块为临界区一个程序运行多个线程本身是没有问题的,但是在多个线程对共享资源读写操作时发生指令交错,就会出现问题竞态条件多个线程在临界区内执行,由于代码的执行序列不同而导致结果无法预测,称之为发生了竞态条件。为了避免临界区的竞态条件发生可以使用synchronizedsynchronized解决通过对象锁保证了临界区代码的原子性。当存在两个线程用一份资源,其中一个线程拥有锁,在这个线程时间

2022-03-27 17:16:38 596

原创 JUC并发编程之进程与线程学习

目录进程与线程进程线程同步异步串行并行执行时间创建和运行线程Thread 与 Runnable 的关系原理分析方法2原理分析方法1原理分析查看进程线程运行原理线程上下文切换start与run方法sleep方法sleep打断进程与线程进程程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO 的当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。进程就

2022-03-23 20:39:11 837

原创 Springcloud入门小结

目录什么是 Spring CloudEureka服务的注册与发现Eureka的配置Register服务注册参考资料什么是 Spring Cloud构建分布式系统不仅复杂而且容易出错。Spring Cloud 为最常见的分布式系统模式提供了一种简单且易于接受的编程模型,帮助开发人员构建有弹性的、可靠的、协调的应用程序。Spring Cloud 构建于 Spring Boot 之上,使得开发者很容易入手并快速应用于生产中。简单来说:SpringCloud提供了一套简易的编程模型(实现了服务发现注册 、

2022-03-11 15:07:22 418

原创 简述函数式编程(Lambda表达式、Stream流、Optional类)

目录1. 概论1.1 为什么学习?1.2 函数式编程思想2. Lambda表达式3. Stream流4. Optional1. 概论1.1 为什么学习?大数量下处理集合效率高代码可读性高接近自然语言,易于理解易于并发编程代码简洁开发快速1.2 函数式编程思想不关心是哪个对象,甚至是方法名是什么,函数式编程关心数据的映射。2. Lambda表达式Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。使用Lambda表达式可以使代码变得更加简洁。核心原则:可

2022-02-28 20:15:56 413

原创 泛型类与泛型方法的说明

目录1. 泛型的提出2. 在集合中使用泛型3. 自定义泛型类1. 使用泛型类2. 子类继承泛型类4. 泛型方法1. 泛型的提出List中默认的类型是Object,当我们向List中传入数字和字符串的时候可以执行,但是当要输出的时候就让人头疼。这时候泛型就出来了,可以指定List中传入对象的类型。当传入与指定类型不一样的对象时就会直接报错,让代码更加规范。2. 在集合中使用泛型这里泛型不能是基本数据类型,型要求包容的是对象类型。List<int> arr = new ArrayList&l

2022-02-27 19:57:39 1629

原创 SpringBoot+Dubbo+Zookeeper实现简单的分布式架构

目录前言搭建框架启动测试前言什么是分布式系统?分布式系统的出现是为了用更省钱的方式、更多的普通机器完成单个计算机无法完成的计算。架构演变经历的4个阶段单一应用架构将所有功能都部署在一起,以减少部署节点和成本。但是不利于维护和升级。垂直应用架构将应用拆分为多个应用,通信机制一般为RESTful。但是呢?虽然拆分为多个应用,但是应用之间难免存在交互的部分,这就促使下一个架构的诞生。分布式服务架构将核心业务抽取出来,作为独立的服务进行部署,供多个垂直应用调用,分布式服务框架(RPC)是关键,R

2022-02-24 22:55:37 1262

原创 基于STM32的单词记忆测试器

目录1、设计要求2、原理框图及说明3、仿真及测试4、程序说明5、程序仿真1、设计要求1、 实现单词的录入(为使程序具有可演示性,单词不少于 10 个)。2、 单词用按键控制依次在屏幕上显示,按键选择认识还是不认识可以直接进入下一个或者上一个。3、 单词背完后给出正确率。2、原理框图及说明3、仿真及测试4、程序说明通过上下来调整单词的移动,OK与NO来判断单词是否学会。最后根据会的单词比例得到成绩。5、程序仿真仅供学习参考上传到码云可直接下载 传送门...

2022-01-16 14:47:34 885 2

原创 28. 实现 strStr() (Java) 利用KMP 算法

目录KMP算法简述题目描述KMP算法简述KMP算法中含有部分匹配表(Partial Match Table)的数组,这个数组是KMP的核心,因为在字符串匹配的过程中回退问题的解决就要依靠这个PMT。PMT是怎么来的呢?PMT中的值是字符串的前缀集合与后缀集合的交集中最长元素的长度。例如,对于”aba”,它的前缀集合为{”a”, ”ab”},后缀 集合为{”ba”, ”a”}。两个集合的交集为{”a”},那么长度最长的元素就是字符串”a”了,长 度为1,所以对于”aba”而言,它在PMT表中对应的值就

2021-12-30 14:18:11 349

原创 Leetcode26. 删除有序数组中的重复项(java)

文章目录题目思路双指针小总结代码题目思路在原来的数组进行修改,要考虑的是如何保证原来的数组不被破坏,双指针可以很好的解决这一个问题。一个向后面走,不一样就推着满指针向前走,并修改数组的值。双指针小总结双指针常用在线性的数据结构中如链表和数组。常用的有对撞指针和快慢指针。快慢指针可求链表中环的长度链表中环的起点链表是否有环滑动窗口两个指针,一前一后组成滑动窗口。过程中还需要判断窗口是否达到了要求,窗口增加和窗口缩减。碰撞指针两个指针从左右两端开始向中间集合,可以用来翻转一下字符

2021-12-27 19:03:22 169

原创 Leetcode9. 回文数(java)

文章目录题目描述方法代码题目描述给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。方法要判断一个数字是否是回文的,省事的就是判断前一半与后一半是否一样。那么问题来了,怎么判断到一半了。可以利用java的转字符串方法,然后得到长度。但用自带的方法就有点不讲武德,可以自己写个判断长度的函数。也可以对这个数字进行拆分,得到后面的数字。与前面的进行比较就可以了。数

2021-12-25 16:18:36 284

原创 数电课设(彩灯显示控制器与拔河游戏机)

这里本来有好多问题,但是太懒散了,就先做最简单的吧!毕竟还有别的事情要干。记录一下,方便一下未来的学弟学妹们吧!设备HH-FPGA-EP4CE40核心板实现的功能启动,复位,暂停,加速大致框图作用分频:降低频率达到减速的目的,但我们要的是加速,可以把初始的速度设为低速,这样就可以达到忽悠老师的目的(bushi)。计数器和38译码器是为了led的循环显示。原文件这里采用纯画原理图来实现。github传送门...

2021-12-23 23:00:24 1905

原创 leetcode买卖股票的时机(java)

leetcode题目快速理解

2021-12-03 15:32:41 212

原创 1、复杂度和简单排序(选择排序、冒泡排序、插入排序)

这些文章都是看B站左神所总结的,此文章是对左神视频的拙劣模仿。左神视频传送门目录一、链接1二、链接2<span id=‘index1’>一、这是链接1<span id=‘index2’>这是链接2复杂度时间复杂度: 时间复杂度是估计常数操作的一个指标。...

2021-11-20 16:27:59 832

原创 94. 二叉树的中序遍历(java)

题目描述给定一个二叉树的根节点 root ,返回它的 中序 遍历。首先是递归方法。访问顺序:先左子树,再根节点,最后右子树;原理:要先观察最后一个,从后往前进行分析。随后进入D的右节点,运行inorder(res,root.right);D的右节点为空,函数返回。到这里当然没结束,会依次返回到B点E点,回到A点。此时,A的左侧节点已经加入完了,接下来是A的右侧节点。代码如下class Solution { public List<Integer> inorderT

2021-11-11 19:30:31 1981

原创 leetcode 70. 爬楼梯 (Java)

题目描述:假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定n是一个正整数这里使用的是动态规划解决问题,可以观察发现后一步的次数与前面的次数息息相关。这里举个栗子: 当n=4时,只有通过n=3然后加1,或者n=2加2才能到达。而n=3时,只有只有通过n=2然后加1,或者n=1加2才能到达。这样我们就可以进行一次循环了,得到结果了。代码如下:class Solution { publi...

2021-11-06 19:13:50 161

原创 LeetCode 53. 最大子序和

题目描述给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。下面这个方法的思想就好比赚钱,遇到负数我们自然是希望舍弃。但万一负数后面的正数又很大呢?于是我们就定义一个max去存放最大的值,如果比max大就存入。具体是如何执行的呢?遍历,用sum来求得和值(这时候有人问了,如果sum<0怎么办呢?当然是直接清零sum,来表示我们今天没赔钱)只有在sum为正数的时候才不清空。(也有人就会问,加一个稍小的负数不就变小了嘛,我们不就赔钱了嘛..

2021-11-04 10:34:07 78

原创 leetcode 21. 合并两个有序链表

简单的题目描述将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。这题的解法是定义一个哨兵节点(哨兵节点是一种不保存任何数据的节点,用法非常灵活,一般被用来标识数据结构的头尾或没有节点的情况。)利用定义的指针进行操作,进入循环后,比较两个数值的大小,将比较小的节点定义为哨兵节点的下一个结构体,并将指针和节点向后移动,方便下一次的使用。class Solution { public ListNode mergeTwoLists(Lis...

2021-11-03 20:50:29 89

原创 leetcode 20. 有效的括号 java

简单的题目描述:给定一个只包括 '(',')','{','}','[',']'的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。来源:力扣(LeetCode)这里用的是java的堆栈解题,当为左括号则入栈,右括号则出栈,进行一次遍历,当遍历结束时判断堆栈是否为空来确定结果。中间可以有一些优化:奇数直接返回false,初始为右括号也返回false等等。idea测试代码import java.util.St..

2021-11-02 17:31:50 144

原创 leetcode1、两数之和

先开始第一遍刷题吧!梦开始的地方。题目:给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sum脑子里只有一种思路就是穷举class Solution { publ...

2021-10-29 13:48:08 63

原创 django踩坑关于django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.

初步分析,在我的settings.py里面是有SECRET_KEY的多次修改后,发现是自己在settings.py文件里面多加了下面一行代码,删除后解决问题。

2021-10-14 21:55:59 823

原创 python对yaml文件字典数据增删改读操作

目录1.读取操作2.增加操作3.删除操作4.修改操作in.yaml文件的初始内容如下,以下操作都是对初始内容进行操作1.读取操作import yamlimport os#in.yaml文件与当前的文件在同一个目录下# 获取当前脚本所在文件夹路径curPath = os.path.dirname(os.path.realpath(__file__))# 获取yaml文件路径yamlPath = os.path.join(curPath, "in.yaml")

2021-09-19 12:47:39 5449 2

原创 python QTableWidget单元格更改信号cellChanged()的使用

1

2021-08-31 23:33:32 5608 4

原创 微信小程序API_request请求图片,实现含有图片的列表

目标接口在网页中的显示如下,可能是后端的原因图片没加载出来,我网不卡可以直接在加载函数里面调用这个接口,这样在开启小程序的时候就显示。下面是微信开发文档的实例代码,在学习小程序的过程中要多看开发文档。wx.request({ url: 'example.php', //仅为示例,并非真实的接口地址 data: { x: '', y: '' }, header: { 'content-type': 'application/json' // 默认值 },

2021-08-09 21:41:56 3126 3

原创 简单修改setting文件,解决fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached

报错可能是因为https://fake-useragent.herokuapp.com/browsers/0.1.11进不去,因此修改一下网址。找到UserAgent的setting文件,输入如下代码from fake_useragent import UserAgentctrl+鼠标左击UserAgent找到下面的代码from fake_useragent import settingsctrl+鼠标左击settings修改下面的网站CACHE_SERVER = 'https://f

2021-07-24 21:06:04 596 4

原创 ROS机器人技术课程大作业,机器人基础实例

1. 创建一个工作空间和功能包(命名格式:ROS_XXXX) , 然后在功能包中完成如下工作, 并且使用launch文件启动涉及的节点;创建一个名为ROS_2019217987的工作空间,src为功能包mkdir -p ~/ROS_2019217987/src切换路径到src的目录下cd ~/ROS_2019217987/src初始化工作空间catkin_init_workspace结果如下返回工作空间cd ~/ROS_2019217987并对工作空间进行编译catkin_m

2021-07-15 23:03:24 3084

原创 python pycharm导入Crypto.Cipher失败的解决方法

1.查看crypto文件夹这是我Crypto文件里面的内容,确保里面有Cipher,小伙伴的文件夹里面居然没有…解决方法:无脑替换文件解决一切烦恼打开pycharm->file->setting再找到下图的python Interpreter后面的路径从上图看到D:\Anaconda\python.exe 进入Anaconda文件夹进入里面的lib接下来要进入site-packages文件夹,里面存放的是第三方库我的Crypto文件下载地址:https://wwr.lanz

2021-07-10 10:25:32 8071 2

原创 自动评论博客

前言为什么我总感觉有些博主的评论好机械呢?带着这个疑问我决定尝试下用程序来水评论。浏览器查看下发现submit用的post方法需要提交的数据是自己的评论内容,以及文章的id与网址上面的一丢数字一样。好了,知道这些之后我们就可以动手尝试了。尝试光动嘴不能说明这一切,当然是打开postman喽!用着挺舒服的。把浏览器里面的cookie复制粘贴到postman的headers里面body里面增加我们需要post过去的参数,如下图可以看出我在听歌,但是不知道用的哪个软件,以及post成功的信息。如

2021-06-03 22:31:48 207 3

原创 2021最新版 问卷星模拟浏览器自动填写(快速提交)python

本代码仅供学习交流!文章目录前言一、post失败二、转向模拟浏览器2.读入数据总结前言小伙伴们有没有发现问卷星的加密难度是螺旋式升天,对于我这种小白来说极为的不友好一、post失败个人感觉最难的是jqparm参数,百度到一位大佬的文章破解成功了,不过现在好像不行了。但是思路还是可以大致了解下的。传送门二、转向模拟浏览器本来是用的selenium,代码都即将完工,但是偏偏来了一个智能验证,相信试过的小伙伴都知道了,会跳出来一个智能验证,就算你是真人点击也无法通过验证,此刻我的心情就只能草和一种

2021-04-04 11:44:13 6422 14

原创 按键触发快捷怼人小工具(怼人必备良药)

按键

2021-04-01 21:08:19 3144 5

原创 第二课堂网络学习快速提交、post实战学习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、准备工作二、开始秀操作1.引入库2.读入数据总结前言第二课堂某某学习部分需要计时才能答题,不小心滑出界面就要重新计时。个人觉得不太舒服就想用python程序解决。一、准备工作fiddler(用来抓包)电脑端微信(打开要抓包小程序)二、开始秀操作1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot a

2021-02-26 22:58:51 969 13

原创 简单快速删除流氓软件(包括注册表)

鲁迅曾说过:删除流氓软件不能只是单单的卸载,更要清理注册表才能一劳永逸如何清理注册表呢推荐下图软件优点:简单明了、易上手大小:2.95 MB链接:https://pan.baidu.com/s/1SCJp_0ibHuJgvLB7fqywqA提取码:dh64界面大致是这样的简单演示一下,假如下面是一个垃圾软件点击强制删除痕迹,再点击是,然后点击完成,心中默念三遍妖魔鬼怪快离开就好了。...

2020-11-08 23:58:08 10483 5

原创 超简单安装油猴(tampermonkey)脚本及使用教程

超简单的油猴安装教程第一步第二步第三步第一步下载Tampermonkey.crx (1.24MB)提取码:nb1l第二步点击谷歌浏览器右上角,找到更多工具,然后点击拓展程序。打开开发者模式第三步简单拖拽,把下载好的文件拖拽进第二步最后的界面即可。脚本下载 地址 https://greasyfork.org/zh-CN/scripts后面安装脚本就行了,没有什么难度的。...

2020-10-16 23:46:53 475878 44

原创 python安装mayavi库

不会吧,不会吧不会真的有人去这个 网站 安装其他库吧也不是不可以,就是经常失败,多试几次就行了可以看出成功概率还是很高的在pip install D:\360\mayavi-4.7.2-cp37-cp37m-win32.whl 之后你会发现果然没成功如何解决呢只需pip install apptools -i http://pypi.douban.com/simple --trusted-host pypi.douban.com即可可能是一种的错觉,前后大大小小安装了5,6个库所幸

2020-09-15 08:55:48 1329 2

原创 随机密码生成

随机密码生成器‘0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&()*+,-.’ 中每次随机抽取 1 个字符,重复 n 次,用取得的字符构成的一个新字符串用做密码,密码长度 n 和随机数种子 s 由用户输入。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬输入格式‪‬

2020-05-20 20:53:24 2200

原创 No pyvenv.cfg file问题解决方案

no pyvenv.cfg file问题解决方案百度了一下发现百度也不是万能的##解决方法~~file里面的setting点击小齿轮再点击Add…在里面添加路径就可以了路径就是在之前的文件位置附近找总会找到的我就是无脑随便点点找到了找文件错误的话会提醒你但是如果你完成上述步骤的话,你会发现你下载的第三方库都没了,有个好办法就是用Andconda的解释器,如何使用呢?就是修改 base Interpreter 就行了之后就可以运行了总体来看,这篇博客写的挺烂的,有问题可以告诉

2020-05-12 00:14:04 65915 26

转载 java 流式FlowLayout布局换行方法

java 流式FlowLayout布局换行方法怎么简单怎么来方法一add(new JLabel(" ")); //添加空白标签来实现换行空白标签的空格数量由你来决定方法二将标签设置为不可视setVisiable(false)方法三这里是引用...

2020-05-03 11:23:42 10460 3

空空如也

空空如也

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

TA关注的人

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