`
bd2007
  • 浏览: 386405 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
    以下内容仅代表个人观点,绝无广告意图。 Learning Python 3rd Edition. 尽管有些厚(英文版700多页),但是不失为Python入门的绝佳书籍之一。 Dive into Python. Python进阶,内容比较全面。 The Definitive Guide to Django Second Edition. Django入门书籍,内容浅显。 Pro Django. Django进阶的绝佳书籍之一。 Developing with Google App Engine. GAE 入门。  

Bloom Filter

    博客分类:
  • java
    1 Overview     Bloom filter最早由 Burton Howard Bloom提出,是一种用于判断成员是否存在于某个集合中的数据结构。 Bloom filter的判断基于概率论: 如果某个成员存在于集合中,那么Bloom filter不会返回假(即不存在),也就是说false negative是不可能的。 如果某个成员实际上不存在于集合中,Bloom filter可能返回真(即存在),这种情况被称为false positive。     Bloom filter通常被实现为一个包含 m 位的位数组(bit array),所有位的初始值都为0。 Bloom fil ...
    1 first class function. 2 trait. 可以有方法的默认实现,可以限定被mixed into的类型,可以在语义上更精确地限定方法参数的类型等。 3 variance. 相比Java Generic中有限的支持,Scala中的variance更加灵活。 4 structural type.  基于反射的语法糖,有的时候会发现它非常便利。 5 implicit parameters and conversions. 双刃剑,小心使用。 6 tail calls.   TBC 
    1 Overview     最近一篇关于MySQL HandlerSocket的blog吸引了不少人的注意,甚至MySQL Performance Blog上也有关于HandlerSocket的性能评测。该blog中声称对于一个CPU bound而非IO bound的MySQL Server(即绝大部分的数据可以从缓存中取得,例如I ...

Happy new year

    博客分类:
  • java
    It has been a long time that I didn't put down anything on my blog. I was busy implementing a client/server prototype using quickfix/J and Eclipse RCP.  This reminds me a lot of things that I‘ve forgot. I wish I could finish it without staying up too late. Anyway happy new year. 

Git vs SVN

    博客分类:
  • java
    1 Overview     Git作为一种Distributed Version Control System,和传统的Contralized Version Control System(例如SVN,CVS)相比存在很多不同之处,以下笔者认为相对来说比较重要的区别。本文提到的SVN版本为1.5,Git版本为1.7.0。   2 Differences 2.1 Data Storage     在每次提交时,SVN都会累加global revision number,同时在Data Store中存储revision间的差异部分;跟SVN相比,Git在提交时会对repository ...
    1 Overview     InnoDB自动检测死锁。如果死锁发生,那么InnoDB会回滚权重相对小的事务。实际上,InnoDB中存在以下两种类型的死锁: 真正的事务间循环等待。 在进行死锁检测的过程中,如果InnoDB认为检测的代价过大(例如需要递归检查超过200个事务等),那么InnoDB放弃死锁检测,并认为死锁发生。      本文中使用的MySQL版本: 5.1.42,InnoDB plugin版本: 1.0.6。   2 Scenarios     如果死锁发生,除了应用程序的日志之外,最有价值的信息恐怕就是show innodb status的输出了,然而show in ...
    Meet people, learn stuff. 

Linux Readling List

    博客分类:
  • java
    Linux in a Nutshell Linux System Programming Linux Kernel Development 推荐这三本书。一不小心成了Robert Love的粉丝。 
    1 Overview    Linux内核中常见的同步机制有Atomic Operation,Spin Locks,Semaphore,Mutex等。其中Spin Locks和Semaphore都支持读/写锁。此外,Linux内核还支持一种更轻量级的读/写锁定机制:Sequential Lock。跟其它读/写锁定机制相比,Sequential Lock有以下特点: 在获取锁时偏向写锁。只要他人不持有写锁,那么获得写锁的操作总是能够成功。 读操作时不需要获得锁(即读操作永远不会被阻塞),然而在有些情况下读操作需要重试。 Sequential Lock更轻量级,可伸缩性相对更好。 2 L ...

Membase in Action

    博客分类:
  • java
         这几天试用了一下Membase,在这里简单地冒个泡。作为一款分布式的key-value 数据存储,Membase完全兼容memcached(实际上Membase跟memcached也是颇有渊源)。 用于memcached的客户端也同样可以访问Membase,例如spymemcached和xmemcached等。 既然Membase跟memcached兼容,那么可能大多数人都会有这样的疑问,Membase和memcached到底有何主要的区别?我想答案应该是持久化和复制。 此外,Membase的web控制台让人印象深刻:界面直观,易于操作。AppFirst也已经发布了用于监控Me ...
    1 Overview    Java 7的并发包中推出了Phaser,其功能跟CyclicBarrier和CountDownLatch有些重叠,但是提供了更灵活的用法,例如支持动态调整注册任务的数量等。本文在Phaser自带的示例代码基础上进行一下简单的分析。   2 Glossary 2.1 ...

Lost and Found

    博客分类:
  • java
        今天突然发现很久以前在JavaEye上发表的Efftive J2ME系列的文章只剩下最后一篇,其余三篇莫名其妙的被失踪了。之前一直以为JavaEye是个保存技术文档的不错选择,现在看来也未必了。无奈只得在网上试试搜索一下,幸亏有别的网站转载了这几篇文章, 于是重新在JavaEye上发表一遍。在重新发表的时候,貌似知道了其中缘由:文档里含有中文BOMB字样(这是因为我写的一个游戏名字叫BomberMan),被和谐了。 

Rounding in Python

    博客分类:
  • java
    本文所有例子均基于Python 3.1.2   1 Overview     首先简单介绍几种常见的舍入模式: ROUND_CEILING : 向正无穷大(Infinity)方向舍入。 ROUND_FLOOR : 向正无穷大(–Infinity)方向舍入。 ROUND_UP : 向远离0的方向舍入。 ROUND_DOWN : 向靠近0的方向舍入。 ROUND_HALF_UP : 向最近的值舍入,如果相等则向远离0的方向舍入。 ROUND_HALF_DOWN : 向最近的值舍入,如果相等则向靠近0的方向舍入。 ROUND_HALF_EVEN : 向最近的值舍入,如果相等则向偶数方向舍入。 ...
    不到两周的时间内阅读了1000多页的英文文档,编写了300页的ppt,组织了近20小时的培训,平均每天睡眠4~5小时。How did I make it through! 
Global site tag (gtag.js) - Google Analytics