- 论坛徽章:
- 0
|
偏服务器端C++程序员,项目经验(被人质疑*nix平台操作能力,加上开发运行平台:有点平时编辑器论战的味道了,有过几年一直用vim,不过VC确实能提高效率,工作平台仅仅是*NIX,工作环境也改为VC+SFTP+gcc/gdb了):
1. 基于Qt的白板程序,开发运行平台:RedHat Linux 7.3
2. C cgi管理程序,HTML/Javascript的一定掌握,开发运行平台:RedHat Linux 7.3
3. 以ACE-TAO为基础的Corba Agent程序,开发运行平台:Sun Solaris 8
4. 基于socket的服务器端程序,多进程多线程服务程序(读取自配置文件,典型为3*1000),开发运行平台:CentOS Linux 4.4
5. 安防监控平台软件,类似于通信网管软件的方式,支持MySQL/Sqlite数据库,开发运行平台:Windows + Linux
6. 面向多网合一的统一服务器端软件开发,同一个服务器端软件,同时支持B/S、C/S、手机端访问,预期扩展为数字电视等(个人作品,http://www.wawton.com),开发运行平台为CentOS Linux 5.2
技能:
1. 采用CMM/XP混合构架模式进行架构设计,整体以CMM为主线,阶段以XP敏捷为主要实现方式,在每一阶段实现文档/代码,相互验证,螺旋式完成
2. 测试代码的同步:基于CppUnit的同步测试代码,采用相对于系统架构及各阶段的金字塔结构方式
3. 熟练掌握各类系统底层接口:除进程/线程及其同步控制采用ACE之外,均通过一定的系统底层封装直接支持跨平台应用,平台支持:Windows/Linux/Solaris/BSD
4. 熟悉相关辅助工具的使用,同时熟练掌握基于DLL/so动态库的各类工具库开发
5. 开发调试工具:VC2005 / gcc+gdb,一定程度的Sun Studio
6. 编译工程配置方式:MPC(The Makefile, Project, and Workspace Creator),自动生成VC工程/Makefile文件
7. 配置Linux Subversion进行版本管理(较早的采用CVS)
MSN:zhufei@wawton.com
手机:13757031600
人在杭州,意向北京/杭州
跨平台C++程序开发系列文章
1. 跨平台C++程序开发系列之一 开发工具选择
2. 跨平台C++程序开发系列之二 MPC多平台编译工程文件生成工具,附实例
3. 跨平台C++程序开发系列之三 CppUnit自动测试工具,附实例
4. 跨平台C++程序开发系列之四 Doxygen接口文档生成,附实例
5. 跨平台C++程序开发系列之五 ACE跨平台工具库引介
6. 跨平台C++程序开发系列之六 DLL/so动态库开发基础,附实例
7. 跨平台C++程序开发系列之七 DLL/so动态库开发进阶,附实例
8. 跨平台C++程序开发系列之八 DLL/so动态库开发高阶之COM_CORBA本质,附实例
9. 跨平台C++程序开发系列之九 基于进程池线程池的多进程多线程服务器端程序实现方案
10. 跨平台C++程序开发系列之十 基于原生C接口的数据库开发工具
11. 跨平台C++程序开发系列之十一 GUI开发工具的选择
12. 跨平台C++程序开发系列之十二 C与C++的选择与平衡
13. 跨平台C++程序开发系列之十三 开发架构模式的选择,CMM与XP的混合
代码审视:2006年发布的开源代码
http://sourceforge.net/projects/mcrt/
手头版本:
基于动态库的跨平台C++工具库包含:
1. 消除字节序问题的基本函数
2. 提供便利的OS/Time封装函数
3. 共享内存操作封装及共享内存区hash表的实现
4. socket/ssl socket实现
5. 基于socket/ssl socket的http/https实现
6. 数据库操作封装,实现MySQL/SQLite/PostgreSQL的统一封装
7. 多进程/多线程日志类的实现
8. 基于TinyXML的XML操作封装实现及改进
9. UTF-8及本地Unicode编码的转换实现
10. 循环数据缓冲区的类封装
11. 64位文件操作,*nix下fopen系列,Windows下CreateFile系列
另外的一个说明:
跨平台设计实现基本上偏向POSIX接口,用什么工具是个人偏好
刚开始的时候作为一个Unixer,只用vi/gcc/gdb,后来工程大了,才发现用VC做编辑器能够显著提高效率,不过*nix下调时基本还是gdb
编程的话既没有完全的C++(stl层次),也没有完全的C(标准C级别),一切以质量和效率为优先级别:效率的话包含开发效率和运行效率
每个人,都有不同观点,一切在于本人角度的看法,对我来说,开发CGI程序C++比Perl方便,如下所示,两条语句完成所有相关操作,初始化各类服务器、处理GET/POST请求、处理Cookie等请求信息、并根据需要连接数据库等,数据库的话经过封装;只要使用SQL92标准语句,在配置文件中修改数据库类型,就可直接支持SQLite/PostgreSQL等各类数据库
MCGI::Instance()->Init( ".", "conf/muip.conf.xml", true );
MCGI::Instance()->ParseReqData();
[ 本帖最后由 zjzfb 于 2009-8-20 17:47 编辑 ] |
|