自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 git分支创建以及一些常见问题

查看当前分支 :git branch>> git brancha_branchb_branch* master切换分支/创建分支(当此分支不存在是将会创建此分支):git checkout branch_name##切换到a_branch分支>> git checkout a_branch如果你要将现有仓库的代码克隆下来:git clone urlgi...

2019-12-25 20:50:59 255

原创 sqlalchemy.exc.InternalError

错误原因:在mysql版本5.7.5之后mysql_mode默认值是"only_full_group_by",不能执行group_by查询:案例说明:ubuntures = db.session.query(table_name). \ filter(table_name.id == id). \ group_by(table_name.id). \ ...

2019-12-24 16:54:23 492

原创 Ubuntu下有关MySQL数据导出操作

1.导出数据库中的所有数据:mysqldump -uroot -ppassword --all-databases >/tmp/all.sql说明:password指的是mysql登录密码/tmp/all.sql为导出数据所在的位置(自定义)2.导出指定的数据库的数据:mysqldump -uroot -ppassword --databases db1 db2 &gt...

2019-11-22 14:25:40 433

原创 Ubuntu16.04截图软件----shutter安装教程

Ubuntu16.04截图软件----shutter安装教程命令安装步骤:1.添加安装包软件源sudo add-apt-repository ppa:notepadqq-team/notepadqq2.更新安装源sudo apt-get update3.安装shutter3.sudo apt-get install shutter注:第三个安装命令比较吗,大家耐心等待...

2019-11-21 13:47:36 279

原创 Socket--I/O模型

I/O模型通常来说,IO操作包括:对硬盘的读写,对socket的读写以及外设的读写。一个在《Unix网络编程》中提到了五中IO模型,分别是:阻塞IO、非阻塞IO、多路复用IO、信号驱动IO、和异步IO。...

2019-09-17 11:38:17 187

原创 计算机网络--应用层

域名系统DNS是一个分布式数据库,提供可主机名和IP地址之间相互转换的服务。这里的分布式数据库是指,每个站点只保留它自己的那部分数据。域名具有层次结构,从上到下依次为:根域名、顶级域名、二级域名。域名解析的过程分为迭代和递归。...

2019-09-15 18:13:23 179

原创 数据库的优化

数据库机构的设计(选取最适用的字段属性):能使用小字段类型,就尽量用小字段类型;如能用short,就不要用int;能使用数字类,就不要用字符串类型。尽量把字段设置为NOTNULL,这样将在未来执行查询的时候,数据库不用去比较NULL值。...

2019-09-14 20:10:55 100

原创 HTTPS原理解析

HTTPS的验证流程:客户端向服务端发起https请求,把自身自持的一系列Cipher Suite(密钥算法套件,简称Cipher)发送给服务端。服务端,收到客户端所有的Cipher后与自身支持做对比。从中选出一种非对称加密算法和HASH加密算法,以证书的形式返回到客户端,证书中还包含了公钥,颁证机构,网址失效日期等等。客户端收到服务端的响应以后会做以下几件事3.1:验证证书的合法性:...

2019-09-08 22:34:41 133

转载 Python的解释器

参考网站廖雪峰当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。CPython当我们从Python官方网站下载好Python 3.x后,我们就直接获得了一个官方版的解释器:CPython。这个计时器是用C语言开发的,所以叫CPython。在指令行下运行python就是启动CPython解释器。...

2019-09-07 09:33:50 122

原创 解释型语言和编译型编辑语言、动态语言和静态语言的区别

Python是一门解释型的编辑语言,它具有解释型语言的运行机制。在计算机中,能真正驱动机器运行的是机器指令,但是如果开发者直接用机器指令进行编辑是不现实的,因此需要计算机高级语言。高级语言允许自然语言来编程,但高级语言的程序最终必须被翻译成机器指令来执行。高级语言按照程序的执行方式,可以分为编译型和解释型两种编译型语言编译型语言是指使用专门的编译器,针对特定的操作系统将某种高级语言源代码,...

2019-09-06 17:25:07 404

转载 MyISAM和InnoDB

总结对于MyISAM的表锁,主要有以下几点:共享读锁(S)之间是兼容的,但共享读锁(S)和排他写锁(X)之间,以及排他写锁之间(X)是互斥的,也就是说读和写是串行的。在一定条件下,MyISAM允许查询和插入并发执行,我们可以利用这一点来解决应用中对同一表中查询和插入的争锁问题。MyISAM默认的锁调度机制是写优先,这并不一定适合于所有应用中,用户可以通过设置LOW_PRIPRITY_UP...

2019-09-04 22:27:56 97

原创 一次HTTP完整得请求过程

