- 博客(32)
- 收藏
- 关注
原创 VSCode自用Vue3代码片段
"vue3": { "prefix": "vue3", "body": [ "<template>", " ", "</template>\n", "<script lang='ts'>", "import {defineComponent, reactive, toRefs} from 'vue'\n", "export default defineComponent({", " name: '',", .
2021-02-19 19:28:55
2254
原创 webpack5配置
带注释版本// resolve用来拼接绝对路径的方法const { resolve } = require('path')//1. 下载 2. 引入 3.使用const HtmlWebpackPlugin = require('html-webpack-plugin')const MiniCssExtractPlugin = require('mini-css-extract-plugin');const OptimizeCssAssetsWebpackPlugin = require('opt
2021-02-19 16:05:47
793
原创 【填坑】webpack5中optimize-css-assets-webpack-plugin无法实现压缩css
一开始以为是OptimizeCssAssetsWebpackPlugin插件没有使用,然后查看了plugins已经使用了OptimizeCssAssetsWebpackPlugin。啊?这啥情况?最后找到了皮蛋很白大佬的webpack二刷之五、生产环境优化(5.提取压缩CSS)文章,写的也很清楚,原来是:webpack官方文档介绍时并不是将 「OptimizeCssAssetsWebpackPlugin」 插件配置在「plugins」数组中。而是配置在 「optimization.minimize.
2021-02-19 15:44:11
10533
1
原创 【填坑】Webpack 5.22 上 html-webpack-plugin5.1.0 和 html-loader 的碰撞
直接说正题,webpack上html-loader和html-webpack-plugin冲突错误代码:html-webpack-plugin插件配置plugins: [ // html-webpack-plugin:默认会创建一个空的html文件,自动引入打包输出的所有资源(JS/CSS) // 需要有结构的HTML文件可以加一个template new HtmlWebpackPlugin({ // 复制这个./src/index.html文件,并自动引入打包输出的所有资源(.
2021-02-18 21:25:59
1415
1
原创 自学Webpack
const { resolve } = require('path');const HtmlWebpackPlugin = require('html-webpack-plugin');module.exports = { entry: './src/index.js', output: { filename: 'built.js', path: resolve(__dirname, 'build') }, module: { rules: [ {
2021-02-18 19:25:47
125
原创 DRF实战6 - 订单管理
6 - 订单管理6.1.获取订单表表列表数据接口分析请求方式: GET /meiduo_admin/orders/?keyword=<搜索内容>&page=<页码>&pagesize=<页容量>请求参数: 通过请求头传递jwt token数据。返回数据: JSON { "counts": 39, "list": [ { "order_id": "201811
2021-01-30 13:51:36
224
原创 DRF实战5 - 商品管理
5 - 商品管理5.1.规格表管理在规格表中我们需要对规格表数据进行增删改查操作,这时候我们可以借助于视图集中的ModelViewset来完成相应的操作5.1.1.查询获取规格表列表数据接口分析请求方式: GET /meiduo_admin/goods/specs/请求参数: 通过请求头传递jwt token数据。返回数据: JSON { "counts": "SPU商品规格总数量", "lists": [ {
2021-01-30 13:50:35
529
原创 DRF实战4 - 用户管理
4 - 用户管理在用户页面我们需要完成两个功能:1、用户信息的查询获取2、增加用户4.1.用户的查询获取接口分析请求方式:GET /meiduo_admin/users/?keyword=<搜索内容>&page=<页码>&pagesize=<页容量>请求参数: 通过请求头传递jwt token数据。参数类型是否必须说明keywordstr否搜索用户名pageint否页码pagesizein
2021-01-30 13:49:53
610
原创 DRF实战3 - 数据统计
3 - 数据统计在进入到后台页面后,首先我们需要完成如下功能:1、用户总数统计2、日增用户统计3、日活用户统计4、下单用户统计5、月新增用户统计6、商品访问量统计3.1.用户总量统计接口分析请求方式: GET /meiduo_admin/statistical/total_count/请求参数: 通过请求头传递jwt token数据。返回数据: JSON{ "count": "总用户量", "date": "日期"}返回值类型是否
2021-01-30 13:49:21
825
原创 DRF实战2 - 管理员登录
2 - 管理员登录后台管理中我们首先需要完成登录功能,我们可以通过改写美多表单登录来完成相应的功能。在后台登录中,由于我们前端服务和后端服务的域名不一样,所以我们首先解决跨域问题。在登录后的状态保持我们采用了JWT的方式2.1.浏览器的同源策略1995年,同源政策由 Netscape 公司引入浏览器。目前,所有浏览器都实行这个政策。同源策略是浏览器的一个安全功能,不同源的客户端脚本(js文件)在没有明确授权的情况下,不能读写对方资源。只有同一个源的脚本赋予dom、读写cookie、session
2021-01-30 13:48:34
1436
原创 DRF实战1 - 环境搭建
1 - 项目环境搭建1、前端代码的运行进入meiduo_mall_admin文件目录下,执行如下指令npm run dev出现如下图所示,表示运行成功:2、后端代码的运行1、导入虚拟环境文件pip install -r requeriments.txt# requirements.txt 可以通过pip freeze来生成2、进入数据库创建meiduo数据库mysql -uroot -p create database meiduo charset=utf8;3、导入数据
2021-01-30 13:46:55
16397
原创 DRF实战0 - 美多后台管理(DRF实战系列)
美多后台管理Django框架已经提供了一个Admin管理后台,但是Admin的本身的页面可修改的页面布局效果比较少,无法满足公司定制页面需求,这时候就需要独立开发一套后台管理系统,满足公司对后台数据的管理。项目架构开发模式:前后端分离前端框架:VUE后端框架:Django REST framework(DRF)功能部分:管理员登录,数据统计,用户管理,商品管理,订单管理,权限管理主要技术 : JWT用户认证 ,CORS跨域...
2021-01-30 13:44:48
738
2
原创 1、Redis学习
Redis学习目标能够描述出什么是 nosql能够说出 Redis 的特点nosql介绍NoSQL:一类新出现的数据库(not only sql)泛指非关系型的数据库不支持SQL语法存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是KV形式NoSQL的世界中没有一种通用的语言,每种nosql数据库都有自己的api和语法,以及擅长的业务场景NoSQL中的产品种类相当多:RedisMongodbHbase hadoopCassandra hadoop
2021-01-28 12:28:22
100
原创 五、高级功能
高级功能认证Authentication可以在配置文件中配置全局默认的认证方案REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.BasicAuthentication', # 基本认证 'rest_framework.authentication.SessionAuthentication', # session认证 )}
2021-01-28 10:57:23
202
原创 四、视图
视图Request 与 Response1. RequestREST framework 传入视图的request对象不再是Django默认的HttpRequest对象,而是REST framework提供的扩展了HttpRequest类的Request类的对象。REST framework 提供了Parser解析器,在接收到请求后会自动根据Content-Type指明的请求数据类型(如JSON、表单等)将请求数据进行parse解析,解析为类字典对象保存到Request对象中。Request对象的
2021-01-28 10:53:49
165
原创 三、Serializer序列化器
Serializer序列化器序列化器的作用:进行数据的校验对数据对象进行转换定义Serializer1. 定义方法Django REST framework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serializer。例如,我们已有了一个数据库模型类BookInfoclass BookInfo(models.Model): btitle = models.CharField(max_length=20, verbose_
2021-01-28 10:50:28
532
原创 二、DRF环境配置
环境安装与配置DRF是以Django扩展应用的方式提供的,所以我们可以直接利用已有的Django环境而无需从新创建。(若没有Django环境,需要先创建环境安装Django)1. 安装DRFpip install djangorestframework2. 添加rest_framework应用我们利用在Django框架学习中创建的demo工程,在settings.py的INSTALLED_APPS中添加’rest_framework’。INSTALLED_APPS = [ ...
2021-01-28 10:48:37
113
原创 一、初识Django REST framework
引入Django REST framework在本章中,我们要大家介绍为什么学习Django REST framework,它能帮助我们做哪些事情。课程思路:我们从分析现在流行的前后端分离Web应用模式说起,然后介绍如何设计REST API,通过使用Django来实现一个REST API为例,明确后端开发REST API要做的最核心工作,然后介绍Django REST framework能帮助我们简化开发REST API的工作。Web应用模式在开发Web应用中,有两种应用模式:前后端不分离前
2021-01-28 10:46:46
262
原创 常用链接
猿人学腾讯云sshDjango博客部署OtreePython算法Python分类练习题服务器配置jupyterhadoop镜像Python算法2
2021-01-26 11:47:29
132
原创 labuladong算法框架 Python版 之 如何k个一组反转链表
如何k个一组反转链表 递归方式〇、链表实现class Node: def __init__(self,item): self.item = item self.next = Noneclass SingleNode: def __init__(self): self._head = None def is_empty(self): return self._head is None def len
2021-01-23 18:45:02
236
1
原创 labuladong算法框架 Python版 之 反转链表的一部分
反转链表的一部分链表实现class Node: def __init__(self,item): self.item = item self.next = Noneclass SingleNode: def __init__(self): self._head = None def is_empty(self): return self._head is None def length(self):
2021-01-21 14:00:53
238
7
原创 labuladong算法框架 Python版 之 学习算法和数据结构的思路指南
Day 01 数据结构一、数据结构的存储方式基础的数据类型(结构基础)数组 顺序存储由于是紧凑连续存储,可以随机访问,通过索引快速找到对应元素,而且相对节约存储空间。但正因为连续存储,内存空间必须一次性分配够,所以说数组如果要扩容,需要重新分配一块更大的空间,再把数据全部复制过去,扩容时间复杂度 O(N);而且你如果想在数组中间进行插入和删除,每次必须搬移后面的所有数据以保持连续,增删时间复杂度 O(N)、改查时间复杂度 O(1)链表 链式存储因为元素不连续,而是靠指针指向下一
2021-01-20 18:33:28
933
原创 JavaScript之 刷雨课堂PPT
方法一(可以长久使用)Step 1进入雨课堂web端,点击想要 “观看” 的PPT,并点击查看课件 Step 2右键单击,检查 “检查” ,进入如下图所示板块。单击 “New snippet” 创建一个新的脚本文件,并把下面的代码粘贴在右侧空白区。Podium = {};Podium.keydown = function(k) { var oEvent = document.createEvent('KeyboardEvent'); ...
2021-01-14 00:08:46
4133
8
原创 AcFun_API 之 分页读取作者作品
分页读取作者作品调用地址(GET) https://www.acfun.cn/u/ + authorID参数字段必选类型说明备注quickViewIdtruestring板块名ac-space-video-list:视频板块bangumiList:番剧板块reqIDfalseint请求次数ajaxpipetrueint返回数据类型1:类似Json类型typetruestring作品类型video:视频orderfal
2021-01-14 00:08:14
432
原创 AcFun_API 之 分页读取番剧列表
分页读取番剧列表调用地址(GET) https://www.acfun.cn/bangumilist参数字段必选类型说明备注filtersfalsestring过滤方式详情见同级目录下filters.md文件pageNumtrueint页数不加参,默认page=1quickViewIdtruestring板块名ac-space-video-list:视频板块bangumiList:番剧板块listwrapper:TV动画reqID
2021-01-14 00:07:45
2121
原创 反爬虫--代理
反爬虫重试3次:当请求失败一次后再重新发起3次请求(一共发起四次请求)from requests.adapters import HTTPAdapters_requests = requests.Session()s_requests.mount('http://', HTTPAdapter(max_retries=3))s_requests.mount('https://', HTTPAdapter(max_retries=3))使用代理:proxies={"http": "
2021-01-14 00:05:40
196
原创 Win真“快捷“
适合Win10系统增加一个新的桌面Ctrl + Win + D删除当前桌面Ctrl + Win + F4切换至左侧桌面Ctrl + Win + ->(左移键)切换至右侧桌面Ctrl + Win + <-(右移键)适合大多数浏览器切换至下一个标签页Ctrl + Tab切换到指定标签页Ctrl + 标签位置...
2021-01-14 00:04:36
85
原创 Mongo语法
Mongo语法导出数据mongoexport -h dbhost -d dbname -c collectionname -o file --type json -f field参数说明:参数含义-h服务器地址以及端口(如127.0.0.1:27017)-d数据库名-c集合名-o需要导出的文件名–type格式(如json/csv/xls/xlsx/dbf)-f需要导出的字段名(如“_id,user_id,user_name,age,sta
2021-01-14 00:03:43
231
原创 round和format函数区别
#******round()****** ==>string(返回值都是string类型)round(1.234,0)# --> 1.0int(round(1.234,0))# --> 1#---------------------------round(1.234,1)# --> 1.2round(1.234,2)# --> 1.23#----------------------------round(1.26,1)# --> 1.3round(1.25
2021-01-14 00:02:12
1195
原创 初窥Spark
Hadoop一、HDFS —— 分布式文件系统二、MapReduce —— 分布式计算系统h:1h;1h:<1,1>h :2三、Yarn —— 资源调度系统Resource Manager 和 NodeManagerSpark一、spark集群结构RDD —— 弹性分布式数据集rdd = sc.parallelize([1,2,3,4,5,6]) rdd.collect() --> [1,2,3,4,5,6] rows = sc.te
2021-01-13 23:53:44
128
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人