session

从网上DownLoad(断点下载)

匆匆过客 提交于 2020-03-07 05:04:04
方法步骤一、storyboard布局 #import "ViewController.h" @interface ViewController ()<NSURLSessionDownloadDelegate> ///显示图片的 @property (weak, nonatomic) IBOutlet UIImageView *imageView; ///显示进度的 @property (weak, nonatomic) IBOutlet UIProgressView *progressView; ///下载任务的属性 @property (nonatomic,strong)NSURLSessionDownloadTask *task; ///网络请求类 @property (nonatomic,strong)NSURLSession *session; ///发送请求类 @property (nonatomic,strong)NSURLRequest *request; ///用于保存已经下载的数据的,供继续下载使用 @property(nonatomic,strong)NSMutableData *data; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do

django进阶

心已入冬 提交于 2020-03-07 04:42:22
   Form django中的Form一般有两种功能: 输入html 验证用户输入 #!/usr/bin/env python # -*- coding:utf-8 -*- import re from django import forms from django.core.exceptions import ValidationError def mobile_validate(value): mobile_re = re.compile(r'^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$') if not mobile_re.match(value): raise ValidationError('手机号码格式错误') class PublishForm(forms.Form): user_type_choice = ( (0, u'普通用户'), (1, u'高级用户'), ) user_type = forms.IntegerField(widget=forms.widgets.Select(choices=user_type_choice, attrs={'class': "form-control"})) title = forms.CharField(max_length=20, min

2020/03/05 03-查询表达式、Session-Cookie机制、JWT

空扰寡人 提交于 2020-03-07 04:32:31
模型操作也就是model类提供的操作能力,一般操作苏剧无非就是增删改查,CRUD,要学会再django中如何操作,提供了一个orm,这个orm提供了操作的东西,叫管理器对象,管理器对象是一个很特别的类,不能直接调用,这个实例是捆绑在model对象上的。 自己创建可以替换,也可以多替换几个 orm的操作就是将增删改查所有的方法操作换成sql语句,这个语句是交给orm来做的,orm更在乎对象和关系,,比如用外键描述关系。比如一对一,多对多。 对象是指面向对象的对象,用类和实例的方式描述大千世界,数据库是用关系模型来描述世界. 类对应表,类属性对应表字段。一行行记录对应一个个实例 操作和sqlalchemy很像,都是懒惰的方式,如果不使用就不查,减轻对数据库的负担,这样就让数据库的更多时间给别人使用。查询完会缓存,缓存在数据集里。 也可以使用第三方,把有意义的数据存放到里面进行缓存,redis可以设定缓存多长时间,或者到什么时候清除 切片也很懒惰,不用也不查,切片跟limit和offset语句是对应起来的,但是之间有个计算关系 过滤器,就是all,filter,一般很少用all,查询 了object.filter用的更多,后面再做切片,用filter的时候小于大于成了问题,不能用了,所以提供了新的语法lookup表达式。 使用主键的时候可以使用PK这个值。 提供了一些查询单个值的方式

MySql(五)SQL优化-优化SQL语句的一般步骤

半城伤御伤魂 提交于 2020-03-07 04:05:36
MySql(五)SQL优化-优化SQL语句的一般步骤 一、优化SQL语句的一般步骤 1.1 通过show status命令了解各种SQL的执行频率 1.2 定位执行效率较低的SQL语句 1.3 通过explain分析低效sql的执行计划 1.4 通过show profile分析sql 1.5 通过trace分析优化器如何选择执行计划 1.6 确定问题并采取相应的优化措施 一、优化SQL语句的一般步骤 1.1 通过show status命令了解各种SQL的执行频率 Mysql客户端连接成功后,通过 show [ session | global ] status 命令可以提供服务器状态信息。 show [session|global] status 可以根据需要加上参数"session"或者"global"来显示seesion级(当前连接)的统计结果和global级(自数据库上次启动至今)的统计结果。如果不写,默认使用的参数时"session"。 例如:显示当前session中所有统计参数的值: mysql > show status like 'Com_%' ; Com_xxx表示每个xxx语句执行的次数。 Com_select:执行select操作的次数,一次查询之累加1. Com_insert:执行insert操作的次数,对于批量插入insert操作,只累加一次。 Com

