月归档:2011 年十二月

Eurasia3 支持百万级用户的服务器和框架 – 国内开源项目介绍(五)

项目名称: Eurasia3 发起时间: 2004年 代码托管:http://code.google.com/p/eurasia 项目介绍: Eurasia3 是一种能够支持百万级同时在线长连接用户数量的 HTTP 服务器, 或者每秒处理上万次 CGI 请求的常规应用服务器。 Eurasia3 同时也泛指以 Eurasia3 应用服务器为核心的一系列组件形成的应用程序框架, 主要是一个嵌入式对象数据库 MissileDB, 和一个 JavaScript 框架 NJF。 Eurasia3 基于 Stackless Python。 产品信息: 运行平台: 支持 Stackless Python 2.5 的系统, 包括各种嵌入式平台 开发语言: Stackless Python 开源协议: BSD License 项目成员: 沈崴, 高级架构师, 上海,项目发起人。 赖勇浩, 某公司技术负责人,广州。 王健, 某公司技术负责人, 经理, 广州。 魏中华, 项目经理, 广州。 庄上林, 项目经理, 广州。 是什么促使你们发起/开始这个项目? Eurasia 最初源于某个大型人工智能项目,

发表在 未分类 | 评论关闭

一个不错的国产HTTP服务器:Eurasia 3

窗体底端 一个不错的国产HTTP服务器:Eurasia 3 分类:网站建设 标签:Python Eurasia 3是我接触Python初期就注意到的一个东东,他是沈崴(貌似还有其他几位)用Python写的一个HTTP服务器。 说是HTTP服务器,似乎不够准确,因为实际上能跑几乎所有的TCP应用,可以当成Apache来用。并且,它也专门提供了Web服务接口,甚至还能很方便地与django、cherrypy整合。 不过真正吸引我的是它提供的HTTP长连接功能,确实很好玩。 在一般的AJAX应用中,客户端浏览器会用JavaScript来访问服务器,获取并更新信息。但是某些应用并非只获取一次信息,而可能是不断访问服务器,以查询是否有更新(如聊天室)。很多的查询访问实际上是无用的,也造成了服务器的负担。 而HTTP长连接则能在客户端与服务器间长时间保持连接,当服务器有更新信息时,由服务器主动输出到客户端,这便杜绝了无用的查询。 如此看来,AJAX像是轮询,而HTTP长连接则是中断,自然后者在效率上更胜一筹。 但HTTP长连接会在很长的时间内一直保持链接,如果使用线程来处理每个长连接的话,并

发表在 未分类 | 评论关闭

铭记

(一) 1.不要在流泪的时候做任何决定,情绪负面的时候说话越少越好。 2.不要去反复思考同一个问题,不要把所有的感情都放在一个人身上,你还有父母,还有其他朋友。 3.不要害怕做错什么,即使错了,也不必懊恼,人生就是对对错错,何况有许多事,回头看来,对错已经无所谓了。 4.有负面情绪是正常的,但是自己一定要知道,要明白这只是生活的一小部分,在其余的时间里,要尽量的让情绪平稳起来。 5.那个人突然不联系你了,很正常;那个人突然又联系你了,也很正常,这也不说明什么。 6.如果不懂,就说出来,如果懂了,就别说,笑笑即可。 7.一切的烦恼都是自找的,因此也只能自己解决,不要找朋友哭诉,找他们去打球。 8.说过的话一定要做到,即使是很蠢的话,再蠢也比言而无信好。 9.无论发生怎样的变故,不要打破生活原有的规律,要按时吃饭,按时睡觉。 10.不要去害怕做一件事,不要害怕触景伤情,不要害怕说错话,不要害怕想起过去,不要害怕面对未来。 11.无论是对是错,你需要一个准则,你的行为应该遵循这个准则,并根据现实生活不断的修正。反反复复优柔寡断的人,是不可能讨人喜欢的,在对错之间徘徊的人,形象不如从错到对的人

发表在 未分类 | 评论关闭

《创业的艺术》

