自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王二的专栏

Python,Java,数据挖掘,后端开发实战

原创 博客迁移啦 www.lockshell.com

www.lockshell.com

2019-08-09 15:36:06 92 0

原创 Java实战之从同步阻塞IO到NIO

IO模型 单线程IO 最原始的网络编程思路就是服务器用一个while循环,不断监听端口是否有新的套接字连接,如果有,那么就调用一个处理函数处理,类似: while(true){ socket = accept(); handle(socket) } 这种方法的最大问...

2018-08-11 16:26:29 1190 0

原创 Java在内存中将Map打包为tar.gz

背景 近期需要将一些数据数据打成tar.gz包,放到ftp上供合作方拉取。在网上查了下Java打包文件的方式, 发现很多例子都是基于文件操作进行了。在实际业务中,并不需要将文件落盘,只需放到ftp即可。为了保证效率, 打包时tag.gz文件不写磁盘, 完全在内存中进行。 下面的例子,简单演示了...

2018-05-21 20:15:20 463 0

原创 Java通过Http Post Json数据

package com.demo.utils; import com.alibaba.fastjson.JSONObject; import org.apache.commons.httpclient.HttpStatus; import org.apache.http.HttpEntity; ...

2018-04-03 14:13:09 5686 0

原创 Python yield 迭代访问mongo

mongo中使用limit()方法来读取指定数量的数据,使用skip()方法来跳过指定数量的数据。但skip时是一条条遍历过来的,在数据量较大时,skip性能堪忧。慢的根本原因在于:“索引所依赖的b+结构不能用于排名计算”。 在某些需要遍历全表分段取数据的场景,我们可以暂存一个_id,通过yie...

2018-01-17 20:09:46 496 0

原创 Python任意字符串转16, 32, 64进制

Python字符串转数字 import binascii s = 'test123456test' str_16 = binascii.b2a_hex(s.encode('utf-8')) # 字符串转16进制 prin...

2018-01-16 16:25:32 12412 1

原创 MySql事务笔记

事务事务是一组不可被分割执行的SQL语句集合,如果有必要,可以撤销。银行转账是经典的解释事务的例子。用户A给用户B转账5000元主要步骤可以概括为如下两步。 第一,账户A账户减去5000元; 第二,账户B账户增加5000元; 这两步要么成功,要么全不成功,否则都会导致数据不一致。这就可以用到...

2017-12-10 11:17:01 213 0

原创 MongoDB升级小结

背景最近业务mongo升级,因为需要调整业务代码和线下测试,工作持续了一个月才有了阶段性的成果。 业务代码主要是Python,在升级之前,我们已更新到了合适版本的pymongo,并在线下做了测试。 为了从2.4升级到3.0,需要先从2.4升级到2.6,然后再从2.6升级到3.0。 mongo没有用...

2017-12-02 11:29:18 1804 0

原创 MongoDB主从复制与副本集

