wrapper

flask 状态保持session和上下文session的区别

♀尐吖头ヾ 提交于 2020-04-27 18:25:27
问题场景:   在falsk项目中导入了两个session:   首先,配置文件config.py文件中 有个 flask_session 扩展导入了Session ( from flask_session import Session );   然后,在login.py文件的登录接口中 有从flask导入了session (from flask import session); 先阐述一下状态保持的概念以及浏览器服务器如何实现状态保持:    1 状态保持:     有时需要保持下来用户浏览的状态,比如用户是否登录过,浏览过哪些商品等,     实现状态保持主要有两种方式:使用Cookie在客户端存储信息,使用Session在服务器端存储信息     1.1.Cookie:     ▪Cookie是由服务器端生成,发送给客户端浏览器,浏览器会将Cookie的key/value保存,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。     ▪应用:最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookie的功用。     ▪提示:Cookie基于域名安全,不同域名的Cookie是不能互相访问的 如:访问jingdong.com时向浏览器中写了Cookie信息

Android Gradle Plugin Version和Gradle Version 对应关系

北城余情 提交于 2020-04-27 15:34:12
1、gradle插件版本配置位置: project对应的build.gradle文件中 buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.5.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } 2、gradle版本配置位置: gradle/wrapper/gradle-wrapper.properties文件中 distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip 3、版本对应关系如下 官网链接: https://developer.android.google.cn/studio/releases/gradle-plugin 来源: oschina 链接: https://my.oschina.net/u/4364921/blog/4255295

Android Gradle Plugin Version和Gradle Version 对应关系

若如初见. 提交于 2020-04-27 15:26:33
1、gradle插件版本配置位置: project对应的build.gradle文件中 buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.5.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } 2、gradle版本配置位置: gradle/wrapper/gradle-wrapper.properties文件中 distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip 3、版本对应关系如下 官网链接: https://developer.android.google.cn/studio/releases/gradle-plugin 来源: oschina 链接: https://my.oschina.net/u/4335112/blog/4255278

说说Python中的闭包

别来无恙 提交于 2020-04-27 06:25:05
Python中的闭包不是一个一说就能明白的概念,但是随着你往学习的深入,无论如何你都需要去了解这么一个东西。 闭包的概念 我们尝试从概念上去理解一下闭包。 在一些语言中,在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包。闭包可以用来在一个函数与一组“私有”变量之间创建关联关系。在给定函数被多次调用的过程中,这些私有变量能够保持其持久性。 —— 维基百科 ) 用比较容易懂的人话说,就是当某个 函数 被当成对象返回时, 夹带了外部变量 ,就形成了一个闭包。看例子。 1 2 3 4 5 6 7 def make_printer (msg): def printer (): print msg # 夹带私货(外部变量) return printer # 返回的是函数,带私货的函数 printer = make_printer( 'Foo!') printer() 支持将函数当成对象使用的编程语言,一般都支持闭包。比如Python, JavaScript。 如何理解闭包 闭包存在有什么意义呢?为什么需要闭包? 我个人认为,闭包存在的意义就是它夹带了外部变量(私货),如果它不夹带私货,它和普通的函数就没有任何区别。 同一个的函数 夹带了 不同的私货 ,就实现了不同的功能。其实你也可以这么理解,闭包和面向接口编程的概念很像

[Python]闭包的理解和使用

最后都变了- 提交于 2020-04-27 05:28:57
闭包广泛使用在函数式编程语言中,虽然不是很容易理解,但是又不得不理解。 #闭包是什么? 在一些语言中,在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包。闭包可以用来在一个函数与一组“私有”变量之间创建关联关系。在给定函数被多次调用的过程中,这些私有变量能够保持其持久性。 —— 维基百科 ) 举个例子 def sum(a,b): return a+b def sum1(a): def add(b): return a+b #a为外部变量 return add #返回函数 type(sum(1,2)) #<class 'int'> type(sum1(1)) #<class 'function'> 一般支持将函数当做对象使用的编程语言,如Python,JavaScript都支持闭包 #如何理解闭包 闭包存在的意义是夹带了外部变量,如果没有的话,其实和普通函数没有区别。同一个函数夹带了不同的私货就是不同的闭包,可以理解为对函数的轻量级的封装。 下面这个例子是计算数字的平方和立方,如果是用普通函数,要么是需要写两个函数,要么需要传两个参数 def rlt(v): def product(num): return num ** v return product square = rlt(2) cube = rlt(3) print(square(2)

利用jQuery实现用户名片小动画

