Javen-Studio 咖啡小屋

http://javenstudio.org - C++ Java 分布式 搜索引擎
Naven's Research Laboratory - Thinking of Life, Imagination of Future

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  24 随笔 :: 57 文章 :: 170 评论 :: 4 Trackbacks

2010年6月17日 #

   技术发展日新月异, 由于长期的学习和工作原因, 积累了一些想法, 想逐步实现一个(或一些)较大的可以直接
商业运营的系统, 大致包括分布式存储系统, 分布式计算系统, 大表数据存储系统, 搜索引擎平台, 网页抓取平台等, 主要从hawk系统发展而来, 技术主要来自google GFS/MapReduce/BigTable, 以及hadoop等, 希望能实现一套较
完整google技术平台以应用于普通企业甚至个人的集群存储和计算处理, 主要还是改造自hadoop. 另外本人的hawk搜索系统属于一个实验产品,所以有很多不完善,hawk-6.22应该是个较稳定的
版本,如果希望得到源码请直接参考hadoop/lucene/nutch等,另外由于一直较忙,而且相关文档属于副产品,写好也不容易,难以持续,个人建议直接看开源产品源码更好:) 谢谢关注
posted @ 2010-06-17 17:04 Javen-Studio 阅读(1411) | 评论 (5)编辑 收藏

2009年3月20日 #

Hawk搜索引擎平台0.6.22测试版(免费下载)

Hawk-0.6.22 screenshots Hawk 搜索引擎平台是面向中小型网站,可以定制的垂直搜索引擎平台。本搜索引擎平台目标是方便用户搭建站内搜索、某个领域的垂直搜索、以及检索个人文档以及自己关注的网站信息的桌面搜索等应用领域。它改造自Lucene,Hadoop和Nutch系统,是纯Java的搜索平台软件,可以运行于Windows及Linux等平台,具备基本的抓取、索引和检索功能,本搜索引擎免费下载,欢迎大家测试和使用!

Hawk 搜索引擎平台特点简介
  • 对网页进行深度抓取和分析,自定义抓取规则,实现站内搜索。
  • 可以索引各种常用类型文档,实现桌面文档检索。
  • 单台PC服务器能索引上千万文档,可以用于中小型检索服务。
  • 可以自定义网页展示模板,或XML接口,轻松与各种系统整合。
  • 自动分析网页文本,提取新词,如人名,地名等。
  • 支持检索词自动推荐以及繁简转换功能。
  • 可以定制主页的各项文字,包括包含自己的欢迎网页。

拥有百万文档的开发文档库搜索

Document Search screenshots 本开发文档库索引了大量常用软件的开发文档和API参考手册,包括主要的Java文档、RFC文档和Linux系统下的文档如man手册等,完整的最新版MSDN联机丛书,Android/Symbian参考手册,Eclipse/Oracle帮助文档,Apple和iPhone系统开发文档,Solaris、OpenOffice和mysql手册等等,超过百万篇网页及PDF等格式文档,欢迎使用!




© 2008 Javen-Studio http://javenstudio.org 咖啡小屋
posted @ 2009-03-20 10:45 Javen-Studio 阅读(1392) | 评论 (4)编辑 收藏

2008年12月26日 #

  1. The Enterprise Library Core
  2. Design of the Logging Application Block
  3. Design of the Security Application Block
  4. Design of the Caching Application Block
  5. Design of the Validation Application Block
posted @ 2008-12-26 17:25 Javen-Studio 阅读(1101) | 评论 (0)编辑 收藏

2008年10月24日 #

  Apache Lucene是一个高性能(high-performance)的全能的全文检索(full-featured text search engine)的搜索引擎框架库,完全(entirely)使用Java开发。它是一种技术(technology),适合于(suitable for)几乎(nearly)任何一种需要全文检索(full-text search)的应用,特别是跨平台(cross-platform)的应用。

 

备注:未完待续,部分内容和插图译自Lucene网站及代码,个别图片来自网上
Annotated Hadoop 作者:naven 日期:
2008-10-20

posted @ 2008-10-24 17:11 Javen-Studio 阅读(4821) | 评论 (8)编辑 收藏

