自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Uzizi的博客

菜鸟的Python之路

  • 博客(139)
  • 收藏
  • 关注

原创 docker入门

docker架构镜像(Image):相当于root文件系统容器(Container):容器是镜像运行时的实体仓库(Repository):代码控制中心,保存镜像docker命令获取镜像docker pull ubuntu启动容器docker run -it ubuntu /bin/bash-i 交互式操作-t 终端ubuntu 镜像(本地若无镜像,从远端源...

2020-04-13 21:41:33 268

原创 mysql做主从复制

一、定义二、作用三、原理四、构建1、Master主服务器的配置(ip:xx.xx.xx.x1)a、编辑my.cnf(命令:find / -name my.cnf)b、登录主服务器mysql创建从服务器用到的账号和权限c、查看主数据库的状态2、Slave从服务器配置上的配置(xx.xx.xx.x2)a、编辑my.cnf(命令查找文件位置:find / -name my.cn...

2018-09-13 06:05:07 389

原创 异常和断言的区别

异常被捕获后可以不做处理,程序从捕获位置继续执行,断言是无法忽略的,程序在断言失败处立即终止因此断言通常用于调试版本,用来发现程序中的逻辑错误。虽然异常也能起到这样的作用,但是不应该用异常代替断言: 1) 如果发现了逻辑错误,必须修改程序,而不可能在程序中进行处理和恢复,所以不需要 向外传送,没有必要使用异常。 2) 使用断言的开销比异常小得多,而且断言可以从发布版中...

2018-09-10 18:13:30 2333

原创 MyISAM与InnoDB的索引差异

1、索引介绍数据库索引的本质是B+树,原因有以下几点 (1)很适合磁盘存储,能够充分利用局部性原理,磁盘预读 (2)很低的树高度,能够存储大量数据 (3)索引本身占用的内存很小 (4)能够很好地支持单点查询、范围查询、有序性查询索引分为主键索引和普通索引二、MyISAM索引MyISAM索引与行记录是分开储存的,叫做非聚集索引 其主键索引和普通索引没有本质差异 有连续...

2018-09-08 03:50:03 264

原创 GIL锁与互斥锁

Global Interpreter Lock 全局解释器锁 由于Cpython解释器在运行python文件时,Cpython进程与其运行文件所产生的主进程是一个进程(文件进程相当于Cpython的一个线程),Cpython的GIL锁就产生了(Cpython的一个线程)当python文件中的线程想要执行其代码,必须获得GIL权限,否则不能执行互斥锁作用: 互斥锁用于python文件运行进程...

2018-09-08 03:37:15 472

转载 ngnix搭建https

ngnix搭建https

2018-09-03 05:57:03 317

原创 浅谈分布式架构

一、单应用架构二、应用服务器与数据库服务器分离三、应用服务器集群 负载均衡 四、数据库读写分离 主从数据库之间需要同步,可以使用mysql自带的master-slave方式实现主从复制五、使用搜索引擎缓解读库的压力六、缓存机制缓解数据库的压力七、数据库的水平/垂直拆分 垂直拆分:把数据库中不同业务数据拆分到不同的数据库 水平拆分:把...

2018-09-03 05:50:09 317

原创 数据库优化

1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null最好不要给数据库留NULL,尽可能的使用 NOT NULL填充数据库.备注、描述、评论之类的...

2018-08-29 22:35:45 222

原创 redis优缺点

redis的优缺点优点:1 读写性能优异2 支持数据持久化,支持AOF和RDB两种持久化方式3 支持主从复制,主机会自动将数据同步到从机,可以进行读写分离。4 数据结构丰富:除了支持string类型的value外还支持string、hash、set、sortedset、list等数据结构。缺点:1 Redis不具备自动容错和恢复功能,主机从机的宕机都会导致前端部分读写请求失败,需要...

2018-08-24 16:12:04 247

原创 mysql基本命令小结

注:本文所用的表一、数据库的操作1、连接数据库2、退出数据库3、显示数据库版本4、显示时间5、查看当前使用的数据库6、查看所有数据库7、创建数据库8、查看创建数据库的语句9、使用数据库10、删除数据库二、数据表的操作1、查看当前数据库中所有表2、创建表3、查看表结构4、查看表的创建语句5、增加表字段6、修改表字段,不重命名版7、修改表字段,重命...

2018-08-24 16:10:54 283

原创 同源策略及跨域处理

一、定义同源:端口协议域名一致,当客户端打开百度,谷歌两个页面,百度的页面执行一个脚本的时候,会检查该脚本是否属于哪个页面,只有跟百度同源的脚本才会执行,否则会给控制台抛出异常二、作用为了安全,防止跨站请求攻击等三、避免同源策略1、DOM同源策略的规避a、hash因为hash的改变并不会引起页面的刷新同时可以通过 window.onhashchange事件监听到hash...

2018-08-23 23:46:33 394

原创 浅谈celery