memcache缓存服务器(安装-配置-测试篇)

旧巷老猫 提交于 2020-03-07 03:36:46
部署环境: 主机 ip地址 操作系统 nginx 172.16.1.100 CentOS 7.3 php+memcache 172.16.1.110 CentOS 7.3 Mysql 172.16.1.120 CentOS 7.3 memcached 172.16.1.130 CentOS 7.3 一, 环境准备: 搭建LNMP环境(动态解析) 1,安装nginx 1)安装依赖工具包: [root@nginx-server ~]# yum -y install gcc* pcre-devel openssl-devel zlib-devel make vim 2)创建nginx用户组和用户: [root@nginx-server ~]# groupadd -r nginx && useradd -r -g nginx -s /bin/false -M nginx 3)解压源码包,配置&&编译安装: [root@nginx-server ~]# tar zxf nginx-1.8.0.tar.gz [root@nginx-server ~]# cd nginx-1.8.0 [root@nginx-server nginx-1.8.0]# ./configure --help ##可以查看自己需要的模块 --with,或取消的模块–without #根据自己的需求添加不同的模块

Cookie和Session

放肆的年华 提交于 2020-03-07 02:28:41
文章目录 Cookie 应用场景 为什么要有这个Cookie Cookie怎么用 添加Cookie给客户端 获取客户端带过来的Cookie 清除Cookie 其他常用方法 Cookie示例 实现记住密码功能 主要实现代码 前端登录页 后台处理代码 Cookie总结 Session 常用API Session创建和销毁 创建 获取Session 销毁 移除Session中的元素 总结: Cookie 基本用法: 什么时候有cookie Cookie 分类 Session 常用API 创建和销毁 Cookie和Session的区别 Cookie和Session的关系 Cookie 饼干. 其实是一份小数据, 是服务器给客户端,并且存储在客户端上的一份小数据 应用场景 自动登录、浏览记录、购物车。 为什么要有这个Cookie http的请求是无状态。 客户端与服务器在通讯的时候,是无状态的,其实就是客户端在第二次来访的时候,服务器根本就不知道这个客户端以前有没有来访问过。 为了更好的用户体验,更好的交互 [自动登录],其实从公司层面讲,就是为了更好的收集用户习惯[大数据] Cookie怎么用 添加Cookie给客户端 在响应的时候,添加cookie Cookie cookie = new Cookie ( "aa" , "bb" ) ; //给响应,添加一个cookie response

moquette源码分析之七--qos1和qos2消息的处理

六月ゝ 毕业季﹏ 提交于 2020-03-07 02:18:48
首先解释一下mqtt协议的session的概念,因为只有有了session才会存在消息质量保证一说 如果清理会话(CleanSession)标志被设置为0,服务端必须基于当前会话(使用客户端标识符识别)的状态恢复与客户端的通信。如果没有与这个客户端标识符关联的会话,服务端必须创建一个新的会话。在连接断开之后,当连接断开后,客户端和服务端必须保存会话信息 [MQTT-3.1.2-4]。当清理会话标志为0的会话连接断开之后,服务端必须将之后的QoS 1和QoS 2级别的消息保存为会话状态的一部分,如果这些消息匹配断开连接时客户端的任何订阅 [MQTT-3.1.2-5]。服务端也可以保存满足相同条件的QoS 0级别的消息。 如果清理会话(CleanSession)标志被设置为1,客户端和服务端必须丢弃之前的任何会话并开始一个新的会话。会话仅持续和网络连接同样长的时间。与这个会话关联的状态数据不能被任何之后的会话重用 [MQTT-3.1.2-6]。 客户端的会话状态包括: ● 已经发送给服务端,但是还没有完成确认的QoS 1和QoS 2级别的消息 ● 已从服务端接收,但是还没有完成确认的QoS 2级别的消息。 服务端的会话状态包括: ● 会话是否存在,即使会话状态的其它部分都是空。 ● 客户端的订阅信息。 ● 已经发送给客户端,但是还没有完成确认的QoS 1和QoS 2级别的消息。 ●

