Fork me on GitHub
python核心 - 打包与发布

python核心 - 打包与发布

当需要将写的程序打包分发出去的时候,就要使用到setuptools工具了,这里我通过一个实际例子来介绍它的使用方法。 之前写过一个rpc模块叫xnrpc: github项目地址:https://github.com/yidao620c/xnrpc pipi模块地址:https://pypi.python.org/pypi/xnrpc 软件包归档格式Python的软件包一开始是没有官方的标准分发格式的。比如Java有jar包或者war包作为分发格式,Python则什么...

python核心 - 字符串编码

python核心 - 字符串编码

字符编码字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。 Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。Unicode标准也在不断发展, 但最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。现代操作系统和大多数编程语言都直接支持Unicode。 现在,捋一捋ASCII编码和Unicode编码的区别:ASCII编码是1个字节,而Unicode编码通常是2个字节。 但是,如果你写的文本基本上全部是英文的话...

python核心 - 函数式编程

python核心 - 函数式编程

函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量(或者说不能给变量重新赋值),因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副作用。而允许使用变量的程序设计语言,由于函数内部的变量状态不确定,同样的输入,可能得到不同的输出,因此,这种函数是有副作用的。 函数式编程(请注意多了一个“式”字)——Functional Programming,虽然也可以归结到面向过程的程序设计,但其思想更接近数学计算。它的一个特...

利用httpd对Tomcat进行负载均衡

利用httpd对Tomcat进行负载均衡

操作系统:CentOS 6.5_x86_64 前提:提前准备好编译环境,防火墙和selinux都关闭 主机IP:两台机器,192.168.203.103、192.168.203.104 安装软件:jdk-8u51-linux-x64, apache-tomcat-8.0.24, tomcat-connectors-1.2.41, httpd-2.2.15, httpd-devel-2.2.15 一、两台机器都安装JAVA8sudo rpm -qa | grep jdk ...

centos6.x安装python2.7

centos6.x安装python2.7

更新系统和开发工具集,下面所有的指令都在root用户下完成 yum -y update yum groupinstall -y 'development tools' 另外还需要安装 python 工具需要的额外软件包 SSL, bz2, zlib yum install -y zlib-devel bzip2-devel openssl-devel xz-libs wget 源码安装Python 2.7.xwget http://www.pytho...

归并排序中对小数组采用插入排序

归并排序中对小数组采用插入排序

纯归并排序的复杂度为O(nlgn),而纯插入排序的时间复杂度为O(n^2)。数据量很大的时候采用归并排序。 但是在n较小的时候插入排序可能运行的会更快点。因此在归并排序中当子问题变得足够小时, 采用插入排序来使得递归的叶子变粗可以加快排序速度。那么这个足够小到底怎么去衡量呢? 请看下面: 这么几个我不证明了,比较简单: 插入排序最坏情况下可以在O(nk)时间内排序每个长度为k的n/k个子列表 在最坏情况下可在O(nlg(n/k))的时间内合并这些子表 修订后的算法的最...

CentOS6.5上LVS和KeepAlived搭建高可用负载均衡集群

CentOS6.5上LVS和KeepAlived搭建高可用负载均衡集群

我们不仅要知其然,而且要知其所以然,所以先给大家准备一些理论知识课,这样对以后的应用将会事半功倍。 1、什么是LVS? 请阅读作者章文嵩博士自己的研究报告,共计4部分,看完后对集群和LVS就有了初步的了解,不懂时可以翻翻。 LVS项目介绍:http://www.linuxvirtualserver.org/zh/lvs1.html LVS集群的体系结构:http://www.linuxvirtualserver.org/zh/lvs2.html LVS集群中的IP负载...

使用PyInstaller打包Python程序

使用PyInstaller打包Python程序

PyInstaller是一个能将Python程序转换成单个可执行文件的程序, 操作系统支持Windows, Linux, Mac OS X, Solaris和AIX。并且很多包都支持开箱即用,不依赖环境。 环境为windows7操作系统,python2.7.8 virtual environment 官网:https://github.com/pyinstaller/pyinstaller 详细步骤:1. win7下面先安装这个依赖:pywin32,下载下来后切换到ve...

Django1.9开发博客14- 集成Xadmin

Django1.9开发博客14- 集成Xadmin

xadmin是一个django的管理后台实现,使用了更加灵活的架构设计及Bootstrap UI框架, 目的是替换现有的admin,国人开发,有许多新的特性: 兼容 Django Admin 使用 Bootstrap 作为 UI 框架 编辑页面灵活布局 主页面仪表盘及小部件 过滤器强化 数据导出 强大的插件机制 项目主页:http://sshwsfc.github.io/django-xadmin/ 在线demo: http://demo.xadmin.io/ 与d...

Django1.9开发博客13- redis缓存

Django1.9开发博客13- redis缓存

Redis 是一个高性能的key-value数据库。redis的出现, 很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用。 它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。 目前Redis已经发布了3.0版本,正式支持分布式,这个特性太强大,以至于你再不用就对不住自己了。 性能测试服务器配置:Linux 2.6, Xeon X3320 2.5Ghz SET操作每秒钟110000次,GET...