自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小马同学

Java | Web前端 | 数据结构与算法 | 记录学习

  • 博客(135)
  • 资源 (7)
  • 收藏
  • 关注

原创 【Springboot系列】Springboot入门到项目实战

写在前面: 之前陆陆续续写了一下Springboot相关的博客,写的也是比较零散。现在把之前写的Springboot相关的博客全部整理在这里,方便查看。...

2020-04-12 18:06:51 20399 63

原创 数据结构之二叉树

二叉树基本介绍文章目录

2022-03-05 11:54:07 3054 1

原创 数据结构之队列的基本实现

队列的基本功能实现

2022-02-26 21:27:13 1246

原创 LinkedList源码解析

LinkedList集合源码解析

2022-02-23 09:12:54 742

原创 深入探索ArrayList源码解析

ArrayList集合是平时开发最常用的集合之一,它是一种线性结构,其底层是用数组实现的,相当于一个动态数组。下面来一起看看ArrayList的一些常用方法是如何实现的。文章目录ArrayList继承关系继承实现的接口和类继承关系图源码解析ArrayList属性构造方法trimToSize()方法size()方法isEmpty()方法indexOf(Object o)方法ArrayList继承关系继承实现的接口和类ArrayList继承于AbstractList,实现了List、Random.

2021-07-03 12:04:30 338 1

原创 深入学习链表实现原理

文章目录链表链表实现节点类属性及构造方法getSize()方法isEmpty()方法traverse()方法add(Object data)方法addLast(Object data)方法insertNode(int index, Object data)方法deleteNode(Integer index)方法findNode(Integer index)方法updateNode(Integer index, Object data)完整代码链表链表是一种线性结构,结构如下下图所示链表的每个节点分

2021-06-17 20:45:27 501 2

原创 数据结构之栈基本实现

文章目录栈栈的实现定义节点类属性及构造方法getSize()方法isEmpty()方法traverse()方法push(Object data)方法pop()方法peek()方法clear()方法全部代码Java中的栈栈栈是一种特殊的线性表,栈中的数据元素以及数据元素间的逻辑关系和线性表相同,两者之间的差别在于:线性表的插入和删除操作可以在表的任意位置进行,而栈的插入和删除操作只允许在表的尾部进行,因此效率都是很高的,插入和删除都是在栈顶进行的,最后插入的最先被删除,所以栈的工作模式是先进后出(LIF

2021-06-10 21:32:55 410

转载 时间复杂度(图文并茂)

图文并茂,通俗易懂,时间复杂度的意义究竟什么是时间复杂度呢?让我们来想象一个场景:某一天,小灰和大黄同时加入了一个公司......一天过后,小灰和大黄各自交付了代码,两端代码实现的功能都差不多。大黄的代码运行一次要花100毫秒,内存占用5MB。小灰的代码运行一次要花100秒,内存占用500MB。于是......由此可见,衡量代码的好坏包括两个非常重...

2021-06-02 21:43:33 650

原创 Flask实现个人博客系统(附源码)

前面写了一些Flask相关的文章,这里使用Flask写了一个个人博客系统总结一下前面所学。项目全部代码也上传GitHub,地址:GitHub地址,如果对你有帮助,不妨动动你的小手指,帮忙star一下。文章目录项目描述项目目录数据库设计功能实现页面基本模板实现登录与注册功能修改密码写博客查看博客列表博客详情页面评论我的博客修改博客删除博客我的评论删除评论关于页面注销定义错误页面项目描述开发环境:PyCharm、python3.7、MySQL5.5使用技术:服务端是使用Flask开发的,前端是使用.

2021-05-13 22:59:45 10999 25

原创 Flask 使用Flask-SQLAlchemy操作数据库

安装Flask-SQLAlchemy是一个Flask扩展,所以使用之前也需要使用pip命令进行安装pip install flask-sqlalchemy相关配置在使用Flask-SQLAlchemy操作数据库之前需要先连接数据库。相关配置如下:from flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)# 连接数据库# mysql://账号:密码@链接地址:端口/数据库名app.config['SQLALCHEMY_DAT

