自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 OAuth2.0统一认证基于授权码模式+DDD领域驱动模型

OAuth2.0统一认证基于授权码模式结合DDD领域驱动模型的实现

2024-01-26 16:34:28 358

转载 12306爬虫代码

Java + selenium +98.0.4758.102_chrome64版本谷歌驱动及浏览器爬12306

2023-09-07 18:06:58 763

原创 Java定位线程堆栈信息

命令查看当前所有进程,找到目标进程id。命令 查看资源占用较高的线程。查看对应线程堆栈信息。

2023-08-16 16:28:38 837

原创 Socket.IO与Atmosphere比较

我们来看看目前使用反向Ajax技术开发事件驱动的两个组件:**Socket.IO;Atmosphere**

2022-12-13 16:45:27 585 1

原创 IP地址工具 ——JAVA实现

1. 根据掩码统计网段可分配ip地址数(包含网络地址及广播地址) 2. 根据网段地址和掩码计算有效ip地址范围(不包含网络地址和广播地址) 3. 校验ip地址是否在目标网段范围内(不包含网络地址和广播地址) 4. 根据网段和掩码计算范围极值 5. 区间范围校验方法 6. 多网段重叠校验,返回第一次出现重叠的两个网段

2022-11-07 10:42:06 1811

原创 细致又通透:spring如何解决循环依赖

Spring Bean生命周期Spring Bean Scope 作用域以上流程是大致的流程,真正的好代码是需要亲自去看去理解的。当然Spring解决循环依赖的方法可以解决大多数循环依赖,但是还是会存在依赖深度较复杂,Spring无法解决,这个时候可以在导致循环依赖的地方加上@Lazy注解,对改依赖进行懒加载,只有使用到改依赖时才会进行加载。

2022-05-15 22:02:29 681

原创 聊一聊系列之:面对秒杀

秒杀:类如拼夕夕9.9抢手机,双十一某宝12点半价活动两个特点:① 极短的时间内② 定量库存面对秒杀要解决的问题:高并发简而言之言而简之秒杀的问题根源在于数据是否正确,解决过程在于如何有效处理高并发解决方案:① CDN为了让用户更快地访问到页面上的秒杀信息,通过CDN用户可以从最近的点获取到网络资源,不同的用户由于所在地不同所访问的节点也不同,这样前端页面资源就被分散在不同的地域。② 负载均衡nginx负载均衡,均衡分配请求,保证整体的吞吐量③ 分布式缓存web应用前端请求后

2022-05-14 17:46:53 204

原创 线程池串行化

线程池串行化 SerializingExecutor KeyAffinityExecutor

2022-05-07 10:37:53 695

原创 Swagger3.0.0

作为一个RESTful风格的可视化框架,经常会和yapi作个比较,相比于yapi其优势展现在:自动实时更新接口信息更强大的接口信息描述注解劣势在于:代码侵入性强UI不如Yapi好看(当然swagger的UI页面支持引入更换,且swagger3的UI比以往版本好看一些)Yapi还有权限管理、团队协作、自动化测试等功能Swagger3目前已经将注解规范化,基于openApi3,且兼容以往版本的注解和配置今天我们来看看简单的Swagger3版本整合到springboot项目中pom依赖

2022-03-31 17:18:54 2206

原创 聊一聊缓存

一、缓存存在的意义二、缓存常见问题及解决方案1.缓存穿透2.缓存雪崩3.缓存击穿4.热点key5.缓存一致性三、缓存更新策略

2022-01-28 16:08:36 1534

原创 聊聊协议:基于Axis的WebService协议与HTTP3协议

一、基于Axis的WebService协议WebService协议是一个相对较老的协议,使用xml标记语言协议的格式,基于soap协议封装消息。可使用任一传输协议来传输数据,最常使用的传输协议是HTTP协议。相较于HTTP协议,WebService协议可封装的数据类型更多,比如数组和对象,但是对于xml的解析效率肯定大大不如HTTP使用json数据格式的解析效率由于xml协议本身是独立的应用,可兼容任意平台和语言,因此WebService协议也是可实现跨平台跨语言wsdl服务端在发布服务后,会

2021-08-15 23:04:44 342

原创 Mysql面试过关!(详解:索引+常用引擎+常见问题+sql调优)