《创业的艺术》 創業的五大要領 创业的五大要领 創造一種 意義 创造一种 意义   造一句 格言  別管公司的經營理念了 造一句 格言 别管公司的经营理念了   著手 進行 着手 进行   想出 賺錢的方法 想出 赚钱的方法   織一張「 墊子 」 织一张「 垫子 」 (階段性目標、假設與工作項目) (阶段性目标、假设与工作项目) 本文摘自商周出版《創業的藝術》一書 本文摘自商周出版《创业的艺术》一书 在創辦任何新企業時,你應該問的問題只有一個: 在创办任何新企业时,你应该问的问题只有一个: 創造意義 创造意义 我是否想要創造出一種意義 ? 我是否想要创造出一种意义 ? 本文摘自商周出版《創業的藝術》一書 本文摘自商周出版《创业的艺术》一书 意義跟金錢、權力或名聲無關,甚至也不是創造一個有趣的工作環境。 意义跟金钱、权力或名声无关,甚至也不是创造一个有趣的工作环境。 『意義』的意思是做到以下幾點: 『意义』的意思是做到以下几点: 使世界更美好 使世界更美好 增進生活品質 增进生活品质 糾正嚴重的錯誤 纠正严重的错误 防止美好的事物消失 防止美好的

发表在 未分类 | 评论关闭

plan

1)做一个开源项目 2)成功者激励 3)OPENCART开源本地化 4)开发一个成功软件(***) 5)慢跑 6)每天半小时锻炼 7)病友网 8)心灵修炼

发表在 未分类 | 评论关闭

多线程实现的网络爬虫

刚刚开了一个《计算机网络》的课,觉得很有用。正好师兄让我练习编写一个能下载网站网页的程序,正好能用上课上的知识了。为了想作一个效率不差的,而下载网页的性能瓶颈是在网络上,所有决定用Python编写代码。刚学python没几天,学习一种语言的最好方法就是写code.下面的是我用的多线程实现的网络爬虫,并用py2exe生成了一个exe,自身觉得py2exe不太好,又不会更好的,只能……           这是我这些天的成果。希望有人能提出好的建议,先谢谢了!一共两个文件,一个是toolbox_insight.py,是一个工具文件另一个是test.py,是一个用到toolbox_insight.py中工具的测试文件 #FileName: toolbox_insight.py from sgmllib import SGMLParser import threading import time import urllib2 import StringIO import gzip import string import os #rewrite SGMLParser f

发表在 未分类 | 评论关闭

5个基于Web的开源即时聊天应用推荐

5个基于Web的开源即时聊天应用推荐 1.  Cryptocat – An Open Source Encrypted & Private Chat Application   Cryptocat是一个开源基于Web的即时消息聊天应用程序。与其它即时聊天工具不同之处在于,它主要关注确保通信是进行加密过和私人化的。 Cryptocat基于PHP开发,除了静态文件(CSS, JS和图片)外,只有单独的一个PHP文件。其界面简单,而且漂亮。消息使用crypto.js library进行AES-256加密。 项目地址: https://crypto.cat/ 2. Candy: A JavaScript Powered Multiuser Chat Client   Candy是一个开源的聊天客户端,基于JavaScript开发。支持任意Jabber服务器,包括自己搭建的服务器。但需要服务器开启HTTP-binding支持。 这个应用程序支持多个聊天室,与多个用户进行私聊,主持人甚至可以踢出和禁止用户。 它的界面支持多国语方,并能够通过插件进行扩展。 Candy提供良好的文档和完整的

发表在 未分类 | 评论关闭

Comet:基于 HTTP 长连接的“服务器推”技术

