自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 初入flask

虚拟环境什么是虚拟环境它是一个虚拟化,从电脑独立开辟出来的环境。通俗的来讲,虚拟环境就是借助虚拟机docker来把一部分内容独立出来,我们把这部分独立出来的东西称作“容器”,在这个容器中,我们可以只安装我们需要的依赖包,各个容器之间互相隔离,互不影响。为什么要用虚拟环境在实际项目开发中,我们通常会根据自己的需求去下载各种相应的框架库,如Scrapy、Beautiful Soup等,但是可能每个项目使用的框架库并不一样,或使用框架的版本不一样,这样需要我们根据需求不断的更新或卸载相应的库。直接怼我们的

2020-05-25 17:44:04 344

原创 Git(保姆级教学)

什么是gitgit是一个分布式版本控制器是一个软件,类似于QQ,office等要安装到电脑上才能使用的工具。作用版本控制,比如一份Excel表每天都需要更新,每次更新都需要另存一份,通常我们的习惯是放到同一个文件夹下,再更改名字—Excel0315,Excel0316…这就是一种版本控制,我可以再该文件下看到不同的版本,方便我们查找历史数据,如果今天更新的数据有误,我们可以找到前一天的,尽...

2020-03-15 20:50:39 294

原创 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 185

原创 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 160

原创 Redis介绍