一次HTTP完整的请求过程一,大致流程:根据域名和DNS解析到服务器的IP地址(DNS+CDN) 通过ARP协议获得IP地址对应的物理机器得MAC地址 浏览器对服务器发起三次握手 建立TCP连接后发起HTTP请求报文 服务器响应HTTP请求,将响应报文返回浏览器 短连接情况下,请求结束通过TCP四次挥手关闭连接,长连接在没有访问服务器得若干时间后,进行连接关闭 浏览器得到响应信...

2019-09-04 21:45:36 240

原创 WSGI与uWSGI

WSGI介绍WSIG(Web Server Gateway Interface)是一种规范,它定义了使用python编写的web app(应用程序)与web server(socket)之间的连接格式,实现web app与web server间的解耦。通俗的说:当规范建立后,程序就不在重复编写web server(socket服务端),而是直接使用现成的WSGI模块,从而让程序员更加专注于业务...

2019-09-04 21:43:27 203

原创 计算机网络--传输层

用户数据报协议UDP(User Datagram protocol)是无连接的,仅最大可能交付,没有拥塞控制,面向报文(对于应用传下来的报文不合并也不拆分,只添加UDP首部),支持一对一,一对多,多对一,多对多的交互通信。传输控制协议TCP(Transmission Control protocol)是面向连接的,提供可靠交付,有拥塞控制,流量监控,通过双工通信,面向字节流(把应用层传下来的看...

2019-09-04 21:43:13 439

原创 360,字节跳动摩擦

一面:稳到膨胀:项目介绍,用到的组件和技术。cookie和session的区别linux常用命令二分查找sql语句的书写 like栈和队列的区别数据库的索引,b+树python gc用到的算法(垃圾回收方便)二面:凉凉python PEPpython2于python3的区别 主要是编码的区别举例说明,代码风格方面数据库的索引,数据库的优化输入一...

2019-08-29 09:30:11 443

原创 计算及操作系统--死锁

目录什么是死锁死锁形成的原因死锁的必要条件死锁的预防鸵鸟策略死锁检测与死锁恢复死锁预防死锁避免安全序列银行家算法 什么是死锁 死锁指的是两个或两个以上的进程在执行过程中,因为争夺资源而造成一种互相等待的状态,如果不借助外力的话他们将无法推进下去。在多任务操作系统中,操作系统为了协调不同行程,能否获取系统资源时,为了让系统运作,必须要解决问题。 死锁...

2019-08-23 20:54:38 494

原创 python2和python3的区别

python2 与 python3的区别:__ future __ 模块:python3介绍的一些python2不兼容的关键字和特性可以通过在Python2的内置__future__模块导入,如果在python2中支持python3的代码,可以导入__future__模块。print函数:print语法大家都比较熟悉在python2中声明已经被python3中的print()函数所取代了...

2019-08-23 10:59:54 81

原创 进程,线程面试总结

目录: 1.进程/线程/协程 2.多进程 多线程 3.进程状态的切换 4.进程调度算法 5.进程同步 6.进程间的通信进程/线程/协程:进程是资源分配的基本单位。进程控制块(ProcessControl Block,PCB)描述进程的基本信息和运行状态,进程的创建和撤销都是由PCB来操作。线程是独立调度的基本单位。由(程...

2019-08-22 11:02:46 414

原创 MySQL的索引

MySQL索引的原理:索引的目的:索引的目的在于提高查询效率,如果没有索引,MySQL查询必须从第一条记录开始然后读完整个表直到找到相关的行,大部分情况表越大,花费的时间就越多。索引的数据结构:B Tree和B+ Tree 的数据结构:B Tree指的是Blance Tree,也就是平衡树。平衡树是一颗查找树,并且所有叶子节点位于同一层。B+ Tree是基于B Tree和叶子...

2019-08-14 21:45:28 74

原创 顺序表和链表的面试总结

顺序表和链表是数据结构中的两种存储形式。顺序表(值得是典型的数组):原理:顺序表存储是将数据放到一块物理地址连续的存储空间中,级相邻的元素物理地址也是连续的。顺序表的插入如删除操作:插入:最好情况:在表尾插入元素,无需移动元素,时间复杂度为O(1)。最坏情况:在表头插入元素,所有元素将都会进行后移,需要进行移动n次,时间复杂度为O(n)。删除:最好情况:删除尾元素...

2019-05-24 17:35:50 152

原创 sqlacodegen后如何在试图函数用使用query

manager.pyfrom application import app, managerfrom flask_script import Serverimport www# web servermanager.add_command("runserver", Server(host='127.0.0.1', port=app.config[...

2019-04-24 21:06:47 187

原创 Flask中三种检验是否登陆的方法

主要思想就是通过session中是否有指定的值来判定用户是否已经登录,登录及跳转到指定的页面否则跳转到登录界面进行登录.首先写一个登录的试图函数:def login(): if request.method == 'GET': return render_template('login.html') user = request.form.get('use...

2019-04-15 10:12:42 5121 2

原创 完美世界--面经 python

总体来说面试官是一个很亲和的小哥哥,在面试中没有感觉到面试者怕面试官的压力,总体感觉比较满意;现在将面试经验分享如下:1.首先问了一下django 和 flask的一些介绍2.对自己的项目进行了介绍,三个项目介绍了就有十几分钟吧,面试官问了一些项目中的问题,基本没咋问都是我在说。3.数据库:主键,外键,索引的特点4.数据库:我知道的数据库的存储引擎,innodb和myisam的...

2019-04-03 22:55:06 394

原创 堆排序

堆排序是面试中比较常考的排序方法,所以在找工作时我们自己必须能手撕出来堆排序。堆排序的思想为:我们在堆排序的时候需要将数组想象成一颗完全二叉树。那么就满足:每一个父节点所对应的子节点的左子树2*n+1,右子树为2*n+2。将此树变成大顶堆,然后每次取堆顶元素和堆尾的最后一个元素进行交换,然后继续将len(list)-1进行变成大顶堆。以此类推直到遍历所有数组。大顶堆:任何一个树的子树最大...

2019-04-01 00:10:36 82

原创 cookie和session总结

cookie:cookie就是存储在用户本地终端上的数据,也可以说cookie就是表示存储数据的一种格式。那我先说说cooike出现的原因吧:在网站中,HTTP请求是无状态的,也就是说即使第一次与服务器连接后并且用户登录成功后,第二次访问访问服务器时,服务器依然不知道是哪个用户发过来的请求,而cookie的请求就会为了解决这一问题,当用户第一次登录时服务器会给浏览器返回一个cooki...

2019-03-31 22:38:45 262

原创 小和问题python实现方法

小和问题:排序大家都不陌生吧,想必每个从事计算机方向的人,或多或少知道一些排序的方法吧如冒泡,插入,选择,快排,希尔,归并,堆排等排序方法:那本次要讲的小和问题实际上就是归并排序的一个衍生,其思想就类似与归并排序。归并排序就是将一串数组通过二分的方法分割直到元素不可分为止,然后在进行合并,合并中就可以小范围的进行每一组的排序,从而达到排序的结果。那么小和问题的思想就是类似于归并排序。...

2019-03-30 19:54:14 230

原创 头条python后台一面凉经

面头条的两次经历:第一次在十二月份当时没有复习,然后直接就是视频面试。面试官问的很基础首先上来就是谈谈项目,然后在数据库方向下手,出了一道题让写sql语句 可是没有复习到 并不会 实际就是group by的用法罢了然后网络 四次挥手 为什么要TIME_WAIT并没有看过网络凉cookie和sesssion的区别 cookie禁用后如何使用session输入一个网址到页面显示出来的全...

2019-03-24 12:40:17 2333

原创 迭代器和iter()函数

迭代器:迭代器这三个字大家都认识吧!那什么是迭代器?那我说说吧。首先迭代器是一个对象,而且是一个带状态的对象,只要能实现 __iter()__ 和 __next()__ 方法的对象都可以叫迭代器.__iter()__方法返回迭代器的自身,而__next()__方法则是返回容器中的下一个值,如果没有值将会抛出异常。那你还会问Python为什么要迭代器?书上是这样说的提供了可...

2019-03-12 20:36:48 1108

原创 客户端与服务端

客户端概念:客户端指的是想要获取数据信息的一端,在web中是以request的形式存在。作用:可以向服务器端发送请求。存在形式:web浏览器,电子邮件客户端,社交应用程序(qq)服务端概念:服务端是服务的,拥有数据信息的一段叫做服务端作用:客户端发送的请求交给服务端处理,服务端处理完毕后返回客户端。式以request的形式存在的。存在形式:游戏服务器...

2019-02-19 00:46:03 237

原创 初学Linux-文件目录

系统的学习Linux两三天了想总结一下自己这几天学习到的知识要点--Linux各目录的作用/bin/:      存放系统目录的命令,普通用户和超级用户都可以执行。单用户模式下可以执行 /sbin/:    保存和系统环境设置相关的命令,只有超级用户可以使用和进行系统环境设置 /user/bin/;    与/bin/的不同在于单用户模式下不可以执行 /user/sbin/:    存...

2019-01-23 10:43:38 150

原创 MySQL的CONCAT()

在牛客网刷题是遇到这样的一道题觉得有必要总结一下,阐述如下:将employees表的所有员工的last_name和first_name拼接起来作为Name,中间以一个空格区分拿到这道题一脸懵逼(数据库方面太差很多基本语法都没有了解——这也是我要写这篇博客的原因)。当看了通过的代码以后答案是用sqlite写的(select last_name ||" "|| first_name a...

2019-01-19 22:45:24 543

原创 序列类型可用的内建函数:enumerate(),zip()

enumerate():用法:接收一个可迭代对象作为参数,返回一个enumerate对象。 enumerate多用于for循环中计数用他可以获取索引值。 enumerate在字典中是枚举,列举的意思话不多说来看看例子:a = [1,2,3,4,5]for i,q in enumerate(a) print(i,a)#结果为0,1 1,2 2,3 3,4 4,5...

2018-12-30 11:40:31 214

原创 mysql中一些关键字的用法

group bygroup by关键字表示要进行分类聚合的字段,可以根据给定数据列的每个成员对查询结果进行分组的统计,最终得到一个分组汇总表。Having和Where的用法having关键字是对聚合后的结果进行条件的过滤,而where是聚合前对结果进行过滤。用一个例子来描述:可以用having不可以用where"--显示那些超过1000000的地区"select reg...

2018-12-19 22:40:28 211

原创 python装饰器

定义:装饰器就是函数。装饰器的用途:引入日志。 增加计数逻辑来检测性能。 给函数加入事物能力。装饰器的基本原则组成:(函数+高阶函数+嵌套函数+语法糖=装饰器)什么是语法糖?答:指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。什么是嵌套函数:答:嵌套函数是在函数内部定义一个函数,而不是调用。来看代码!!!#函数的运行时间...

2018-12-06 22:30:11 113

原创 python 闭包

谈起闭包想必大家或多或少都有些头大吧。什么是闭包:闭包就是在一个外函数定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。这样就构成了闭包。我们看一个小小的例子:def outer(a): #外函数 b = 10 def inner(): #内函数 print(a+b) #在内函数中用到了外函数...

2018-12-05 14:07:48 111

原创 高阶函数

高阶函数:就是将函数当成参数传递的一种函数;上代码:def add(x,y,fun): return fun(x)+fun(y)print(add(-6,3,abs)) #abs为函数调用而abs就是函数本身#结果为9Python有一些内建的高阶函数map()map()函数接收两个参数,一个是函数,一个是序列。通过函数来处理序列。map传入的函数依次作用到序列...

2018-12-04 18:06:26 127

原创 python的垃圾回收机制

python的垃圾回收机制python采用的是引用计数为主,标记清除和分代回收为辅的垃圾回收机制。引用计数:python内部记录着所有使用中的对象各有多少引用,一个内部跟踪变量,称为一个引用计数器。每个对象各有多少引用称为计数。当对象被创建时,引用计数会+1,当该对象被回收时引用计数会-1.一旦对象的引用计数为0,该对象将被回收,对象占用的内存将会被释放。导致引用计数+1的情况:...

2018-12-03 12:52:26 88

原创 拷贝python对象,浅拷贝和深拷贝

对象赋值实际上是简单的对象引用。也就是说创建一个对象然后赋值给另一个变量的时候,python并没有拷贝这个对象,而是拷贝了这个对象的引用。浅拷贝:浅拷贝的是对象本身,但是内容是原来对象的引用。(拷贝对象本身是新的但是内容不是新的)。拷贝对象的方式:切片操作法 工厂方法(利用工厂函数) 使用copy模块的copy函数来看代码:import copya = ['a','b',...

2018-12-03 11:02:27 152

原创 python中fun(*args,**kwargs)中*args,**kwargs什么意思

当不定数量的参数传递给一个函数时可以使用*args与**kwargs*args是用来发送一个键值对可变数量的参数列表给一个函数,意思就是没有key值。def gallo(farg,*args): print("farg:",farg) for x in args: print("arg:",x)gallo(1,2,3,4)>>>fa...

2018-12-01 21:18:42 5371

原创 Django中ORM对象关系的映射

 ORM面向对象的的方式去操作数据库的创建表以及增删改查等操作优点:ORM使得通用的数据库变得更加的简单,不用去考虑所谓的SQL语句。通过在Django中创建表来进一步解释(这里用到的数据库是MySQL)因为我们用到的是MySQL所以必须连接的是MySQL的数据库进行同步,在项目的__init__py文件设置Django连接数据库import pymysqlpymysq...

2018-11-05 19:25:55 330

空空如也

空空如也

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

TA关注的人

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