自定义博客皮肤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 728

原创 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 185

原创 hibernate validate 集成

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

2022-04-28 14:21:28 162

原创 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 447

原创 简单的发送邮件

@Servicepublic 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 47

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

发送短信 验证码工具类

2022-04-18 09:41:30 409

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

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 124

原创 封装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 122

原创 封装七牛云工具类.

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

2022-04-17 16:16:35 129

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

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

2022-04-13 12:44:17 717

原创 新版idea热部署部署

新版idea热部署项目

2022-04-10 11:51:30 976

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

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

2022-03-18 13:07:19 393

原创 基于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 538

原创 itsdangerous用法

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

2022-03-15 17:21:20 97

原创 celery异步框架的使用

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

2022-03-15 17:08:54 612

原创 数据库配置

# 数据库配置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 1125

原创 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 39

原创 日志文件配置

需要手动创建日志文件!!!# 日志配置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 70

原创 static配置/media配置

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

2022-03-15 16:03:30 412

原创 中国时区设置

LANGUAGE_CODE = 'zh-Hans'TIME_ZONE = 'Asia/Shanghai'USE_I18N = TrueUSE_L10N = TrueUSE_TZ = False

2022-03-15 15:57:45 339

原创 settings基本配置

DEBUG = True/False # 在项目上线时候改为FalseALLOWED_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 481

原创 跨域问题解决方法

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

2022-03-15 15:44:30 161

原创 堆排序python实现

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

2021-05-22 18:54:36 37

原创 动态规划|矩阵连乘|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 4509 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 58

原创 归并排序|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 67

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

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

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

空空如也

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

TA关注的人

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