2008年8月22日 #

Hawk搜索引擎平台应用:词典搜索和文档搜索

DictSearch screenshots Hawk搜索引擎平台可用来定制自己的搜索应用服务,如站内网页搜索和桌面搜索。下面介绍两个很有用的桌面搜索应用。辞典搜索收录有四十部超过800万词汇的常用英语和汉语词典,如朗文,牛津,汉语大词典等。文档搜索服务索引了主要的Java文档和Linux系统下的文档如man手册等,欢迎使用!



© 2008 Javen-Studio http://javenstudio.org 咖啡小屋
posted @ 2008-08-22 13:33 Javen-Studio 阅读(1837) | 评论 (2)编辑 收藏

2008年2月22日 #

Hadoop原来是Apache Lucene下的一个子项目,它最初是从Nutch项目中分离出来的专门负责分布式存储以及分布式运算的项目。简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。本文先从源码角度剖析MapReduce框架及运行原理。

Annotated Hadoop: 第一节 Hadoop是什么
http://www.cppblog.com/javenstudio/articles/43072.html

Annotated Hadoop: 第二节 MapReduce框架结构
http://www.cppblog.com/javenstudio/articles/43073.html

Annotated Hadoop: 第三节 MapReduce工作原理
http://www.cppblog.com/javenstudio/articles/43075.html


未完待续
Annotated Hadoop 作者:naven 日期:
2007-12-29
posted @ 2008-02-22 01:16 Javen-Studio 阅读(10976) | 评论 (11)编辑 收藏

2007年5月22日 #

      Reflection Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public, static 等等)、superclass(例如Object)、实现之interfaces(例如Cloneable),也包括fieldsmethods的所有信息,并可于运行时改变fields内容或唤起methods。本文借由实例,大面积示范Reflection APIs

      http://www.cppblog.com/javenstudio/articles/24640.html
posted @ 2007-05-22 22:08 Javen-Studio 阅读(1433) | 评论 (0)编辑 收藏

2007年5月3日 #

      这是本人原创的系列文章制作的pdf,已陆续发布cppblog上,现开放下载,谢谢支持!

      1,《Javen库的设计和使用》
      2,《LINQ,语言层面的OR映射技术,用面向对象操作数据库》
      3,《侯捷《C++OOPGPDP》讲座心得》

posted @ 2007-05-03 01:37 Javen-Studio 阅读(1846) | 评论 (1)编辑 收藏

2007年1月21日 #

20070121
javen-0.2.1 release

1, 服务器进程调度框架(master/child模式),类似inetd
2, some brings from postfix and apache
3, you can create new serverd to be managed by master, like Singled.cpp
4, you can use javen framework to programe your code, similar as java code
5, you can manage your server by masterctl start/stop/retart
6, you can add your config parameters at main.conf and can be checked automatically
6, you can configure your server at master.conf, for example
this is similar as postfix or inetd management.

complie environments
x86 32bit:
 linux: gcc version 3.4.6 20060404 (Red Hat 3.4.6-3)
 win32: not support
x86 64bit:
  not support

http://www.cppblog.com/javenstudio/articles/10280.html

1, download
2, download

posted @ 2007-01-21 15:40 Javen-Studio 阅读(1431) | 评论 (2)编辑 收藏

2007年1月18日 #

软件工程 的学科至少包括三个重要的组成部分:产品设计、系统构架设计和项目控制,而相应地,软件开发队伍中也有三个重要角色:产品经理、系统架构师和项目经理。这三个角色直接关系着项目的成功或失败。


http://www.cppblog.com/javenstudio/articles/17759.html


作者:naven  2005-5-10
posted @ 2007-01-18 20:19 Javen-Studio 阅读(1095) | 评论 (0)编辑 收藏

