MongoDB 索引数据类型优化,节省60%内存
最近trunk.ly的工程师通过mongostat发现了大量的page fault,然后通过检查发现,他们的索引已经超出内存限制了(没有keep all index in RAM)。于是他们决定开始减小索引大小,通过测试得出了如下的数据,不同的数据类型的索引大小有2到3掊的差距。 虽然能够想像得到,但是直观的数据图可能让我们更深刻的认识到。他们的测试再一次告诉我们:给索引定一个好的数据结构是多么重要 ...
Python实用技巧-成为Pythoner必经之路
前言 本文主要记录 Python 中一些常用技巧,所描述的是告诉你怎么写才是更好? 如果你并不熟悉Python语法,希望你能在下面代码片段中看到Python的简单、优雅; 如果你象我这样,对 Python 有兴趣或并正在学习,我相信下面的技巧并不会让你失望; 如果你已经是一名 Pythoner ,那么很乐于你分享你的经验和技巧。 目录 Python 禅道 代码风格: 提高可读性 PEP 8: ...
我对创业和管理的一些看法
创业,对于刚工作的人,会比较兴奋,因为创业充满想象力;对于工作几年的人,会比较向往,因为压抑得太久。其实,创业和就业一样,只是实现自己人生价值的两种方式,关键是心态问题。大多数就业的人,一般都把工作叫打工,这是一种对自己不太负责人的态度,其深层次的原因,是因为个人还没有完全独立:对自己的选择负起责任。因为没有谁要求你必须很乏味地工作,没有人要求你必须朝九晚五,你完全可以选择自己的生活,甚至住在山林里 ...
初次接触GWT,知识点概括
前言 本人最近开始研究 GWT(Google Web Toolkit) ,现将个人的一点心得贴出来,希望对刚开始接触 GWT 的程序员们有所帮助,也欢迎讨论,共同进步。 先说说本人的硬件环境,机器是 dell inspiron 1464 , i5 的处理器, 6G 内存。软件环境, Win7 32 位操作系统, MyEclipse9.0 , JDK1.7 , GWT2.3.0 。 所有资料全 ...
面对处理器缓存,一些旧有的性能优化技巧已然失效
请注意,本文不是讲解处理器缓存,如果你对cpu cache这个概念不清楚,请先Google一下。 另外,本文主要针对像 C,C++ 这种产生机器码的语言的,对于像 Java,.Net 这样的字节码语言,这里所说的可能无效,至少我没研究过。 首先说说我所说的这些旧有的优化技巧从哪里来的。 原因很简单,如果你像我一样,多年只用 J2ME,或者 Flash 这样的技术开发,你是不太可能会关心处理器缓存的, ...
这样去写你的 HTML
昨天在 twitter 上说,怎么忍心把页面写得这么难用?是的,这个世界还有一群人等着我们创建出来的东西,可以让他们的生活能过得更容易呢。比如那些需要读屏软件的用户。作为一个前端,我们又怎么会忍心呢。之前就一直想写这样的一篇文章,分享一下如何去创造一个可访问性更好的页面。今天的计划里有一条把 2HTML T2ag 和 WCAG标准结合起来。我推荐你这样去写你的 HTML,让某些人的生活可以更容易。 ...
开源Web框架SimpleFramework开发团队访谈(十四)
Simpleframework是基于 Intercepting-Filter模式和MVC2模式(我们称之为:后处理模式,After-Processing Pattern),基于“应用即组件,组件即应用(Application are components,component can be a application)”理念采用Java 技术实现的Web应用级框架。 其核心价值在于提供了以声明方式 ...
探寻ThoughtWorks的敏捷实践,专访ThoughtWorks咨询师
公司简介:思特沃克软件技术有限公司(ThoughtWorks Inc.)(以下简称ThoughtWorks)是一家有16年历史的IT咨询公司,全球员工超过1000人。ThoughtWorks在全球拥有6家分公司,分布在美国,加拿大,英国,印度,澳大利亚和中国,为全球客户提供服务。ThoughtWorks雇用非凡的人才,致力于为客户提供高价值的技术咨询,开发过程改进咨询和高质量的软件交付服务。Thou ...
采访分布式数据访问层(Data Access Layer)作者许超前
分布式(Distributed)数据访问层(Data Access Layer)(以下简称DAL)是综合MySQL Proxy、Memcached、集群等等技术优点而构建的一个软件系统。目的是为了解决在构建大中型网站时遇到的和数据访问有关的诸多问题,如怎么使得切库分表透明化,如何使得缓存存取清除自动化,怎样才能更好地防止服务单点故障等等。DAL是手机之家团队近几年在开发和运营上的经验的总结以及智慧的 ...
采访IK Analyzer 中文分词器开源项目作者林良益(十三 ...
众所周知,全文搜索几乎已经成为每个网站的必须提供的基本功能之一,用Lucene构造一个“索引-查询”的应用是常见的java解决方案,目前由linliangyi2007创立的IK Analyzer是最好的Lucene 中文分词器之一。 首先介绍一下IKAnalyzer:IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始,IKAnalyz ...
采访LightURL开源项目作者downpour(十二)
JavaEye的资深会员downpour发起了开源项目LightURL。首先让我们了解一下LightURL: 背景:Struts2已经日益成为Web层比较主流的开发框架,它来源于Webwork2,是一个非常优秀的MVC框架。在Webwork2设计之处,Annotation和Ruby on Rails还没有像现在那么火,所以整个框架在配置方面还是沿用了Web框架惯用的XML作为主要的配置方式。 随 ...
采访JavaEye Android客户端开源项目发起人lordhong ...
最近由lordhong发起开发的JavaEye Android 客户端正式发布,这个开源项目通过调用JavaEye公开的API,实现了JavaEye闲聊, 站内短信, 和收藏功能,方便JavaEye会员在手机上浏览和使用JavaEye网站。这个项目已经发布到Android的Market上面, 可以搜索”JavaEye”即可找到,另外不能访问Market的同学可以在这里下载: http://www.C ...
采访Apache Camel项目主要维护者之一 jnn (十)
Apache Camel 是一个非常优秀的开源项目,这是一个非常强大的基于规则的路由以及媒介引擎,该引擎提供了一个基于POJO的 企业应用模式(Enterprise Integration Patterns)的实现,你可以采用其异常强大且十分易用的API 来配置其路由或者中介的规则。 Apache Camel 采用URI来描述各种组件,这样你可以很方便地与各种传输或者消息模块进行交互,其中包含的模 ...
xmemcached - 开源项目介绍(九)
xmemcached是最近频繁出现在JavaEye新闻频道的热点词汇,它就是JavaEye的资深会员Dennis开发的基于java nio实现的高性能可扩展的memcached客户端。 Dennis 在自己实现的一个nio框架 http://code.google.com/p/yanf4j/ 的基础上实现了xmemcached项目(目前1.1.3是基于yanf4j 0.7.0),xmemcache ...
CPediaLog 基于Goolge AppEngine的博客系统 - 国内开 ...
项目名称: CPediaLog 发起时间:2008年5月 项目地址:http://code.google.com/p/cpedialog/ 项目介绍: cpedialog是一个基于Google AppEngine的博客工具,你可以使用它来在Google AppEngine上建立自己的博客,同时它还有一些其他的功能,譬如可以整合你的picasaweb相册,在线管理的Feed Reader,支持tag ...
CnPack IDE 专家包 - 国内开源项目介绍(六)
项目名称: CnPack IDE 专家包 发起时间:2001年11月 官方网站:http://www.cnpack.org 项目介绍: CnPack IDE 专家包,英文名称是 CnPack IDE Wizards,简称 CnWizards。它是一组集成在 Delphi/C++Builder/BDS 的 IDE 中,用于增强 IDE 功能、提高 IDE 的可用性及开发效率的免费、开放源码工具。 ...
Eurasia3 支持百万级用户的服务器和框架 - 国内开源 ...
项目名称: Eurasia3 发起时间: 2004年 代码托管:http://code.google.com/p/eurasia 项目介绍: Eurasia3 是一种能够支持百万级同时在线长连接用户数量的 HTTP 服务器, 或者每秒处理上万次 CGI 请求的常规应用服务器。 Eurasia3 同时也泛指以 Eurasia3 应用服务器为核心的一系列组件形成的应用程序框架, 主要是一个嵌入式对象数 ...
Common Template 模板引擎 - 国内开源项目介绍(一)
项目名称: CommonTemplate 发起时间: 2007年4月 网站:http://www.commontemplate.org 代码托管:http://code.google.com/p/commontemplate/ 项目介绍: CommonTemplate是一个模板引擎,用于编译运行CTL模板语言,并且模板可以在Java,.Net,JS等中通用; 其主要目标是作为JSP,ASP.Net ...