0%

1.定义介绍

(1).XML定义

扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。
XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。

(2).JSON定义

JSON(JavaScript Object Notation)一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。可在不同平台之间进行数据交换。JSON采用兼容性很高的、完全独立于语言文本格式,同时也具备类似于C语言的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)体系的行为。这些特性使JSON成为理想的数据交换语言。
JSON基于JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999 的一个子集。

阅读全文 »

KV-存储 之 Hash算法

散列函数(或散列算法,又称哈希函数,英语:Hash Function)是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值(hash values,hash codes,hash sums,或hashes)的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。好的散列函数在输入域中很少出现散列冲突。在散列表和数据处理中,不抑制冲突来区别数据,会使得数据库记录更难找到。

常见hash算法的原理:
散列表,它是基于高速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构能够理解为一个线性表,可是当中的元素不是紧密排列的,而是可能存在空隙。

阅读全文 »

少量数据存储,高速读写访问。此类产品通过数据全部in-momery 的方式来保证高速访问,同时提供数据落地的功能,实际这正是Redis最主要的适用场景。
详细资料请参考以下网页链接: Redis应用场景

  • 排行榜的一种常见变体模式就像Reddit或Hacker News用的那样,新闻按照类似下面的公式根据得分来排序:score = points / time^alpha ;因此用户的投票会相应的把新闻挖出来,但时间会按照一定的指数将新闻埋下去。下面是我们的模式,当然算法由你决定。

1.您在工作过程中是否使用过内存数据库?您对内存数据库有哪些使用心得和印象?

答:有了解过SAP HANA,还没有使用过。不过未来应该是趋势了,迟早用得上。

2.SAP HANA和OracleTimesTen是内存数据库的两大巨头,您认为它们各自都有哪些优缺点,两者哪个更胜一筹?

TimesTen优势
  ·能够和Oracle后台数据库做无缝集成,数据可以在TimesTen和Oracle直接双向流动,可以做到实时;
  ·TimesTen可以做成多节点并行提供服务的模式,数据在多个TimesTen之间直接实现实时或者非实时的传输, 进一步提高了系统的扩展性和可靠性;
  ·符合RDBMS标准的独立内存数据库服务;
  ·支持SQL92;
  ·支持 ODBC & JDBC;
  ·高性能;
  ·可以作为Oracle数据库的前端Cache,目前不支持其他数据库;
  ·支持本地的高速访问和网络访问方式可靠性高。支持完整日志,支持镜像复制功能。

阅读全文 »

另外的参考资料可以点击:算法的时间复杂度和空间复杂度-总结

排序法

1、时间复杂度

(1)时间频度

一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。

阅读全文 »

平时在一些数据处理中(特别是统计学中),经常会把原始数据取对数后进一步处理。
之所以这样做是基于对数函数在其定义域内是单调增函数,取对数后不会改变数据的相对关系,取对数作用主要有:

1. 缩小数据的绝对数值,方便计算。
例如,每个数据项的值都很大,许多这样的值进行计算可能对超过常用数据类型的取值范围,这时取对数,就把数值缩小了,例如TF-IDF计算时,由于在大规模语料库中,很多词的频率是非常大的数字。
2. 取对数后,可以将乘法计算转换称加法计算。

阅读全文 »

画个图解释清晰一点:

1、首先,开源浏览器一般以8k每块下载html页面。
2、然后解析页面生成DOM树,遇到css标签或JS脚本标签就新起线程去下载他们,并继续构建DOM。
3、下载完后解析CSS为CSS规则树,浏览器结合CSS规则树和DOM树生成Render Tree。
注意:构建CSS Object Model(CSSOM)会阻塞JavaScript的执行。JavaScript的执行也会阻塞DOM的构建。
JavaScript下载后可以通过DOM API修改DOM,通过CSSOM API修改样式作用域Render Tree。
每次修改会造成Render Tree的重新布局和重绘。只要修改DOM或修改了元素的形状或大小,就会触发Reflow,单纯修改元素的颜色只需Repaint一下(调用操作系统Native GUI的API绘制)。

马斯洛的需求层次理论(英语:Maslow's hierarchy of needs)是亚伯拉罕·马斯洛于1943年《心理学评论》的论文〈人类动机的理论〉(A Theory of Human Motivation)中所提出的理论。马斯洛随后延伸了这个想法,包含了他对人类天生好奇心的观察。他的理论与其他人类发展心理学的理论可以并行,尤其是针对人类成长阶段的描述。马斯洛使用了“生理”、“安全”、“隶属”与“爱”、“自尊”、“自我实现”与“自我超越”等术语,描述人类动机推移的脉络。
马斯洛研究了他所谓的模范人物,包含了阿尔伯特·爱因斯坦、简·亚当斯、埃莉诺·罗斯福与弗雷德里克·道格拉斯,不研究有精神病或神经症的人,写下“对于残废、发育不良、不成熟与不健康的个案研究,将只会产生一种残缺的心理学与哲学。”马斯洛研究了大学学生人口中前1%的最健康个案。
马斯洛的理论在他于1954年的书籍著作《动机与个性》(Motivation and Personality)当中完整阐述。这种分层结构仍然是社会学研究、管理培训以及中等与高等教育心理课程的流行架构。
中国的管仲在西方的马斯洛之前两千多年提出类似主张。他说:“仓廪(lǐn)实而知礼节,衣食足而知荣辱。”

马斯洛的需求层次理论,以金字塔图像呈现,基本需求最强的在最底部。

阅读全文 »

一、长尾市场的产生

在传统经济学中,80/20原则占了主导地位,那是因为现实世界中的货架是有限的,所以,能进到消费者视角的仅仅是销量最好的那20%的产品。
在工业化及互联网时代,在一个无限货架空间限制和其它供应商瓶颈的时代,面向特定小群体的产品和服务可以和主流热点具有同样的经济吸引力。这时候,传统经济学中两个重要的稀缺性函数--边际生产成本、边际销售成本,正在趋近于零,为长尾市场奠定了基础。从更广的角度来看,我们明显可见,长尾理论阐释的实际上是丰饶经济学。当我们文化中的供需瓶颈开始消失,所有产品都能被人取得的时候,长尾便会自然发生。
按照数学集合论的原理:一个极大的数(长尾中的产品)乘以一个相对较小的数(每一种长尾产品的销量),仍然等于一个极大极大的数。并且,通过互联网手段,企业可以方便的将大规模市场转化成无数的利基市场。从而,利基市场也能给企业带来大的利润,并而打破了传统经济学中的80/20原则。

阅读全文 »

利基市场(英语:niche market)是指由已有市场绝对优势的企业所忽略的某些细分市场,并且在此市场尚未完善供应服务。一般由较小的产品市场并具有持续发展的潜力中一些需要但尚未被满足的族群消费者所组成。为了满足特定的市场需求,价格区间与产品质量,针对细分后的产品进入这个小型市场且有盈利的基础。经由专业化的经营将品牌意识灌输到该特定消费者族群中逐渐形成该族群的领导品牌。 利基一词是英文NICHE的音译,原指小生境。
利基:较小的一块区隔(较狭窄的顾客群),有利润而又专门性的市场
利基战略,则是指企业根据自身所特有的资源优势,通过专业化经营来占领这些市场,从而最大限度的获取收益所采取的竞争战略。
20世纪80年代,美国商学院的学者们开始将这一词引入市场营销领域。

niche market就是指“小众市场”,也被称为“缝隙市场、利基市场”。Niche是相对于mass(大众)而言的,与niche market相对的就是mass market(大众市场)