Comet:基于 HTTP 长连接的“服务器推”技术 周 婷 (zhouting@cn.ibm.com), 软件工程师, IBM 中国软件开发技术实验室 周婷,软件工程师,目前在 IBM 中国软件开发技术实验室从事刀片服务器管理固件的开发工作。您可以通过 zhouting@cn.ibm.com 和她联系。 简介: 很多应用譬如监控、即时通信、即时报价系统都需要将后台发生的变化实时传送到客户端而无须客户端不停地刷新、发送请求。本文首先介绍、比较了常用的“服务器推”方案,着重介绍了 Comet - 使用 HTTP 长连接、无须浏览器安装插件的两种“服务器推”方案:基于 AJAX 的长轮询方式;基于 iframe 及 htmlfile 的流方式。最后分析了开发 Comet 应用需要注意的一些问题,以及如何借助开源的 Comet 框架-pushlet 构建自己的“服务器推”应用。 本文的标签:  :服务器推, ajax, comet, cometd, commet技术, http, http_(hypertext_transfer_protocol), http长连接, java_技术, ja

发表在 未分类 | 评论关闭

a blog by Johnathan Leppert

let’s see herea blog by Johnathan Leppert About Me Projects Code Snippets Hacking My Alarm Clock For Fun & Profit Randomness RSS About Me Let’s see….I enjoy taking long walks, camping, hiking, sunsets… Wow. Oops, wrong “profile”. I’m your all-around developer. I dabble in frontend, backend, architecture, and even some photoshop and design. I’m typically known for taking on more work than I could possibly ever finish, for having crazy ideas and the nerve to try to implement s

发表在 未分类 | 评论关闭

Tornado框架中文文档

    [转载]Tornado框架中文文档 – 2011/06/15 本文转载由zys的博客,原文地址:http://zys-free.com/wordpress/?p=242 由于原地址被墙,所以转载过来感谢zys的翻译工作!本文档的许可形式为 Creative Commons 3.0 内容索引 Table of Contents 概述 下载和安装 安装依赖 模块索引 主要模块 底层模块 其它模块 Tornado攻略 请求处理和请求参数 RequestHandler中的主要方法 模板 Cookies和安全Cookies 用户认证 跨站伪造请求的防范 静态文件和主动式文件缓存 本地化 UI模块 非阻塞式的异步请求 第三方认证 关于性能 生产环境下的部署 WSGI 和 Google AppEngine 支持 概述 FriendFeed 所使用的 Web 服务器,是一款使用 Python 编写的,相对简单的非阻塞式 Web 服务器。其应用程序所使用的 Web 框架,看起来有些像 web.py 或者是 Google 的 webapp ,但添加了一些有用

发表在 未分类 | 评论关闭

Socket.IO

Home Page History Main Pages Modules and Extensions Projects using Socket.IO Migrating 0.6.x to 0.7+ Configuring Socket.IO Authorization and handshaking Socket.IO and firewalls FAQ How do I contribute to Socket.IO How do I serve the client? How does the Socket.IO protocol work Articles and Recipes Nginx and Socket.IO HAProxy and Socket.IO Varnish and Socket.IO Socket.IO Express and Sessions Presentations and slides nodecamp.eu 2011 (slides) nodeconf 2011 (slides) camp.nodejs 2010 (

发表在 未分类 | 评论关闭

What is Socket.IO?

What is Socket.IO? Socket.IO aims to make realtime apps possible in every browser and mobile device, blurring the differences between the different transport mechanisms. It’s care-free realtime 100% in JavaScript. Server var io = require('socket.io').listen(80); io.sockets.on('connection', function (socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function (data) { console.log(data); }); }); Client <script src="/socket.io/socket.io.js">&

发表在 未分类 | 评论关闭

DBA Notes – 创业感悟 网站架构 性能优化 技术评论

Instagram 架构分析笔记 By Fenng on December 7, 2011 | 9 Comments Instagram 团队上个月才迎来第 7 名员工,是的,7个人的团队。作为 iPhone 上最火爆的图片类工具,instagram 用户数量已经超过 1400 万,图片数量超过 1.5 亿张。不得不说,这真他妈是个业界奇迹。 几天前,只有三个人的 Instagram 工程师团队发布了一篇文章:What Powers Instagram: Hundreds of Instances, Dozens of Technologies,披露了 Instagram 架构的一些信息,足够勾起大多数人的好奇心。读罢做点笔记,各种线索还是有一定参考价值的。能打开原文的建议直接读原文。 Instagram 开发团队奉行的三个核心原则: Keep it very simple (极简主义) Don’t re-invent the wheel (不重复发明轮子) Go with proven and solid technologies when

