2011-01-28 21:00:00
开发可扩展的服务器对于Python来说尤其具有挑战性,因为它不支持在多个CPU核心上运行的线程。一种可能的解决方案是使用工作进程来复制客户端的套接字,这种方法允许工作进程直接处理请求并发送响应到客户端套接字。这种技术特别适用于会话中包含多个请求的持久连接。文章介绍了TCP服务器的基础知识,讨论了C10K问题,并探讨了异步服务器和负载均衡技术。此外,文章还详细介绍了如何在Python中使用多进程来处理套接字,并提供了示例代码。
2011-01-28 21:00:00
开发可扩展的服务器对于Python来说尤其具有挑战性,因为它不支持在多个CPU核心上运行的线程。一种可能的解决方案是使用工作进程来复制客户端的套接字,这种方法允许工作进程直接处理请求并发送响应到客户端套接字。这种技术特别适用于会话中包含多个请求的持久连接。文章介绍了TCP服务器的基础知识,讨论了C10K问题,并探讨了异步服务器和负载均衡技术。此外,文章还详细介绍了如何在Python中使用多进程来处理套接字,并提供了示例代码。
2011-01-28 10:15:59
开源软件的价值在于众人的参与和代码的透明性,但如今,即使是经验丰富的程序员也鲜少查看其他项目的源代码。文章指出,代码库的庞大和安装路径的隐蔽是导致这一现象的原因。作者建议,通过在文档中直接链接到相关源代码,可以帮助用户重新熟悉源代码,并鼓励程序员编写易于阅读的代码。作者呼吁开源社区提供更便捷的源代码访问方式,以促进代码的阅读和改进。
2011-01-27 21:00:00
作者在文章中表达了对XQuery模块导入语句长度的不满,认为它们过于冗长且重复。他指出,在MarkLogic实现中,导入语句中的URL后缀是必需的,这导致了代码的重复。他还讨论了使用绝对路径和相对路径的问题,指出绝对路径可能导致代码在不同环境中的不可移植性。作者希望有一种更简洁的导入方式,能够从命名空间自动推导出路径,并希望有更方便的方式来引用不同位置的代码。
2011-01-26 21:00:00
本文介绍了使用Jquery、Ajax、Json和Django等技术栈构建Ajax Django应用程序的方法。文章首先概述了这些技术的功能,包括Jquery的DOM操作和Ajax API,Json的数据格式,以及Django的Web框架特性。接着,通过一个名为“ask”的应用示例,展示了如何将这些技术结合起来实现一个FAQ应用。文章强调了SOUIT(面向服务的用户界面技术)的概念,并讨论了在客户端进行数据转换和路由的优势。最后,提出了关于这种技术栈最佳应用场景的思考。
2011-01-24 15:07:00
在开发一个支持异步请求的新数据存储客户端库时,作者添加了对异步RPC的低级支持。特别指出,App Engine的urlfetch API支持异步RPC,并展示了如何使用urlfetch同时向两个服务发送请求,并等待第一个返回结果的方法。文章还介绍了如何使用UserRPC的wait_any()和wait_all()方法来处理多个RPC请求,并提醒了目前无法取消未完成的RPC请求的问题。作者强调,API可能会随着改进而变化,但团队致力于维护这一API。