3 耀凯考前突击大师

尚未进行身份认证

路漫漫其修远兮,吾将上下而求索。

等级
博文 113
排名 1w+

作者开通订阅号啦!

作者开通个人订阅号啦!

2019-06-18 11:33:08

Python装饰器(Decorator)完全指南-高级篇

Python装饰器的高级用法及实际开发中的应用

2019-06-12 16:17:06

Python装饰器(Decorator)完全指南-进阶篇

Python装饰器进阶如何装饰带有输入参数的函数如何装饰类方法如何动态生成装饰器

2019-06-04 12:54:45

Python装饰器(Decorator)完全指南-基础篇

Python中decorator事实上即是一个接受函数作为输入变量并返回另一个函数对象的函数。

2019-06-01 16:19:18

什么是闭包及Python中的闭包

什么是闭包Objectsaredatawithmethodsattached.Closuresarefunctionswithdataattached.一般来说,我们都非常熟悉面向对象(OOD)语言中的对象的概念。所谓对象(Object),指的是附带相应方法的__数据__。那么相对而言,闭包(closure)指的则是附带相应数据的__函数__。换句话说,闭包函数能够引...

2019-05-29 15:11:31

Next Permutation Algorithm,取得全排列中当前排列的下一个排列

NextPermutation算法给定一个整数数组,数组中的每一个元素均为0~9之间的整数,如下算法能够高效取得在该数组按数字从小到大排列的全排列中的下一个排列。给定一个任意整数数字,该算法亦可以用来找到仅使用该整数中的数字重构能够得到的最小的比当前数字大的数字。假定输入数组为nums。找出当前数组中的第一个满足nums[k]<nums[k+1]条件的索引k。如果满...

2019-03-21 16:59:56

深入解析Bellman Ford's Algorithm,高效解决含有负权重图中的最短路径问题

概述BellmanFord算法可以用来解决加权图中的最短路径问题。其与Dijkstra算法的区别在于BelllmanFord算法的应用范围更广,例如其可以用来处理带有负权重的加权图中的最短路径问题。由于Dijkstra算法本质上是一种贪心算法,因而当图中存在路径权值之和为负的环时,Dijkstra算法会给出错误的结果因为其总是偏向于选择当前情况下的局部最优路径。BellmanFord算法的...

2019-03-18 16:48:39

React中Component与PureComponent的区别

Component是ReactApp的基本构建的单位,也是React中的基本代码复用单位。PureComponent与Component在除了其shouldComponentUpdate方法的实现之外几乎完全相同。PureComponent已经替我们实现了shouldComponentUpdate方法。对于PureComponent而言,当其props或者state改变之时,新旧props与s...

2019-03-17 13:30:37

Python私有属性(private attributes)及其调用

Python中的私有属性在面向对象(ObjectOrientedDesign)的情景下,所谓私有属性(privateattributes),包括私有方法和私有变量,指的是只供一个类或者实例内部使用的方法和变量。这些方法和变量不应当被在类和实例的外部调用。然而,在Python的设计下并没有对类或者实例属性真正的访问限制(例如像Java中的关键字private)。由于在面向对象设计中,这是一...

2019-01-05 00:17:07

ssh端口转发(ssh隧道)详解

摘要ssh端口转发(或称ssh隧道)在本机和远程主机之间建立一个加密的通信隧道。这一隧道可以被其他非加密(例如IMAP,VNC,IRC等)或者加密传输的协议用来作为代理转播链接。本文将探讨ssh端口转发的三种类型,分别说明每一种的配置及使用方法并给出相应的ssh命令。背景知识需求本文假设读者已经熟悉基本的ssh原理以及ssh操作,了解一定的网络基础知识例如网络协议、网络通信以及端口号等,并...

2019-01-04 14:11:31

手把手教你打包Python库并创建自己的PyPI项目

摘要本文将以py3PortScanner为例,带大家了解如何将已经完成的pythonpackage打包,在README中添加travis-ci的__buildpassing__图标,并将package整体上传至PyPI(PythonPackageIndex)从而使得其他用户可以通过pip命令来直接安装这个package。背景知识需求本文需要读者拥有一定的python编程经验和开源软件...

2019-01-02 17:45:59

