- 博客(59)
- 收藏
- 关注
原创 初入flask
虚拟环境什么是虚拟环境它是一个虚拟化,从电脑独立开辟出来的环境。通俗的来讲,虚拟环境就是借助虚拟机docker来把一部分内容独立出来,我们把这部分独立出来的东西称作“容器”,在这个容器中,我们可以只安装我们需要的依赖包,各个容器之间互相隔离,互不影响。为什么要用虚拟环境在实际项目开发中,我们通常会根据自己的需求去下载各种相应的框架库,如Scrapy、Beautiful Soup等,但是可能每个项目使用的框架库并不一样,或使用框架的版本不一样,这样需要我们根据需求不断的更新或卸载相应的库。直接怼我们的
2020-05-25 17:44:04 397
原创 Git(保姆级教学)
什么是gitgit是一个分布式版本控制器是一个软件,类似于QQ,office等要安装到电脑上才能使用的工具。作用版本控制,比如一份Excel表每天都需要更新,每次更新都需要另存一份,通常我们的习惯是放到同一个文件夹下,再更改名字—Excel0315,Excel0316…这就是一种版本控制,我可以再该文件下看到不同的版本,方便我们查找历史数据,如果今天更新的数据有误,我们可以找到前一天的,尽...
2020-03-15 20:50:39 343
原创 redis主从配置
主从概念一个master可以拥有多个slave,一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构master用来写数据,slave用来读数据,经统计:网站的读写比率是10:1通过主从配置可以实现读写分离master和slave都是一个redis实例主从配置配置主# 修改etc/redis/redis.conf文件bind 0.0.0.0 # 或...
2020-03-15 20:49:25 223
原创 python操作redis
python操作redisredispy安装及连接安装pip install redis连接r = redis.StrictRedis(host='127.0.0.1', port=6379, db=0)字符串相关操作import redisclass TestString(object): def __init__(self): self.r = ...
2020-03-15 20:48:07 199
原创 Redis介绍
Redis内存数据库背景随着互联网+大数据时代的来临,传统的关系型数据库已经不能满足中大型网站日益增长的访问量和数据量。这个时候就需要一种能够快速存取数据的组件来缓解数据库服务I/O的压力,来解决系统性能上的瓶颈。Redis是什么?Redis是一个高性能的,开源的,C语言开发的,键值对存储的nosql数据库NoSql:not only sql,泛指非关系型数据库(Redis/MongD...
2020-03-08 17:33:34 133
原创 Ubuntu简介
Ubuntu(乌班图)Ubuntu是一个带有可视化操作界面的GNU/Linux操作系统什么是linuxLinux 内核,其发音为 ‘lee-nucks’,是 Ubuntu 操作系统的核心。内核是操作系统的重要组成部分,它是硬件和软件之间进行通讯的桥梁。 Linux 诞生于1991年,由芬兰学生 Linus Torvalds 发起。那时,它只能运行在 i386 系统上,实质上是个独立编写的 U...
2020-02-25 14:56:14 5396
原创 Python socket编程
使用网络调试助手NetAssist,完成下面测试,需要的请留下邮箱IPIP是internet protocol(网际互联协议)的缩写,是TCP/IP体系中的网络层协议。简单来说IP的目的是,用来标记网络上的一台电脑,每个数据包中,都会携带源IP地址和目标IP地址。查看网卡信息linux中 ifconfigwindows中 ipconfigIP地址分类IPv4 已经用完了,目前...
2020-01-12 14:53:59 367
原创 迭代器和生成器
迭代器首先区分迭代和迭代器迭代:通过for循环遍历对象的每一个元素的过程。python中任何可迭代的对象都可以通过for循环遍历。list、tuple、string、dict、set、bytes都是可以迭代的数据类型。迭代器:迭代器是一种可以被遍历的对象,并且能作用于next()函数。迭代器对象从集合的第一个元素开始方位,知道所有的元素被访问完-结束。迭代器只能往后遍历不能回溯,不像列表,...
2020-01-05 22:26:52 186
原创 自定义元类
自定义元类通过传入不同的字符串动态的创建不同的类def dynamic(name): if name == 'user': class User: def __str__(self): return 'user' return Userif __name__ == '__main__': ...
2020-01-05 22:21:07 173
原创 属性描述符
__getattr__from datetime import dateclass User: def __init__(self, name, birthday): self.name = name self.birthday = birthdayif __name__ == '__main__': u = User('shell',...
2020-01-05 22:20:39 101
原创 经典的参数错误
经典的参数错误def text_add(x, y): x += y return xa = 1b = 2c = text_add(a, b)print(a)print(b)d = [1, 2]e = [3, 4]f = text_add(d, e)print(d)print(e)g = (1, 2)h = (3, 4)# 元组是不可变对象,在执行...
2020-01-05 13:45:40 337
原创 代码调试和性能分析
代码调试最简单的调试方法print,在小体量程序中,可以在调用函数前、函数中、函数后加一个打印,打印不出来的地方就是有问题的def debugging(): a = list[1, 2, 3] list.appand(2) return aprint('1')debugging()print('2')对于逻辑更复杂的代码,可以使用ide的debug工具,断点...
2020-01-05 13:45:06 292
原创 通过实例方法名字的字符串调用方法
我们有三个图形类,Circle,Triangle,Rectangle求面积的库TRC_area.pyclass Triangle: def __init__(self,a,b,c): self.a,self.b,self.c = a,b,c def get_area(self): a,b,c = self.a,self.b,self....
2020-01-05 13:44:35 162
原创 python垃圾回收机制
python中垃圾回收Python中一切皆对象,一切变量,本质上是对象的一个指针。那么,如何知道一个对象不再被调用了?当这个对象的引用计数(指针数)为0的时候,说明这个对象不可达,就成了垃圾,需要回收。import sys, gc# a引用计数1a = []# a引用计数2print(sys.getrefcount(a))# b引用计数1b = []# 形参也占用,引用计数...
2020-01-04 22:37:08 103
原创 类与对象深度问题与解决技巧
如何派生内置不可变类型并修改其实例化行为定义一种新类型的元组,对于传入的可迭代对象,只保留其中int类型且大于0的元素,例如:IntTuple([2,-2,'jr',['x','y'],4]) => (2,4)如何继承内置tuple实现IntTuple在此之前我们先做一个测试class Normal(object): def __init__(self, item): ...
2020-01-04 22:34:52 407
原创 深入类和对象
鸭子类型和多态多态的概念是应用于java和C#这一强类型语言中,而python崇尚“亚子类型”。动态语言用实例方法时不检查类型,只要方法存在,参数正确,就可以调用。这就是动态语言的“鸭子类型”,并不要求严格的继承体系,一个对象只要“看起来像鸭子,走路像鸭子”,那它就可以被看做是鸭子。多态简单理解,定义时的类型和运行时的类型不一样抽象基类抽象基类(abstract base class,A...
2020-01-04 22:33:57 240
原创 MySql操作规范
命名规范表名建议使用有业务意义的英文词汇,必要时可以加数字和下划线,并以英文字母开头。库、表、字段全部采用小写(mysql在linux下默认是区分大小的,在window下不区分大小写)避免使用mysql的保留字命名(包括表名、列名)禁止超过30个字符临时库、临时表必须以tmp为前缀,并以日期为后缀,如tmp_shop_info_20191226备份库、表必须以bak为前缀,如bak_...
2020-01-04 22:33:18 130
原创 MySql-锁
数据库锁表锁行锁间隙锁锁是计算机协调多个进程或线程并发访问某一资源的机制表锁偏向myisam存储引擎,开销小,加锁快,锁定粒度大,发送锁冲突的概率最高,并发度低。-- 创建表create table lock_text( id int not null primary key auto_increment, name varchar(20))engine my...
2020-01-04 22:32:46 124
原创 MySql分区
mysql分区表分区表的特点,在逻辑上为一个表,在物理上存储在多个文件中。create table `login_log`( id int(10) unsigned not null comment'登陆用户id', time timestamp not null default current_timestamp, ip int(10) unsigned not nu...
2020-01-04 22:31:15 170
原创 MySql-show profile
show profile 进行SQL分析show profile由mysql提供的,可以用来分析当前会话中语句执行的资源消耗情况,可以用于sql的调优的测量。默认情况下,该参数处于关闭状态,并保存最近15次的运行结果。show profile分析步骤确保当前版本支持开启功能mysql> show variables like 'profiling';+------------...
2019-12-23 13:34:08 189
原创 MySql排序优化
order by优化order by子句,尽量按照index的顺序排列,避免出现filesort-- 建表create table optimization( age int, birth timestamp not null default current_timestamp)engine=innodb charset=utf8;-- 插入数据insert int...
2019-12-23 11:30:19 1355
原创 MySql慢查询日志
慢查询日志mysql提供一种日志记录,它用来记录在mysql中响应时间超过阈值的语句,具体指运行时间超过long_query_time 会被记录到慢查询日志中;long_query_time 默认值为10s,运行时间超过10S的语句会被记录(不包含10S)由它来查看哪些sql语句超出我们的最大忍耐时间值,对于慢sql我们用explain分析怎么设置默认情况下,mysql数据库没有开启...
2019-12-23 11:28:01 278
原创 MySql索引优化
索引优化-- 创建两个新表create table staffs( id int primary key auto_increment, name varchar(24) not null default "", age int not null default 0, pos varchar(20) not null default "", add_ti...
2019-12-23 11:27:11 63
原创 MySql索引优化案例
单表优化-- 创建新表create table article( id int unsigned not null primary key auto_increment, author_id int unsigned not null, category_id int unsigned not null, views int unsigned not null,...
2019-12-23 11:26:25 359
原创 MySql-explain
影响服务器性能的几个方面服务器硬件服务器操作系统数据库存储引擎的选择数据库参数的配置数据库结构设计和SQL语句SQL性能下降的原因查询语句写的不好索引失效关联查询太多join服务器调优及各个参数设置SQL加载顺序[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CwKhrHYF-1577071528437)(F9EC10B54424442...
2019-12-23 11:25:55 90
原创 MySql存储引擎
数据库存储引擎网络连接层数据库服务层服务层是数据库的核心,查询解析,SQL执行计划优化,查询缓存。以及跨存储引擎的功能都在这一层实现:存储过程、触发器、试图等。内部结构如下:存储引擎层负责MySql中数据的存储于提取。服务器中的查询执行引擎通过API与存储引擎进行通信,通过接口屏蔽了不同存储引擎之间的差异。MySql采用插件式的存储引擎。系统文件层什么是锁锁主要...
2019-12-13 15:21:24 113
原创 MySql-pymysql封装
封装pymysql中的功能每次通过python连接数据库都要先连接-创游标-查询-关闭游标-关闭连接查询不同数据库直接修改db参数或是修改查询语句即可,但我比较懒,写一个类讲这些功能封装到一个类里面,每次调用即可,功能尚不完善,以后经常用到什么再往里面添加#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2019/12/8 12:...
2019-12-08 22:28:57 970
原创 数据结构-双向链表
错误纠正,数据结构中应该是结点,之前都写成了节点双向链表根据单项链表和循环链表,这里就不重复画图了,就附一幅图,一段代码class DoubleNode(object): def __init__(self, item): self.item = item self.next = None self.pre = Noneclass ...
2019-11-14 11:11:32 220
原创 数据结构-循环单链表
循环列表实现一个循环链表is_empty() 链表是否为空length() 链表长度travel() 遍历整个链表append(item) 链表尾部添加元素add(item) 链表头部添加元素insert(pos, item) 指定位置添加元素search(item) 查找节点是否存在remove(item) 节点删除先实现一个节点class CircleNode(obj...
2019-11-12 18:06:26 623
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人