MySQL索引:索引创建、索引失效场景分析、索引数据结构B+树底层详细解析、执行计划详解;MySQL引擎详解;聚集索引和非聚集索引区别;为何MySQL建议表主键为整型自增;禁止使用select * 语句;关于MySQL的单表行数最大值问题;关于SQL调优。

2021-05-23 04:23:34 877 3

原创 详解HTTPS通信流程,使用JDK,openssl,XCA进行证书认证详细操作,Spring Boot配置SSL证书实操

这里写目录标题HTTPSSSL通信流程HTTPS一般使用的加密与HASH算法如下:1.JDKJDK中自带keytool工具便携生成SSL证书,其代码参数如下整合到spring boot项目的配置即可2.openssl通过openssl生成一个私钥通过openssl查看一个私钥的具体信息(这里以rsa加密的私钥为例)通过openssl 创建一个证书请求进行自签名证书请求3.XCA证书管理工具利用xca生成ca根证书,并产生证书链创建子证书(用ca证书进行签名)分别将根证书和子证书导出(子证书以p12格式导出)

2021-04-23 09:28:36 1216

原创 CSS中强行提升样式权重,强行覆盖!important

!important· 增加指定样式规则的应用优先权,让浏览器 首选执行此条语句· 使用方法:选择器{样式:值 !important}例:<div class="father"> <div class="a"></div></div>.father{ color: blue; .a{ color: red !important }}...

2021-04-16 15:57:51 2758

原创 安装fastDFS和nginx,结合fastDFS与nginx在子系统(Ubuntu)中详细步骤及bug更改

一.有关这是电商网站的一个分布式项目,其中图片服务器使用到了fastDFS+nginx,这里介绍了安装fastDFS与nginx结合的详细教程二.下载libfastcommonlibfastcommon是fastDFS依赖的函数库1.切换到/usr/local,下载libfastcommon命令:wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz2.执行完命令,/usr/local下就有一个V1.0.

2021-04-08 19:43:57 439

原创 前端文本超过指定范围后,超过的内容显示为...

● 代码给上 max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;● 实现效果

2021-03-26 15:41:38 967

原创 Vue 关于el-cascader组件解决级联多选回显需求和部分TypeError: Cannot read property ‘level‘ of null问题

昨天遇到了回显的问题,在网上找了很多博客看,一直没看到重点,这里总结一下遇到的坑● 级联组件< el-cascader >以多选可搜索为例,配置如下关于属性,具体可以去看Vue的element组件官网 <el-cascader placeholder="手动搜索标签:" v-model="tagInitData" // 绑定的值也可做默认值 :options="tagData" // 预置选项

2021-03-25 16:19:40 1421

原创 Java8中用流过滤筛选集合,再将流转换成集合,以达到集合范围删除

