自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (2)
  • 收藏
  • 关注

原创 背包问题详解

本文主要讲解01背包问题,读者如果能完全搞懂01背包,那么稍作思考也能解决完全背包、多重背包问题。至于分组背包、有依赖的背包等问题博主也没有继续深入,但是应该都是在01背包的基础上拓展,读者若有兴趣可查阅其他文章。

2024-04-13 16:34:55 875

原创 docker启动时环境变量不生效(docker打包成镜像后环境变量失效)

因项目需要多处部署,为了部署的方便,于是准备将项目环境打包成docker镜像以便于部署。mq、mysql这些在仓库中都有现成的镜像,虽然java和nginx的也都有,但是不知道当时是怎么想的,就不想搞太多镜像,也打算自己实践一下docker踩踩坑,就拉了个debian的环境自己配。对Linux不熟悉,平时接触得也少,这算是Linux的基础知识吧,没事还是多学学基础知识,特别是想要用好docker的话Linux基础知识必不可少。

2024-03-11 21:26:32 525

原创 解决RabbitMQ管理页面异常/不正确的问题

而且MQ的服务确实是启动了,后端能正常使用,并且管理界面的登录页面也是能正常登录的,就是登录后的界面内容不对,所以怀疑一下是不是还要配置用户才行,然后跟着网上的教程一通乱搞也没解决。2、用原来的浏览器打开一个正常的已经部署好的RabbitMQ管理页面,能正常访问。换一个浏览器或者升级当前浏览器,更麻烦一点就是安装低版本的RabbitMQ,但是还需要知道RabbitMQ在哪一个版本开始使用该方法。然后登录之后发现控制台有一个报错信息。我的RabbitMQ是用docker安装的,应该不会是安装的环境有问题。

2024-02-24 13:54:21 752

原创 能够提高Java应用性能的编码建议

