Javen-Studio 咖啡小屋

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

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

changelog

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
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
#
# Test Singled server
#
9025      inet  n       -       n       -       -       singled


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

1, download
2, download


20070116
javen-0.2.0 release

1, compile in new gcc version 3.4
2, add MimeUtility::setEncodeFunc() and setDecodeFunc()
   for user to set self-define encoder/decoder function
   see details in MimeUtility.h

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

下载下载2


20060720
javen-0.1d
C++基础库javen lib ver 0.1 debug for win&linux版发布

本库是一个仿照java framework设计的C++框架,它提供基本的容器库,
时间处理库,IO流库,socket库等,还有一个仿照javaMail设计的邮件
解析框架,仿照log4cplus设计的日志处理框架,等。本库还有很多库
正在设计之中,如xml解析库,进程间通讯库等等。

本库设计的宗旨就是使用简单,易学好用,目的除了简化应用系统的设计,
同时也可学习操作系统,并与广大同好交流C++经验。本库的结构仿照
java jdk和.net,部分参考ACE和STL库,并且采用跨平台设计,不久
将推出 linux版,敬请期待!

本库的介绍文章将在 Javen-Studio 咖啡小屋 陆续推出,限于本人时间
问题也许未能按时提供,请谅解!

本次发布的是一个编译好的试用版本,由于很多还在开发之中,所以暂不
提供源码,将来完成一个初始版本后再考虑open source,谢谢关注!

下面介绍本次发布的内容:
javen-0.1d/
  |- bin/
  |    |- fastlog.properties    测试logger的配置文件(文档另行提供)
  |    |- httptest.exe          测试socket IO的解析http协议的程序
  |    |- javen-0.1d.dll        javen库的dll
  |    |- javentest.exe         测试时间等库的程序
  |    |- loggertest.exe        测试logger的程序
  |    |- mimetest.exe          测试邮件解析库的程序
  |    |- mimeutils.exe         邮件解析的实用工具
  |    |- test.eml              测试邮件
  |
  |- include/                   包含头文件
  |    |- comm/                 类似STL的容器库
  |    |- io/                   io流库
  |    |- logger/               logger库
  |    |- mime/                 邮件解析库
  |    |- net/                  socket网络库
  |    |- util/                 工具库,包含时间库,编码装换库等
  |
  |- lib/
  |    |- javen-0.1d.dll.intermediate.manifest
  |    |- javen-0.1d.exp
  |    |- javen-0.1d.lib        javen库的链接lib
  |
  |- test/
  |    |- httptest.cpp          http测试程序源码
  |    |- javentest.cpp         time等测试程序源码
  |    |- loggertest.cpp        logger测试程序源码
  |    |- mimetest.cpp          邮件解析测试源码
  |
  |- vsprj/                     visual c++ 2005 project
       |- httptest/             http测试程序
       |- javentest/            time等测试程序
       |- loggertest/           logger测试程序
       |- mimetest/             邮件解析测试

thanks

by naven 20060720

1, for win版(下载)

2, for linux版(
下载 )
本版本的编译环境为 debian linux sarge, gcc 3.2

posted on 2006-07-20 23:34 Javen-Studio 阅读(1870) 评论(18)  编辑 收藏 引用

评论

# re: C++基础库javen 0.1 for win版发布 2006-07-23 11:21 flyingxu
可以慢慢的公布一部分吧?  回复  更多评论
  

# re: C++基础库javen 0.1 for win版发布 2006-07-23 12:39 Javen-Studio
里面comm就是带源码的, 我会慢慢公布一些, hei, thx  回复  更多评论
  

# re: C++基础库javen 0.1 for win版发布 2006-08-07 05:59 辛亚平
支持!密切关注。  回复  更多评论
  

# re: C++基础库javen 0.1 for win版发布 2006-08-11 10:41 子弹
LOOK LOOK 先  回复  更多评论
  

# re: C++基础库javen 0.1版发布 2007-01-10 14:52 pphu
javen 0。1有没有64位支持?能否编译一个64bit的版本发行?
另外邮件只做Base64的解析,而对常见的一些7bit、8bit、quoted-printable (http://www.moon-soft.com/download/info/2358.htm)不能解码。
另外javen的效率不太高,我在其上做的应用,每秒只能处理20封左右的邮件,不能再提高了。
gcc的版本太低,导致库的兼容性有一些问题,
库的路径需要自己设置LD_LIBRARY_PATH才能编译连接运行,拷贝到lib目录没用,运行ldconfig也没有用。
解码后的邮件的getText有时候会有mime编码,奇怪,没有mime干净。
现在最紧要的两个是64bit版本和其他编码的支持能否做到。  回复  更多评论
  

# re: C++基础库javen 0.1版发布 2007-01-10 15:25 Javen-Studio
哦,thanks for your comments
1, 64位,目前我还没考虑到,因为没有64bit机器呀,不过等我完成第一版后,我会开放源,大家自己改造吧
2, Mime其他编码,目前支持常见的base64和quoted-printable,不过由于做此库第一目的也是为完成具体工作,所以其他编码未实现了。不过大家可以改造加入支持,只需要写几个编解码类就可以了
3, 效率问题,我曾将此库的早期版本应用一个较大的邮件系统,效率并没发现明显影响,是否硬件的问题呢
4, gcc版本,我再尽快提供新的版本吧
5, 关于7bit/8bit/getText()等问题我抽空查一下看,尽快解决:)
  回复  更多评论
  