这里以Events作为事件列表(事件集合)在列表中筛选出想要的列表List<类型> collect = Events.stream().filter(条件).collect(Collectors.toList());实例:List<SFTPSessionEvent> collect = events.stream().filter(e -> e.getPId().equals(this.pid)).collect(Collectors.toList());`

2021-02-22 19:57:50 1004

原创 Vue实现进度条斑马条纹动画效果(easiest)

实现效果:实现代码:<template> <div class="hair-salon-bar-container"> <div :style="{width: `${width}px`, height: `${height}px`}" class="bar"></div> </div></template><script>export default { name: "HairSalonB

2021-02-06 15:22:27 1962

原创 Websocket快速学习使用及前后端示例代码 + websocket怎样获取request请求参数

Websocket简单来说websocket实现了双向通信,即服务端可以主动发送消息给客户端,客户端也可以主动发送消息给服务端·Websocket与HTTP的区别● websocket中可以双向通信服务器端可以主动给客户端发送消息,http只能客户端主动给服务端发送消息● http客户端与服务端的通信必须建立在request和response,且一条response对应一条request● websocket在连接时运用到了http中的tcp协议进行三次握手连接● websocket是可持续状

2021-01-27 17:33:12 3550

原创 Xterm.js集成TypeScript实现终端操作回放,应用于审计监控

技术背景:进行审计时查看运维人员终端历史操作回放,一般都通过视频的形式进行回放, 在Linux中script命令可进行终端操作的录制和回放功能,以此为基础,可以模拟Linux中的script命令进行终端历史操作回放。script命令其实质是将终端所操作的页面的终端控制字符全部记录在一个文件中,同时也创建与之对应的timing文件(timing文件中保存等待的时间和所要输出的字符)如:因此在进行回放时只需要按照timing文件的规范去读取typescript文件里的字节内容输出出来即可实现·技

2021-01-21 17:31:50 888

原创 FastDFS - 分布式文件系统,结合nginx在python和Django框架中的应用

定义c语言编写,开源的分布式文件系统充分考虑了冗余备份,负载均衡,线性扩容等机制很容易搭建一套高性能的文件服务器集群提供文件下载和上传服务。组成● Tracker server● Storage server客户端请求向 Tracker server 进行文件的上传和下载,Tracker server 调度后最终由 Storage server 完成文件的下载和上传作用● Tracker server负载均衡和调度,在文件上传时Tracker server 根据一些策略找到Storage

2020-12-06 20:02:21 247

原创 Python--Django:远程连接MySQL8.0版本及以上报错的解决方法(django.db.utils.OperationalError)

1 . 没有权限本地主机不被允许访问远程主机上的mysql服务器解决方法:在远程主机上,登陆进mysql服务器,设置权限mysql> create user 用户名@'要连接的主机ip' identified by '登录密码';mysql> grant all privileges on 数据库名字.* to 用户名@'要连接的主机ip' with grant option;mysql> flush privileges;··查看服务器中用户和主机名称mysq

2020-12-01 19:27:38 1839

原创 Python--Django:验证用户authenticate(),记住用户的登陆状态login(),redis缓存session信息,关于注册状态is_active

验证用户authenticate(),记住用户的登陆状态login(),redis缓存session信息,关于注册状态is_active

2020-11-28 19:08:45 2292 1

原创 Python--Django:关于在设置cookie时出现中文乱码的解决方法

UnicodeEncodeError: 'latin-1' codec can't encode characters in position 195-199: ordinal not in range(256)

2020-11-28 18:29:54 500

原创 Python--Django:发送邮箱 | 利用celery进行异步处理

发送邮件需要使用到SMTP服务器·常用的免费SMTP服务器有QQ,163,126这里以QQ邮箱为例:1)进入QQ邮箱首页,点击设置2)点击smtp服务的开启按钮3)得到授权码Django中进行邮箱配置settings.py#发送邮件配置EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'EMAIL_HOST = 'smtp.qq.com'EMAIL_PORT = 25#发送邮件的邮箱EMAIL_HOST_

2020-11-28 02:32:39 817 1

原创 Python:itsdangerous 导入加密模块

安装加密模块pip install itsdangerous使用加密模块from itsdangerous import TimedJSONWebSignatureSerializer as Serializerfrom itsdangerous import SignatureExpired# 创建对象 ‘secertkey’为密钥,3600为加密的过期时间(秒数)serializer = Serializer('secretkey', 3600)# 通过dumps()方法对要加密的数

2020-11-27 13:46:29 533

原创 Python---Django:通过ajax请求实现省市级案例的下拉列表框

代码实例:area.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>省市县选择案例</title> <script src="/static/js/jquery-1.12.4.min.js"></script> <script> $(function(

2020-11-14 23:50:54 353 1

原创 Python---Django:分页

分页关于分页的方法和属性from django.core.paginator import Paginatorpaginator = Paginator(数据对象, 按多少条数据进行分页)Paaginator类对象属性:属性名说明paginator.num_pages返回分页之后的总页数paginator.page_range返回分页后页码的列表Paaginator类对象方法:方法名说明paginator.page(self, numb

2020-11-14 03:26:15 494 1

原创 Python--Django:上传图片

上传图片时必要的配置1)在项目中或者静态文件下创建media文件2)在settings.py中加上MEDIA_ROOT配置# 配置文件上传保存目录MEDIA_ROOT = os.path.join(BASE_DIR, 'static/media')从后台管理页面上传:1)在models.py 中设计模型类class image(models.Model): '''从后台上传图片''' # upload_to 指定文件上传的地址 img = models.ImageF

2020-11-14 01:57:43 663

原创 Python--Django:中间件

中间件中间件是Django框架给开发者预留的函数接口,使得可以干预请求和应答的过程使用中间件1)在应用路径下新建middleware.py文件2)自定义中间件类,导入from django.utils.deprecation import MiddlewareMixin,中间件类必须继承MiddlewareMixin3)在中间件类中定义中间件预留函数● __init __:服务器响应第一个请求的时候调用● process_request:是在产生request对象,进行url匹配之前调用。

2020-11-13 14:49:41 100

原创 Python--Django:url反向解析

反向解析让链接动态生成,当某一个url配置的地址发生变化时,页面上使用反向解析生成地址的位置不需要发生变化。应用范围● 模板中的超链接● 视图中的重定向根据url正则表达式的配置动态的生成url。在项目urls.中包含具体应用的urls文件时指定namespace:在应用的urls中配置是指定name:··在模板文件中进行url反向解析<a href="{% namespace:name %}"></a>代码实例:reverse_test.html&

2020-11-13 01:10:03 357

原创 Python-Django:模板使用

13.模板文件的使用(templates)模板语言简称为DTL(Django Template Language)13.1 模板变量模板变量名由数字,字母,下划线和点组成,不能以下划线开头,使用模板变量:{{ 模板变量名 }}13.1.1 模板变量的解析顺序:例如: {{ book.btitle }}1)首先把 book 当成一个字典,把 btitle 当成键名,进行取值 book['btitle’]2)把book当成一个对象,把 btitle当成属性,进行取值book.btitle3)把

2020-11-12 02:26:16 403 1

原创 Python-Django:状态保持(cookie and session)及实例代码

状态保持http协议是无状态的,即下一次去访问一个页面时并不知道上一次这个页面做了什么。在web中记录信息的两种方式:cookie 和 session·Cookie是以服务器生成,存储在浏览器端的一小段文本信息特点:1)以键值对方式进行存储。2)通过浏览器访问一个网站时,会将浏览器存储的跟网站相关的所有cookie信息发送给该网站的服务器。 request.COOKIES3)cookie 是基于域名安全的。4) cookie 是有过期时间的,如果不指定,默认关闭浏览器后 cookie

2020-11-11 20:08:49 357

原创 Python-Django:Ajax请求(登录案例)

Ajax请求Ajax:异步的JavaScript在不重新加载页面的情况下,对页面进行局部的刷新$.ajax({ 'url':请求地址, 'type':请求方式, 'dataType':预期返回的数据格式(一般是json格式), 'data':参数 }).success(function(回调的数据){ //Ajax请求执行完成之后执行的回调函数 }) 当浏览器发起Ajax请求给后端,后端在views文件中进行处理,并返回 return JsonResponse(回调的数据),将

2020-11-11 17:13:18 935

原创 Redis学习笔记

文章目录一. 关于NoSql(not only sql)特点:二. NoSql与SQL数据库的区别:三. Redis特性四. Redis优势五. Redis 命令参考六.Redis 配置文件关于核心配置选项七. 服务器端八. 客户端九. 数据结构数据操作string类型键命令hash类型list类型set类型zset 类型十. 与python的交互StrictRedis对象方法在Django中使用redis十一. 搭建主从配置(备份)一. 关于NoSql(not only sql)特点:● 不支持SQ

2020-11-05 22:24:38 361

原创 Git版本管理

文章目录Git是分布式版本控制系统,GitHub网站为开源项目免费提供Git存储Git两大特点:Git配置Git基本操作● 创建一个版本库(初始化仓库)● 创建一个版本● 查看版本记录● 查看仓库当前状态● 增加记录修改版本后● 版本回退● Git的工作区和版本库● 撤销修改● 对比文件不同● 删除文件Git分支管理创建并切换到一个分支● 查看当前分支的数量● 切换分支● 合并分支● 删除分支● 解决合并分支的冲突分支管理策咯(手动非快速合并)● 2)解决合并分支的冲突● 3)非快速合并分支保存与恢复现场

2020-11-04 02:08:07 209

原创 Python—Django:关于在Django框架中对数据库的查询函数,查询集和关联查询

文章目录一. 查询函数(get,filter,exclude)F对象(作用:用于类属性之间的比较。)Q对象(作用:用于查询时条件之间的逻辑关系。not and or,可以对Q对象进行&|~操作。)聚合函数 (作用:对查询结果进行聚合操作。)count函数 返回值是一个数字(作用:统计满足条件数据的数目。)二. 查询集查询集特性限制查询集三. 关联查询(一对多)查询和对象关联的数据通过模型类实现关联查询一. 查询函数(get,filter,exclude)通过模型类 .objects 属性可以调用

2020-10-31 00:50:25 706

原创 Linux 开启MySQL的日志文件

mysql.log是mysql的日志文件,里面记录的对MySQL数据库的操作记录。默认情况下mysql的日志文件没有产生,需要修改mysql的配置文件,步骤如下:(1)打开MySQL的配置文件:$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf(2)去掉 general_log_file 和 general_log 这两行的注释(如果没有可以手动添加上, 如果后面的文件名称不是mysql.log改成mysql.log)(3)重启MySQL服务$ sud

2020-10-29 00:41:28 867

原创 Python:Django3.1 框架学习笔记

Django框架符合的是(MVT模型)创建项目创建应用项目与应用之间的联系Django核心----ORM模型设计模型类和表与数据库的交互流程,生成迁移文件,文件迁移通过模型类操作数据表外键的使用Django 管理页面创建管理员账号自定义后台模型管理类将默认数据库sqlite3换成MySQl视图文件的使用path()函数传递了四个参数,两个是必需的:路由和视图,两个是可选的:kwargs和name利用path()和re_path(),在url中取特定的不固定页面模板文件的使用

2020-10-28 02:43:55 882

谷歌98.0.4758.102版本浏览器

谷歌98.0.4758.102版本浏览器,可看我的资源表有同版本驱动程序,用于爬虫使用

2023-09-07

谷歌98.0.4758.102版本驱动

谷歌98.0.4758.102版本驱动, 可用作爬虫使用

2023-09-07

自己整理的系统分析师的计算题

自己整理的系统分析师的计算题 好用的很,本人2023年系统分析师选择题五十五分

2023-09-03

专业截图录屏软件,适用于办公

专业截图录屏软件,适用于办公

2023-09-03

封装好的openssl工具

封装好的openssl工具 用于生成加密密钥

2023-09-03

Java基础面试题,关于java基础操作

Java基础面试题,关于java基础操作

2023-09-03

程序员基础简历模板,简洁风

程序员基础简历模板

2023-09-03

基于Python Django3.0框架实现的生鲜商城代码

基于Python Django3.0框架实现的生鲜商城代码 请按后端不分离,用于快速部署开发商城系统 对接阿里沙箱支付环境 持久化包括mysql,Redis 消息通知使用celery

2023-09-03

Mysql面试过关!(详解:索引+常用引擎+常见问题+sql调优)

一、Mysql索引 1、添加索引sql语句 2、查看MySQL中建立的索引是否生效 3、索引失效场景(补充:以下在实际应用中并不会一定导致索引失效,基于mysql不同版本的优化规则) 3.1 在联合索引的场景下,查询条件不满足最左匹配原则 3.2 索引列参与了运算,会导致全表扫描,索引失效(除主键索引外) 3.3 模糊查询时(like语句),模糊匹配的占位符位于条件的首部 3.4 索引列参使用了函数 3.5 参数类型与字段类型不匹配,导致类型发生了隐式转换,索引失效 3.6 查询条件使用or关键字,其中一个字段没有创建索引,则会导致整个查询语句索引失效; or两边为“>”和“<”范围查询时,索引失效 3.7 两列数据做比较,即便两列都创建了索引,索引也会失效 3.8 查询条件使用不等进行比较时,需要慎重,普通索引会查询结果集占比较大时索引会失效。 3.9 查询条件使用is null时正常走索引,使用is not null时,不走索引 3.10 查询条件使用not in、not exists时,如果是主键则走索引,如果是普通索引,则索引失效 3.11 当查询条件涉及到order by、l

2023-09-03

开源博客Java项目,前后端不分离

开源博客Java项目 适用于需要快速开发部署博客系统的开发者 前后端不分离,包含前端博客界面和后台admin管理

2023-09-03

idea 韭菜插件,在线阅览股市行情

idea 韭菜插件,在线阅览股市行情 适用于玩股票需要实时关注股票行情的开发者

2023-09-03

空空如也

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

TA关注的人

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