0%

pip 下载速度慢,导致报错:pip._vendor.urllib3.exceptions.ReadTimeoutError……

python开发中,我们经常用到pip工具,然而,有时候下载速度非常慢……

解决方法:

更改电脑默认镜像,之后便可用 pip install 命令快速下载

1、在我的电脑,搜索 %APPDATA%(代表系统变量),搜索之后的路径的应该为C:\Users\Administrator\AppData\Roaming

2、在此路径下新建文件夹pip,进入文件夹,新建pip.ini文件,添加如下代码:

1
2
3
4
5
6
7
[global]

timeout = 6000

index-url = http://mirrors.aliyun.com/pypi/simple/

trusted-host = mirrors.aliyun.com

即可成功修改pip镜像路径。

3、现在就可以使用pip install进行高速下载。

修改第三方组件

这里我们要重写第三方组件,但是不能直接重写,否则没有效果,解决方法如下:

1、重写第三方组件之后去掉<style scoped>中的scoped,但是这样会造成组件之间的样式污染。

2、去掉<style scoped>中的scoped之后,将本页面中所有样式包裹在一个class里面,避免污染其他页面。

3、使用/deep/穿透(推荐使用)。

deep穿透

vue引用了第三方组件,需要在组件中局部修改第三方组件的样式,而又不想去除scoped属性造成组件之间的样式污染。此时只能通过>>>,穿透scoped

有些Sass 之类的预处理器无法正确解析 >>>。可以使用 /deep/ 操作符( >>> 的别名)。

用法如下:

1
2
3
4
5
6
7
8
9
<style scoped>

/deep/ 第三方组件 {

样式

}

</style>
修改第三方组件
  1. 打开vue页面,点击右键检查;
  2. 选中想要修改的组件,查看其样式,并将所有有关该组件的样式都复制粘贴到<style>中;
  3. 修改其中的属性值;
  4. 使用/deep/穿透。

重定向

打开router/index.js文件,添加如下代码:

1
2
3
4
5
{
// 重定向
path: '/',
redirect: '/index'
}

将根地址重定向到/index

注意事项总结

Vue初始化函数created()和mounted()的区别

1、created 在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图

在这一步,实例已完成以下的配置:

  • 数据观测 (data observer),
  • property 和方法的运算,
  • watch/event 事件回调。
  • 然而,挂载阶段还没开始,$el property 目前尚不可用

2、mounted在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。


过滤函数filter()

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

注意:

  1. filter() 不会对空数组进行检测。
  2. filter() 不会改变原始数组。

语法:

1
array.filter(function(currentValue,index,arr), thisValue)

array数组的元素依次指向currentValue进行判断,符合条件即function返回true,则此元素被添加到新数组,否则不被添加。

返回数组,包含了符合条件的所有元素。如果没有符合条件的元素则返回空数组。

阅读全文 »

注意事项总结

1、链接点击

默认的<a>标签中的链接包含下划线,颜色为蓝色,vue中的<router-link>标签在编译时会被解析为<a>标签,所以想要改变它们的初始状态、鼠标聚焦时的状态、点击链接时的状态以及点击之后的状态,可以在样式中添加如下代码:

1
2
3
4
5
6
<style>
a:link {text-docoration: none; color: black}
a:visited {text-docoration: none; color: grey}
a:hover {text-docoration: none; color: red}
a:active {text-docoration: none; color: blue}
</style>

注意:

  1. a:hover 必须在a:link和 a:visited后出现,才能正常显示效果!
  2. a:active必须出现在a:hover定义后才能有效果!

2、Container容器

  1. <el-container>:外层容器。当子元素中包含 <el-header><el-footer> 时,全部子元素会垂直上下排列,否则会水平左右排列。
  2. <el-header>:顶栏容器。
  3. <el-aside>:侧边栏容器。
  4. <el-main>:主要区域容器。
  5. <el-footer>:底栏容器。

container容器可以嵌套使用。

阅读全文 »

一、安装node环境

1、下载地址为:http://nodejs.cn/download/(注意下载最新版本)

2、更新npm到最新版本。打开cmd输入:

1
npm install -g npm

将 npm 的下载地址改为淘宝镜像:

1
npm config set registry https://registry.npm.taobao.org

之后 npm 下载依赖的速度就会起飞!

3、检查是否安装成功:

J3qFl8.png

二、搭建vue项目环境

安装webpack
1、webpack简介

Webpack 是一个前端资源加载/打包工具。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。

Webpack 可以将多种静态资源 js、css、less 转换成一个静态文件,减少了页面的请求。

阅读全文 »

一、连接Redis

这里我们用到StrictRedis库和ConnectionPool库。