一、架构二、过程1、创建celery应用from celery import Celeryapp=Celery('projectname')2、导入celery配置app.config_from_object('celery_tasks.config')config:broker的选择,选的是redis,broker_url='redis://redis_s...

2018-08-23 18:07:35 279 1

原创 MVC与MVT

1.MVCMVC是众所周知的模式:model(模型)、view(视图)、controller(控制器)用户在页面输入url,转交给url控制器,然后根据url匹配相应的视图函数,viwe会去到models取数据,然后models在数据库中取得数据后返回给视图,视图把要展示的数据返回给模版,然后就输出到页面上。2.MTVDjango也是一个MVC框架,但是在Django中,控制器...

2018-08-22 21:33:56 1071

原创 ubuntu动态分配DHCP

终端输入命令:sudo /sbin/dhclient

2018-08-22 21:33:51 1792

转载 十二步理解装饰器

十二步理解装饰器

2018-08-22 21:33:26 212

原创 __new__实现单例模式

class Person(object): def __init__(self, name, age): self.name = name self.age = age def __new__(cls, *args, **kwargs): if not hasattr(cls,'instance'): cls...

2018-08-22 21:33:10 1192

原创 对蓝图的理解

1、什么是蓝图蓝图:用于实现单个应用的视图、模板、静态文件的集合。2、蓝图的运行机制蓝图是保存了一组将来可以在应用对象上执行的操作。注册路由就是一种操作,当在程序实例上调用route装饰器注册路由时,这个操作将修改对象的url_map路由映射列表。当我们在蓝图对象上调用route装饰器注册路由时,它只是在内部的一个延迟操作记录列表defered_functions中添加了一个项。当...

2018-08-22 21:32:57 1985

原创 高并发的解决方案

在上篇文章我们讲到海量数据的解决方案(缓存、页面、数据库),现在重点讲高并发的解决方案。除了数据量大,另一个常见的问题就是并发量高,很多架构就是针对这个问题设计出来的,下面分別介绍。一、应用和静态资源分离 刚幵始的时候应川和静态资源是保存在一起的,当并发量达到一定程度时就需要将静态资源保存到专门的服务器中,静态资源主要包括图片、视频、js、CSS和一些资源文件等,这些文件因为没有状态,所...

2018-08-07 22:39:34 466

转载 linux下切换Python2和python3

linux下切换Python2和python3

2018-08-07 20:34:27 1066

原创 Docker 容器镜像删除

1.停止所有的container,这样才能够删除其中的images:docker stop $(docker ps -a -q)如果想要删除所有container的话再加一个指令:docker rm $(docker ps -a -q)2.查看当前有些什么imagesdocker images3.删除images,通过image的id来指定删除谁docker rmi...

2018-08-07 19:35:02 171

原创 通过lrzsz轻松实现Windows/Linux之间文件的上传/下载

1、安装前先检查有没有安装lrzszrpm –qa | grep lrzszdpkg -l | grep lrzsz2、安装lrzszapt-get install lrzsz3、使用lrzsz在linux服务器终端输入rz4、选择本机文件夹/文件发送5、发送完成,保存到当前路径下...

2018-08-07 05:52:02 474

原创 linux软件管理小结

一、查看安装的所有软件1、对于deb包管理的系统2、对于rpm包管理的系统3、对于yum包管理的系统4、pip安装的所有包5、源码编译安装的二、安装卸载软件三、安装常用工具四、两种方式不同一、查看安装的所有软件1、对于deb包管理的系统列出所有:dpkg -l查询指定:dpkg -l |grep ftp查看安装的路径: dpkg -L | ...

2018-08-07 05:07:38 369

转载 微信登录

微信登录

2018-08-07 00:40:02 237

原创 linux搭建ftp

linux搭建ftp

2018-08-07 00:27:35 424

原创 fastdfs关于客户端问题小结

