【12】Django 中间件

02-16
 前戏 我们在前面的课程中已经学会了给视图函数加装饰器来判断是用户是否登录,把没有登录的用户请求跳转到登录页面.我们通过给几个特定视图函数加装饰器实现了这个需求.但是以后添加的视图函数可能也需要加上装饰器,这样是不是稍微有点繁琐. 学完今天的内容之后呢,我们就可以用更适宜的方式来实现类似给所有请求都做相同操作的功能了 中间件 中间件介绍 什么是中间件? 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子.它是一个轻量.低级别的插件系统,用于在全局范围内改变Django的输入

[题解]「最短路,Noip2009」最优贸易

02-16
题意: 在一张节点有权的图上找出一条从1到N的路径,使路径上的两点A , B的差值权最大(两个点互相经过). 题解: 考虑将这张图中双向路看成两条方向相反的单向道路,并把这张图看成有向图. 建立一张反图,从1->N和N->1分别跑最短路,求出每个点能经过的最小权与最大权. 最后枚举每个结点,更新出点的最小权与最大权的最大差值即可. 代码片: 1 #include <iostream> 2 #include <cstdio> 3 #include <algorith

asp.net core连接sqlserver

02-16
开发环境:win7,vs2017,sqlserver2014 vs上建立一个asp.net core web项目和一个.net core的类库项目DBA 简单起见,在DBA项目中就一个类SqlServerManager: using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; us

com microsoft sqlserver jdbc SQLServerException 到主机 的 TCP/I

02-16
1.错误描述 2017-04-05 11:30:08,031 [localhost-startStop-1] DEBUG [org.springframework.jdbc.core.JdbcTemplate] - Executing SQL query [select getdate()] 2017-04-05 11:30:29,163 [localhost-startStop-1] ERROR [com.alibaba.druid.pool.DruidDataSource] - init d

Getting Started with Word2Vec

02-16
Getting Started with Word2Vec 1. Source by Google Project with Code: https://code.google.com/archive/p/word2vec/ Blog: Learning Meaning Behind Words Paper: Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient Estimation of Word Represen

npm run dev--The &#39;mode&#39; option has not been set, webpack will fallback to &#39;production&#39; for this value

02-16
npm run dev时报警告: warning configurationThe 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production' to enable defaults for each environment.You can also set it to 'none' t

CPU密集型、IO密集型

02-16
CPU密集型(CPU-bound) CPU密集型也叫计算密集型,指的是系统的硬盘.内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/内存), I/O在很短的时间就可以完成,而CPU还有许多运算要处理,CPU Loading很高. IO密集型(I/O bound) IO密集型指的是系统的CPU性能相对硬盘.内存要好很多,此时,系统运作,大部分的状况是CPU在等I/O (硬盘/内存) 的读/写操作,此时CPU Loading并不高

原生js实现懒加载并节流

02-16
像淘宝网站等,页面中有着大量图片,一次性全部加载这些图片会使浏览器发送大量请求和造成浪费.采用懒加载技术,即用户浏览到哪儿,就加载该处的图片.这样节省网络资源.提升用户体验.减少服务器压力. 方法1:使用scrollTop/innerHeight/offsetTop 基本知识点: window.innerHeight:浏览器可视区域高度 document.body.scrollTop || document.documentElement.scrollTop:浏览器滚动条滚过高度 img.off

快速理解Java中的六种单例模式

02-16
饿汉式(推荐) package concurencyv2.chapter1; public class SingletonV2 { private static final SingletonV2 instance = new SingletonV2(); private SingletonV2() {} public static SingletonV2 getInstance() { return instance; } } 优点:初试化静态的instance创建一次.如果我们在Single

HDU 4647 Another Graph Game