# re: C++基础库javen 0.1版发布 2007-01-13 23:40 Javen-Studio
关于getText()的编码问题,请看下面的定义,这些方法与JavaMail是一样
/**
* Return the text/ content as a String pointer. The type of this
* object is the native format of a "text/" content.
*
*/
void getText(String &s);

/**
* Return the content as a String pointer. The type of this
* object is the native format of a "text/plain" content or
* other attachment data.
*
*/
void getContent(String &s);
  回复  更多评论
  

# re: C++基础库javen 0.2.1版发布 20070121 2007-01-26 14:58 rain
嗨,哥们!
你的想法我很赞成,但现在说要从头构造一个C++框架,我觉得已经没有太大的必要了.
因为目前可以找到的类似的库已经太多了,而且使用C++目前的语法,很多功能实现起来太"丑陋".
最近我在找D语言方面的东西,我想,如果我们有时间,不如开发一个D语言的基础库,这绝对是一件功德无量的事情啊!
如果我的话冒犯了谁,那我先道歉了.
但以目前C++的发展来看,真的不如D语言好了.
C++0x还要等2年,而就算标准出来了,可用的跨平台编译器仍然是个问题.
我认为,如果想实现一个"真正"好用的c++基础库,那就应该等几年后,使用C++0x.
我们为何不实现一个D标准框架呢?
http://hi.baidu.com/h_rain  回复  更多评论
  

# re: C++基础库javen 0.2.1版发布 20070121 2007-01-26 22:08 Javen-Studio
D语言?我感觉是现在开发一门新语言太难了,因为几乎无法跟C++/Java/C#竞争,推广太难了
而且不现实,几个人做这个太难了,光编译器就难以短期完成
我做这个还是比较现实的,目的很简单
1, 想积累自己写的库,避免重复劳动。想通过它写几个具体的应用
2, 想让C++程序写起来更简单,学起来也简单(like java),因为C++太强了,完全可以通过库来实现
3, 比较喜欢C++
4, 更庞大的目标是想让跨平台应用更简单,OS API太复杂了
hei  回复  更多评论
  

# re: C++基础库javen 0.2.1版发布 20070121 2007-01-26 22:19 Javen-Studio
另外一个想法是用最简单的最基本的C++语法来实现这个库,着重于开发应用,并不强调强大先进之类,甚至想抛弃template语法,总之是想让库更简单
所以也不需要等C++0x标准了,而且从strustrup对C++的期望看,C++语法应该不会有多大的变化了,以后扩充估计都是标准库之类,比如吸纳boost
我比较喜欢C++的强大,可以自由地控制几乎任何东西,he
  回复  更多评论
  

# re: C++基础库javen 0.2.1版发布 20070121 2007-03-02 10:20 rain
不可否认,C++绝对非常强大.我使用C++有7年了,之前用C有4年,但我现在也绝对不敢说我"精通"C++甚至只能说"熟练使用".
其实现在我的手头也有我自己写的一个类库体系(几乎完全是我自己写的),包括:
1 基本的数据结构(队列,链表,栈等)以及基于他们的高级特定扩展.
2 ODBC封装.
3 Windows IOCP封装.(Server,Client,Session,SessionManager等)
4 Thread封装(包括线程池,可"逻辑"暂停恢复的线程)
5 Mutex,Event,安全代码段等的封装
6 FileSystem封装
7 Socket封装
8 ShareMemory封装
9 ...其他
基本上Win平台的Server端编程的东西都有了,但我实现的非常"难看",以至于我都不敢给别人看:(,就是自己用着顺手:)
其他方面的类库基本上就是使用现成的,如TinyXML等.
我的意思是,上面的这些东西基本也都有成熟的库可用如ACE等,我们真的没有必要再深入的去再造一只完美的"轮子"了.
而D语言现在在国内还不是很普及,但其特性非常好,在我看来,甚至比C++好得多.
http://cang.baidu.com/h%5Frain/tag/D%D3%EF%D1%D4
这是我收藏的一些关于D的东西,你可以看看.
D目前的Tango,Mango,DWT,wxD等库也在完善中,已经可用了.
其实现在我也很迷茫,以后该怎么规划?目前看,C++仍然是首选,但应该向D过渡了.
之前我留言的时候,还不知道D已经有了不错的框架,现在看,剩下的工作,可以是将优秀的C++,Java的框架与类库移植到D了.
呵呵,发表了一下自己的意见,欢迎各位拍砖,侮辱...


  回复  更多评论
  