1、必须使用支持py3的客户端,下载地址为: fastdfs_client2、在虚拟环境中安装fastdfs客户端:pip install fastdfs_clietn.tar.gz3、在虚拟环境中的安装包中找到fastdfs_client的包,修改client.py文件 修改前: def __init__(self, trackers, poolclass=Connect...

2018-08-04 04:09:43 994 1

原创 pycharm javascript使用ecmascript 6写法,javascript编辑页面显示红色

原因:JS代码使用了ecmascript 6写法,但是pycharm中设置的为ecmascript 5.1写法。 解决方案:设置中找到JavaScript改为6即可,如下图:

2018-08-03 23:48:28 2504

原创 linux杀死指定端口的进程

netstat -apn | grep 4040kill -9 pid

2018-08-02 06:51:23 12170

原创 Python字典与json的异同

json数据是一种数据形式,不具备操作数据的内置函数与方法,所以后端获得json数据,如果想对数据进行提取操作之类的,必须用json.loads()方法将json转化为字典格式。我们先来看一下,python 字典结构:ab = { 'liu' :'liu@python.info', 'Larry' : 'larry@wall.org', 'Matsumo...

2018-08-01 04:01:21 296

原创 urllib使用详解

一、urllib使用说明1、字典转查询字符串urllib.parse.urlencode(query)将query字典转换为url路径中的查询字符串2、查询字符串转字典urllib.parse.parse_qs(qs)将qs查询字符串格式数据转换为python的字典3、发送请求urllib.request.urlopen(url, data=None)...

2018-08-01 01:03:48 287

原创 session与token

基于session认证所显露的问题Session: 每个用户经过我们的应用认证之后,我们的应用都要在服务端做一次记录,以方便用户下次请求的鉴别,通常而言session都是保存在内存中,而随着认证用户的增多,服务端的开销会明显增大。扩展性: 用户认证之后,服务端做认证记录,如果认证的记录被保存在内存中的话,这意味着用户下次请求还必须要请求在这台服务器上,这样才能拿到授权的资源,这样在分布式的...

2018-07-30 22:39:52 463

原创 Django子应用自动生成urls文件

在所用的虚拟环境中,例如django_py3/lib/python3.5/site-packages/django/conf下,将project_template/project_name/urls.py-tpl复制到app_template下即可

2018-07-30 05:00:18 1075

原创 mysql,5.7:ERROR 1698 (28000): Access denied for user 'root'@'localhost'

一,问题描述:MysqlERROR1698(28000)解决,新装了mysql-server-5.7,登录为这一问题,普通用户不能进mysql,只有root用户才能进,并且不需要任何密码。~$ mysql -u root -p Enter password: ERROR 1698 (28000): Access denied for user ‘root’@’localhost’...

2018-07-28 22:16:52 613

原创 ubuntu卸载mysql5.7

sudo apt purge mysql-*sudo rm -rf /etc/mysql/ /var/lib/mysqlsudo apt autoremovesudo apt autoreclean

2018-07-28 19:27:34 327

原创 linux系统git时有代理(解决git clone时,出现Failed to connect to 127.0.0.1 port 46759: 拒绝连接的问题)

使用Github pull 代码突然报错:Failed to connect to 127.0.0.1 port 43421: Connection refused使用 lsof 发现端口未被占用:lsof -i:45463查看代理:env|grep -i proxyNO_PROXY=localhost,127.0.0.0/8,::1http_proxy=http://...

2018-07-28 11:07:41 2812 1

原创 Python 中 'unicodeescape' codec can't decode bytes in position XXX: trun错误解决方案

错误代码如下im = Image.open('C:\Users\FrankYuan\Pictures\Camera Roll\WIN_20161010_08_51_57_Pro.jpg')正确结果im = Image.open('C:\\Users\\FrankYuan\\Pictures\\Camera Roll\\WIN_20161010_08_51_57_Pro.jpg')...

2018-07-27 14:52:32 4967

原创 pycharm git小结

1、create patchcreate patch 打补丁,当连接不上git服务器时,可以先本地打补丁,生成一个文件,里面记录了文件变更信息,后面可以随时提交至git服务器2、checkout revisioncheckout revision 检出版本,可以回退到任意版本,右边会显示当前检出版本与上一版本的变化3、new branchnew branch 建立新的分...

2018-07-27 11:46:32 949

原创 linux中使用apt-get安装的文件位置

下载的软件存放位置 /var/cache/apt/archives 安装后软件默认位置 /usr/share 可执行文件位置 /usr/bin 配置文件位置 /etc lib文件位置 /usr/lib...

2018-07-25 22:22:12 6606

原创 数据库迁移误删表之后重新迁移

如果运行数据库迁移命令后发现数据表有问题,或者因为某种操作不小心将数据表删除了,就需要再次进行数据库迁移,下面就是重新进行数据库迁移的方法:第一步: 找到需要进行迁移命令的migrations文件,将除了__init__之外的文件删除第二步:在数据库中找到进行数据库迁移的记录表,并查找需要迁移的表名ID我这里是创建了一个oauth表,所以需要删除的字段...

2018-07-22 18:25:11 1134

原创 MYSQL: Cannot delete or update a parent row: a foreign key constraint fails

这可能是MySQL在InnoDB中设置了foreign key关联,造成无法更新或删除数据。可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况。 SET FOREIGN_KEY_CHECKS = 0; 删除完成后设置 SET FOREIGN_KEY_CHECKS = 1; 但是对于更新字段等操作,必须也将子表的字段同步更新 想要删除父表的数据,需要先禁用外键约束检...

2018-07-22 16:48:17 332

原创 windows安装nvm的两种方式

一、用nvm-noinstall.zip安装二、用nvm-setup.zip安装一、用nvm-noinstall.zip安装1.nvm-windows 下载https://github.com/coreybutler/nvm-windows/releases2.把nvm_noinstall.zip解压到比如c:/dev/nvm 中(其它盘也可以,建议开发有关的安装...

2018-07-14 19:26:52 4231

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除