2021-05-06 18:45:30 865 3

原创 Flask 文件上传与下载

文件上传与下载在平时开发中很常见,所以也是很重要的一部分。下面来一起看看flask中的文件上传与下载。相关配置# 设置文件上传保存路径app.config['UPLOAD_FOLDER'] = 'static/upload/'# MAX_CONTENT_LENGTH设置上传文件的大小,单位字节app.config['MAX_CONTENT_LENGTH'] = 1 * 1024 * 1024上传文件定义一个视图函数,用于返回上传页面和保存上传文件。@app.route('/upload.

2021-04-28 21:49:30 6496 2

原创 Flask 发送电子邮件

开通QQ邮箱的POP3/SMPT协议打开qq邮箱点击设置,之后点击账户,往下翻,如图。找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,点击开启,开启后会出现一个授权码,发送邮件时会用到。安装发送电子邮件需要安装flask-mail,可以使用pip命令来下载安装。pip install flask-mail相关配置app.config["MAIL_SERVER"] = "smtp.qq.com"app.config["MAIL_PORT"] = 46

2021-04-21 22:19:43 1032 1

原创 Flask 使用Werkzeug实现密码加密

有时候我们写项目,密码就是明码存放在数据库中,现在大多数用户在不同的网站中使用的都是相同的密码,如果攻击者入侵服务器获取了数据库,这样是很危险的。所以一般在开发中,我们会对密码进行加密之后在保存。Werkzeug中的security模块能过很方便的地实现密码散列值的计算(对密码进行加密)。generate_password_hash(password, method=pdkdf2:sha1, salt_length=8) 函数将原始密码password作为输入,以字符串形式输出密码的散列值,输出的值可

2021-04-14 20:45:14 543

原创 Flask 蓝图 Blueprint 基本使用