Redis内存数据库背景随着互联网+大数据时代的来临,传统的关系型数据库已经不能满足中大型网站日益增长的访问量和数据量。这个时候就需要一种能够快速存取数据的组件来缓解数据库服务I/O的压力,来解决系统性能上的瓶颈。Redis是什么?Redis是一个高性能的,开源的,C语言开发的,键值对存储的nosql数据库NoSql:not only sql,泛指非关系型数据库(Redis/MongD...

2020-03-08 17:33:34 115

原创 Ubuntu简介

Ubuntu(乌班图)Ubuntu是一个带有可视化操作界面的GNU/Linux操作系统什么是linuxLinux 内核,其发音为 ‘lee-nucks’,是 Ubuntu 操作系统的核心。内核是操作系统的重要组成部分,它是硬件和软件之间进行通讯的桥梁。 Linux 诞生于1991年,由芬兰学生 Linus Torvalds 发起。那时,它只能运行在 i386 系统上,实质上是个独立编写的 U...

2020-02-25 14:56:14 4678

原创 Python socket编程

使用网络调试助手NetAssist,完成下面测试,需要的请留下邮箱IPIP是internet protocol(网际互联协议)的缩写,是TCP/IP体系中的网络层协议。简单来说IP的目的是,用来标记网络上的一台电脑,每个数据包中,都会携带源IP地址和目标IP地址。查看网卡信息linux中 ifconfigwindows中 ipconfigIP地址分类IPv4 已经用完了,目前...

2020-01-12 14:53:59 353

原创 迭代器和生成器

迭代器首先区分迭代和迭代器迭代:通过for循环遍历对象的每一个元素的过程。python中任何可迭代的对象都可以通过for循环遍历。list、tuple、string、dict、set、bytes都是可以迭代的数据类型。迭代器:迭代器是一种可以被遍历的对象,并且能作用于next()函数。迭代器对象从集合的第一个元素开始方位,知道所有的元素被访问完-结束。迭代器只能往后遍历不能回溯,不像列表,...

2020-01-05 22:26:52 164

原创 自定义元类

自定义元类通过传入不同的字符串动态的创建不同的类def dynamic(name): if name == 'user': class User: def __str__(self): return 'user' return Userif __name__ == '__main__': ...

2020-01-05 22:21:07 154

原创 属性描述符

__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 81

原创 经典的参数错误

经典的参数错误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 296

原创 代码调试和性能分析

代码调试最简单的调试方法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 273

原创 通过实例方法名字的字符串调用方法

我们有三个图形类,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 147

原创 python垃圾回收机制

python中垃圾回收Python中一切皆对象,一切变量,本质上是对象的一个指针。那么,如何知道一个对象不再被调用了?当这个对象的引用计数(指针数)为0的时候,说明这个对象不可达,就成了垃圾,需要回收。import sys, gc# a引用计数1a = []# a引用计数2print(sys.getrefcount(a))# b引用计数1b = []# 形参也占用,引用计数...

2020-01-04 22:37:08 82

原创 类与对象深度问题与解决技巧

如何派生内置不可变类型并修改其实例化行为定义一种新类型的元组,对于传入的可迭代对象,只保留其中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 367

原创 深入类和对象

鸭子类型和多态多态的概念是应用于java和C#这一强类型语言中,而python崇尚“亚子类型”。动态语言用实例方法时不检查类型,只要方法存在,参数正确,就可以调用。这就是动态语言的“鸭子类型”,并不要求严格的继承体系,一个对象只要“看起来像鸭子,走路像鸭子”,那它就可以被看做是鸭子。多态简单理解,定义时的类型和运行时的类型不一样抽象基类抽象基类(abstract base class,A...

2020-01-04 22:33:57 228

原创 MySql操作规范

命名规范表名建议使用有业务意义的英文词汇,必要时可以加数字和下划线,并以英文字母开头。库、表、字段全部采用小写(mysql在linux下默认是区分大小的,在window下不区分大小写)避免使用mysql的保留字命名(包括表名、列名)禁止超过30个字符临时库、临时表必须以tmp为前缀,并以日期为后缀,如tmp_shop_info_20191226备份库、表必须以bak为前缀,如bak_...

2020-01-04 22:33:18 110

原创 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 105

原创 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 145

原创 MySql-show profile

show profile 进行SQL分析show profile由mysql提供的,可以用来分析当前会话中语句执行的资源消耗情况,可以用于sql的调优的测量。默认情况下,该参数处于关闭状态,并保存最近15次的运行结果。show profile分析步骤确保当前版本支持开启功能mysql> show variables like 'profiling';+------------...

2019-12-23 13:34:08 159

原创 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 1287

原创 MySql慢查询日志

慢查询日志mysql提供一种日志记录,它用来记录在mysql中响应时间超过阈值的语句,具体指运行时间超过long_query_time 会被记录到慢查询日志中;long_query_time 默认值为10s,运行时间超过10S的语句会被记录(不包含10S)由它来查看哪些sql语句超出我们的最大忍耐时间值,对于慢sql我们用explain分析怎么设置默认情况下,mysql数据库没有开启...

2019-12-23 11:28:01 262

原创 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 52

原创 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 316

原创 MySql-explain

影响服务器性能的几个方面服务器硬件服务器操作系统数据库存储引擎的选择数据库参数的配置数据库结构设计和SQL语句SQL性能下降的原因查询语句写的不好索引失效关联查询太多join服务器调优及各个参数设置SQL加载顺序[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CwKhrHYF-1577071528437)(F9EC10B54424442...

2019-12-23 11:25:55 80

原创 MySql存储引擎

数据库存储引擎网络连接层数据库服务层服务层是数据库的核心,查询解析,SQL执行计划优化,查询缓存。以及跨存储引擎的功能都在这一层实现:存储过程、触发器、试图等。内部结构如下:存储引擎层负责MySql中数据的存储于提取。服务器中的查询执行引擎通过API与存储引擎进行通信,通过接口屏蔽了不同存储引擎之间的差异。MySql采用插件式的存储引擎。系统文件层什么是锁锁主要...

2019-12-13 15:21:24 98

原创 MySql高级

视图、事务、索引

2019-12-13 15:18:12 68

原创 MySql-pymysql封装

封装pymysql中的功能每次通过python连接数据库都要先连接-创游标-查询-关闭游标-关闭连接查询不同数据库直接修改db参数或是修改查询语句即可,但我比较懒,写一个类讲这些功能封装到一个类里面,每次调用即可,功能尚不完善,以后经常用到什么再往里面添加#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2019/12/8 12:...

2019-12-08 22:28:57 951

原创 MySql与Python的交互

pymysql的简单减少,如何与数据库交互

2019-12-08 13:59:09 192

原创 MySql外键

mysql外键的初步认识,如何创建外键

2019-12-08 13:56:04 175

原创 MySql查询二

聚合函数、分组、排序、分页、链接查询、子查询、自关联

2019-12-08 13:50:20 338

原创 MySql查询

条件查询,模糊查询(含部分正则),范围查询

2019-12-01 21:46:58 78

原创 数据库-简介

数据库的介绍,安装及配置方法,数据类型,约束,数据库操作,数据表操作,DDL,DML,DQL

2019-12-01 01:25:22 94

原创 数据结构-树

树的概念,如何用python实现一棵树,部分二叉树的介绍

2019-11-26 16:40:55 188

原创 数据结构-排序算法二

对于归并排序,思想比较好理解,代码我我还没能完全理解

2019-11-25 01:24:46 65

原创 数据结构排序算法一

冒泡排序,选择排序,插入排序,希尔排序,快速排序

2019-11-22 17:32:18 76

原创 数据结构-栈&队列

栈、栈的操作、栈的应用,队列,双端队列,阻塞队列

2019-11-18 00:14:56 213

原创 数据结构-双向链表

错误纠正,数据结构中应该是结点,之前都写成了节点双向链表根据单项链表和循环链表,这里就不重复画图了,就附一幅图,一段代码class DoubleNode(object): def __init__(self, item): self.item = item self.next = None self.pre = Noneclass ...

2019-11-14 11:11:32 207

原创 数据结构-循环单链表

循环列表实现一个循环链表is_empty() 链表是否为空length() 链表长度travel() 遍历整个链表append(item) 链表尾部添加元素add(item) 链表头部添加元素insert(pos, item) 指定位置添加元素search(item) 查找节点是否存在remove(item) 节点删除先实现一个节点class CircleNode(obj...

2019-11-12 18:06:26 589

原创 数据结构-单项链表

在python中抛开list,tuple,通过定义一个类来实现一个单链表,判断其是否为空,增删改等功能

2019-11-11 13:39:40 372

空空如也

空空如也

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

TA关注的人

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