上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 41 下一页
摘要: 最常被程序员们谎称读过的计算机书籍马克·吐温曾经说过,所谓经典小说,就是指很多人希望读过,但很少人真正花时间去读的小说。这种说法同样适用于“经典”的计算机书籍。在Stack Overflow(以及其它很多软件论坛)上,诸如”程序员最应该读的计算机书籍有哪些?“这样的问题会周期性的出现。这样的问题不断的被提出、被回答,只是形式不同罢了。相同的几本书总是会出现在清单的前几名内,所以,如果想知道人们谈论的都是些什么,你有必要去读一读这些书的。大多数程序员真正读过的计算机书籍代码大全(Code Complete)——两届Software Jolt Award震撼大奖得主!程序员修炼之道(Th 阅读全文
posted @ 2012-06-28 13:55 ajian005 阅读(238) 评论(1) 推荐(1)
摘要: 如果你在读这篇文章,说明你跟大多数开发者一样对GIT感兴趣,如果你还没有机会来试一试GIT,我想现在你就要了解它了。GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征。所以,这篇文章的主要目的就是通过介绍GIT能做什么、它和SVN在深层次上究竟有什么不同来帮助你认识它。那好,这就开始吧… GIT是分布式的,SVN不是: 这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。如果你能理解这个概念,那么你就已经上手一半了。需要做一点声明,GIT并不是目前第一 阅读全文
posted @ 2012-06-28 13:49 ajian005 阅读(110) 评论(0) 推荐(0)
摘要: 探索Google App Engine背后的奥秘(1)--Google的核心技术作者: ikewu| 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.dbanotes.net/arch/google_app_engine_arch.html按:此为客座博文系列。投稿人吴朱华曾在IBM中国研究院从事与云计算相关的研究,现在正致力于研究云计算技术。本系列文章基于公开资料对Google App Engine的实现机制这个话题进行深度探讨。在切入Google App Engine之前,首先会对Google的核心技术和其整体架构进行分析,以帮助大家之后更好 阅读全文
posted @ 2012-06-28 10:56 ajian005 阅读(223) 评论(0) 推荐(0)
摘要: 淘宝的一些牛人,多看看他们写的东西 : 花名(真名) 牛人照片 http://campus.taobao.com/technology.php淘宝技术委员会是由淘宝技术部高级技术人员组成的一个组织,共分为Java分会、C/C++分会、算法分会:数据分会:UED分会、测试分会、系统分会七个分会。淘宝技术委员会的愿景是淘宝成为技术人才向往的乐土,高级技术人员的发源地;技术委员会的使命是帮助淘宝建立业界一流的技术团队。同时,技术委员会也是技术人员间交流技术和想法的一个平台。我们努力让淘宝成为技术的舞台,我们为愿意从事互联网事业的技术人一个接触世界上顶尖网站架构的机会!我们期待着和一群有着挑战意愿和梦 阅读全文
posted @ 2012-06-27 22:51 ajian005 阅读(757) 评论(1) 推荐(1)
摘要: 这周ECMAScript 5也即众所周知的JavaScript正式发布了(pdf),在给基本库带来更新的同时,还引入了更加严格的运行时模型,来帮助定位并移除通常的代码错误。而早期对于ECMAScript 4的标准化工作基本就算是失败了;只有Adobe的ActionScript是基于建议的变化的。ECMA甚至都没有发布一个版本4的规范,因为不同的组织对于发展的进度并不满意;就这样,也没有浏览器来支持它了。在过去的几年,随着JavaScript引擎的大力改善,比如Nitro和TraceMonkey,JavaScript已经极具性能,以Google Wave为代表的在线协作应用可以证明这一点。甚至还 阅读全文
posted @ 2012-06-27 22:06 ajian005 阅读(189) 评论(0) 推荐(0)
摘要: 作者:Chuanhui|可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明本文链接地址:http://www.nosqlnotes.net/archives/125Key-Value系统只需要支持简单的随机读(Get),写(Put)和删除(Del)操作。由于磁盘是顺序存储介质,因此可以往数据文件追加Key-Value记录并在内存中存放记录所在的磁盘位置,即索引信息。由于对同一个Key的更新(Put)操作以最后一个为准,内存中的索引只需要记录最新的Key-Value对位置即可,而对于删除操作,也是往数据文件追加一个删除记录。由于内存的大小有限,需要尽可能减小索引记录的大小,比如只 阅读全文
posted @ 2012-06-27 16:47 ajian005 阅读(220) 评论(0) 推荐(0)
摘要: 作者:Chuanhui|可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明本文链接地址:http://www.nosqlnotes.net/archives/122单机存储引擎解决单机读写问题,Merge-Dump存储引擎设计成一种通用的存储引擎,同时支持数据写入,随机读取和顺序扫描功能。顺序扫描功能应用很广,比如MapReduce批处理,同一个广告主的所有关键词广告统计,用户浏览所有的收藏信息,淘宝卖家管理大量的商品等。简单的KV系统只需要支持随机读取,而类似Bigtable这样的通用表格系统需要考虑基于主键的顺序扫描功能。Bigtable中的Merge-Dump存储引擎结构 阅读全文
posted @ 2012-06-27 16:46 ajian005 阅读(231) 评论(0) 推荐(0)
摘要: 常用的数据结构包括:数组,队列,堆栈,链表,树(平衡二叉树,B树,Trie树,堆),哈希表,图,后缀数组,等等。其中,堆,图结构,Trie树及后缀数组解决特定问题,其它数据结构解决通用的查找,更新,删除操作。Trie树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。查找,更新和删除操作一般是O(1),O(logN) 注log以2为底 或者O(N),通用的数据结果大致可分为如下三种:1, 极端型;某些操作的算法复杂度为O(1 阅读全文
posted @ 2012-06-27 16:33 ajian005 阅读(246) 评论(0) 推荐(0)
摘要: ====================================目录1 硬件虚拟化技术背景2 KVM的内部实现概述2.1 KVM的抽象对象2.2 KVM的vcpu2.3 KVM的IO虚拟化2.3.1 IO的虚拟化2.3.2 VirtIO3 KVM-IO可能优化地方3.1 Virt-IO的硬盘优化3.2 普通设备的直接分配(Direct Assign)3.3 普通设备的复用===================================1 硬件虚拟化技术背景硬件虚拟化技术通过虚拟化指令集、MMU(Memory Map Unit)以及IO来运行不加修改的操作系统。传统的处理器通过选择 阅读全文
posted @ 2012-06-27 14:59 ajian005 阅读(459) 评论(0) 推荐(0)
摘要: 近研究了下google protobuf协议,顺便对比了一下json,xml,java序列化相关的数据对比,从几个纬度进行对比。别人的相关测试数据:http://code.google.com/p/thrift-protobuf-compare/wiki/Benchmarking测试纬度序列化时间反序列化时间bytes大小测试代码准备protobuf文件Message.proto文件代码 import"InnerMessage.proto";packagedemo;optionjava_package="com.agapple.protobuf.data" 阅读全文
posted @ 2012-06-27 13:50 ajian005 阅读(631) 评论(0) 推荐(0)
上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 41 下一页