随着需求的增加,代码量也会随着增加,这时就需要对程序进行模块化处理。把视图函数分分类,存放到不同的文件中。Blueprint 就是一个存储视图函数的容器,视图函数存储到Blueprint中,Blueprint 被注册到一个应用之后就可以被调用这些视图函数,Flask 可以通过Blueprint来组织URL以及处理请求。创建一个python文件并在该文件中创建一个蓝图ad = Blueprint("ad", __name__)在该文件中使用当前蓝图创建两个视图函数。@ad.route("/adL.

2021-04-07 21:46:13 525 1

原创 Flask 重定向、session、Flash消息基本使用

重定向、session、Flash消息都比较简单(内容也比较少),所以这里就放在一起写了。重定向flask通过redirect()函数,来实现响应重定向,redirect()函数的参数是重定向的URL。定义一个视图函数,重定向到‘ /aaa ’地址地址。@app.route('/index')def index(): return redirect('/aaa')@app.route('/aaa')def aaa(): return "响应重定向后的视图函数"在浏览器.

2021-03-31 21:56:51 654

原创 Flask使用Flask-WTF表单

Flask-WTFFlask-WTF是Flask框架的表单验证模块,Flask-WTF将表单数据解析、CSRF保护、文件上传等功能与Flask集成。安装Flask-WTF及其依赖可使用pip安装pip install flask-wtf安装成功如下:跨站请求伪造保护默认请求下,Flask-WTF能保护所有表单免受跨站请求伪造(CSRF)的攻击。为了实现CSRF保护,Flask-WTF需要程序设置一个密钥。Flask-WTF使用这个密钥生成加密令牌,再用令牌验证请求中表单数据的真伪。设置密钥

2021-03-24 21:56:33 2414

原创 Flask Jinja2模板引擎

简介Jinja2是Python下一个被广泛应用的模版引擎,他的设计思想来源于Django的模板引擎,并扩展了其语法和一系列强大的功能。其中最显著的一个是增加了沙箱执行功能和可选的自动转义功能,这对大多应用的安全性来说是非常重要的(来源百度百科)。Jinja2基本使用Flask是一款开发Web服务端的框架,所以肯定是离不开页面的。上一章,我们使用路由返回数据时,返回内容中包含的有少量的HTML代码,...

2021-03-18 06:52:09 445 2

原创 python Flask快速入门

Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。使用也很简单,可以快速实现一个Web服务。

2021-03-11 20:47:25 2014 2

原创 C语言文件操作

C语言中的文件操作都是通过调用标准函数来完成的。由于结构指针的参数传递效率更高,因此C语言文件操作统一以文件指针方式实现。定义文件类型指针的格式为:**FILE \*fp;**其中FILE是文件类型定义符,fp是文件类型的指针变量。文件指针是特殊指针,指向的是文件类型结构。每个文件都有自己的FILE结构和文件缓冲区,FILE结构中有一个curp成员,通过fp->curp可以指示文件缓冲区中数据存取的位置。

2020-05-24 20:54:37 1776 4

原创 C语言结构的基本使用

结构类型是一种允许把一些数据分量聚合成一个整体的数据类型。一个结构中包含的每个数据分量都有名字(类似于Java类),这些数据分量称为结构成员或者结构分量,结构成员可以是C语言中的任意变量类型,开发时可以使用结构类型来创造适合于问题的数据集合。像数组和指针一样,结构也是一种构造数据类型,他与数组的区别在于:数组中所有元素的数据类型必须是相同的,而结构中各成员的数据类型可以不同。

2020-05-22 19:13:51 7228 4

原创 指针数组与函数指针

写在前面:学习的第一门语言是Java,之前对C也了解一点,也只是了解一点,在加上长时间没有接触了,基本就只会一个Hello World了。现在由于准备升本考试,不得不从头开始学C。这里从零开始,记录C语言学习点滴。欢迎正在学习C语言的小伙伴一起学习,未来可期,一起加油!上一篇写了指针的定义及基本使用,这章我们来看一下数组指针的使用。指针、数组和地址间的关系在定义数组时,编译器必须分配基地址和足够的存储空间,以存储数组的所有元素。数组的基地址是在内存中存储数组的起始位置,它是数组中第一个元素(下标为.

2020-05-19 18:10:24 1716 3

原创 C语言字符串使用指南

在C语言里边是没有字符串数据类型的,但在平时开发中肯定是少不了字符串操作的。因为字符串都是有字符组成的,所以在C语言中字符串是通过一维字符数组来实现的。...

2020-05-14 21:56:37 6104 2

原创 C语言指针的定义及基本使用

指针是C语言中一个非常重要的概念,也是C语言的特色之一。使用指针可以对复杂数据进行处理,能对计算机的内存分配进行控制,在函数调用中使用指针还可以返回多个值。地址和指针是计算机中的两个重要概念,在程序运行过程中,变量或者程序代码被存储在以字节为单位组织的存储器中。在C语言中,如果定义了一个变量,在编译时就会根据该变量的类型给它分配相应大小的内存单元。

2020-05-11 22:13:32 44841 9

原创 【C语言基础系列】数组使用指南

写在前面:学习的第一门语言是Java,之前对C也了解一点,也只是了解一点,在加上长时间没有接触了,基本就只会一个Hello World了。现在由于准备升本考试,不得不从头开始学C。这里从零开始,记录C语言学习点滴。欢迎正在学习C语言的小伙伴一起学习,未来可期,一起加油!由于初学C语言,上述内容如有错误地方,恳请各位大佬指出!...

2020-05-08 21:29:49 3407 5

原创 【C语言基础系列】运算符与表达式总结

写在前面:学习的第一门语言是Java,之前对C也了解一点,也只是了解一点,在加上长时间没有接触了,基本就只会一个Hello World了。现在由于准备升本考试,不得不从头开始学C。这里从零开始,记录C语言学习点滴。欢迎正在学习C语言的小伙伴一起学习,未来可期,一起加油!前面我们也使用过一些数据类型,下图为C语言中可以使用的数据类型。C语言程序中所使用的每个数据都属于其中某一种类型,在编程...

2020-05-03 21:17:21 1857 8

原创 【C语言基础系列】C语言函数基本使用

写在前面:学习的第一门语言是Java,之前对C也了解一点,也只是了解一点,在加上长时间没有接触了,基本就只会一个Hello World了。现在由于准备升本考试,不得不从头开始学C。这里从零开始,记录C语言学习点滴。欢迎正在学习C语言的小伙伴一起学习,未来可期,一起加油!文章目录函数定义函数定义函数是一个完成特定工作的独立程序模块,包括库函数和自定义函数两种。例如:scanf(),prin...

2020-05-01 21:49:44 4206 2

原创 分支结构和循环结构总结(经典案例解析)

阶乘计算输入一个正整数n,计算n的阶乘。求和计算1 - 1/3 + 1/5 - 1/7+.......共n项之和。判断是否为素数判断一个正整n是否为素数。打印九九乘法表九九乘法表相信大家都不陌生吧!利用循环打印出一个九九乘法表。

2020-04-26 22:20:40 3963 2

原创 【C语言基础系列】C语言循环结构

写在前面:学习的第一门语言是Java,之前对C也了解一点,也只是了解一点,在加上长时间没有接触了,基本就只会一个Hello World了。现在由于准备升本考试,不得不从头开始学C。这里从零开始,记录C语言学习点滴。欢迎正在学习C语言的小伙伴一起学习,未来可期,一起加油!文章目录for语句while语句do-while语句for语句for语句为一个循环语句,可以实现重复执行操作。for语...

2020-04-23 19:49:37 2310 15

原创 【C语言基础系列】C语言分支结构

C语言的分支选择语句主要有两个1、if else语句 ;2、switch语句。C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。

2020-04-19 17:42:33 12860 31

原创 【C语言基础系列】初识C语言

C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。...

2020-04-16 17:54:37 1700 32

原创 Springboot整合ActiveMQ(Queue和Topic两种模式)

写在前面: 从2018年底开始学习SpringBoot,也用SpringBoot写过一些项目。这里对学习Springboot的一些知识总结记录一下。如果你也在学习SpringBoot,可以关注我,一起学习,一起进步。文章目录ActiveMQ简介1、ActiveMQ简介ActiveMQ简介1、ActiveMQ简介...

2020-04-09 17:55:54 6924 47

原创 一文快速搞懂Springboot发送邮件操作

写在前面: 从2018年底开始学习SpringBoot,也用SpringBoot写过一些项目。这里对学习Springboot的一些知识总结记录一下。如果你也在学习SpringBoot,可以关注我,一起学习,一起进步。...

2020-04-06 17:22:32 7509 58

原创 一文带你彻底搞懂JS前端跨域请求

什么是跨域请求在前端开发编码过程中,常见的 html 标签例如:a、form、img、script、link、iframe以及 Ajax 操作都可以指向一个资源地址或者说可以发起对一个资源的请求,那么这里所说的请求就存在同域请求还是跨域请求。所谓跨域请求就是指:当前发起请求的域与该请求指向的资源所在的域不一致(这里所有的域是协议、域名和端口号的合集,同域就是所协议、域名和端口号均相同,任何一...

2020-04-02 18:21:33 3624 54

原创 SpringBoot整合Swagger2(完整版)

写在前面: 从2018年底开始学习SpringBoot,也用SpringBoot写过一些项目。这里对学习Springboot的一些知识总结记录一下。如果你也在学习SpringBoot,可以关注我,一起学习,一起进步。文章目录Swagger简介1、为什么要用Swagger2、Swagger简介Springboot整合Swagger1、项目结构2、Swagger依赖3、Swagger配置文件4、...

2020-03-30 21:18:53 51219 91

原创 【JSON解析】浅谈JSONObject的使用

简介在程序开发过程中,在参数传递,函数返回值等方面,越来越多的使用JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,同时也易于机器解析和生成、易于理解、阅读和撰写,而且Json采用完全独立于语言的文本格式,这使得Json成为理想的数据交换语言。JSON建构于两种结构:“名称/值”对的集合(A Collection of name/va...

2020-03-25 17:22:27 74067 75

原创 SpringBoot整合Shiro(完整版)

写在前面: 从2018年底开始学习SpringBoot,也用SpringBoot写过一些项目。这里对学习Springboot的一些知识总结记录一下。如果你也在学习SpringBoot,可以关注我,一起学习,一起进步。文章目录之前写项目安全控件基本都是用的SpringSecurity,后来发现使用Shiro的也比较多,...

2020-03-24 17:41:59 11286 53

原创 【系统权限管理】SpringSecurity实现动态权限菜单控制

目录SpringSecurity实现完整的权限管理使用技术相关概念数据库表设计项目结构相关依赖功能部分效果展示案例代码下载SpringSecurity实现完整动态权限菜单在实际开发中,开发任何一套系统,基本都少不了权限管理这一块。这些足以说明权限管理的重要性。其实SpringSecurity去年就学了,一直没有时间整理,用了一年多时间了,给我的印象一直都...

2020-03-18 19:18:55 23470 62

原创 一文读懂SpringBoot定时任务

写在前面: 从2018年底开始学习SpringBoot,也用SpringBoot写过一些项目。这里对学习Springboot的一些知识总结记录一下。如果你也在学习SpringBoot,可以关注我,一起学习,一起进步。文章目录定时任务作用SpringBoot中使用定时任务1、创建定时器2、运行效果3、cron表达式4、fixedRate5、fixedDelay定时任务作用定时任务顾名思义就...

2020-03-15 18:15:14 5943 33

原创 SpringBoot整合Redis(项目实战篇)

写在前面: 从2018年底开始学习SpringBoot,也用SpringBoot写过一些项目。现在想对学习Springboot的一些知识总结记录一下。如果你也在学习SpringBoot,可以关注我,一起学习,一起进步。相关文章:Redis数据类型及基本使用。文章目录Redis1、Redis简介2、Redis特点搭建项目1、项目结构2、新建Springboot项目3、配置链接信息测试链接1、测...

2020-03-12 17:51:38 20576 36

原创 从浅到深,带你彻底搞懂AJAX异步请求

文章目录什么是 AJAX实例用法1、AJAX load() 方法2、$.get() 方法3、$.post() 方法4、ajax() 方法什么是 AJAXAJAX = 异步 JavaScript 和 XML。AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传...

2020-03-09 18:01:22 15548 27

weui微信UI样式库

WeUI 是微信官方设计团队为微信 Web 开发量身打造的一个 UI 样式库,你可以把它理解为一个前端框架,类似于 Bootstrap 的那种。 由于是微信官方出品,所以对微信的兼容性基本没有太大问题,而且各组件的样式和微信一样,能够和微信很好的融合在一起,给用户较好的体验。

2019-07-02

layui树形表格treetable.js

layui树形表格treetable.js插件,基于layui第三方开发的一款树形表格插件,很实用。

2019-04-29

layui树形表格treetable.css

layui树形表格treetable.css插件,基于layui第三方开发的一款树形表格插件,很实用。

2019-04-29

fileinput.css

用于bootstrap批量上传和下载的js文件,挺好用的,封装的很好

2018-12-13

fileinput.js

用于bootstrap批量上传和下载的js文件,挺好用的,封装的很好

2018-12-13

bootstrapValidator.min.js

bootstrap表单验证插件,css前边上传了,现在把bootstrapValidator.min.js也上传一下

2018-12-05

bootstrapValidator.min.css

之前在网上找了很多bootstrapValidator.min.css插件,都是收费的。所以在这里分享给大家。

2018-12-05

空空如也

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

TA关注的人

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