virtio-blk是虚拟化KVM平台下虚拟磁盘的一种实现方式,也是存储虚拟化所研究的主要对象之一。在KVM平台下,qemu程序负责模拟一台PC的整个工作过程,是虚拟化技术的精髓所在。大家知道,在物理PC中,磁盘是必不可少的设备,系统、应用程序的安装和数据的存放都离不开磁盘。在虚拟化场景下,qemu自然也需要提供对磁盘的模拟。那qemu到底是如何模拟磁盘的?virtio-blk又是一种什么样的虚拟磁盘呢?
qemu对设备的模拟可以分成两类:全模拟和半模拟。全模拟即完全模拟物理设备的工作过程,使得运行在虚拟机上的软件完全感知不到自身运行环境的差异。例如qemu中实现了对IDE磁盘、LSI控制器(其上可接SCSI磁盘)等物理存储设备的
继续阅读 »
原文连接:Intro to Aspect Oriented Programming
本文简单地介绍了 AOP 的原理,以及 AOP 与其他方式的异同,并没有涉及太多的复杂逻辑,另外推荐下面两篇文章,这些文章中都间接或直接提及了 AOP:
用 AOP 改善 JavaScript 代码
使用 JavaScript 拦截和跟踪浏览器中的 HTTP 请求
面向切面编程(AOP)是一种非侵入式扩充对象、方法和函数行为的技术。通过 AOP 可以从“外部”去增加一些行为,进而合并既有行为或修改既有行为。
虽然有很多技术可以用来增加和合并行为,例如继承、组合、委托,然而,在很多情况下,AOP 被证明是更灵活和更少侵入的方式,非常值得将其纳入我
继续阅读 »
1.简介
infobright是一个基于MySQL的数据仓库系统,内部是没有索引,采用的Knowledge Grid来组织数据。基本特征如下:
查询性能高:百万、千万、亿级记录数条件下,同等的SELECT查询语句,速度比MyISAM、InnoDB等普通的MySQL存储引擎快5~60倍
存储数据量大:TB级数据大小,几十亿条记录
高压缩比:理论上是40:1,在我们的项目中为10:1,极大地节省了存储空间
基于列存储:无需要物化视图、复杂的数据分区策略、索引
适合复杂的分析性SQL查询:SUM, COUNT, AVG, GROUP BY
没有特殊的数据仓库摸(比如星形模型、雪花模型)要求
和众多的BI套件相容,比如Penta
继续阅读 »
ORM简介
ORM(Object/Relation Mapping),对象关系映射,ORM是一种规范,主要完成面向对象的编程语言到关系数据库的映射。
ORM框架是面向对象程序设计语言与关系数据库发展不同步时的中间解决方案。ORM工具的唯一作用就是:把对持久化对象的保存、删除、修改等操作,转换成对数据库的操作,从此,就可以以面向对象的方式操作持久化对象,而ORM框架则负责转换成对应的SQL操作。
数据源简介
数据源是一种提高数据库连接性能的常规手段,数据源会负责维持一个数据连接池,当程序创建数据源实例时,系统会一次性地创建多个数据库连接,并把这些数据库连接保存在连接池中。当程序需要进行数据库访问时,无需重新获得数据库连接,而是从
继续阅读 »
一、Log4j简介
Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。
继续阅读 »
简介
Eclipse Marketplace是为了提供基于Eclipse解决方案、产品和附加特性。每月有成千上万的开发者访问Marketplace,基本上是寻找新的创新解决方案。受此驱动,解决方案提供商在Marketplace发布他们的产品以供Eclipse开发者社区使用。
2010年6月,作为Helios版本的一部分,Eclipse内置了Marketplace客户端,带给Eclipse“应用商店”一样的体验。Marketplace客户端允许开发者直接在Eclipse中浏览和安装基于Eclipse的产品。
继续阅读 »
作者简介
塞德希尔·穆来纳森(Sendhil Mullainathan)
哈佛大学终身教授,哈佛大学行为经济学领域重要领头人。与普林斯顿大学心理学教授埃尔德·沙菲尔等人联合创立非营利性组织ideas42,致力于利用行为科学帮助人们解决社会问题。在麻省理工学院,与《贫穷的本质》作者阿比吉特·班纳吉等人联合创立“贫困行动实验室”,并于2002年荣获“麦克阿瑟天才奖”。出生于印度农村,7岁时随父母移民美国。1993年,获得康奈尔大学计算机科学、数学和经济学3个学士学位。1998年,获得哈佛大学经济学博士学位。
埃尔德·沙菲尔(Eldar Shafir)
1988年,获得麻省理工学院认知科学博士学位。古根海姆奖获得者。普林斯顿大学心理
继续阅读 »
简介
注册Travis-CI都N长时间了,但是一直没有使用它来构建。今天先使用它构建了两个小的node.js项目,还算顺序,然后使用它来构建[QuickAF],没有想到竟然是一条如此艰辛的路!特地将构建过程记录如下。
more
继续阅读 »
简介
所谓的细化就是经过一层层的剥离,从原来的图中去掉一些点,但仍要保持原来的形状,直到得到图像的骨架。
骨架,可以理解为图象的中轴,例如一个长方形的骨架是它的长方向上的中轴线;正方形的骨架是它的中心点;圆的骨架是它的圆心,直线的骨架是它自身,孤立点的骨架也是自身。
细化删除条件
内部点不能删除
孤立点不能删除
直线端点不能删除
如果P是边界点,去掉P后,如果连通分量不增加,则P可以删除
细化步骤
通过基于数学形态学的腐蚀细化法,通过刚才的删除条件,进行匹配删除,由于是直接判断,省了模板匹配的这一步。
针对3*3的八邻域,进行操作:
|| p3 || p2 || p9 ||
|| p4 || p1 || p8 ||
继续阅读 »
作者简介:杰拉尔德·温伯格,软件领域最著名的专家之一,美国计算机名人堂代表人物,Weinbrg & Weinberg顾问公司(位于美国内布拉斯加州首席林肯市)的负责人。温伯格精力旺盛、思想活跃,从20世纪70年代开始,他总共撰写了30多本书籍和数以百计的论文。在西方国家乃至全球,温伯格拥有大量忠实的读者群,这些“追星族”阅读了温伯格的每本重要著作,他们甚至建有专门的组织和网站,讨论和交流大师的重要思想。可以说,温伯格近年来的每本新书都是在万众瞩目中推出的。译者,朱于军,1999年于北京邮电大学获得电子与信息系统博士学位,发表论文二十余篇。其后加入朗讯贝尔实验室从事通信网络设备的研发。
究竟什么是领导?
首先,传统上我们识别一个
继续阅读 »