NO.2、全部Linux平台 开发环境最接近真实的企业开发环境
NO.3、为云计算提供直接的 知识积累
NO.4、全新案例教学,自己 编写不少于9个实际项目
NO.5、高强度授课,全部项 目型教学,每个环节都有案例,全程计算机教学



UDA高级UNIX/Linux服务器开发架构师
----项目案例
■实际项目1:自助点菜系统
很多学C的初学者总是抱 怨"我已经学会C语言了,可是为什么还是什么都写不出来呢?" 这个项目就会给你一个完整的答案!我们仅仅利用前面学过的标准I/O技术(相当于"谭C"),构造一个实际的应用程序。看看我们与实际程序之间相距多远。
项目描述:本项目的 目标是实现一个基于WEB的自助点菜系统,系统具备与网内应用服务器提取菜单信息以及将客户点菜信息发往服务器的功能。
要求:
.WEB界面
.数据库访问
.支持点菜、退菜、帐单结算
说明:
增进对Apache WEB服务体系的理解
设计并实现一个真实而完整的WEB应用程序,涉及到 数据库访问、HTTP协议、标准I/O库、CGI等编程技术。
强化对标准I/O库的理解,强化Browser/Server软件架构的理解。
■实际项目2:自己写一个UNIX文件复制程序
复制文件这件事情说起来简单,做起来是另一回事!你可以用含空洞的文件仔细测试 一下系统内置cp的行为,你会发现不是那么简单。我们在这里就要模仿一个coreutil中的cp命令。
项目描述:可靠地实 现一个系统基本命令cp。
.要求:
.可靠
.设备无关
.命令行参数解析
.支持文件空洞
说明:
实现一个真实的console应用程序,涉及到对各种IO异常的预见和处 理、命令行参数的解析、各种类型文件的处理。强化对系统I/O的理解、强化对目录访问。
■实际项目3:自己写一个文件操作的命令
项目描述:可靠地实现一个系统基本命令
要求:
.可靠
.设备无关
.命令行参数解析
.支持颜色显示
说明:
实现一个真实的console应用程序,涉及到stat(2)、命令行 参数解析、目录访问、ANSI终端规程。强化对stat(2)系统调用的理解。
■实际项目4:高效数据中继引擎
项目描述:可靠地实 现一个通用描述符对数据中继引擎,这是一个经常用于高密度服务(如网游、中间件等)的算法。
要求:
.可靠
.灵活适应各种流程
.使用epoll(2)
.支持至少4000对套接字、管 道或终端描述符间并发操作
.封装成动态库模块
说明:
实现一个对大量文件描述符对进行数据中继的模块,利用epoll实现。强化对select(2)、poll(2)、epoll(2)(LT与ET)、aio_*系统调用的 理解。掌握实现类似功能时的一般设计思路,推广后实现任意协议的有限状态机编码。
■实际项目5:自己动手写一个命令解释器(shell)
项目描述:本项目的目标是实现一个交互式shell程序。
要求:
.简单可靠
.支持环境变量
.支持基本的内部命令
.支持IO重定向
说明:
设计并实现一个交互式shell,设计进程环 境、进程控制、系统IO操作。强化对多进程编程的理解以及对标准shell的理解。
■实际项目6:UNIX任意定时器
有人在BBS上发过牢 骚,说UNIX给每个进程设计一个定时器太少了,复杂的定时不够用...这是一个不求甚解的观点,用一个时钟当然可以实现任意多个定时器。
项目描述:本项目的 目标是利用进程的单一定时器实现任意多定时操作
要求:
.简单可靠
.支持至少1024个定时作业
.定时器精度在0.1秒內
.封装成动态库模块
说明:
设计并实现一个任意定时器,具有很高的实践意义,很多应用程序中都有这个要求。 涉及到信号操作、数据结构的使用。强化信号的使用技巧。
■实际项目 7:利用多线程技术重写:高效数据中继引擎
■实际项目 8:利用多线程技术重写:UNIX任意定时器
■实际项目9:数字媒体广播系统
要求:
.C/S结构
.基于IPv4多播实现
.支持至少256个节目频道
.具有基本的用户验证功能
.客户端界面与功能高度分离,以便采用不同语言开发
.开环式流控
.认证流程加密传输(采用SSL或者其他方案)
.方便的频道内容管理 策略
说明:
设计并实现一个真实和完整的Client/Server软件系统,可基于LAN(或VLAN、MBone)实施的数字音频广播系统,涉及到流式和报式网络套接字通讯、MP3解码、插件化设计 方法以及存储系统设计编程技术。带领大家建立起团队开发和协同工作的企业项目开发模式的概念和流程,强化学员对 编写项目概要设计文档和详细设计文档的理解,为就业前的职业技能和素质训练做好充分准备。