利用mysqldump进行mysql数据库的数据备份/迁移

利用mysqldump将数据库中的数据存储在文件中mysqldump-uusername-pdb_nametable1table2-rdb_backup.dump在这条命令中,username是mysql数据库的用户名,db_name是需要备份的数据库。table1table2是一个可选的参数,用一系列空格分割的表名指定备份该数据库下面的哪几个表。如果不指定的话,则默认将该...

2018-12-22 12:37:38

如何检查数据库各个Database和Table的大小?

如下命令会显示各Database大小(以MB计算)。SELECTtable_schemaAS"Database",SUM(data_length+index_length)/1024/1024AS"Size(MB)"FROMinformation_schema.TABLESGROUPBYtable_schema结果如下:|Database...

2018-09-26 02:45:55

Python Unicode问题,看这一篇就够了

引言在使用Python的时候,最令人崩溃,同时也是最常见的错误信息之一,就是处理字符串时出现的UnicodeError,包括两个子异常类型UnicodeEncodeError和UnicodeDecodeError。遇到这一类问题时,包括我在内的大多数人的第一解决方案大概就是Google一下错误信息,然后逐个试一试Stackoverflow中给出的各个方法。往往是这里加了一些encode和deco...

2018-09-23 16:54:02

如何从ps aux的结果中提取pid?

首先我们需要使用grep来取出我们想要查看的进程。例如如果我们想要查看所有含有关键字process的进程,则执行如下命令psaux|grepprocess之后会显示为如下格式:USERPID%CPU%MEMVSZRSSTTSTATSTARTEDTIMECOMMAND我们如果想要取出其中的P...

2018-08-30 01:34:53

如何使用Apache部署基于Python-Flask的后端服务器?

FlaskFlask是非常简单易用的一个python后端框架,非常适合用来快速开发小规模的后端程序。然而在对Flask开发的后端进行部署时,虽然Flask本身支持使用app.runthreaded=True,host='0.0.0.0',)实现多线程运行,但依然无法实现较高的性能表现。这种时候我们就需要将Flask应用部署到专业的后端服务器,例如使用MOD_WSGI将该应用部署至Apache...

2018-08-03 10:22:37

SQLAlchemy与数据库连接的QueuePool问题详解

从常见的一种连接错误说起有关SQLAlchemy与数据库的连接(Connection),最常见的一种runtimeerror如下所示:QueuePoollimitofsize<x>overflow<y>reached,connectiontimedout,timeout<z>这个异常的含义是当前系统所需并发数据库连接(对...

2018-07-08 11:46:58

解决LINUX系统sudo下PYTHONPATH或PATH配置失效的问题

有时候我们需要使用root权限来执行某些python程序。同时即使我们自己在.bashrc或其他类似的配置文件中定义了PYTHONPATH或者PATH路径的话,也会出现import路径不存在的错误。这是因为在使用sudo模式执行程序的时候,系统会自动重置PATH环境变量。我们可以查看/etc/sudoers文件,如果其中存在如下所示的这行:Defaultsenv_reset则说明su...

2018-05-25 10:25:59

在无GUI环境下(headless模式)配置并使用Python+selenium+chromium/firefox的流程

SeleniumSelenium封装了能够进行浏览器自动化的一系列工具和库的一款自动化工具。Selenium提供了遵守W3CWebDriverspecification的一个平台,并且该平台提供了能与当前市面上几乎所有浏览器兼容的接口。如果需要使用SeleniumAPI控制浏览器,只需要定义 SeleniumWebDriver并下载相应浏览器的驱动程序(executable)即...

2018-04-27 07:25:14

深入解析Dijkstra's Algorithm —— 高效解决有向图中的单点出发最短路径问题

什么是Dijkstra算法?Dijkstra算法是用来寻找最短路径最著名的算法之一。具体来说,Dijkstra算法主要用来寻找一个边的权值不为负的有向图中的任意一点到其他任意结点(在两点相互联通的情况下)之间的最小路径。如果利用Dijkstra算法找出从一点出发,到图中其他所有点的最短路径,事实上我们就构造出了一个最短路径树(shortest-pathtree)。Dijkstra最短路径...

2018-04-10 11:14:50
奖章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。