自修改代码( self-modifying code, SMC ) 意思是自我修改的代码,使程序在运行时自我修改,用途包括:
1) 使一些重要的跳转位置爆破无效化 (以 smc 对重要位置进行覆写)
2) 使一些重要代码隐藏 (在必要时才实时产生重要代码段,防止程序被人静态分析,也防止一些透过搜寻的破解方法)[......]
日度归档:2013-08-06
自校验程序
意思是这些程序会检查自己有没有被修改,如果发现被修改的话,便会离开或进行其它动作。基本的校检方法包括checksum, 检查大小, 检查跳转代码,等等
URN
TAIR
Tair是淘宝开源的分布式KV缓存系统,内部将功能模块化,抽离出底层存储细节,可以接入不同的存储引擎。leveldb是Google开源的单机存储引擎,目前,已经作为Tair的持久化存储引擎ldb上线使用,这里对接入leveldb所做的处理以及修改进行介绍。
Tair首先是一个分布式的框架,有一系列策略满足CAP(数据备份,迁移复制等)。另外,还有针对应用场景的功能特性(namespace,数据过期时间,原子计数等)。接入leveldb时主要对KV操作之外的功能做相应的处理。leveldb本身的实现介绍参见leveldb实现解析。[......]
TFS
TFS是什么
TFS,Taobao File System,淘宝内部使用的分布式文件系统,主要针对海量小文件的随机读写访问性能做了特殊优化,承载着淘宝主站所有图片、商品描述等数据的存储。[......]
Java程序员在写SQL时常犯的10个错误
Java程序员编程时需要混合面向对象思维和一般命令式编程的方法,能否完美的将两者结合起来完全得依靠编程人员的水准:
- 技能(任何人都能容易学会命令式编程)
- 模式(有些人用“模式-模式”,举个例子,模式可以应用到任何地方,而且都可以归为某一类模式)
- 心境(首先,要写个好的面向对象程序是比命令式程序难的多,你得花费一些功夫)
但当Java程序员写SQL语句时,一切都不一样了。SQL是说明性语言而非面向对象或是命令式编程语言。在SQL中要写个查询语句是很简单的。但在Java里类似的语句却不容易,因为程序员不仅要反复考虑编程范式,而且也要考虑算法的问题。
下面是Java程序员在写SQL时常犯的错误(没有特定的顺序)。 [......]
OLAP
联机分析处理简写为OLAP,随着数据库技术的发展和应用,数据库存储的数据量从20世纪80年代的兆(M)字节及千兆(G)字节过渡到现在的兆兆(T)字节和千兆兆(P)字节,同时,用户的查询需求也越来越复杂,涉及的已不仅是查询或操纵一张关系表中的一条或几条记录,而且要对多张表中千万条记录的数据进行数据分析和信息综合,关系数据库系统已不能全部满足这一要求。在国外,不少软件厂商采取了发展其前端产品来弥补关系数据库管理系统支持的不足,力图统一分散的公共应用逻辑,在短时间内响应非数据处理专业人员的复杂查询要求。[......]