随笔分类 - [39]Open Source开源项目
-
简单易用粗暴的文章内容采集程序 -【开源项目】
摘要:简单易用粗暴的文章内容采集程序 -【开源项目】前言爱学习、爱使用移动设备阅读电子书的朋友,不能不拥有一款属于自己的采集利器。而使用此程序即可以简单轻松的实现采集任务。采集效果图程序介绍在程序运行子目录Config是程序的配置的保存目录。path.txt[config]Config\HtmlFormatConfig.xml[task]Config\task\config设置采集内容格式化的配置保存路径task设置任务工作规则保存和加载路径采集工作窗体起始网址采集开始的网址,如果是逐页的模式,则是第一页的地址;如果是列表的模式,则是第一个列表页面的地址。列表网址匹配下一个列表页面地址的正则表达式。 阅读全文
-
CI持续集成
摘要:CI持续集成“我的TDD实践”系列之CI持续集成写在前面: 我的TDD实践这几篇文章主要是围绕测试驱动开发所展开的,其中涵盖了一小部分测试理论,更多的则是关注工具的使用及环境的搭建,做到简单实践先行,后理论专精的目的。TDD实践系列文章: 1.TDD概念篇 2.CI持续集成 3.SVN架设篇 4.NUint测试框架 5.Mock模拟框架 6.Inject注入框架 7.TestCoverage代码覆盖率工具 8.UMLTool建模工具 9.SandCastle构建文档 简介 CI(Continuous Integration)持续集成,最重要的服务对象是TDD,它是一个集... 阅读全文
-
lucene 查询+分页+排序
摘要:lucene 查询+分页+排序1、定义一个工厂类LuceneFactory 1 import java.io.IOException; 2 3 import org.apache.lucene.analysis.Analyzer; 4 import org.apache.lucene.index.CorruptIndexException; 5 import org.apache.lucene.index.IndexReader; 6 import org.apache.lucene.index.IndexWriter; 7 import org.apache.lucene.i... 阅读全文
-
实战做项目如何选择开源许可协议(一)-了解协议
摘要:实战做项目如何选择开源许可协议(一)-了解协议目前国内开源项目正在逐渐升温,中国也开始有不少优秀的开源项目突显出来。在大家摩拳擦掌准备加入开源大军时,也要知道这个圈子里的规则。技术人员不能只是研究技术,任何圈子都有规则,要知道了才能玩得好。前段时间有件关于开源软件的事情挺热闹的,关于国内一个开发者把自己作品开源出来被别的公司的人拿去包装成自己的产品高价卖出去。大部分做开源软件的开发者都不太怎么关注版权这些,具体微博如下:hoowa_sun:做开源后,发现大部分都被别人拿去学习,然后copy,然后自己闭源卖出去。这里不缺乏大公司,有一家公司拿我的开源系统修改后卖给了一个国内的运营商,卖的还非常贵 阅读全文
-
为什么项目开放源代码之后就变成死项目 很少或几乎不再更新
摘要:经常遇到一些好的.NET项目开放源代码之后,便很少更新。即使是大名鼎鼎的CodeProject中的文章中的代码项目,遇到问题时,留言或是主动给作者发邮件,都像石沉大海一样,得不到回复或解决,只好自力更生。Codeplex中的项目,更新的速度就更慢了。从First release算起,三个月之外,就很少有更新了。我指的项目不是指官方的一些项目,驻留在这里。比如SQL Server的Sample Database驻留在这里,更新速度当然频繁,有官方的背景,各方面的更新工作肯定不会马虎。1 项目已经成熟,满足作者设定的需求范围,不再需要更新这种情况比较多。项目的开发人员,在设定目标后,会花费很多时间 阅读全文
-
运用Mono.Cecil 反射读取.NET程序集元数据
摘要:运用Mono.Cecil 反射读取.NET程序集元数据CLR自带的反射机智和API可以很轻松的读取.NET程序集信息,但是不能对程序集进行修改。CLR提供的是只读的API,但是开源项目Mono.Cecil不仅仅可以读取.NET程序集的元数据,还可以进行修改。1 读取程序集的版本信息CLR定义的对象模型是以程序集为编译和部署单元。一个程序集下面可以有多个模块,模块下面再包含类型,类型中定义方法,属性和事件等。直接传入一个完整的字符串表示的程序集,MONO可以解析它的基本信息:var name = AssemblyNameReference.Parse ("Foo, version=2. 阅读全文
-
Remobjects使用经验
摘要:RemObjectsRemObjects提示:我们相信本文是正确的,但我们不做任何保证.在此感谢Henrick 写的文章,很高兴在此发表.介绍RemObjects是功能强大可扩展的远程框架;但是当考虑远程对象的allocation(内存分配)/deallocation(内存释放)/serialization(序列化)问题时让人摸不到边际. 本文将讨论RO内核澄清这些问题.Delphi开发者可以很幸运的使用RemObjects/DataAbstract创建n层服务. 使用RO,我们通过在Service Builder工具重创建服务定义库以导向的架构设计我们服务.其中之一就是我们可以自定义结构体类 阅读全文
-
NCache:最新发布的.NET平台分布式缓存系统
摘要:NCache:最新发布的.NET平台分布式缓存系统在等待Microsoft完成Velocity这个.NET平台下的分布式内存缓存系统的过程中,现在让我们将目光暂时投向其他已经有所建树的软件开发商。Alachisoft和它的NCache便是其中之一。目前Alachisoft同时提供了一个免费的和一个付费的版本,并且今后也将支持NHibernate。尽管已经可以在产品环境中使用,不过NCache Express版本还是对功能进行了限制。每个缓存区域的最大尺寸被限制到500MB,而且只能被复制到两个服务器中。分区、镜像以及客户端缓存等功能只能在付费版本中使用。与企业版不同,Express版本不支持基 阅读全文
-
分布式缓存系统memcached简介与实践
摘要:分布式缓存系统memcached简介与实践Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。http://baike.baidu.com/view/794242.htm在数据驱动的Web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载。缓存是解决这个问题的好办法。但是A 阅读全文
-
反向代理(Reverse Proxy)
摘要:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。http://baike.baidu.com/view/1165595.htm谈谈varnish,squid,apache,nginx缓存的对比群里总是有人在问cache用什么,有varnish,squid,apache,nginx这几种,到底是我们用什么架构cache。1、从这些功能上。varnish和squid是专业的cache服务,而apache,nginx 阅读全文
-
squid和varnish的小结
摘要:squid和varnish的小结http://blog.haohtml.com/上周初步接触linux下的这2个反向缓存软件,都实验了一下,貌似squid还是比较顺利的,varnish则碰到了一些问题从varnish的文档看,性能比squid强很多,而且不是一点点,下面国外某在线媒体的12台squid换成3台varnish前后访问响应延时比较,据说有人也测试过的确如此,但我就不那么顺利了。先说squid,安装很顺利,网上的中文文档也很多,在这次尝试中,被缓存的网站的静态内容并不多,主要还是以PHP为主,所以反向cache的效果并不是很好,缓存命中率在60到70%之间,缓存的主要对象是图片。由于 阅读全文
-
Robotlegs框架1.5简介
摘要:Robotlegs框架1.5简介该框架的1.5版本位于https://github.com/robotlegs/robotlegs-framework/tree/version1,现在已经出了重新架构的2.0版本,所以我决定先研究已经成熟的1.6版本,有时间再研究2.0版本的。我看完这个框架的源码和范例的第一印象就是自动化,这个框架把很多逻辑都集成到了系统内部,而我们只需要进行一些简单的映射,进行一些简单的功能实现就能完成一个项目了。基本结构Robotlegs 的MVCS实现将应用程序解耦为4层:Model-View-Controller (MVC) 和 Service层,view 层处理用户 阅读全文
-
memcached 命令操作详解
摘要:memcached 命令操作详解一.存储命令存储命令的格式: 参数说明:操作命令:set/add/replace缓存的键值客户机使用它存储关于键值对的额外信息缓存过期时间 单位为秒 0 表示永远存储缓存值的字节数数据块1.添加值命令(1) 无论如何都添加或更新的set 命令 (值不存在则添加 存在则更新) set 设置后可以用get命令获取值 也可以使用delete命令删除该值[root@zhz jiehun]# telnet 127.0.0.1 11211Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^] 阅读全文
-
google map api v2的使用详细过程,图文并茂(原创)
摘要:google map api v2的使用详细过程,图文并茂(原创)上一篇中说到怎么获取key,下面来介绍怎么使用key来显示google地图步骤1:eclipse上打开android SDK Manager,安装google play services.步骤2:eclipse上建立google-play-services-lib,File->new->others->Android->Android project from existing code,然后将你刚刚安装的google play services包导入进去(在你sdk文件下),创建完成!创建好后你的ecl 阅读全文
-
STSdb,最强纯C#开源NoSQL和虚拟文件系统 4.0 RC2 支持C/S架构
摘要:STSdb,最强纯C#开源NoSQL和虚拟文件系统 4.0 RC2 支持C/S架构STSdb是什么再来说明一下STSdb是什么:STSdb是C#写的开源嵌入式数据库和虚拟文件系统,支持实时索引,性能是同类产品的几倍到几十倍,访问官方网站。温故知新之前发了文章《STSdb,最强纯C#开源NoSQL和虚拟文件系统》,相信大家对Waterfall-tree(瀑布树)算法还是有兴趣的。不兼容改动为了提供更易容的API和更好的性能,STSdb 4.0 RC2改变了文件格式,这个改变可能会持续,直到4.0正式版。C/S架构在上一篇文章,提及会在4.0正式版之前加入对C/S的支持,现在在RC2已经引入。客户 阅读全文
-
Memcache的一些学习
摘要:Memcache的一些学习首先,Memcache是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度,再特别强调下:Memcache 是一个用来存储常用信息的缓存,有了它,您便无需从缓慢的资源,比如磁盘或数据库,加载并处理信息了。参考资料:http://baike.baidu.com/view/794242.htm Memcache的配置:安装,配置Memcache,中间磕磕碰碰还是有遇到一些小问题的。1、下载一个稳定版本的Memcache,点我下载.找个最新版本的pecl压缩包,并放. 阅读全文
-
Composite C1是一个.Net平台上开源专业的CMS开源项目
摘要:CompositeC1 4 发布Composite C1是一个.Net平台上开源专业的CMS开源项目,很多的功能用户界面,面向任务的支持与各种工具协作。当编辑内容时在用户端体验很友好。编辑器与开发者UI运行于所有版本主流浏览器windows与Mac OS上。用户UI支持英文,德语,俄语,瑞典语,中文。开发人员可以管理布局扩展系统使用Asp.net Razor,Web Form, MVC和XSLT. 让后端开发人员,前端开发人员控制到细节。 项目基于.NET 4平台上最新技术,插件化架构设计&API,完全LINQ数据访问。 一个灵活的系统,简易安装,支持移植Windows Azure.同 阅读全文
-
KooBoo CMS -1
摘要:Kooboo CMS分页<h1> @("Fabrikam News".Label())</h1><hr />@{ var key = Page_Context.Current.PageRequestContext.AllQueryString["key"]; var strPageIndex = Page_Context.Current.PageRequestContext.AllQueryString["pageIndex"]; var pageIndex =1; if (!string.IsNu 阅读全文
-
Lucene.Net+盘古分词器(详细介绍)
摘要:Lucene.Net+盘古分词器(详细介绍)本章阅读概要1、Lucenne.Net简介2、介绍盘古分词器3、Lucene.Net实例分析4、结束语(Demo下载)Lucene.Net简介 Lucene.net是Lucene的.net移植版本,是一个开源的全文检索引擎开发包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。开发人员可以基于Lucene.net实现全文检索的功能。 Lucene.net是Apache软件基金会赞助的开源项目,基于Apache License协议。 Lucene.net并不是一个爬行搜索引擎,也不会自动地索... 阅读全文
-
Lucene分词组件盘古与mmseg4j评测
摘要:Lucene分词组件盘古与mmseg4j评测前言.Net 下分词组件选择不多,最近看到宝玉发布了改进版本的mmseg分词,正好跟使用已久的盘古分词做个对比。盘古是用自动机来实现分词,更详细的分析http://www.cnblogs.com/eaglet/archive/2008/10/02/1303142.htmlmmseg的算法相对先进一些,更详细的解释:http://www.coreseek.cn/opensource/mmseg/这里只对比盘古默认的配置,因为默认中不打开一元分词已经满足需求,mmseg只对比maxword的配置,目标是多元分词的效率和效果。效率对比硬件配置:CPU i7 阅读全文