自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 资源 (39)
  • 收藏
  • 关注

原创 Insert python object in mongodb

插入python对象到mongo中转json 报错from pymongo import Connectionimport jsonconn = Connection()db = conn.cl_databasepostings = db.postings_collectionclass Posting(object): def __init__(self, link,

2013-12-31 16:18:51 2016

原创 Tornado 支持JSONP的请求封装

由于JSONP强大的跨域访问功能,发现tornado没有对jsonp的默认支持,还好tornado是开源的,就简单实现了一个JSONPHandler,对一切JSONP请求进行封装。对于jsonp跨域见上一篇文章tornado对于jsonp的封装主要在finish的时候返回的json是对前端页面js的调用import jsonfrom functools import wrapsd

2013-12-31 12:04:16 2493

转载 jsonp 跨域请求

先说说JSONP是怎么产生的:其实网上关于JSONP的讲解有很多,但却千篇一律,而且云里雾里,对于很多刚接触的人来讲理解起来有些困难,小可不才,试着用自己的方式来阐释一下这个问题,看看是否有帮助。1、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准;2、不过我们又发现,Web页面上

2013-12-31 11:34:00 772

转载 python对json的相关操作

什么是json:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家

2013-12-31 10:44:40 831

原创 tornado中使用motor异步操作mongodb

http://motor.readthedocs.org/en/stable/motor是一个建立在tornado和mongodb上的异步操作库,能够实现所有的mongodb操作。一:导入moduleimport motor二:连接mongodb[python] view plaincopy

2013-12-31 00:11:07 6351 3

原创 解决安装pymongo报错 ImportError: cannot import name MongoClient

>>> import pymongo>>> from pymongo import MongoClientTraceback (most recent call last): File "", line 1, in module>ImportError: cannot import name MongoClient>>> 但是安装了pymongo还是会报错。可以如下去更新p

2013-12-29 00:15:52 13567 1

转载 Celery 分发任务

一、简介Celery是基于分布式消息传递的开源异步任务队列。它侧重实时操作,也可用于计划任务。它的执行组件叫tasks,可在一个或多个worker节点上进行并行运算,支持的方式有multiprocessing,eventlet以及gevent。tasks可异步运行也可通过wait(),ready()同步运行。消息broker推荐RabbitMQ,也可以是Redis,Beanstalk,

2013-12-28 23:44:03 8633

转载 Celery+RabbitMQ快速入门

Celery官方帮助  http://docs.celeryproject.org/en/latest/index.html本文主要介绍Celery+RabbitMQ的入门知识Celery 是一个异步任务队列/基于分布式消息传递作业队列,它侧重于实时操作,同样也支持调度RabbitMQ为应用程序提供了强大的消息服务。它很容易使用,适合在云规模应用,并支持所有主流的操作系统和

2013-12-28 23:20:57 1401

转载 使用celery之怎么让celery跑起来

前言自从发了上次的文章使用celery之深入celery配置, 有一些网友再问我怎么让celery跑起来. 其实说来也是,celery在新手眼里真的是比较重量级,不好懂,今天先让他跑起来吧 本文大部分代码和使用方法都可以在celery官网看到我想要的效果我想实现一个定时任务, 每3个小时的12分启动,假如是定时任务大概是这样的:12 */3 * * * python

2013-12-28 18:56:47 1820

转载 celery配合rabbitmq任务队列实现任务的异步调度执行

前言:这东西在任务调度方面,很有一套的,学习他有段时间了,自己也试图在项目中用,但苦于没有这个机会。这两天要给部门写个rest的短信接口,但是总感觉那东西时不时的会堵塞,致使其他的逻辑跑不通,所以把要发信息的这个任务放到后台异步的执行,等我想起来,再看看结果。对于上面的场景,我曾经用tornado和gevent的方案解决,但是在我的理解范围下,感觉还是不算成熟。 tor

2013-12-28 02:15:30 6580

转载 python使用rabbitmq实例七,相互关联编号correlation id(7)

上一遍演示了远程结果返回的示例,但是有一个没有提到,就是correlation id,这个是个什么东东呢?假设有多个计算节点,控制中心开启多个线程,往这些计算节点发送数字,要求计算结果并返回,但是控制中心只开启了一个队列,所有线程都是从这个队列里获取消息,每个线程如何确定收到的消息就是该线程对应的呢?这个就是correlation id的用处了。correlation翻译成中文就是相互关联

2013-12-28 01:07:01 1271

转载 python使用rabbitmq实例六,远程结果返回(6)

前面的例子都有个共同点,就是发送端发送消息出去后没有结果返回。如果只是单纯发送消息,当然没有问题了,但是在实际中,常常会需要接收端将收到的消息进行处理之后,返回给发送端。处理方法描述:发送端在发送信息前,产生一个接收消息的临时队列,该队列用来接收返回的结果。其实在这里接收端、发送端的概念已经比较模糊了,因为发送端也同样要接收消息,接收端同样也要发送消息,所以这里笔者使用另外的示例来演示这一

2013-12-28 01:03:12 1127

转载 python使用rabbitmq实例五,路由键模糊匹配(5)

上一篇说了路由键的功能,通过设置路由键,可以将消息发送到相应的队列,这里的路由键是要完全匹配,比如info消息的只能发到路由键为info的消息队列。路由键模糊匹配,就是可以使用正则表达式,和常用的正则表示式不同,这里的话“#”表示所有、全部的意思;“*”只匹配到一个词。看完示例就能明白了。这边继上一篇,还是用send.py和receive.py来实现路由键模糊匹配的功能。send.

2013-12-28 01:02:12 884

转载 python使用rabbitmq实例四,路由键(4)

第三篇说明了关于交换机的使用,已经能实现给所有接收端发送消息,但是如果需要自由定制,有的消息发给其中一些接收端,有些消息发送给另外一些接收端,要怎么办呢?这种情况下就要用到路由键了。路由键的工作原理:每个接收端的消息队列在绑定交换机的时候,可以设定相应的路由键。发送端通过交换机发送信息时,可以指明路由键 ,交换机会根据路由键把消息发送到相应的消息队列,这样接收端就能接收到消息了。

2013-12-28 00:43:01 907

转载 python使用rabbitmq实例三,交换机(3)

上面一篇是说到了工作队列,每次消息都只会发送给其中一个接收端,如果需要将消息广播出去,让每个接收端都能收到,那么就要使用交换机。交换机的工作原理:消息发送端先将消息发送给交换机,交换机再将消息发送到绑定的消息队列,而后每个接收端都能从各自的消息队列里接收到信息。rabbitmq交换机工作原理下面用send.py和receive.py来模拟实现交换机的功能。sen

2013-12-28 00:37:52 1034

转载 python使用rabbitmq实例二,工作队列 (2)

上一篇介绍了rabbitmq的安装和经典的hello world!实例。这里将对工作队列(Work Queues)做一个了解。因为是接上一篇说明的,所以如果没看过上一篇,看这篇可能会比较难理解。上一篇的地址是:ubuntu安装rabbitmq和python的使用实现消息也可以理解为任务,消息发送者可以理解为任务分配者,消息接收者可以理解为工作者,当工作者接收到一个任务,还没完成的时候,任务

2013-12-26 23:27:42 1015

转载 ubuntu安装rabbitmq和python的使用实现 (1)

在安装openstack的时候,需要安装rabbitmq,百度了下rabbitmq,发现是用erlang写的,基于对erlang的好感,于是就想了解下rabbitmq。rabbitmq中文翻译的话,主要还是mq字母上:Message Queue,即消息队列的意思。前面还有个rabbit单词,就是兔子的意思,和python语言叫python一样,老外还是蛮幽默的。rabbitmq服务类似于m

2013-12-26 23:22:16 954

转载 消息队列、AMQP和RabbitMQ

一、应用场景及优点在项目设计、开发过程中,当我们遇到以下几种情况都可以使用消息队列:对于一些无需即时返回且耗时的操作;并发要求很高,数据处理很耗时,但是又无需及时返回信息的操作;数据转移类的操作,比如客户端和内网都要进行数据传输和交换, 现有架构中, 客户端不能直接访问内网, 那么客户端只能: 先把数据保存到外网服务器, 然后内网服务器再拉回来处理. 这种方式可以保证数据都能被处理

2013-12-26 20:49:48 1730 1

转载 ubuntu 配置服务service

实例:1.编写自己的可执行文件,比如myservice.sh2.编写控制执行的脚本,如mytest,一定要加上可执行权限,否则会报 unrecognized service,并将mytest放到/etc/init.d中,注意开头的 10行是不能省略的,开机启动主要依靠这些头部信息,详细内容可以查看   LSBInitScripts3.

2013-12-26 17:11:25 4302

原创 linux下杀死进程(kill)的N种方法 包括python--killproc

常规篇: 首先,用ps查看进程,方法如下:$ ps -ef……smx       1822     1  0 11:38 ?        00:00:49 gnome-terminalsmx       1823  1822  0 11:38 ?        00:00:00 gnome-pty-helpersmx       1824  1822  0

2013-12-26 16:48:41 8156 1

原创 eclipse安装一个新的Python开发包后,import后不能使用包内的方法

安装一个pip包后需要在Preferences-pyDev-Interpreter里重新配置Python的编译器,因为当前没有包含新加进来的包可以删除掉,重新加上。否则会导致import模块后,模块内的方法仍然不能调用。(ubuntu的默认python地址是/usr/bin/python,只要你不是后来又安装了新的python,直接用这个地址就可以了~)

2013-12-26 13:34:06 4114

原创 linux 定时任务crontab ,python API

DescriptionCrontab module for read and writing crontab files and accessing the system cron automatically and simply using a direct API.Comparing the below chart you will note that W, L, # and ?

2013-12-26 12:55:50 1870

原创 linux定时运行命令脚本 (crontab详解)

1、用root权限登陆2、 crontab -u lsbi -e3、加入要启动的命令,如40 4 18 * * /oracle_backup/bin/scott_select.sh4、重新启动service crond restart5、OK特别注意:1、cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量。2、每个

2013-12-26 10:57:11 1598

转载 tornado使用celery的请求异步非阻塞

前言也许有同学很迷惑:tornado不是标榜异步非阻塞解决10K问题的嘛?但是我却发现不是torando不好,而是你用错了.比如最近发现一个事情:某网站打开页面很慢,服务器cpu/内存都正常.网络状态也良好. 后来发现,打开页面会有很多请求后端数据库的访问,有一个mongodb的数据库业务api的rest服务.但是它的tornado却用错了,一步步的来研究问题:说明以下的例子都有2

2013-12-25 22:41:34 2584

原创 tornado的asynchronous / coroutine进行异步编程

在tornado3发布之后,强化了coroutine的概念,在异步编程中,替代了原来的gen.engine, 变成现在的gen.coroutine。这个装饰器本来就是为了简化在tornado中的异步编程。避免写回调函数, 使得开发起来更加符合正常逻辑思维。一个简单的例子如下:class MaindHandler(web.RequestHandler): @asynchronous

2013-12-25 22:40:09 4197

转载 Tornado http服务器篇

一. Tornado是什么?Facebook发布了开源网络服务器框架Tornado,该平台基于Facebook刚刚收购的社交聚合网站FriendFeed的实时信息服务开发而来.Tornado由Python编写,是一款轻量级的Web服务器,同时又是一个开发框架。采用非阻塞I/O模型(epoll),主要是为了应对高并发 访问量而被开发出来,尤其适用于comet应用。

2013-12-25 21:14:32 1304

转载 python 装饰器 面向切面

1. 装饰器入门1.1. 需求是怎么来的?装饰器的定义很是抽象,我们来看一个小例子。1def foo():2    print 'in foo()'3 4foo()

2013-12-25 21:12:55 579

转载 Python yield 与生成器

yield 是 Python 中的一个关键字, 这个关键字比较特殊, 用于在任何表达式前, 但它不仅会对其后的表达式有影响, 对整个函数上下文都有影响. 实际上, 凡是在函数体中出现了 yield 关键字, Python 都会对此函数特殊处理, 调用这个函数不再返回值, 而是一个生成器对象.    比如def f():    yield 1g = f()pr

2013-12-25 20:38:32 585

转载 Ubuntu环境下的“批处理”

Ubuntu环境下的“批处理”长时间生活在CLI中,“批处理”绝对能简化不少工作。在Windows环境中,建立一个后缀名为.bat的文件,输入需要的指令,保存之后执行即可,十分方便。其实在Ubuntu中也有类似的功能,而且更加简单。第一步建立一个文件,Ubuntu系统对后缀名没有特殊要求,即使不加也可以。这里我们建立一个名为“startmya

2013-12-24 16:42:50 2164

转载 知乎的整个网站架构

知乎的整个网站架构图如下:知乎是国内很少的使用Python开发的一个网站,也很多值得我们学习的地方,从知乎让我们也可以了解到一些新的WEB技术。一、Python框架知乎目前使用的是Tornado 框架。Tornado 全称Tornado Web Server,是一个用Python 语言写成的Web 服务器兼Web 应用框架,由 FriendFeed 公司在自己的网站

2013-12-24 16:17:20 5909

原创 DataTables ajax 动态更新数据

taTableExt.oApi.fnReloadAjax = function(oSettings, sNewSource, fnCallback, bStandingRedraw) { if (sNewSource !== undefined && sNewSource !== null) { oSettings.sAjaxSource =

2013-12-23 16:07:13 4466

转载 windows下配置nginx+php环境

刚看到nginx这个词,我很好奇它的读法(engine x),我的直译是“引擎x”,一般引“擎代”表了性能,而“x”大多出现是表示“xtras(额外的效果)”,那么整个词的意思就是类似“极致效果”,“额外性能”。当然这里不是要来唠嗑,以上是题外话。  nginx相较于我们熟悉的apache、IIS的优势,就我浅入浅出的了解,在于“反向代理”和“负载均衡”。因此考虑到能够为Web服务器节省资

2013-12-23 12:53:38 619

转载 如何正确配置Nginx+PHP

对很多人而言,配置Nginx+PHP无外乎就是搜索一篇教程,然后拷贝粘贴。听上去似乎也没什么问题,可惜实际上网络上很多资料本身年久失修,漏洞百出,如果大家不求甚解,一味的拷贝粘贴,早晚有一天会为此付出代价。 假设我们用PHP实现了一个前端控制器,或者直白点说就是统一入口:把PHP请求都发送到同一个文件上,然后在此文件里通过解析「REQUEST_URI」实现路由。此时很多教程

2013-12-23 11:54:44 716

转载 nginx Location

Location语法语法:location [=|~|~*|^~] /uri/ { … }location = / {# 只匹配 / 查询。[ configuration A ]}location / {# 匹配任何查询,因为所有请求都已 / 开头。但是正则表达式规则和长的块规则将被优先和查询匹配。[ configuration B ]}locati

2013-12-23 11:06:00 1901

转载 异步,同步,阻塞与非阻塞

如果你想吃一份宫保鸡丁盖饭:同步阻塞:你到饭馆点餐,然后在那等着,还要一边喊:好了没啊!同步非阻塞:在饭馆点完餐,就去遛狗了。不过溜一会儿,就回饭馆喊一声:好了没啊!异步阻塞:遛狗的时候,接到饭馆电话,说饭做好了,让您亲自去拿。异步非阻塞:饭馆打电话说,我们知道您的位置,一会给你送过来,安心遛狗就可以了。上面的比喻给出一个形象的感觉,这里有一段关

2013-12-23 11:02:55 563

原创 Jquery DataTables 之完全总结

了解DataTables官方网站:http://www.datatables.net/简介:DataTables是一个jQuery的表格插件。这是一个高度灵活的工具,依据的基础逐步增强,这将增加先进的互动控制,支持任何HTML表格。主要特点:自动分页处理即时表格数据过滤数据排序以及数据类型自动检测自动处理列宽度可通过C

2013-12-22 23:07:47 2257

转载 RDF N-元组

N-TriplesA line-based syntax for an RDF graphW3C Last Call Working Draft 05 September 2013This version:http://www.w3.org/TR/2013/WD-n-triples-20130905/Latest published version:http://www.w3.

2013-12-22 12:41:54 1461

转载 SPARQL和大数据(以及NoSQL)

如何达到一个双方的共识基础?很显然SPARQL和其他RDF相关的技术在重叠的大数据和NoSQL的世界中会大有用武之地,但是对专注于该领域的人来说这好像还不够明显,例如本周的Strata会议基本上对RDF或SPARQL无所顾及。我看的越深入,我就觉得这个灵活的、标准化的数据模型和查询语言已经可以在上述人群努力去处理的各类问题中已经表现得相当不错。我们语义网人士不能批评人家。如果你

2013-12-22 12:31:27 1529

转载 三元组存储会取代关系型数据库吗?

三元组存储会取代关系型数据库吗?Dr. Jans Aasman, CEO of Franz Inc., the leading supplier of Graph Database technology for the Semantic Web.人们总是在问我:"在未来的三五年内三元组的存储会取代关系型数据库吗?" 通常我会给予2个答复:答复1:是的,因

2013-12-22 12:27:07 2650

转载 非阻塞服务器需要注意的主要问题(tornado)

非阻塞服务器有一个严重的问题,一些人甚至在没解决这个问题的背景下就开发自己的应用框架(比如Python的Tornado)当你使用非阻塞服务器的时候,你会获得出色的性能并且不需要担心可扩展性,然而同时你需要意识到一个问题:你的IO调用、网络系统调用也都是非阻塞的吗?很多人忽略了,他们使用的非阻塞服务器,其实是构建在阻塞库之上的。在这篇文章里,我将深入对比多线程的服务器与非阻塞的服务器

2013-12-20 15:34:14 1268

ssd3 exercise2

ssd3 exercise2ssd3 exercise2ssd3 exercise2

2015-12-28

ssd6 exercise1

ssd6 exercise1 ssd6 exercise1 正确

2012-01-03

css-template

css-template

2011-12-23

数学建模

数学建模 数学建模 数学建模 数学建模 数学建模 数学建模 数学建模数学建模数学建模数学建模

2011-11-13

数据结构与算法

数据结构与算法 数据结构与算法数据结构与算法

2011-11-13

ssd3 practical quiz 10

ssd3 practical quiz 10ssd3 practical quiz 10ssd3 practical quiz 10ssd3 practical quiz 10ssd3 practical quiz 10

2011-05-07

ssd3 practical quiz 8

ssd3 practical quiz 8ssd3 practical quiz 8ssd3 practical quiz 8ssd3 practical quiz 8ssd3 practical quiz 8ssd3 practical quiz 8

2011-05-07

ssd3 practical quiz 7

ssd3 practical quiz 7ssd3 practical quiz 7ssd3 practical quiz 7ssd3 practical quiz 7

2011-05-07

ssd3 practical quiz 6

ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5

2011-05-07

ssd3 practical quiz 5

ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5

2011-05-07

ssd3 practical quiz 3

ssd3 practical quiz 3ssd3 practical quiz 3ssd3 practical quiz 3ssd3 practical quiz 3ssd3 practical quiz 3ssd3 practical quiz 3ssd3 practical quiz 3

2011-05-07

ssd3 practical quiz 2

ssd3 practical quiz 2ssd3 practical quiz 2ssd3 practical quiz 2ssd3 practical quiz 2ssd3 practical quiz 2ssd3 practical quiz 2ssd3 practical quiz 2ssd3 practical quiz 2

2011-05-07

ssd3 practical quiz 1

ssd3 practical quiz 1ssd3 practical quiz 1ssd3 practical quiz 1ssd3 practical quiz 1ssd3 practical quiz 1 ssd3 practical quiz 1

2011-05-07

ssd3ssd3.chm

ssd3.chm ssd3.chm ssd3.chm

2011-04-15

ssd3 exercise4

ssd3 exercise4 ssd3 exercise4

2011-04-15

ssd3 exercise3

ssd3 exercise3 ssd3 exercise3

2011-04-15

ssd3 exercise1

ssd3 exercise1 ssd3 exercise1ssd3 exercise1

2011-04-15

ssd3 exercise 2

ssd3 exercise2 完全正确的答案

2011-03-26

ssd3 execise正确答案

ssd3 作业 exercise 正确答案

2011-03-26

protege入门学习

protege入门学习

2013-04-01

ssd9 exercise9

ssd9 exercise9

2012-07-29

ssd9 exercise8

ssd9 exercise8

2012-07-29

ssd9 exercise7

ssd9 exercise7

2012-07-29

ssd9 exercise6

ssd9 exercise6

2012-07-29

ssd9 exercise5

ssd9 exercise5

2012-07-29

ssd9 exercise4

ssd9 exercise4

2012-07-29

ssd9 exercise3

ssd9 exercise3

2012-07-29

ssd9 exercise2

ssd9 exercise2

2012-07-29

ssd9 exercise1

ssd9 exercise1

2012-07-29

空间索引总体介绍

空间索引总体介绍

2012-07-25

学习算法之路

学习算法之路

2012-01-03

ANTLR指南

ANTLR指南

2012-01-03

antlr3教材

antlr3教材

2012-01-03

ANTLR-v3整体语法

ANTLR-v3整体语法 ANTLR-v3整体语法

2012-01-03

SSD6 Exercise5

SSD6 Exercise5 SSD6 Exercise5

2012-01-03

ssd6 exercise4

ssd6 exercise4 ssd6 exercise4

2012-01-03

ssd6 exercise3

ssd6 exercise3 ssd6 exercise3

2012-01-03

ssd6 Exercise2

ssd6 Exercise2 ssd6 Exercise2 ssd6 Exercise2

2012-01-03

空空如也

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

TA关注的人

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