随笔分类 - [39]Open Source开源项目
-
Google Spanner原理- 全球级的分布式数据库
摘要:Google Spanner简介Spanner 是Google的全球级的分布式数据库 (Globally-Distributed Database) 。Spanner的扩展性达到了令人咋舌的全球级,可以扩展到数百万的机器,数已百计的数据中心,上万亿的行。更给力的是,除了夸张的扩展性之外,他还能同时通过同步复制和多版本来满足外部一致性,可用性也是很好的。冲破CAP的枷锁,在三者之间完美平衡。Spanner是个可扩展,多版本,全球分布式还支持同步复制的数据库。他是Google的第一个可以全球扩展并且支持外部一致的事务。Spanner能做到这些,离不开一个用GPS和原子钟实现的时间API。这个API 阅读全文
-
开放实时数据处理平台 Storm
摘要:Twitter将Storm正式开源了,这是一个分布式的、容错的实时计算系统,它被托管在GitHub上,遵循 Eclipse Public License 1.0。Storm是由BackType开发的实时处理系统,BackType现在已在Twitter麾下。GitHub上的最新版本是Storm 0.5.2,基本是用Clojure写的。Storm为分布式实时计算提供了一组通用原语,可被用于“流处理”之中,实时处理消息并更新数据库。这是管理队列及工作者集群的另一种方式。 Storm也可被用于“连续计算”(continuous computation),对数据流做连续查询,在计算时就将结果以流的形式输 阅读全文
-
分布式发布订阅消息系统
摘要:kafka是一种高吞吐量的分布式发布订阅消息系统,她有如下特性:通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。高吞吐量:即使是非常普通的硬件kafka也可以支持每秒数十万的消息。支持通过kafka服务器和消费机集群来分区消息。支持Hadoop并行数据加载。卡夫卡的目的是提供一个发布订阅解决方案,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析 阅读全文
-
Google Chrome 的内核引擎 WebKit 介绍
摘要:Google Chrome 的内核引擎 WebKit 介绍日期: 2008-09-03 17:42 |联系我| 关注我:Google+|Twitter|新浪微博 Google 今天发布了其浏览器 Google Chrome。同时,Google 发布了一组漫画,用来解释为何推出 Google Chrome。根据它提供的资料显示,这款浏览器是基于WebKit Open Soure Project内核引擎开发的:QUOTE:We owe a great debt to many open source projects, and we’re committed to continuing on t. 阅读全文
-
Google Chrome Source Code 源码下载
摘要:Goolgle 于 2008.09.02发布了浏览器 Google Chrome。Google Chrome 使用的内核源码来自开源浏览器引擎 WebKit Open Source Project。Google Chrome 的源码,同样亦是开源的。在Google 的中文官方 Blog - Google 黑板报中,提到:QUOTE:我们对很多开发开源项目的人心存感激,我们承诺会沿着前人的路继续前行。 我们借鉴了一些源自 Apple WebKit 和 Mozilla Firefox 的技术,怀着同样开源的精神,谷歌浏览器所有的代码全部开源。我们希望能与整个业界合作从而促进互联网的健康发展。 目. 阅读全文
-
Solr配置,schema.xml的配置,以及中文分词
摘要:上次说到了在Eclipse中配置并启动Solr,这次来说一下schema.xml中的配置。schema.xml做什么?SOLR加载数据,创建索引和数据时,核心数据结构的配置文件是schema.xml,该配置文件主要用于配置数据源,字段类型定义,搜索类型定义等。schema.xml的配置直接影响搜索结果的准确性与效率。<types></types>节点types节点主要用于搜索类型的定义,这里给出常用类型的定义。 1 <fieldType name="string" class="solr.StrField" sortMiss 阅读全文
-
Solr基础,在Eclipse中运行Solr
摘要:Solr我还是个菜鸟,写这一些文章只是记录一下最近一段时间学习Solr的心得。Solr是什么?最近我学Solr的时候,一直看到一句话,Solr是一个可供企业使用的、基于 Lucene 的开箱即用的搜索服务器。当时想了很久没看懂这句话是什么意思,什么是搜索服务器?当接触的深了才发现,所谓的搜索服务器,就是能够在服务器(Tomcat,Jetty)中运行的搜索程序的一个工程。Solr能做什么?了解过Lucene的人都知道,Lucene在做两件事情,索引管理与搜索,Solr同样也不例外,做的也是这两件事情,只不过使之更加简单化。如果对Lucene还不太了解,推荐看一下觉先的博客:http://www. 阅读全文
-
Lucene.net常见功能实现知识汇总
摘要:在开发SearchEasy SearchEngine Framework(搜易SDK)的时候,经常会遇到一些搜索引擎的常见功能如何实现的问题,比如实现相关度百分比显示?如何实现在结果中搜索等等诸如此类常见的问题,本文总结我在开发SearchEasy SearchEngine Framework(搜易SDK)过程中遇到的问题,整理分享给需要的园友们:问:Lucene.net的搜索结果的百分比相关度值是如何实现的?答: Hits result = searcher.Search(q); float score = result.Score(n) ;//n为查询结果文挡序号,返回的是一个<=1 阅读全文
-
Prism简介
摘要:Prism简介Prism是由微软Patterns & Practices团队开发的项目,目的在于帮助开发人员构建松散耦合的、更灵活、更易于维护并且更易于测试的WPF应用或是Silverlight应用以及Windows Phone 7应用。使用Prism可以使程序开发更趋于模块化,整个项目将由多个离散的、松耦合的模块组成,而各个模块又可以又不同的开发者或团队进行开发、测试和部署。目前Prism的最新版本是Prism 4,于2010年11月12日发布。Prism有很完整的文档以及丰富的示例程序。在这里我们仅针对于Silverlight程序的开发。在下载Prism安装包并安装完成后,会在目标 阅读全文
-
开源一个网络框架
摘要:前面有几篇文章介绍过一个基于linux epoll的网络接口,但并未将接口组合成一个方便使用的网络框架。下面先简单介绍下以前发布过的网络接口:首先是基本接口:KendyNet.h KendyNet.c https://github.com/sniperHW/kendylib/blob/master/include/KendyNet.h此接口提供了最简单的单线程网络收发模型,并未提供封包解包等功能,使用者可在此之上根据自己的需求封装出合适的网络框架第二组接口在第一组接口上提供了封包和解包:Connection.h Connectionchttps://github.com/sniperHW/ke 阅读全文
-
CYQ.Data 数据框架 V4.0
摘要:CYQ.Data 数据框架 V4.0 开源版本发布(源码提供下载,秋色园V2.5版本标配框架)说明的说明:博客园团队两次移此文出首页,说这篇文章不属于知识分享型文章,并且有广告嫌疑。本文的确属于分享型文章,而且分享的知识点比其它文章都多很多,看看网友回复“谢谢分享”就知道是分享型文章了。所谓广告嫌疑,这东西一被扣上,就很难说的清。本框架从2007年就始发布在博客园,一直更新维护到现在,其中是有过渡到最新版本是收费,但是仍保留开放很多版本的开源的。但目前发布的,都是开源的免费版本,再说,涉及到收费就是广告?ext也有收费版本,出现ext相关文章你咋不说是广告?win8,wp8你用的windows 阅读全文
-
SearchEasy SearchEngine Framework(搜易SDK) 开源
摘要:一,搜易SDK是神马东东 搜易SDK(SearchEasy SearchEngine Framework),是基于Lucene.net 2.0 开发的全文搜索二次开发框架,我们对Lucene.net 2.0进行了适当的优化和扩展,针对中文搜索的特点,完全整合了我们独立开发的中文分词系统,可以说,搜易SDK是一个对Lucene.net 2.0进行中文化深度封装的二次开发框架,目的是给Lucene.net 2.0应用开发者更好地,更优雅地使用Lucene.net提供一个现成或者可参考的完整封装开发包,同时搜易SDK使用了我们日常构建搜索所用到的Lucene.net的基本特性,可以给Lucene.n 阅读全文
-
QUnit系列
摘要:自动化测试软件对于开发来说是一个很重要的工具,而单元测试对于自动化测试来说是基本组成部分:软件的每一个组件或者单元可以在非人工介入的情况下,使用测试工具一遍遍的重复执行。换句话说,就是你可以写一次测试,然后不用付出额外成本的任意执行多次。 除了测试覆盖率带来的好处外,测试还可以指导软件设计,这就是TDD(基于测试驱动的设计):先有测试,后有开发代码。你开始写一个简单的测试,然后写实现代码并保证代码能通过测试。完成上述步骤后,扩展你的测试,让他覆盖更多设计功能,然后再编写实现代码。重复上面的步骤直到完成开发,你会发现你的实现代码和之前的版本已经非常不一样了。 JavaScript的单元测试和.. 阅读全文
-
OSGi Service Registery你知多少?
摘要:1. 发布服务可以关联一些属性。<service ref="beanToBeExported" interface="com.xyz.MyServiceInterface"> <service-properties> <beans:entry key="myOtherKey" value="aStringValue"/> <beans:entry key="aThirdKey" value-ref="beanToExposeAsProperty 阅读全文
-
lucene 的分析器(analyzer)与分词器(tokenizer)和过滤器(tokenfilter)
摘要:作者:1987(lianj_lee) www.dzxiaoshuo.com好久没有写博客了,最近确实是有点忙。这几天在给IK做测试,很高兴,我能为IK做贡献,希望以后能继续。正是由于给做测试工作,所以我就把关于lucene的分析器,过滤器和分词器这些东西温习了下,然后希望这个博客能给大家带来一定帮助。还有我想从今天声明一下,欢迎大家转载我的博客,我希望给越来越多的人带来帮助,但是请务必注明作者, 1987(lianj_lee)入正题:1〉analyzer主要包含分词器跟过滤器,他的功能就是:将分词器跟分析器进行合理的组合,使之产生对文本分词和过滤效果。因此,分析器使用分词和过滤器构成一个管道, 阅读全文
-
Solr的多核配置和分布式
摘要:如果有多个表,Solr应该如何进行配置,多核可以解决,不知道还有没有其他的方式。Solr 多核(MultiCore)配置Solr多核WikiSolr多核小记Solr Distributed Searching (分布式搜索)分布式部署SOLR的分布式部署(复制)CollectionDistribute 快照分发 (精简版)转载 Solr 分布式部署[置顶]实战: SOLR的分布式部署(复制)CollectionDistribute 快照分发 (精简版)实战: SOLR的分布式部署(复制)CollectionDistribute 快照分发 (一)https://builds.apache.org 阅读全文
-
Solr在TomCat下的使用 和 运行多个Solr
摘要:一、在Tomcat中安装运行Solr下载Solr包,找到dist文件夹中的appache-solr-1.4.0.war。将它拷贝到tomcat的webapps下,改名为solr.war(之后访问的路径为/solr)。在webapp下建立同war包名一样的文件夹(这里就是solr),将example/solr下的所有文件拷贝到这个目录下(这里是一些样例的配置)在tomcat的conf/Catalina/localhost文件夹下面建立solr.xml,设定solr的根目录。view plaincopy to clipboardprint? <!--其中的路径都是相对于tomcat的bin目 阅读全文
-
solr中文分词(mmseg4j)
摘要:1、从http://code.google.com/p/mmseg4j/ 下载mmseg4j2、在$SOLR_HOME下建立lib和dic两个目录,讲mmseg4j-all-1.8.4.jar拷贝到lib目录,将data里的.dic文件拷贝到dic目录3、修改Schema.xml添加fieldTypeXml代码<types><fieldTypename="textComplex"class="solr.TextField"positionIncrementGap="100"><analyzer>&l 阅读全文
-
EasyNet.Solr架构
摘要:EasyNet.Solr架构在EasyNet.Solr中,有两个接口最重要,一个是编解码器接口ICodec,一个是Solr输出结果解析器接口ISolrResponseParser<ST, DT>。ICode定义如下;View Code1 ///<summary>2///编解码器3///</summary>4publicinterfaceICodec5{6///<summary>7///对对象进行编码,并输出到流8///</summary>9///<paramname="obj">要进行编码的对象< 阅读全文
-
Mono 3.0 beta 正式发布
摘要:Mono 老大Miguel de Icaza 在博客上宣布了Mono 3.0的发布,这还是一个beta版本的发布,并不是正式发布,所以在运营环境还是要慎重使用,还有许多的bug需要修复。不过这也意味着Mono开发代码的Master分支将保持稳定了。Mono 3.0的release notes列出了3.0的新内容,其中有很多特性都是振奋人心的.NET 4.5的内容哦:C#异步编译器统一的C#编译器的所有配置文件4.5异步API简介集成新的微软的开放源代码的堆栈:ASP.NET MVC 4ASP.NET WebPagesEntity FrameworkRazorSystem.Json (repla 阅读全文