开发质量保证小论

开发 质量保证[......]

查看全文

说说IO

说说IO - IO的分层

[转载:http://elf8848.iteye.com/blog/1944219]

说说IO(一)- IO的分层

IO 性能对于一个系统的影响是至关重要的。一个系统经过多项优化以后,瓶颈往往落在数据库;而数据库经过多种优化以后,瓶颈最终会落到 IO 。而 IO 性能的发展,明显落后于 CPU 的发展。 Memchached 也好, NoSql 也好,这些流行技术的背后都在直接或者间接地回避 IO 瓶颈,从而提高系统性能。

IO 系统的分层:

 

  1.    三层结构

上图层次比较多,但总的就是三部分。磁盘 (存储)、 VM (卷管[......]

查看全文

SQLite 关闭时SQLITE_BUSY

问题:sqlite3_close() == SQLITE_BUSY如何处理?

有时候我们需要去删除SQLite所生成的DB文件,但是如果这个DB文件被进程占用,则无法删除。首先我们需要去关闭这个DB,关闭时SQLite报错SQLITE_BUSY,它表明该DB正在被占用,有可能此时并没有业务使用DB,那么可能是什么原因呢?较大可能是之前使用SQLite有操作没有调用sqlite3_finalize()。

The sqlite3_finalize() function is called to delete a prepared statement.The application mu[......]

查看全文

Code Review小论

代码检视(Code Review)是指软件开发人员在完成代码设计、编写、调试后展开的个人或群体性的代码阅读过程,代码检视的目的是发现代码中的设计问题、格式问题、逻辑问题、语法问题等,从而保证代码的高质量交付。从软件工程的角度讲,在代码检视阶段发现代码问题的成本是低廉的,所以严格认真的执行代码检视过程,是提升产品质量,降低产品维护成本的有效手段。

一、代码检视的指导思想

在IBM的一篇文章中,对高效的代码检视方式和方法进行了分析和总结:11 个高效的同行代码评审最佳实践,它主要提出了以下几个观点:

(1) 一次评审少于 200–400 行的代码。
(2)目标为每小时低于 30[......]

查看全文

Facebook NoSQL 新作:Apollo

来自Facebook核心数据组的Jeff Johnson周三在QCon纽约的演讲中公布了Apollo,它是Facebook的一种类似于Paxos的NoSQL数据库。Apollo构建于Apache Thrift 2 RPC框架,采用C++11开发,是一种分层存储系统,所有数据被划分到Shard,非常类似于HBase中的区域服务器。Johnson表示它最大的好处是在线低延迟存储,特别是在Flash和内存中。

区别于面向文档和键值的存储,Apollo是一种修改的数据结构,允许你存储Map、队列、树以及键值等等。系统中每个单独的数据块都非常小,从1字节到1MB,而所有的总大小则从1MB到10+PB。[......]

查看全文

1 3 4 5 6