关闭

Python 中的黑暗角落(三):模块与包

如果你用过 Python,那么你一定用过 import 关键字加载过各式各样的模块。但你是否熟悉 Python 中的模块与包的概念呢?或者,以下几个问题,你是否有明确的答案? 什么是模块?什么又是包?from matplotlib.ticker import Formatter, FixedLocator 中的 matplotlib 和 ticker 分别是什么?中间的句点是什么意思?fro...
阅读(67) 评论(0)

Python 中的黑暗角落(二):生成器协程的调度问题

前作介绍了 Python 中的 yield 关键字。此篇介绍如何使用 yield 表达式,在 Python 中实现一个最基本的协程调度示例,避免 I/O 操作占用大量 CPU 计算时间。 协程及其特点 协程是一种特殊的子程序,它可以在特定的位置暂停/恢复(而不是像普通函数那样在逻辑上顺序执行);并且每当协程暂停时,调用者可以从协程中获取状态,决定调用者接下来的走向;以及每当协程...
阅读(187) 评论(0)

Python 中的黑暗角落(一):理解 yield 关键字

Python 是非常灵活的语言,其中 yield 关键字是普遍容易困惑的概念。 此篇将介绍 yield 关键字,及其相关的概念。 迭代、可迭代、迭代器 迭代(iteration)与可迭代(iterable) 迭代是一种操作;可迭代是对象的一种特性。 很多数据都是「容器」;它们包含了很多其他类型的元素。实际使用容器时,我们常常需要逐个获取其中的元素。逐个获取元素...
阅读(1563) 评论(0)

Python envoy 模块源码剖析

Kenneth Reitz 是公认的这个世界上 Python 代码写得最好的人之一。抱着学习的心态,我阅读了 Reitz 写的 envoy 模块的源码,将笔记记录如下。 介绍 和 requests 模块一样,envoy 也是 Reitz 的作品,连官方描述都类似——Python Subprocesses for Humans。 实际上,envoy 的核心代码非常少,总共只...
阅读(47) 评论(0)

数据库SQL优化大总结之 百万级数据库优化方案

网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。 这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。 1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 ...
阅读(35) 评论(0)

条件复杂的sql语句查询

有三张表 分别为 会员表(member) 销售表(sale) 退货表(regoods) 会员表有字段 memberid (会员id,主键) credits(积分);  销售表有字段 memberid(会员id ,外键) 购买金额(MNAccount); 退货表中有字段memberid(会员id ,外键) 退货金额(RMNAccount); 业务说明 : 1、销售表中的销售记录可以是会员购买...
阅读(28) 评论(0)

MySQL自动备份及灾难恢复

[转自51cto]http://bbs.51cto.com/thread-820965-1.html         当数据库服务器建立好以后,我们首先要做的不是考虑要在这个支持数据库的服务器运行哪些受MySQL提携的程序,而是当数据库遭到破坏后,怎样安然恢复到最后一次正常的状态,使得数据的损失达到最小。 或者说,仅仅是数据库服务器的建立,只能说明它能做些什么,并不代表它能稳定的做些什么。灾...
阅读(159) 评论(0)

MYSQL性能优化

看到一篇很不错的文章,特别转来分享下。也许以后会用到。 1、分库分表 很明显,一个主表(也就是很重要的表,例如用户表)无限制的增长势必严重影响性能,分库与分表是一个很不错的解决途径,也就是性能优化途径,现在的案例是我们有一个1000多万条记录的用户表members,查询起来非常之慢,同事的做法是将其散列到100个表中,分别从members0到members99,然后根据mid分发记录到这些表中...
阅读(77) 评论(0)

我必须得告诉大家的MySQL优化原理

说起MySQL的查询优化,相信大家收藏了一堆奇淫技巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本文能让你重新审视这些优化建议,并在实际业务场景下合理的运用。 MySQL逻辑架构 如果能在头脑中构...
阅读(45) 评论(0)

python使用json序列化datetime类型问题处理

使用python的json模块序列化时间或者其他不支持的类型时会抛异常,例如下面的代码: # -*- coding: cp936 -*- from datetime import datetime import json if __name__=='__main__': now = datetime.now() json.dumps({'now':now}) 运行会出现下面的错...
阅读(56) 评论(0)

不再以讹传讹,GET和POST的真正区别

如果有人问你,GET和POST,有什么区别?你会如何回答? 我的经历 前几天有人问我这个问题。我说GET是用于获取数据的,POST,一般用于将数据发给服务器之用。 这个答案好像并不是他想要的。于是他继续追问有没有别的区别?我说这就是个名字而已,如果服务器支持,他完全可以把GET改个名字叫GET2。他反问道,那就是单纯的名字上的区别喽?我想了想,我觉得如果说再具体的区别,只能去看R...
阅读(112) 评论(0)

python json.dumps 中的ensure_ascii 参数引起的中文编码问题

在使用json.dumps时要注意一个问题   >>> import json >>> print json.dumps('中国') "\u4e2d\u56fd"   输出的会是 '中国' 中的ascii 字符码,而不是真正的中文。   这是因为json.dumps 序列化时对中文默认使用的ascii编码.想输出真正的中文需要指定ensure_as...
阅读(241) 评论(0)

Scrapy爬虫笔记

Scrapy是一个优秀的Python爬虫框架,可以很方便的爬取web站点的信息供我们分析和挖掘,在这记录下最近使用的一些心得。 1.安装 通过pip或者easy_install安装: 1 sudo pip install scrapy 2.创建爬虫项目 1 scrapy startprojec...
阅读(76) 评论(0)

MySQLdb.cursors AttributeError: 'module' object has&

原来ubuntu 12.04 python-mysqldb只需要import MySQLdb就可以使用MySQLdb.cursors.DictCursor(字典游标) 不过最近不知道python的原因还是mysqldb的原因,应该是python-mysqldb版本问题吧, Traceback (most recent call last):   File "", li...
阅读(40) 评论(0)

使用fiddler获取手机上的数据

1.说实话,当初老大让我去尝试抓取手机App的数据时,我是一脸懵逼,无从下手。后来经过在网上查阅资料了解到,抓取手机数据需要抓取数据包,从中获取需要的数据,根据别人写的博客,进行了初步的尝试,最终获取了一些自己需要的数据,初次尝试,费了不少劲,虽然以前学过抓包,只恨当初没有认真对待,忘得一无所有,汗。废话少说。。 2.首先要抓取数据(Fiddler抓包,手机WiFi代理), 3.分析数...
阅读(87) 评论(0)
429条 共29页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:322588次
    • 积分:5666
    • 等级:
    • 排名:第5084名
    • 原创:233篇
    • 转载:195篇
    • 译文:1篇
    • 评论:28条
    最新评论