02-16
Another Graph Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 660    Accepted Submission(s): 235 Problem Description Alice and Bob are playing a game on an undirected graph with n (n is eve

Manachar&#39;s Algorithm

02-16
1.模板 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int MAX=21000020; 4 char s[MAX],t[MAX<<1]; 5 int p[MAX<<1],cnt=0,mid,mr; 6 void manachar() 7 { 8 t[cnt++]='$'; 9 int len=strlen(s); 10 for(int i=0;i<len;i++) 11 { 12 t[cnt+

vue-cli 脚手架 Command Line Interface

02-16
vue-cli 脚手架 Command Line Interface npm install -g vue-cli        // 全局安装 脚手架 npm init webpack myVue        // 生成项目 工程文件夹 rc - runtime control build -------- 不是构建项目,而是暴露的 webpack 的配置 config/index.js -------- 可能会根据需要修改 .babelrc -------- babel 的配置 - (多个

在 JavaScript 中为什么 typeof null 的结果是 object?

02-16
java 中的 null:既是对象,又不是对象,史称「薛定谔的对象」. typeof null==='object';  ..//true null instanceof Object  //false nullinstanceofObject===false 而 null instanceof null 会抛出异常: UncaughtTypeError:Right-hand side of 'instanceof'isnotan object 这是一个历史遗留下来的 feature(or bu

webpack基本操作

02-16
第一步:创建项目文件夹 mkdir webpack-vue 第二步:使用vscode打开文件夹,经行npm初始化 npm init -y 第三步:下载项目需要资源包 生产环境 vue npm install --save vue 开发环境 webpack 1. 他是基于nodeJs,所以要确保安装了nodeJs --save-dev工具类型加dev 2. npm install --save-dev webpack 或者 npm install --save-dev webpack@<versi

win10专业版激活方法——亲测可行!!!

02-16
1.首先,我们先查看一下Win10正式专业版系统的激活状态: 点击桌面左下角的"Windows"按钮,从打开的扩展面板中依次点击"设置"-"更新和安全",并切换到"激活"选项卡,在此就可以查看到当前系统的激活状态.如图,Win10正式专业版当前未激活 2.接下来在桌面左下角的"cortana"搜索框中输入"CMD",待出现"命令提示符"工具时,右击选择"以管

nodeppt:网页版 PPT

02-16
资料 网址 github https://github.com/ksky521/nodeppt 网页版PPT(nodeppt 的介绍) http://deliazhi.com/2017/03/31/Web-PPT/ 原文地址:https://www.cnblogs.com/cag2050/p/10387143.html

sessionStorage的有趣之处---缓存页面滚动的位置

02-16
方法 string sessionStorage.key(int index) :返回当前 sessionStorage 对象的第index序号的key名称.若没有返回null. string sessionStorage.getItem(string key) :返回键名(key)对应的值(value).若没有返回null. void sessionStorage.setItem(string key, string value) :该方法接受一个键名(key)和值(value)作为参数,将键

[模板] 区间mex &amp;&amp; 区间元素种数

02-16
区间mex 问题 给定序列\({a_i}\), 每次询问给出\(l\), \(r\), 询问 \(mex \{a_i\}, i \in \{l, l+1, \cdots r\}\) 解法 (在线) 对于每个元素, 用 \(v_i\) 表示它最后一次出现的位置. 考虑到是区间询问, 使用主席树维护 \(v_i\) . 那么答案就是: 第 \(r\) 棵线段树上, 最小的 \(v_i < l\) 的值. 线段树上二分即可. 或者可以离线询问, 对 \(r\) 排序, 然后用线段树维护. 区间元素种数

vue 使用input file点击上传本地图片

02-16
<input type="file" @change="upData($event)" ref="InputFile" name="files" /> upData(event) { var reader = new FileReader(); let fileData = this.$refs.InputFile.files[0]; reader.readAsDataURL(fileData); let _thi

HashMap的小总结 + 源码分析

02-16
一.HashMap的原理 所谓Map,就是关联数组,存的是键值对--key&value. 实现一个简单的Map,你也许会直接用两个LIst,一个存key,一个存value.然后做查询或者get的时候,就遍历key的list,然后返回相应的value. 这样时间复杂度显然就是线性的,但这在map中已经是效率最低的get的方法了.而Hash主要提高效率的,也就是在这个位置--key的定位和查询这. 在数据结构中,我们学了hash这一技术,也就是散列表的技术.我们把整个表格看作是许多许多的空桶,然后散