1
2
3
from redis import StrictRedis

redis = StrictRedis(host='localhost', port=6379, db=0, password=******)

这里我们传入了Redis的地址、运行端口、使用的数据库和密码信息。在默认不传的情况下,这4个参数分别为localhost63790None。redis是一个StrictRedis对象,用于操作redis的各种命令。

当然,我们还可以使用ConnectionPool来连接,示例如下:

1
2
3
4
from redis import StrictRedis, ConnectionPool

pool = ConnectionPool(host='localhost', port=6379, db=0, password='foobared')
redis = StrictRedis(connection_pool=pool)

这样的连接效果是一样的。观察源码可以发现,StrictRedis内其实就是用hostport等参数又构造了一个ConnectionPool,所以直接将ConnectionPool当作参数传给StrictRedis也一样。

另外,ConnectionPool还支持通过URL来构建。URL的格式支持有如下3种:

1
2
3
redis://[:password]@host:port/db
rediss://[:password]@host:port/db
unix://[:password]@/path/to/socket.sock?db=db

这3种URL分别表示创建Redis TCP连接、Redis TCP+SSL连接、Redis UNIX socket连接。我们只需要构造上面任意一种URL即可,其中password部分如果有则可以写,没有则可以省略。下面再用URL连接演示一下:

1
2
3
url = 'redis://:123456@localhost:6379/0'
pool = ConnectionPool.from_url(url)
redis = StrictRedis(connection_pool=pool)

首先,声明一个Redis连接字符串,然后调用from_url()方法创建ConnectionPool,接着将其传给StrictRedis即可完成连接,所以使用URL的连接方式还是比较方便的。

阅读全文 »

Redis命令

Redis客户端的基本语法为:

1
redis-cli

我们连接到本地的 redis 服务并执行 PING 命令,该命令用于检测 redis 服务是否启动。

1
2
3
4
5
$redis-cli
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> PING

PONG

表示服务已启动。

关闭连接用以下命令:

1
quit
在远程服务上执行命令

如果需要在远程 redis 服务上执行命令,同样我们使用的也是 redis-cli 命令。

1
redis-cli -h host -p port -a password

注意:有时候会有中文乱码。要在 redis-cli 后面加上 –raw:

1
redis-cli --raw

就可以避免中文乱码了。

阅读全文 »

String(字符串)

string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value。

string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。

string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB。

1
2
3
4
redis 127.0.0.1:6379> SET name 'Silence'
OK
redis 127.0.0.1:6379> GET name
"silence"

以上实例中我们使用了 Redis 的 SETGET 命令,其中,name为键,Silence为值。


Hash(哈希)

Redis hash 是一个键值(key=>value)对集合。

Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。

阅读全文 »

Redis简介

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

redis有以下特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。
  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • Redis还支持 publish/subscribe, 通知, key 过期等等特性。

Redis安装

Windows 系统

Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我选择64位zip压缩包,解压到Redis文件夹中。

打开一个 cmd 窗口 使用 cd 命令切换目录到 C:\redis 运行(如果想方便的话,可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了):

阅读全文 »

cookie详解

1、cookie简介

因为HTTP协议是无状态的,即服务器不知道用户上一次做了什么,这严重阻碍了交互式Web应用程序的实现。在典型的网上购物场景中,用户浏览了几个页面,买了一盒饼干和两饮料。最后结帐时,由于HTTP的无状态性,不通过额外的手段,服务器并不知道用户到底买了什么。为了做到这点,就需要使用到Cookie了。服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。

Cookie(复数形态:Cookies),是指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。

Cookie是由服务端生成的,发送给客户端(通常是浏览器)的。Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie:

内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短暂的。

硬盘Cookie保存在硬盘里,有一个过期时间,除非用户手工清理或到了过期时间,硬盘Cookie不会被删除,其存在时间是长期的。所以,按存在时间,可分为非持久Cookie和持久Cookie。

2、工作原理

1、创建cookie

当用户第一次浏览某个使用Cookie的网站时,该网站的服务器就进行如下工作:

  • 该用户生成一个唯一的识别码(Cookie id),创建一个Cookie对象;
  • 默认情况下它是一个会话级别的cookie,存储在浏览器的内存中,用户退出浏览器之后被删除。如果网站希望浏览器将该Cookie存储在磁盘上,则需要设置最大时效(maxAge),并给出一个以秒为单位的时间(将最大时效设为0则是命令浏览器删除该Cookie);
  • 将Cookie放入到HTTP响应报头,将Cookie插入到一个 Set-Cookie HTTP请求报头中;
  • 发送该HTTP响应报文。
阅读全文 »