- 博客(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 748
原创 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 196
原创 hibernate validate 集成
文章目录常用注解导入maven 坐标实体类控制器常用注解注解说明@AssertTrue用于boolean字段,该字段只能为true@AssertFalse用于boolean字段,该字段只能为false@CreditCardNumber对信用卡号进行一个大致的验证@DecimalMax只能小于或等于该值@DecimalMin只能大于或等于该值@Email检查是否是一个有效的email地址@Future检查该字段的日期是否是属于将来的日期
2022-04-28 14:21:28 266
原创 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 593
原创 简单的发送邮件
@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 76
原创 随机生成验证码工具类
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 154
原创 封装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 132
原创 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 425
原创 基于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 576
原创 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 125
原创 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 616
原创 数据库配置
# 数据库配置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 1130
原创 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 68
原创 日志文件配置
需要手动创建日志文件!!!# 日志配置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 100
原创 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 452
原创 中国时区设置
LANGUAGE_CODE = 'zh-Hans'TIME_ZONE = 'Asia/Shanghai'USE_I18N = TrueUSE_L10N = TrueUSE_TZ = False
2022-03-15 15:57:45 381
原创 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 512
原创 跨域问题解决方法
安装模块pip install django-cors-headers注册appINSTALLED_APPS = [ ... 'corsheaders', ... ]注册中间件# 将该配置尽量写在高的位置# 在SessionMiddleware后面以及CommonMiddleware前面MIDDLEWARE_CLASSES = ( 'corsheaders.middleware.CorsMiddleware', ...)配置CORS_ALL
2022-03-15 15:44:30 321
原创 堆排序python实现
堆排序,即利用堆的特性来进行排序,实现堆排序的思路是把数组构建成一颗二叉树,并随着每次堆的变化更新堆顶的最大/最小值堆排序的时间复杂度在所有情况下都是O(n*lgn),并且他是一个不稳定的算法.堆是一种数据结构,它是一种特殊的完全二叉树,如果这个堆是一个大顶堆(最大的元素在最上边),那么每个节点上的元素都应该比他的子节点要大,最大的元素在根节点上;反之亦然.先给出堆排序的代码,稍后分析'''作者:smallMQ 堆排序主要思想: 利用大顶树的性质,将最大的数放到最上边,.
2021-05-22 18:54:36 64
原创 动态规划|矩阵连乘|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 4736 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) <
2021-05-22 18:08:04 72
原创 归并排序|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 81
原创 初级排序算法python实现|插入排序|选择排序|冒泡排序
插入排序 直观的讲,插入排序算法是把给定数组元素中的元素依次插入到一个新的数组中,最终得到一个完整的有序列表. 插入排序是一个**稳定的排序算法** 插入排序的平均时间复杂度为O(n^2),最好的情况是O(n),最坏的情况则是O(n^2). 插入排序的空间复杂度为O(1). 插入排序的主要思想是:将列表进行分割成两半,左边表示有序,右边表示无序,初始默认左有一个元素,一个元素肯定为有序的,刚开始先遍历右边的列表元素,让列表右边部分与左边部分进行逐一比较(即此时也要遍历列表左边部分),并将每次
2021-04-25 19:12:24 146 1
空空如也
vue打包后index页面不显示,检查页面元素,请求都正常
2022-03-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人