1 Rational 统一开发过程( Rational Unified Process 简称 RUP
2、统一模语言UML概述
3、面向对象软件开发和过程
4、应用框架
5、模块化和构件化设计
6、概要设计怎么做
7、代码规范和注释规范
8、单元测试和测试案例
9、团队协作及大中规模软件开发过程
10、面向对象设计原则
11、设计模式
12、经验谈


http://www.cppblog.com/javenstudio/articles/17758.html


作者:naven  2005-5-10

参考文献:1www.uml.org.cn2、《UMLJava程序员指南》

posted @ 2007-01-18 20:17 Javen-Studio 阅读(1147) | 评论 (0)编辑 收藏

2007年1月9日 #

    很高兴侯捷老师又来公司了,给我们上了四天非常生动的技术讲座,受益匪浅,现在我简要介绍一下我的学习心得,与大家分享。这次讲座主要集中在《 C++/OOP/GP/DP 》主题,针对有一些编程基础的工程师,对一些常用的代码和设计做了非常通俗易懂的剖析,非常有帮助。当然更深入的理解还需要结合多种技术名著来学习,我结合我的理解以及自己的学习和开发的经验介绍一下 C++/OO/Template 以及 Design Pattern 的理会,考虑到讲座的性质,我并不直述本次讲座的内容,欢迎批评指正 J

阅读:http://www.cppblog.com/javenstudio/articles/17057.html

下载:《侯捷讲座心得》
posted @ 2007-01-09 20:23 Javen-Studio 阅读(1996) | 评论 (0)编辑 收藏

2006年8月10日 #

fastlog 是参考 log4j log4cplus 框架使用 javen c++ 库设计实现的日志记录库,具有 log4j 库类似的优点,记录日志非常方便,扩展和配置也非常容易。 Log4j 日志库我想应该在 java 的领域已经应用很广泛了,这样的日志库可以非常方便地将日志输出到屏幕、文件、 syslog 、远程服务器等任何地方,而日志输出的格式也可以任意调整,可以很容易控制输出的日志级别,而这一切仅需修改一下配置文件,应用程序不用作任何修改。

http://www.cppblog.com/javenstudio/articles/11114.html

posted @ 2006-08-10 23:22 Javen-Studio 阅读(1580) | 评论 (0)编辑 收藏

Socket 通讯程序估计现在大多数应用系统都会涉及到,所以实现一个标准统一使用更简洁的API非常有用。本C++框架基本参考JavaSocket相关类实现了类似封装,除了ServerSocket实现稍有不同,其他原理和方法基本类似。用它编写网络应用基本不用考虑底层的协议处理,使用非常容易,代码也更简洁易读。


http://www.cppblog.com/javenstudio/articles/11068.html
posted @ 2006-08-10 00:49 Javen-Studio 阅读(1740) | 评论 (0)编辑 收藏

2006年3月19日 #

TCP/UDP 是网络编程的基础技术,分别代表面向连接的稳定的网络通信技术和非连接方式的广播形式的网络通信技术,它们都建立在 IP 层之上,所以 IP 层的封装尤为重要。 IP 层的封装接口主要包括 DNS 的查询、 IP 地址和域名的互查、本地 IP 及名字的查询等,目前 IP 层使用的主要实现技术是 IPv4 ,但是未来会慢慢升级到容量更大的 IPv6 ,所以 IP 层的封装需要要同时支持这两种协议。操作系统实现它们都是通过增加新的 API 以及新的地址结构实现的,开发者编写跨协议的网络应用需要编写较复杂的程序来区分 IPv4 IPv6 协议,优秀的 ACE 框架则通过条件编译来支持 IPv6 ,好像不能同时在程序中使用 IPv4 IPv6 协议。本 C++ 框架参考 Java InetAddress 及相关类实现了类似跨协议的 IP 层封装,编写网络应用基本不用考虑两种协议的不同,应为它们对外的接口类都是 InetAddress ,另外同时提供了与 Java 一样简单的域名和 IP 地址互查的接口,使用非常容易。

http://www.cppblog.com/javenstudio/articles/4336.html
posted @ 2006-03-19 12:55 Javen-Studio 阅读(1352) | 评论 (0)编辑 收藏

2005年12月21日 #



第一章 亲密接触Lucene

未完待续(最近太忙,顾不上了,看英文原版吧)


译者 Naven & Scar
posted @ 2005-12-21 20:57 Javen-Studio 阅读(4942) | 评论 (3)编辑 收藏

2005年11月10日 #

I/O流,即输入/输出流(Input/Output Stream),是软件框架中的核心系统。对程序设计语言设计者来说,设计一个令人满意的I/O系统,是件极艰巨的任务,也是不可缺少的基础设施。C++的标准模板库已经提供一套很不错的I/O流库了,但是我还是喜欢Java.Net框架提供的那样的使用简单且扩展性强的I/O系统,而且还需要自行做一些改进已融入到C++通用框架体系中,由于I/O系统是框架的基础设施,所以设计它是很关键的任务。


阅读请点 http://www.cppblog.com/javenstudio/articles/1028.html
posted @ 2005-11-10 01:13 Javen-Studio 阅读(1484) | 评论 (0)编辑 收藏

2005年11月9日 #

时间和日历以及时间的格式化处理在软件的设计中起着非常重要的作用,但是目前C++的库却未有一个简单易用的时间类,大部分都需要开发者直接调用操作系统的API来完成,而且很多API都不是线程安全的。某些大型的C++框架虽然提供一些时间类,但是却不通用,也很难直接拿出来使用。下面介绍一下参考Java Framework中的时间相关的类来设计并实现C++版本的时间和日历类。

阅读请点 http://www.cppblog.com/javenstudio/articles/1018.html

posted @ 2005-11-09 17:32 Javen-Studio 阅读(1399) | 评论 (0)编辑 收藏

2005年10月25日 #

1、邮件解析框架FastMail库介绍

摘要:邮件解析库API完全使用面向对象技术设计,使用C++语言开发的用于邮件解析和组装的库。它提供了一些类用来解析和组装Internet邮件,如MimeMessage和MimeBodyPart,用于Internet邮件协议实现并且遵循RFC822和RFC2045规范。这些API库用于应用程序的开发。

2、邮件解析框架FastMail库使用简介

摘要:邮件解析库包含一系列的类,主要有MimeMessage(邮件实现类)、MimeBodyPart(邮件正文段体类)、MimeMultipart(邮件多部段体类)、InternetHeaders(邮件头类)、InternetAddress(邮件地址类)和ContentType(段体类型类)等。解析和组装邮件主要使用这些类进行组装和分解。

posted @ 2005-10-25 00:59 Javen-Studio 阅读(2026) | 评论 (1)编辑 收藏

1、什么是持久化和对象关系映射ORM技术

摘要:何谓“持久化” 持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。何谓“对象数据映射(ORM)” ORM-Object/Relational Mapper,即“对象-关系型数据映射组件”。对于O/R,即 Object(对象)和 Relational(关系型数据),表示必须同时使用面向对象和关系型数据进行开发。除了 ORM 技术,还有以下几种持久化技术主动域对象模式、JDO 模式、CMP 模式

2、ORM设计中用到的模式

摘要:DAO 模式 DAO 模式即 Data Access Object 模式,实际是两个模式的组合,即 Data Accessor 模式和 Active Domain Object 模式,其中 Data Accessor 模式实现了数据访问和业务逻辑的分离,而 Active Domain Object 模式实现了业务数据的对象化封装,一般都是将这两个模式组合使用。 Abstract Factory 模式 Proxy 模式 Decorator 模式(即Wrapper 模式) Dynamic Proxy 模式

3、 O/R 映射技术的王牌Hibernate框架

摘要:Hibernate 是一个开放源码的 ORM 持久层框架。作为优秀的持久层框架实现,Hibernate 框架提供了强大、高性能的对象到关系型数据库的持久化服务,开发人员可以使用面向对象的设计进行持久层开发。简单的说,Hibernate 只是一个将持久化类与数据库表相映射的工具,每个持久化类实例均对应于数据库表中的一个数据行而已。用户只需直接使用面向对象的方法操作此持久化类实例,即可完成对数据库表数据的插入、删除、修改、读取等操作。

posted @ 2005-10-25 00:54 Javen-Studio 阅读(1324) | 评论 (1)编辑 收藏

仅列出标题  下一页