在2008年的上半年我在一家电子商务公司实习,
工作内容主要是web应用的开发和维护。
期间因为工作需要,学习了HTTP1.1和servlet3.0的规范
以及Java开发的编码规范和代码风格。
同时使用Ubuntu作为本地化开发环境。
2008年7月,签约现在的公司,
工作内容主要是短信的sp业务,
使用Java开发和维护短信网关。
因为工作需要,前期主要深入学习了java多线程编程和socket编程。
独立开发了一个基于TCP协议的类似于酷狗音乐盒的应用服务端。
在TCP协议的基础上实现了基于XML的应用协议,
提供音频文件信息的检索和下载功能和简单的负载均衡功能。
后期加入了在YAHOO音乐上搜集歌曲音频文件下载信息和本地文件索引检索的功能。
这两个功能主要使用HTTPClient和Lucence实现。
在工作的前两个月,发现Java的socket封装不能很好的满足我的需求
(当时自己刚刚开始学习socket编程,不知道有些socket编程的标准模式和Linux系统的网络实现)
因此购入了《TCP/IP详解》1-3卷,
把第一卷(协议)读了一遍,
经过历史一个月的调优终于拿出现在比较稳定的应用服务器。
因为发现性能优化和Linux系统本身有很大的关系。
因此购入《深入理解计算机系统》进行深入阅读,
这本书写得很精彩,把之前学过的操作系统,计算机体系结构和
汇编语言能够很好的联系起来。
同时受Joey说软件的一篇名为《Java语言学校的危害性》文章的影响,
对我当前的技术发展进行了反思,
决定以后作一个真正的程序员。
看到Ubuntu中文社区上一篇《推荐入门书籍》的文章
http://wiki.ubuntu.org.cn/index.php?title=%E6%8E%A8%E8%8D%90%E5%85%A5%E9%97%A8%E4%B9%A6%E7%B1%8D&variant=zh-cn
并且和之前学习过Linux编程的同学取得了联系,从他那里取得了很多建议,更多的是鼓励。
10月份开始学习《C编程语言 第二版》,
(本人大一的时候曾经学过C语言,使用WinTC开发了一款DOS下的赛车游戏,
因此不是很吃力)
并且很高兴地收到了JavaEye网友的建议,把书后的习题基本上都作了一遍。
之后入手《Linux程序设计 第三版》,主要深入阅读感兴趣的章节,把里面的大多数代码都敲了一遍,熟悉了Linux的编程函数。
随即入手《Unix环境高级编程 第一版》,发现这本书讲的内容比《Linux程序设计第三版》深入很多,描述了很多为什么这样设计和实现的原理,和《深入理解计算机系统》相映成趣。
不过这本书读到一半就读不下去了。
因为自己本身的工作内容并不是Linux系统开发,因此这种学习进行下去只能是泛泛的,深入不下去。
因此我有一段时间一直感觉很苦恼。
后来,我想我就侧重Linux网络协议开发这一块吧。
我在网上下载了一些小的应用服务器的源码(源文件数不超过30个),
想看看生产环境的应用服务器是怎么设计和实现的。
不过很遗憾,自己一方面没有开发过规模比较大的c语言项目的经验,
对里面的网络协议的接口也不熟悉,因此读起来感觉头昏脑胀。
因此认为自己目前功力不够,暂时放弃。
当作拔剑茫然,心中天人相斗的时候。
我偶尔拿起了《TCP/IP详解》第三卷:TCP事务协议,HTTP,NNTP和UNIX域协议。
里面有从很简单的TCP服务器,客户端讲起,逐步实现复杂功能的例子。
不由眼前一亮,
并且《TCP/IP详解》和《Unix环境高级编程第一版》的作者都是我所尊敬的Richard Stevens先生,因此两本书很适合结合起来学习。
今天刚刚读完了《TCP/IP详解》第三卷的第一章T/TCP概述,
感觉到应该和大家一起来分享,
作为朋友和网友对我帮助的反馈,同时也向Richard Stevens先生表达我由衷的敬意。
在这里重复前人说过的一句话:兴趣是最好的老师。
分享到:
相关推荐
机器学习下的网络应用识别技术 机器学习下的网络应用识别技术是一个近年来备受关注的研究领域。随着网络应用的种类和数量的增加,如何对这些应用进行有效的识别变得越来越重要。在当前的网络应用识别技术研究中,...
总之,深层学习下的C语言教学策略应当以提升学习者的内在学习动力为出发点,通过一系列有目的的教学活动,激发学习者对C语言学习的兴趣,增强自信心,并通过实践和知识迁移的方式,使学习者能够在面对实际问题时运用...
为了实现深度学习下激起学生认知冲突的有效教学策略,教师可以采取以下几种途径: 1. 生活经验的引入。利用学生已有的生活经验与新知识进行链接,从而激发学生的学习兴趣和认知冲突。 2. 意义建构的促进。通过自主...
最后,深度学习下的课外阅读拓展策略,是教师专业指导的重要内容。教师需要全面分析教材,深入挖掘教学资源,创造性地整合课外阅读材料,为学生提供丰富的学习体验。同时,教师应充分利用课外阅读拓展,将孤立的知识...
.机器学习下的计算机网络安全管理技术探讨.docx
.机器学习下的计算机网络安全管理技术探讨.pdf
DWR 中文文档 大家来学习下把,不错的AJAX 资料
深度学习下智慧社区视频监控异常识别方法.pdf
新时代背景下,初中语文教学模式正逐步从传统的浅层学习向深度学习转变。深度学习作为一种教学理念,其核心目标是培养学习者的自主学习、知识建构和知识迁移能力,这与新时代对人才的要求相契合。深度学习鼓励学生在...
深度学习下网站验证码的破解与防范.pdf
基于ES构建的一个简单的检索式问答系统,主要用来学习下python相关的ES操作 基于ES构建的一个简单的检索式问答系统,主要用来学习下python相关的ES操作 基于ES构建的一个简单的检索式问答系统,主要用来学习下python...
钓鱼场理财类系统[源码比较古老可以下载学习下].txt
突破实验有效改进——深度学习下的初中物理实验教学有效性研究.pdf
为公务员课程学习自动点击设计的一个按键精灵程序.
指向深度学习的高中英语单元整体教学设计.pdf
针对应用传统强化学习进行城市自适应交通信号配时决策时存在维数灾难和缺乏协调机制等问题,提出引入交互协调机制的强化学习算法。以车均延误为性能指标设计了针对城市交通信号配时决策的独立Q-强化学习算法。在此...
利用压缩映射分析方法,推导出在初态学习下的开环学习律、闭环学习律、开闭环学习律的收敛性充分条件,证明了迭代学习控制系统关于初始定位误差的鲁棒收敛性.依据此收敛性条件,可确定输入学习律及初态学习律的学习增益...
介绍了近年来的主流的深度学习方法,用于解决类别不平衡问题情况下的分类问题
在强化学习中,智能体需要学习到从状态到行动的映射关系,以便在不同状态下选择合适的行动。 马尔科夫决策过程(Markov Decision Process,MDP)是强化学习的数学基础。MDP由五个元素构成:状态集(S)、一组动作...