如果对GC(垃圾收集)有一定了解的读者可跳过该部分直接阅读正文。现代垃圾收集器都有STW(stop the world:进行GC时整个应用程序都会暂停,就像是整个世界都暂停了一样)这个困扰,因为程序在运行时对象的引用关系是在不断的发生变换的,所以需要暂停用户线程才能更安全的进行GC操作。也就是说GC操作会降低应用程序的性能。既然GC会降低性能,那么减少GC操作就能提升性能(这个前提是同一款垃圾收集器,STW相同的情况下。

2023-04-05 02:09:19 635

原创 一文带你彻底搞懂ThreadLocal

ThreadLocal的相关问题也是比较常见的面试题了,网上也有相当多的文章,但是看了很多篇,也没说实际场景,内容也都差不多。ThreadLocalMap、弱引用、内存泄漏等概念都能背下来了,但还是不能理解,真就是当八股文在背。所以自己去看源码捋了一下终于搞懂了,真是说一千道一万,不如源码看一看。

2023-03-28 14:06:09 532

原创 Java开发的一些编码建议

1、无论是类、方法、字段、变量,尽可能的限制他们的作用范围,可以避免出现不必要的错误;同时虚拟机也能有更大的优化空间。 2、错误越早发现越好,编译时发生错误比在运行时发生错误好。而且编译时错误能更好的定位问题所在。这两条建议来源于阅读《Effective Java》后的总结。书中第15条:使类和成员的可访问性最小化以及第16条:要在公有类中使用访问方法而非公有域大部分使用Spring开发的人都会这么去做,但是我觉得大部分的初级开发甚至是中级开发者并不知道为什么要这么做,只不过是在依葫芦画瓢。

2023-03-13 18:40:08 1465

原创 python爬虫进阶,突破反脚本机制(反爬机制)

前言相信大家在做爬虫或者自动化脚本时或多或少的都能遇到反爬机制(或者说反脚本机制),最常见的反脚本机制都是在登录时进行验证,据本人大量实战(帮粉丝写脚本)发现,基本上只要有点水平的网站都会有反脚本的机制,如果是大型网站那么他的反脚本机制将更加的强大和复杂。比如淘宝、12306这些,如果策略不够强大。那么在秒杀或者抢票时,正常的用户将毫无体验可言。本文将讲解如何突破一般的反爬机制。通过阅读本文,网络上80%的网站任你的脚本程序随意操作反脚本机制看得见的反脚本机制1.低难度图形验证码、有干扰线的图形验

2022-02-20 22:01:01 1939

原创 解决QQ闪照不能保存问题

前言无聊的时候看到闪照就想着能不能将闪照保存下来,出于好奇去研究了一番,将大概原理摸清楚了,发出来大家互相学习探讨一下。以下文章只探讨技术和原理,勿将技术用于非法用途。原理8.8.x版本的qq和之前版本大致相同,都是将文件闪照文件存储在客户端,在查看了五秒后自动销毁。根据网上教程,我将闪照技术分为三个版本。版本一早期它是不会将文件销毁的,直接在图片的缓存文件夹中可以找到,然后将闪照文件的后缀名改为jpg、png等就可以查看,但是根据本人实践,现在缓存文件夹中并不会有闪照的图片,所以网上小部分的教

2022-01-30 19:07:42 8529 4

原创 mysql启动后自动停止(无法启动)

在网上众多的博客中的那几种解决办法都没能解决我的问题,球球你们别互相抄了,十篇博客八篇一样。错误日志报错端口占用,netstat -ano也找不到有进程占用,修改成3307后还是报端口占用的错误。原因Hyper -v占用了3306的端口,导致mysql无法启动。1.为什么之前可以启动?因为Hyper占用的端口不是固定的。2.为什么换了3307也不行?因为运气不好,3307也正好在。下图分别是重启两次的端口占用情况技术不够,运气来凑,只要你运气够好,就不会出现这问题解决办法命令行查看

2021-12-08 17:51:53 1675

原创 应届生找工作、学习必看项目:java实现简易web容器

前言因为本人是才学java不久,所以学一些基础就直接上手框架,没有用过jsp或者单独的Tomcat进行开发,所以本容器的用法更像是在框架中使用其他组件的用法。如有不足之处请指出。项目背景以及意义或许学框架、背面经或多或少的都会知道一些容器处理的请求响应的过程,但是相信更多的人跟博主一样,懂了,但是没完全懂。所以自己简单的写一下,算是走一遍处理流程,让自己更加理解容器或者框架请求响应部分的底层原理。本项目除了学习几乎没有其他价值,看完本项目你将学到容器处理请求响应的原理、http请求响应消息头中常见字段

2021-09-05 18:43:37 449

原创 通过举例让你轻松理解控制反转和Spring IOC容器

说到Spring的IOC(控制反转)估计每个学Java的都知道,每个人或多或少都能说上一些,但是可能只是背下来了,并没有真正的理解它。查阅了多篇文章,我觉得我应该是理解了,写一下我个人的理解,如有不当之处请指出。控制反转和依赖注入原来的做法通俗点讲,控制反转就是将依赖类的获取由主动改为被动。举个例子,假如我需要用一个类A,但是A中需要用到类B,B用要用到类C。原来的做法就是我需要用到哪个我就new哪个,然后需要用到A的时候直接new出来,我也不管A是怎么实现的。乍一看,这好像跟Spring IOC描

2021-07-12 12:08:38 242 2

原创 git 错误error: failed to push some refs to

使用git push提交代码时报错尝试了网上的各种办法解决不了,以前也没用过git,一通乱搞,越搞越乱。解决办法1.先将远程代码拉下来保持一致命令:git pull origin dev2.将当前目录的文件添加到仓库命令:git add .3.提交暂存区到本地仓库命令:git commit -m “提交说明”4.上传代码并合并命令:git push origin dev代码成功上传总结这应该是跟我一样的新手才会犯的错误,因为在idea里面可以直接push,以为上传代码只用push就

2021-06-11 14:50:19 183 1

原创 针对刚学习爬虫的小白,看完就懂

前言写了那个图书馆预约脚本发现吸引了很多小白,然后发现他们学了爬虫,但是可能并不知道爬虫的本质和原理,可能看完视频或者教程觉得自己已经懂了,然后换了一个网站发现就懂爬教程里的那一个。因为写爬虫难的不是代码的实现,写一些小爬虫代码能有多难?不会就百度嘛。难的主要是数据包的分析,看完这一篇基本能让你会爬取所有的小网站了。爬虫的实质无论是爬虫(例如:爬取小说)还是自动化脚本(例如:图书馆抢座)的实质都是发送数据包,如图:...

2021-04-21 11:26:00 1984 9

原创 python爬取http和https时的不同

问题:爬取https麻烦肯定是比http只多不少的,那为什么我们不把https换成http?爬取某些https链接时会报requests.exceptions.SSLError的错误,但是只要不验证就可以解决(verify=False),那么https还会比http安全吗?解疑:如果爬过百度或者csdn你会发现链接中用http和https根本没区别,爬取到的结果是一样的。既然这样,我们爬取的所有网站都把https换成http岂不美哉?既不会报SSLError错误也不会警告,但是这显然是不可能

2020-10-20 16:20:05 1187

原创 python的for语句放在后面的用法

在阅读某位大佬的源码时发现for语句的另外一种用法,for语句放在整条语句的后面,心生疑惑,于是将那段代码运行一遍发现没报错,然后通过查阅资料和自己写代码的测试,由于可供查阅的文章有限,我现在也是一知半解,如发现不对请告知我。for语句放在后面以前也知道,就是列表推导式,例如:l = [ i for i in range(10)]一直以为这种写法只能用来写列表推导式,但是他还能这样用s1 = ''.join( random.choice(string.digits + st

2020-10-16 16:43:34 7142 4

原创 python实现图书馆抢座(自动预约)

脚本功能系统开放座位时快速预约指定位置可以设置预约的时间段运行以后会一直帮你抢,需要手动停止即使遇到更强的脚本自动帮抢下一个座位实现首先解决登录问题,通过F12找出登录请求包,分析对比一下包可以发现一般只有用户名和密码这个参数是变化的,然后用requests.session()的实例化去请求登录接口,登录成功。然后预约座位抓一下包,分析包找到变化的关键的参数,一般情况下关键参数只有座位id、开始时间、结束时间,其他的参数一股脑照搬就行了,接下来用刚刚登录成功的那个requests

2020-09-27 20:21:02 23040 83

原创 django-admin和django-admin.py的区别;django-admin.py无法创建项目

问题django初学者在使用django-admin创建项目时容易出现无法创建的错误,这是因为网上很多教程用的都是django-admin.py创建的项目,不出意外的话,你输入相同的命令会发现项目没创建,倒是打开了django-admin.py这个文件。原因django-admin是一个管理工具django-admin.py是一个python文件在命令行输入django-admin实质上执行的是django-admin.exe,没错,是一个可执行文件,但是他并不在site-package

2020-09-17 20:09:47 395

原创 python实现小说更新通知

前言最近在追小说,没事的时候会时不时的去看看有没有更新,于是乎写个脚本帮我看看有没有更新不就行了。正文实现思路首先找到我们平时看小说的网站,爬取该小说的目录页面,检查章节是否更新,更新则发送邮件通知自己,否则继续爬取检查。具体实现我是用的网站是这个,(盗版小说网站,有能力请支持正版)。1.首先在搜索栏搜索你的小说,查看是否有你在追的小说2.仔细分析url你会发现每个小说都有一个或多个id,格式如下。15_15698、12_12366等。3.提取出最新章节数,对比你看到的章

2020-09-06 14:33:57 783 1

原创 Django的form组件提交时错误不显示或无法提交

出现的问题:在学习django的form组件时,对不符合form组件定义的字段无法提交,进而导致无法显示出自定义的错误信息。(因为无法提交就代表着数据没有传给后台,然后你的错误回显是在后台对数据的检验发现不符合后才返回错误信息给前端的)这对用户来说显然是不合理的设计,不允许提交还不告诉我错在哪里。出错原因:在直接使用form组件进行渲染时,如果你设置了某个字段必填(默认也是必填),那么这个字段的input标签就会有required 这个属性,如果不填写,前端在检查时发现这个值为空就不允许提交,所以我们只

2020-07-31 11:42:54 1306

原创 理解python装饰器@,最详细简单的教程

前言在学python装饰器的时候,网上的文章一般就是前面看得懂然后突然就看不懂了,也可能是脑子不好。所以写下来方便自己忘记以后查阅,也帮助一下后来者更好的理解python装饰器。正文python装饰器的作用简单来说就是在不改动原有函数的基础上为这个函数添加新的功能。应用场景:插入日志,登录授权等。我没用过我也不知道,但是以后去企业工作了肯定是用得上的。例如老板让你添加新的功能,你总不能改动函数里面的代码吧,毕竟企业级代码都是祖传代码,不知道多少人写过的,你一不小心动了什么不该动的东西很有可能

2020-06-16 19:58:34 245

原创 解决Linux安装python3.7后使用pip3出现pip is configured with locations that require TLS/SSL,或找不到ssl模块的问题

网上的方法方法一:因为缺少了openssl-devel这个东西或者./configure过程中缺少参数--with-ssl,所以需要去安装它centos安装命令: yum install openssl-devel(但是centos系统好像是自带的openssl-devel)安装完成后重新执行:./configure --with-ssl --prefix=/usr/local...

2020-03-04 15:25:16 1343 2

原创 python爬虫爬取的数据与浏览器获取的数据不一样 爬虫爬取到的数据一直不变

具体问题在爬取某个网站时遇到了一个奇怪的问题,就是只要是python爬取的数据得到的基本就是那么几种数据,无论我输入的是什么,返回的数据与浏览器得到返回的数据都不一样,这让我很郁闷,百度也找不到想要的答案。直到最后才发现是自己对python不够了解,不是网站问题,是自己的问题。解决方法在requests库中,requests.post()方法中构造参数data时,data里面非ASCI...

2019-11-28 21:55:38 7724

原创 python中from . import module与import module的区别

在网上找半天也没有找到这两者的区别,都说的是导入当前路径。于是自己做了许多测试发现终于发现他们区别。import module 导入的是当前正在运行脚本的路径。from . import module 导入的是该执行文件的路径。举个栗子:我在D盘创建一个chengxu.py和test.py,然后在python第三库的文件夹site-packages下创建一个mylib包(有__in...

2019-10-06 17:00:53 519

原创 使用python的list.append()向列表中添加数据时出现列表为空或者列表值重复的原因

python的list.append()方法的实质是引用被添加的对象,并没有拷贝这个对象,当被引用的对象发生改变时列表中的值也会发生改变,所以就有可能造成重复或者全为空。可以看到无论是普通的整数还是字典,在使用list.append()这个方法时都是引用这个对象并没有拷贝。解决方法:使用copy库的copy.copy()方法进行浅拷贝,如果是字典这种类型的话建议使用copy.deepcop...

2019-09-24 18:02:59 14521

原创 PHP快速入门

数据的传输前端<!-- action的值是后台路径 method是传值方式,主要有get和post--><!-- enctype如果没有传文件(如图片、MP3等)可以不用管--><form action="write.php" method="post" enctype="multipart/form-data"> <input typ...

2019-09-06 23:04:19 335

原创 详细解读《python3网络爬虫开发实战》中图片验证码二值化处理去除干扰线的代码

原代码如下:image = image.convert('L') threshold = 80 table = [] for i in range(256) : if i < threshold : table.append(0) else : table.append(1)i...

2019-07-20 17:01:28 1262 1

原创 关于python+selenium截屏,crop裁剪指定元素的错误

在用python做爬虫这一类事情的时候免不了截取验证码的图片,所幸python有各种强大的库,截取验证码图片并不困难。但是我不知道是不是自己电脑的配置问题在裁剪验证码图片的时候就会出错,宽度和高度都会少一截,在百度上也找不出个所以然来,具体错误如下。然后我的代码运行后保存下来的图片是这样的可以看到无论是高度还是宽度都少了一截。后来经过一步步的检查发现程序截取全屏时截取图片的像素大于...

2019-07-18 16:03:39 1703 8

原创 微信小程序开发环境的部署,后台环境php

近期参加的微信小程序的开发大赛,然后在群里发现还是有挺多像我一样的新手,所以写一下我的踩坑记让大家少踩点坑。微信小程序开发需要后台服务器必须有备案的域名,否则小程序不能上线。(云开发是哪样的我就不太清楚了)。如果还没有买服务器在本地测试的话要在微信开发者工具的详情中勾选不检验合法域名选项,否则无法连接到本地的后台。(如果这样做的话真机调试的时候注意手机和主机在同一个内网)如果想要上线的...

2019-05-21 21:39:04 2880

基于java实现的简易web容器.rar

对大学生找java工作有所帮助的项目,看完本项目你将学到容器处理请求响应的原理、http请求响应消息头中常见字段的作用、较为规范化的代码、java的IO流等

2021-09-05

mylib_code.rar

利用webdriver截取图形验证码以便于识别,并且能去除部分验证码中的干扰线,直接丢在python的第三方库site-packages目录下即可,用法与其他库一样

2019-10-18

空空如也

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

TA关注的人

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