发表在 未分类 | 评论关闭

Using MinGW for Cross-Hosted Development

  Home of the MinGW, MSYS and mingwPORT Projects   MinGW, a contraction of “Minimalist GNU for Windows”, is a minimalist development environment for native Microsoft Windows applications. MinGW provides a complete Open Source programming tool set which is suitable for the development of native MS-Windows applications, and which do not depend on any 3rd-party C-Runtime DLLs. (It does depend on a number of DLLs provided by Microsoft themselves, as components of the operating system; most n

发表在 未分类 | 评论关闭

GOGO

The Go language was introduced by Google in late 2009. It was released for Linux and Mac, but not for Microsoft Windows. I decided to adapt a primitive IDE that I had, so that it ran the Go compiler, linker, and formatter. It is best for those who are not Linux experts You can download it from these pages. You also need to download Go for Linux – described here. Best Wishes Mike Parr Links Google’s info about Go

发表在 未分类 | 评论关闭

goinstall launchpad.net/mgo

apt-get install  bzr goinstall launchpad.net/mgo

发表在 未分类 | 评论关闭

errors" is the new package in the latest Go weekly

errors” is the new package in the latest Go weekly. Apparently your Go version is not the latest weekly. See gocode git repository tags for compatible commits or upgrade your Go version to the latest weekly. nsf commented November 03, 2011 For example if you have Go version release.r60, you can do this: git clone git://github.com/nsf/gocode.git git checkout compatible-with-go-release.r60 gomake install

发表在 未分类 | 评论关闭

安装Git

2.4 安装Git 让我们进入使用Git中。优先的事情第一 :你必需安装它。你可以以多种方式达到该目的;两种主要的方式是:从源码安装或者从一个已存在的适用你的平台的包安装。   2.4.1从源码安装(Installing from Source) 如果可能,从源码安装Git是最有用的,因为你将得到一个最新的版本。每个Git版本都会试图包含一些有用的UI的增强,因此,如果你对从源码编译感到还能适应的话,获得最新的版本通常是最好的路径。在某种情况下,许多Linux发行包含了非常老的包;因此,除非你正在使用一个最新的分发版或者使用反向移植(backport),从源码安装可能是最好的。 为了安装Git,以下Git所依赖的库是必需的: curl, zlib, openssl, expat 以及libiconv。例如,如果你的系统中有yum(诸如 : Fedora)或者 apt-get(诸如基于Debian的系统),你可以使用以下命令来安装这些依赖的包: $ yum install curl-devel expat-devel gettext-devel    openssl-devel

发表在 未分类 | 评论关闭

$ goinstall github.com/nf/stat

$ goinstall github.com/nf/stat > goinstall: github.com/nf/stat: command “git” not found in $PATH > What do I need to do to resolve the above error? You need to install the source control management system “git”.  See here: http://git-scm.com/ Installation instructions on the right side of the page.       为PHP安装Redis扩展模块 2011-07-27 11:14 转载自 leolance 最终编辑 leolance # wgethttps://download.github.com/owlient-phpredis-2.1.1-0-g5a07edc.tar.gz # tar -zxvf owlient-phpredis-2.1.

发表在 未分类 | 评论关闭

ubuntu 安装golang 安装go语言

ubuntu 安装golang 安装go语言 sudo apt-get install bison ed gawk gcc libc6-dev make apt-get install python-setuptools python-dev build-essential sudo easy_install mercurial hg clone -r release https://go.googlecode.com/hg/ /usr/local/go export DISABLE_NET_TESTS=1 cd go/src ./all.bash 上面一步步照着做就可以装上了,我亲自测试过的,花了两个多小时才弄明白怎么装 最后显示出   — cd ../test 1 known bugs; 0 unexpected bugs   ALL TESTS PASSED   — Installed Go for linux/386 in /home/bishen/go. Installed commands in /home/b

发表在 未分类 | 评论关闭