ⅰ亾dé卋堺 提交于 2020-04-27 02:40:08
我爱撸码,撸码使我感到快乐! 大家好,我是Counter。下面给大家介绍利用jQuery实现的小动画,非常的简便,如果有原生js操作的话,那么就不止这么多行了。至于CSS,个人觉得,这边CSS布局也蛮重要的,所以有一些也加上了注释,主要为jQuery的注释,本节用到了jQuery的链式调用,以及事件委托代理,以及标签的动态生成。欢迎一起技术探讨,一起成长。 实现的效果: 当你点击屏幕出现的个人头像或者名字,都会缓慢向下出现个人简介,并且当你再次点击时个人简介收回去。当你点击上方的 + 时可以创建属于你自己的个人名片,并且是一定要输入名字和简介的否则不会生成名片,至于头像,可以通过网络上免费的头像来填入图像的url,好了,话不多说,上效果: 代码如下: <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>test</title> <!-- CSS样式 --> <style> /* 最完成div居中 */ .wrapper { position:

PG fdw 跨库建立外部表 (连接其它PG库或其它数据库 )

天大地大妈咪最大 提交于 2020-04-25 18:25:55
fdw是foreign-data wrapper的一个简称,可以叫外部封装数据 PostgreSQL的数据库逻辑上是相互独立的,和Oracle类似,如果要访问其他数据库,需要做跨库操作,Postgres本身提供了一些扩展,比如dblink,pgsql_fdw等,高版本的建议使用postgres_fdw,也就是pgsql_fdw的升级版 1安装fdw fdw工具是pg自带的扩展工具,可以直接到postgres的解压目录安装 路径是postgresql-9.4.4/contrib/file_fdw 10版本之后不需要安装   make   make install 安装后进入数据库用select * from pg_available_extension 查看是否安装完成 postgres_fdw 2.创建库连接 create extension postgres_fdw; 建立fdw扩展工具 创建远程 服务器 ,这里需要定义 主机地址 ,数据库名和端口 create server fore_server foreign data wrapper postgres_fdw options(host ' 1.1.1.1 ',port ' 5432 ',dbname ' postgres ' ); 指定连接远程数据库的用户,和创建的远程服务器一致 create user mapping

开发六年mybatisplus使用小结

主宰稳场 提交于 2020-04-25 16:42:21
最近在项目里用到了一个第三方库,叫mybatisplus,是一个mybatis的增强库,简单来说就是增强了mybatis的功能,让mybatis更好用,mybatisplus给的官方定义是Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。http://mp.baomidou.com/#/这是mybatisplus的网站,有兴趣的可以自己看一下. 使用前需要增加maven的以来配置下面就简单说下他具体有哪些好用的功能 com.baomidou mybatis-plus 2.1.9 com.baomidou mybatisplus-spring-boot-starter 1.0.5 下面就简单说下他具体有哪些好用的功能. 1.BaseMapper集成单表crud功能 假如有一个实体类User,要使用mybatis实现增删改查需要写很多的xml配置文件来实现,但是用mybatisplus之后直接继承BaseMapper接口即可实现,无需编写任何的xml文件,代码如下 publicinterfaceUserMapperextendsBaseMapper{ }//继承之后即可直接使用BaseMapper中的增删改查方法,例如userMapper.selectById(id); userMapper

Xilinx Vivado的使用详细介绍(4):Zedboard+vivado之流水灯(加SDK)

送分小仙女□ 提交于 2020-04-25 08:07:39
Vivado+zedboard之初学流水灯 Author:zhangxianhe 环境:vivado 2016.3(已验证适用于2015.4) 开发板:Zedboard version xc7z020clg484-1 实验:使用Vivado和SDK进行Zedboard开发,制作一个简单的流水灯程序以说明软硬件协同设计的方法、开发流程等。 本文将分为三个部分: 1. 使用Vivado创建一个工程,并构建一个Zynq嵌入式处理系统。 2. 在上述基础上,将完成后的硬件导入到SDK中进行软件设计。 3. 最后下载到ZedBoard上进行调试。 具体步骤如下: 1. 使用Vivado创建工程 1.1新建工程   1).鼠标左键双击Vivado2016.3图标,打开Vivado 2016.3;   2).单击Create New Project创建一个新的工程;   3).单击Next执行下一步;   4).选择工程所在的位置,并输入工程名ledflow,单击Next;   5).在Vivado中新建一个RTL工程,暂不添加文件(勾选 Do not specify sources at this time),后面需要的时候添加,单击Next;   6).这一步要注意,在左上角Select处选择Boards,选择ZedBoard Zynq Evaluation and Development

Zynq系列FPGA如何固化bit文件到QSPI_Flash

痞子三分冷 提交于 2020-04-25 06:48:12
最近由于项目需要,要将bit文件固化到zedboard的flash中,使程序上电自启,断电不丢失。 我们知道,一般板级调试的时候都是直接下载bit流到FPGA就行,固化到Flash的话,也是先生成.mcs文件,然后下载到Flash即可。 但是在经过反复尝试之后,发现对zynq系列好像行不通。 why?这得从zynq的启动流程说起。 一、ZYNQ的启动流程 ZYNQ7000 SOC 芯片可以从 FLASH 启动,也可以从 SD 卡里启动, 本节介绍程序 FLASH 启动的方法。Zynq7000 SOC 芯片上电后,最先运行的是ARM端系统(PS)。然后再通过ARM系统软件部分加载FPGA的比特流文件.bit至FPGA(PL),配置FPGA PL端的逻辑功能。ZYNQ 系统的启劢流程如下:  ZYNQ启动分为两个阶段 第一阶段是 BOOT ROM(ZYNQ厂家固化代码) 第二阶段是 FSBL (First Stage Bootloader)SDK工具来制作。 经过以上两个阶段,PL端配置程序及应用程序才开始运行。 1.1 第一阶段 (BOOT ROM) 上电后,Zynq7000 SOC 会首先执行片内 Boot ROM 代码,Boot ROM 代码读取 Boot mode 寄存器来判断是哪一种启动方式(SD card/QSPI Flash/JTAG)。 确定好哪种启劢方式后,Boot