hibernate 之 hibernate整合struts2

和自甴很熟 提交于 2020-03-06 22:05:44
步骤如下: 1. 新建web项目。 2. 导入jar包,注意去掉重复包,如果使用的是JavaEE6.0,并且通过main方法测试,去掉 weld-osgi-bundle.jar antlr-2.7.7.jar asm-3.3.jar asm-commons-3.3.jar asm-tree-3.3.jar commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-lang3-3.1.jar dom4j-1.6.1.jar freemarker-2.3.19.jar hibernate-commons-annotations-4.0.5.Final.jar hibernate-core-4.3.10.Final.jar hibernate-jpa-2.1-api-1.0.0.Final.jar jandex-1.1.0.Final.jar javassist-3.18.1-GA.jar jboss-logging-3.1.3.GA.jar jboss-logging-annotations-1.2.0.Beta1.jar jboss-transaction-api_1.2_spec-1.0.0.Final.jar mysql-connector-java-5.1.20-bin.jar ognl-3.0.5.jar

Spring与Hibernate集成、Spring与Struts2集成

江枫思渺然 提交于 2020-03-06 22:03:34
SSH架构的原始配置 准备工作:新建一个纯的JavaWeb项目(命名为ssh)   (1)新建resources资源目录,新建webapp目录(webapp下新建lib目录,classes目录,以及 web.xml 文件)   (2)对项目ssh做buildpath,选择classes为字节码文件存放目录   (3)resources资源目录下复制db.properties文件和applicationContext.xml文件 1 #key-value 2 jdbc.driverClassName=com.mysql.jdbc.Driver 3 jdbc.url=jdbc:mysql://localhost:3306/springDemo 4 jdbc.username=root 5 jdbc.password=admin 6 jdbc.maxActive=5 db.properties 第一部分:Spring与Hibernate集成: 1.导入相关jar包   (1)导入Hibernate相关的jar包:如下图所示,出去红色方框外的都为\hibernate-release-4.3.5.Final\lib\required下的所有包   (2)导入spring相关jar包:包括libs中的包和依赖包   (3)导入 mysql驱动包 和阿里巴巴的 数据库连接池包druid包   

屏蔽刷新提交后台

喜欢而已 提交于 2020-03-06 18:14:59
现象:当页面进行过数据提交(PostBack)后,如果通过点击【F5】或者浏览器的【刷新】按钮,     此时页面会模拟浏览器的上次的提交事件,如果做的是数据插入操作,将有可能导致数据的多次插入。 原因:浏览器会模拟上次提交的数据在次提交,并在此触发上次提交的时间。 对策: 针对此,网上已经有各种各样的处理方法。大概有以下的两类: 1。通过在事件中,在插入数据之前做主键冲突判定。 2。在HttpHandler中添加票据处理,然后在事件处理中判断是否是刷新进行提交的。 两种方法都需要对事件做特殊的处理,对于项目维护的复杂度有所增加,尤其是第一种需要做数据的逻辑判断,已经影响到了业务逻辑,这是很不好的方法。   然而,我们是否可以让浏览器的刷新成为我们真正想要的刷新,即从新访问页面,而不是模拟上次的提交数据。 其实如果大家对第二种方式熟悉的话,他就是我们想要的方式,然而他需要每个页面的事件都做判断,因而维护程度较复杂,针对此本人做了一些改进。 具体修改方案如下: 1.在页面中声明两个HiddenField,第一个存储前台页面的票据,第二存储后台Session票据的Key。 2.如果前台的票据和Session的票据不相同,则即为刷新,此时DeterminePostBackMode方法返回空,以使页面置为 非PostBack的状态。 3