# re: C++基础库javen 0.2.1版发布 20070121 2007-03-03 12:41 Javen-Studio
很高兴与你讨论这样的东西,我也有类似的想法,发布javen库也是这个意思:)
我正式学习和使用C++/Java已经5,6年了,不包括大学里和刚毕业2年的陆续地上手式的学习,在国内的说法也可以说“精通使用”,但更想深入钻研这些语言的机制和高级特性以及语言的发展等,可以说刚刚“入门”而已,所以说有一些自己的想法,也想通过这些库或应用实现出来
目前纳入这个库的都是一些跨平台的部分,暂时无法跨平台的暂通过独立的库包含进来,比如javen是一个基础的跨平台库,jserver是一个进程调度的服务器框架,jstorage将做一个分布式存储框架,jsearch将实现一个搜索引擎框架等等,根据想做的应用,以后还想封装更多的框架。不过考虑到学习和使用的成本问题,我这些库的接口基本都是仿照目前最流行的语言和库做的,比如jsearch将仿照lucene的接口,jstorage可能仿照hadoop等,javen则与java语言尽量类似。
目前C++领域确实有很多的库,不过我感觉它们的管理不像java那样严格,有标准的接口,像ACE这样的大型库学习使用难度比较大,而且功能大部分单一,所以我想考虑自己设计这样一些库,简化应用的开发
看到你大力推荐D语言,我也有一些兴趣,以后有时间多多关注一下,不过现在还不了解,所以无法发表对它的看法:)
重设计一门新语言来说,我觉得如果没有MS那样的财力,是非常非常难了,就是SUN推广Java也只能靠Open source这样全社会的力量,所以说未来我感觉应该还是C++/Java/C#的天下,而且它们都在改进中,互相吸收,有庞大的标准组织管理,弊端肯定越来越少。所以我选择C++除了喜欢外,也有这个原因。
欢迎再继续交流讨论:)
  回复  更多评论
  

# re: C++基础库javen 0.2.1版发布 20070121 2007-03-03 22:17 rain
呵呵,能和你交流真好!
关于Java,我的知识仅仅停留在语言特性和语法上,2000年之后就没再关注了,所以现在看,其实挺吃亏的,因为Java的框架真的非常规范。
看到你的计划和目标,我真是惭愧啊,因为到目前,我都没有勇气来干类似的跨平台的东西,我的库虽然是基于标准C++库(也是考虑以后的移植),但我只在BCB中使用,VC都没有测试过。
不过从我们的东东的目录上来看,我们的工作方向还是比较接近的呢,哈哈。
另外一个原因我没有再进行跨平台和编译器的移植,是因为我在完善目前代码的过程中,发现了很多的Bug,虽然在测试用例中可以正常工作,但真的运用到商业级产品中深入使用的时候,依然问题多多,现在虽然基本稳定了,但我也发现了,开发C++的库真的不容易啊~
而且,库这个东西,一定要有大量的深入的测试,才会趋向成熟,而又有几个人会去冒这个险在关键的工作中这么做呢?
关于标准化,借鉴其他语言成熟的框架,这么做是最好的:)现在的C++的库,真的是...没法下爪用啊~
关于语言的推广,其实我不认为是大问题,看看php,lua,ruby等语言的崛起,真的就是依靠语言特性就会吸引人了。问一下,有开源计划吗?
最后,再次向你致敬!你迈出了很多人都没有迈出的第一步!
呵呵,如果有空,可以邮件联系。_rain_@126.com
看来好像你能比我大一些:)
  回复  更多评论
  

# re: C++基础库javen 0.2.1版发布 20070121[未登录] 2007-04-07 12:59 Javen-Studio
谢谢你的关照,最近杂事太多,很少顾及这里了,我得抓紧了,嘿  回复  更多评论
  

# re: C++基础库javen 0.2.1版发布 20070121 2007-07-29 00:10 Javen-Studio
@rain

感谢你的关注和支持,最近比较忙,精力转向别的方面了
现在想来,还需要在一些高级的领域再突破一下,虽然在一些非技术的地方更需要提高,不过还是认为技术上一定要做到最好最前沿的领域才能有所作为,
共同进步吧 :)  回复  更多评论
  

# re: C++基础库javen 0.2.1版发布 20070121 2007-08-10 12:50 rain
我最近也是很忙,没什么时间,都在开发一个新的项目.

:)  回复  更多评论
  

# re: C++基础库javen 0.2.1版发布 20070121 2007-08-13 23:05 Javen-Studio
哦,是阿,我也开始一个新项目了,自己喜欢做的事都没时间做了,:)  回复  更多评论
  

# re: C++基础库javen 0.2.1版发布 20070121[未登录] 2007-09-16 19:12 kerry
为什么没有cpp文件啊…………
好学习学习……  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理