MongoDB主从复制与副本集复制是跨多个服务器数据同步的过程。 复制的特点 - 保障数据的安全性 - 数据高可用性 - 灾难恢复 - 无需停机维护(如备份,重建索引,压缩) - 分布式读取数据(提高读取能力) mongodb支持副本集和主从复制,主从复制官方已不再推荐(不支持自动故...

2017-09-25 19:52:38 1447 1

原创 MongoDB监控梳理

监控内存MongoDB对于CPU的负载很轻(两个CPU的处理能力即可满足每秒10 000次查询)。 如需在内存和CPU间选择一个进行硬件投资,一定要选择内存。

2017-09-23 15:09:46 594 0

原创 Python 实现RSA SHA-1签名

今天对接业务接口,传递的参数需要用RSA签名,三方只给了java的RAS签名Demo;但后端采用python开发,因此需要用Python来实现RSA签名。

2017-09-19 14:17:51 5232 1

原创 MongoDB索引探究

索引通常能够极大的提高查询的效率。在系统中使用查询时,应该考虑建立相关的索引。在MongoDB中创建索引相对比较容易。MongoDB中的索引在概念上和大多数关系型数据库如MySQL是一样的;需要在MySQL中建立索引的情况, 一般同样适合于MongoDB。

2017-08-18 17:47:37 575 0

原创 multiprocessing.Pool中initializer的利用

multiprocessing.Pool在初始化一个pool对象时,可以传initializer和initargs两个参数,在task开始进行运行前,进行一些初始化的工作。

2017-07-08 00:05:31 3509 0

原创 Python浮点计算的坑~

因为Python浮点计算问题,导致在结算商品价格时出现偏差:In [1]: 1999 - int(19.99*100) Out[1]: 1In [2]: int(19.99*100) Out[2]: 1998 解决方式:先计算,再取整。

2017-07-05 21:43:56 947 0

原创 Python raw_input含中文时CMD下乱码

Python的raw_input语句中如果包含中文,在Windows环境CMD中执行时会显示乱码。由于raw_input语句不支持unicode显示,在中文字符串前加u会报错。解决办法:在语句中进行强制的编码转换c = raw_input (unicode('请输入内容:',&...

2017-07-02 14:21:55 2804 0

原创 Rabin-Karp算法学习

Rabin-Karp算法

2017-05-22 23:24:16 834 0

原创 Python项目使用memcached缓存

通过缓存数据库查询结果,减少数据库访问次数,可以显著提高动态Web应用的速度和可扩展性。业界常用的有memcached,redis等,今天要讲的就是在python项目中如何使用memcached缓存服务。

2017-05-02 20:10:52 7610 3

原创 Python信号处理

SIGKILL信号是无法在程序内部捕获的,一旦发送SIGKILL信号给进程,Linux就将进程停止在那里。Python自己并不检查SIGKILL,而是直接把底层标准C的运行时错误返回。

2017-04-30 19:35:00 3641 0

原创 Python操作RabbitMQ

知识准备RabbitMQRabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。MQMQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。

2017-04-30 16:45:43 3821 0

原创 Python Flask0.1源码剖析

平时都是看别人的剖析代码,今天也来尝试剖析一下Flask的源码,加深对Flask的理解。下面的分析,全部基于Flask-0.1,0.1版本的代码加上注释也仅有不到700行,但麻雀虽小,五脏俱全,也足以缕清Flask的脉络。

2017-04-29 01:37:48 1487 0

原创 Web server, WSGI和Web framework

WSGI把Web服务器和Web框架结合起来:WSGI server所做的工作仅仅是将从客户端收到的请求传递给WSGI application,然后将WSGI application的返回值作为响应传给客户端。有了这一层抽象,服务器可以在不修改代码的情况下,使用不同的Web框架。

2017-04-25 22:34:01 2739 0

原创 multiprocessing.Pool报pickling error

multiprocessing.Pool出现pickling error

2017-04-21 18:46:25 9410 6

原创 Python操作HBase

安装HBase HBase是一个构建在HDFS上的分布式列存储系统,主要用于海量结构化数据存储。这里,我们的目标只是为Python访问HBase提供一个基本的环境,故直接下载二进制包,采用单机安装。下载后解压,修改配置文件,然后可以直接启动HBase了。所用系统版本为ubuntu14.04。...

2017-03-04 15:44:55 17519 7

原创 python并发之协程

python协程,Coroutine。

2017-01-25 13:57:16 6620 0

原创 python并发之concurrent.futures

Python标准库为我们提供了threading和multiprocessing模块编写相应的多线程/多进程代码。从Python3.2开始,标准库为我们提供了concurrent.futures模块,它提供了ThreadPoolExecutor和ProcessPoolExecutor两个类,实现了...

2017-01-25 10:44:54 22265 2

原创 python生产者/消费者示例

Python多线程实现生产者/消费者模式。

2017-01-24 23:10:26 2582 0

原创 python并发之multiprocessing

由于GIL(全局解释锁)的问题,python多线程并不能充分利用多核处理器。如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。multiprocessing可以给每个进程赋予单独的Python解释器,这样就规避了全局解释锁所带来的问题。与threading.Thread...

2017-01-23 17:19:34 20542 3

原创 Python tornado上传文件

在web开发过程中,文件上传是经常用到的功能,比如上传附件,上传照片等。下面我们来介绍一下利用tornado 来实现简单的文件上传功能。

2016-12-30 14:49:05 12426 0

原创 SQLAlchemy打印建表语句

SQLAlchemy printing raw SQL from create()

2016-09-29 11:36:37 917 0

原创 Python装饰器单例

python装饰器实现单例

2016-07-28 18:48:38 1033 0

原创 Python动态加载

动态加载模块、类和方法

2016-07-28 13:12:09 2491 1

原创 Nginx+uwsgi部署django应用

Nginx+uWSGI部署Django项目

2016-06-03 23:54:03 1030 0

原创 nethogs按进程查看流量占用

nethogs: 按进程查看流量占用

2016-05-11 16:54:19 810 0

原创 修改ls目录的颜色

修改ls目录的颜色

2016-05-07 17:57:44 912 0

原创 Linux内存文件系统

Linux内存文件系统:RamDisk,ramfs,tmpfs

2016-04-27 12:04:31 4046 0

原创 查看进程所占内存/proc/[pid]/statm踩坑记

需求:杀掉内存占用较高的进程。解决方法:读取进程的/proc/[pid]/statm,取第二个值作为进程使用的内存。

2016-04-26 14:44:18 15190 0

转载 lsof处理文件恢复、句柄以及空间释放问题

lsof处理文件恢复、句柄以及空间释放问题

2016-04-26 10:57:07 10461 1

原创 Linux单进程打开文件句柄数上限

ulimit 查看系统的文件相关限制单个进程最多允许打开的文件句柄数(包括socket连接数)是有限制的,当大于这个系统限制时,程序会抛出大量的无法打开文件的报错。

2016-04-26 10:53:31 10071 0

原创 用lsof统计程序打开的句柄数量

#!/bin/sh #set -x echo "">total_handler psid=`ps -ef|grep $1|head -1|awk '{print $2}'` count=0 while [ $count -lt 60 ] do ...

2016-04-25 18:52:01 2196 0

转载 dd测试磁盘读写速度

dd测试磁盘读写速度

2016-04-07 09:24:31 711 0

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