自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

small_MQ的博客

python技术分享交流学习

  • 博客(27)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 java - JWT 集成

文章目录导入坐标生成token 导入坐标 <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.9.1</version> </dependency> 生成token @Test public void test2(){ //添加构成JWT的

2022-04-28 15:34:13 831

原创 Antisamy 集成

文章目录导入坐标写过滤器创建XssRequestWrapper 类配置类 AntiSamy是OWASP的一个开源项目,通过对用户输入的 HTML / CSS / JavaScript 等内容进行检验和清理,确保输入符合应用规范。AntiSamy被广泛应用于Web服务对存储型和反射型XSS的防御中。 导入坐标 <dependency> <groupId>org.owasp.antisamy</groupId> <artifactId>antisamy&l

2022-04-28 14:32:52 316

原创 hibernate validate 集成

文章目录常用注解导入maven 坐标实体类控制器 常用注解 注解 说明 @AssertTrue 用于boolean字段,该字段只能为true @AssertFalse 用于boolean字段,该字段只能为false @CreditCardNumber 对信用卡号进行一个大致的验证 @DecimalMax 只能小于或等于该值 @DecimalMin 只能大于或等于该值 @Email 检查是否是一个有效的email地址 @Future 检查该字段的日期是否是属于将来的日期

2022-04-28 14:21:28 329

原创 swagger2 knife4j 集成配置

文章目录导入坐标写配置类常用注解knife4j 集成导入坐标 导入坐标 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency> <dependency> <gro

2022-04-28 13:46:49 715

原创 简单的发送邮件

@Service public class SendMailServiceImpl implements SendMailService { @Autowired private JavaMailSender mailSender; // 定义发送邮箱数据变量 private String from = ""; private String to = ""; private String subject = "测试邮件"; private String

2022-04-18 18:16:20 115

原创 发送短信验证码工具类

发送短信 验证码工具类

2022-04-18 09:41:30 482

原创 随机生成验证码工具类

import java.util.Random; /** * 随机生成验证码工具类 */ public class ValidateCodeUtils { /** * 随机生成验证码 * @param length 长度为4位或者6位 * @return */ public static Integer generateValidateCode(int length){ Integer code =null; if

2022-04-18 09:40:04 211

原创 封装POIUtils工具类

import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.

2022-04-17 17:24:20 173

原创 封装七牛云工具类.

封装七牛云图片上传删除的 工具类

2022-04-17 16:16:35 212

原创 Java Spring Bean 的几种加载方式

bean的8中加载方式,Spring框架 记录自己的笔记

2022-04-13 12:44:17 952

原创 新版idea热部署部署

新版idea热部署项目

2022-04-10 11:51:30 1057

原创 JWT手动签发| 自动签发

from rest_framework_jwt.serializers import jwt_payload_handler,jwt_encode_handler class UserModelSerializer(ModelSerializer): username = serializers.CharField(max_length=32) class Meta: model = models.UserInfo fields = ['username'

2022-03-18 13:07:19 482

原创 基于jwt的登录/注册功能实现

# views.py # 登录视图 class LoginView(ViewSet): # 登录 @action(methods=['POST'], detail=False) def login(self, request, *args, **kwargs): ser_obj = ser.UserModelSerializer(data=request.data) if ser_obj.is_valid(): token =

2022-03-15 17:59:54 675

原创 itsdangerous用法

pip3 install itsdangerous # 加密 from itsdangerous import TimedJSONWebSignatureSerializer as TJWSS from django.conf import settings SECRET_KEY = 'smallmq' # 密钥 300s tjwss = TJWSS(SECRET_KEY , 300) # 要加密的数据 data = db8c553eba2fb569 # 加密,返回的是bytes类型,decode解

2022-03-15 17:21:20 196

原创 celery异步框架的使用

安装 pip install celery pip install django-redis # Windows中还需要安装以下模块,用于任务执行单元 pip install eventlet redis 配置 CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379/0", "OPTIONS": {

2022-03-15 17:08:54 662

原创 数据库配置

# 数据库配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'new_blog', 'USER':'smallmq', 'PASSWORD':'wangmengqi123', 'HOST':'127.0.0.1',

2022-03-15 16:07:28 1193

原创 redis配置

pip3 install django-redis # settings.py # 缓存配置 CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379/0", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultCli

2022-03-15 16:05:49 113

原创 日志文件配置

需要手动创建日志文件!!! # 日志配置 LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'verbose': { 'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s' }, 'simple': {

2022-03-15 16:04:43 166

原创 static配置/media配置

STATIC_URL = '/static/' # 当你关闭DEBUG模式时,需要打开STATIC_ROOT注释,同时注释掉STATICFILES_DIRS, # 然后执行命令收集静态文件:python manage.py collectstatic STATIC_ROOT = os.path.join(BASE_DIR,'static') # STATICFILES_DIRS = ( # BASE_DIR / 'static', # ) MEDIA_URL = '/media/' MEDIA_RO

2022-03-15 16:03:30 510

原创 中国时区设置

LANGUAGE_CODE = 'zh-Hans' TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = True USE_TZ = False

2022-03-15 15:57:45 474

原创 settings基本配置

DEBUG = True/False # 在项目上线时候改为False ALLOWED_HOSTS = ['*',] # 允许的主机访问 INSTALLED_APPS = [ 'simpleui', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages'

2022-03-15 15:52:05 578

原创 跨域问题解决方法

安装模块 pip install django-cors-headers 注册app INSTALLED_APPS = [ ... 'corsheaders', ... ] 注册中间件 # 将该配置尽量写在高的位置 # 在SessionMiddleware后面以及CommonMiddleware前面 MIDDLEWARE_CLASSES = ( 'corsheaders.middleware.CorsMiddleware', ... ) 配置 CORS_ALL

2022-03-15 15:44:30 590

原创 堆排序python实现

堆排序,即利用堆的特性来进行排序,实现堆排序的思路是把数组构建成一颗二叉树,并随着每次堆的变化更新堆顶的最大/最小值 堆排序的时间复杂度在所有情况下都是O(n*lgn),并且他是一个不稳定的算法. 堆是一种数据结构,它是一种特殊的完全二叉树,如果这个堆是一个大顶堆(最大的元素在最上边),那么每个节点上的元素都应该比他的子节点要大,最大的元素在根节点上;反之亦然. 先给出堆排序的代码,稍后分析 ''' 作者:smallMQ 堆排序主要思想: 利用大顶树的性质,将最大的数放到最上边,.

2021-05-22 18:54:36 102

原创 动态规划|矩阵连乘|python实现

问题描述: 给定n个矩阵{A1,…,An}且相邻两个矩阵是可乘的,考察这n个矩阵的连乘积问题. · 由于矩阵乘法满足结合律,所以计算矩阵的连乘可以有许多不同的计算次序。这种计算次序可以用加括号的方式来确定。 · 若一个矩阵连乘积的计算次序完全确定,也就是说该连乘积已完全加括号,则可以依此次序反复调用2个矩阵相乘的标准算法计算出矩阵连乘积。 将矩阵连乘积A.1…A简记为A[i:j],这里i<=j。 考察计算A[i:j]的最优计算次序。设这个计算次序在矩阵Ak和Ak+1之间将矩阵链断开,i<=k&l

2021-05-22 18:42:53 5251 1

原创 快速排序|python实现

快速排序|python实现 快速排序算法的主要思想是在数组中选择一个关键字key,并对数组进行遍历,将所有比它小的数放在他的左边,反之放在右边. 快速排序算法的平均时间复杂度为O(nlg n),最好情况下的时间复杂度为O(nlg n),最坏情况下是O(n*n),因此快速排序算法是一个不稳定的排序 python代码实现 1基础类型(占空间) list1 = [2, 1, 10, 5, 2, 6, 3, 4, 20, 6, 7, 8] def QuickSort(l): if (len(l) &lt

2021-05-22 18:08:04 121

原创 归并排序|python实现

归并排序|python实现 归并排序所采用的思想主要是分治思想.其主要实现方法是将数组先进行拆分,其次进行合并.将整个数组拆分为多个小数组排序问题,最后再将其进行归并排序实现,其时间复杂度为O(n*lg n),是一种稳点的排序方式. 代码部分 ''' 作者:smallMQ 主要思想:分治思想\递归 无论怎样时间复杂度都为O(n*lgn) 稳定 ''' list1 = [2, 1, 10, 5, 2, 6, 3, 4, 20, 6, 7, 8] def MergeSort(l): if (le

2021-05-22 10:18:25 147

原创 初级排序算法python实现|插入排序|选择排序|冒泡排序

插入排序 直观的讲,插入排序算法是把给定数组元素中的元素依次插入到一个新的数 组中,最终得到一个完整的有序列表. 插入排序是一个**稳定的排序算法** 插入排序的平均时间复杂度为O(n^2),最好的情况是O(n),最坏的情况则是O(n^2). 插入排序的空间复杂度为O(1). 插入排序的主要思想是:将列表进行分割成两半,左边表示有序,右边表示无序,初始默认左有一个元素,一个元素肯定为有序的,刚开始先遍历右边的列表元素 ,让列表右边部分与左边部分进行逐一比较(即此时也要遍历列表左边部分),并将每次

2021-04-25 19:12:24 205 1

空空如也

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

TA关注的人

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