Chinaunix首页 | 论坛 | 博客
  • 博客访问: 109829
  • 博文数量: 9
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 110
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-21 19:59
文章存档

2010年(4)

2009年(5)

我的朋友

分类: LINUX

2010-03-15 13:58:33

    两年半研究生生活中,我做了一些电子和纸质笔记,因为快找工作了,打算把它们整理出来,一来巩固自己的基础,而来为广大网友提供些素材。
    本系列读书笔记标题形式为:“疑问&心得&体会(文章编号)——文章内容的标题”,下面是最近我和一朋友聊linux系统编程和网络编程的一些聊天记录,摘录出来和大家分享下(相信我的朋友来容许我擅自转帖我们的聊天记录)。
  
回复张良 9:31:41
咋搞linux
回复张良 9:31:46
我菜鸟得狠
回复PLP 9:32:06
你现在会不会用linux?
回复张良 9:32:34
不咋会,基本命令就会几个
回复PLP 9:33:57
1、首先,熟悉linux下命令和工具,装个机器万网
2、然后熟悉linux下的编程环境,编几个程序玩玩
3、再者,多看些源代码,仿照着写几个
4、最主要的,是把你相关领域的主要书籍好好看看,再实践下,就相当不错了。
 
回复PLP 9:36:13
装个机器玩玩
回复张良 9:36:21
装了虚拟机
回复张良 9:36:52
对了,你linux下的编译环境是啥?
回复张良 9:37:02
介绍个好点的吧
回复PLP 9:38:16
编程环境:主要是工具,linux下用gcc就够了,大不了再搞个ide(集成开发环境,像vc一样可以界面操
作)
回复张良 9:38:45
听说有个Eclipse?
回复PLP 9:38:59
linux下用gcc,编译工程时弄下makefile
 
回复PLP 9:39:11
那个没用过,网上说这个的很多。
回复张良 9:40:03
我发现计算机专业的反而不怎么搞linux
9:40:29
成功发送文件“【推荐】计算机经典书籍推荐.doc”(79.00KB)。
   
 
9:40:34
成功发送文件“【推荐】计算机科学类书籍.doc”(86.00KB)。
   
 
回复PLP 9:40:40
那是,计算机很多都在windows下开发,搞什么虚拟化啊,搞什么p2p ------->注我们是电子信息方向的
回复张良 9:40:58
抢咱饭碗是吧。。
回复PLP 9:41:11
,但是他们开发软件还是参考了linux下很多源码
 
回复PLP 9:41:23
多看些经典书,照着练。
回复PLP 9:41:43
那你现在的任务的核心技术是什么?
回复张良 9:42:09
未知,但是要在linux下实现一个数据链路层的协议
回复张良 9:42:14
空间链路协议
回复PLP 9:51:05
linux下的经典书,都是国外的
i)系统编程:steven的unix环境高级编程、linux程序设计
ii)驱动开发:linux驱动开发
iii)网络编程:看steven的unix网络编程第一卷,c++可以熟悉下道格拉斯的ACE编程,道格拉斯的
tcp/ip网际互联第三卷
iv)再深入,可以看下内核,lrobert love的 linux内核设计与实现linux情景分析(国内的)
v)编程书,看c++ primer,c程序设计就差不多了,中文国内的推荐钱能的书(有第二版了。)
vi)网络基础书:steven的tcp/ip详解第一卷,道格拉斯的tcp/ip网际互联第一卷
先找个中文的通俗教材,看完了再照着上面练。
 
回复PLP 9:46:35
这些都是工具了,最关键的是你专业相关的东西,空间链路层协议,听上去太牛b了
回复张良 9:47:05
。。。都是别人规定好了,然后去实现,就好像中国的制造业
回复张良 9:47:07
有啥用
回复张良 9:47:14
除了会用点工具
回复PLP 9:47:23
你也不做研究??
回复张良 9:47:40
研究数据链路层的协议?
回复张良 9:47:47
而且是空间的
回复张良 9:48:05
自认为没这本事,而且也不想搞
回复张良 9:48:08
没钱途

回复张良 9:51:30
C++primer今年前有望结束
回复张良 9:51:41
学得太慢,总在上课
回复PLP 9:51:44
看了这上面的一部分,你自己就知道找什么看了。
回复PLP 9:51:51
牛b
回复PLP 9:52:00
我还没怎么看过,太厚了。
回复张良 9:52:45
牛啥啊,才看基础,接着是如何用库函数,然后是编程之美之类的进阶书籍
9:52:52
成功发送文件“跟我一起写Makefile.rar”(903.00KB)。
   
回复PLP 9:56:09
unix环境高级编 网络书籍
9:56:14
成功发送文件“UNIX网络编程第一卷(第三版)英文版.rar”
良 9:57:27
进百度很好
回复PLP 9:57:44
可以进搜索算法部门。
回复张良 9:57:56
我还定了本算法导论呢,然后打算去研究下,搞下ACM
回复PLP 9:58:34
百度也要搞网络编程的,要求对协议栈比较清楚,还有并发编程的(多线程)
回复张良 9:58:56
网络编程对算法有要求么
回复PLP 9:59:00
反正之后你自己订个方向,到研二时。
回复PLP 9:59:15
很多对算法要求不高,都是现成的,
回复张良 9:59:35
哦,那我不是白买了本,如果网络编程的话
9:59:48
成功发送文件“Unix网络编程实用技术与实例分析.pdf”(11.40MB)。
    。。
回复张良 10:00:23
嗯,这边研二都出去实习的
回复张良 10:00:33
所以方向关系不大
回复张良 10:00:48
而且时间过得太快
回复PLP 10:00:52
嗯,好的,我要工作了。
回复PLP 10:01:14
研二就实习,很爽。
老P,现在看APUE发现这系统编程的,搞不好就到写驱动上去啦
日期:2010-2-26
回复张良 19:30:17
老P,我是张良,有空找你交流下linux~~
日期:2010-3-10
回复张良 21:05:34
老P在不在
日期:2010-3-11
回复PLP 9:11:37
现在在
回复张良 9:21:40
才看到
回复张良 9:21:51
你是写啥的,驱动程序?
回复PLP 9:22:34
没写驱动了,驱动做过,系统编程为主,现在打算做到ap上
回复PLP 9:22:47
桌面式的ap
回复张良 9:22:53
ap是?
回复PLP 9:23:00
application
回复张良 9:23:22
嗯,那你做的这些还挺有用的
回复PLP 9:23:24
你进展如何
回复PLP 9:23:47
勉强,不过没时间搞了,快找工作了。
回复张良 9:24:01
apue粗略看完,UNIX网络编程看了一小半,都还没来得及将代码码一遍
回复张良 9:24:10
=效果不咋滴
回复张良 9:24:59
这边研一以上课为主,项目方面没啥进展,不过暑假就要初步做完,年底结题
回复PLP 9:25:25
累累代码,你看的东西不少了,真要把这两本书看完,应该很强了
回复PLP 9:26:02
其实一般的小程序没几行代码,大程序都是在别人现成的库、模块上搭建的
回复PLP 9:26:17
而实验室大程序小
回复张良 9:26:44
apue的代码有一些看得熟,前一阵子专搞LINUX下的C函数
回复张良 9:27:07
所以对APUE上的代码除最后两章都觉得还行
回复张良 9:27:37
你做系统编程的应该会用到APUE上的许多东东吧
回复PLP 9:27:47
apue上所讲的在一个系统的关键阶段,如扫除bug、提高性能等是很有作用的
 
回复PLP 9:28:15
而这些关键阶段是一个东西从demo到product的key points
回复PLP 9:29:45
你做着做着就知道了,一般情况下一堆垃圾代码也能垒出你想要的功能,但要做好做得比别人好,就要在
系统、架构、策略方面下功夫
回复张良 9:29:52
我们讲LINUX下的编程,如果不用到APUE上的些函数,那还叫LINUX下的编程么
回复张良 9:30:26
那是,APUE最后两章的代码觉得非常牛逼啊
回复PLP 9:31:11
呵呵,会用到,但大部分人都style不好,要么不注意error 容错,要么对某些race condition等处理不
好,
回复PLP 9:31:19
但这些都是一个 成熟系统的关键
回复PLP 9:31:32
呵呵,linux下开源代码多,找些看看,
回复PLP 9:31:54
像ping、端口扫描等都有源码的
回复PLP 9:32:09
建议先自己也动下手,感受会更深
回复张良 9:32:11
还有,你如何看待项目?
回复PLP 9:32:23
什么项目?
回复张良 9:32:25
就是项目对于找工作而言
回复张良 9:32:31
一般意义上的
回复PLP 9:33:17
我觉得有一至两个特别是两个项目经历为好,我讲的主要是那种打工仔的项目
回复PLP 9:33:26
都是我个人看法啊
回复张良 9:34:20
我还没真正做完一个项目,你觉得我的观点如何》--1、项目是什么? 2、如何做这个项目
回复PLP 9:35:05
做做项目能让你有点系统观,加深理论的理解,提前进入工作角色,以后更利于适应
但如果打工仔项目做得太多,那是囫囵吞枣,必然使你遇到大项目手足无措,难以调控
回复张良 9:35:21
现在实验室做的些项目名义上很好听的,什么载人航天的远程医疗、高清电视、可视电话啊,都是组装的
回复张良 9:35:26
买现成的产品
回复PLP 9:35:34
打工仔项目只赶时间
回复PLP 9:35:41
嗯,
回复PLP 9:35:51
自己做了些什么呢?
回复PLP 9:36:28
其实中国现状就是这样吧
中国的创新就是组装创新,而不是发明、源头创新
回复张良 9:36:40
山寨嘛
回复PLP 9:36:58
我们这边的垃圾产品还不是市场很好,卖给公安局之类的。
回复PLP 9:37:19
净利润都五千万左右了。
 
回复张良 9:37:27
这么叼
回复张良 9:37:38
靠,每个月给你多少
回复PLP 9:37:45
赚政府的钱,
回复PLP 9:37:54
就吃餐饭,报销10块钱啊。
回复张良 9:38:03
 
回复PLP 9:38:18
500是学校给的,
回复张良 9:38:26
上学期没把课程当回事,所以还看了些东东,实验室要我做的是一个空间链路层的编程,指导我的老师和
博士一直让我看协议,上学期顶着压力看APUE和UNIX网络编程
回复PLP 9:38:31
如果学校的没争取到,公司给你
回复张良 9:38:38
╮(╯▽╰)╭
回复PLP 9:39:23
我觉得编程还是工具,当然这些工具要掌握好,比较难,多去解决实际问题吧
回复张良 9:39:34
我们讲LINUX下的编程,如果不用到APUE上的些函数,那还叫LINUX下的编程么
回复PLP 9:40:15
linux下编程如果偏底层是可以用到的。
回复PLP 9:45:40
但一般情况下:
1、要实现一个大点的东西,我们都会利用现成的平台,web用java,强一点的服务器开发用ace等中间件
,这些平台一般都对apue上提到的系统调用、C库、Posix子集进行了封装,所以你一般是用到他们的封装
版本
2、如果你实践了apue、unp等上的东西,这会加速你对这些平台提供的api的理解,这些封装api的封装主
要是为了更方便、更安全
3、但同时这些封装的api灵活性、性能必然打了一点折扣,当它不能满足你的性能等时,你可能就会用
apue书上的原生函数实现关键部分了
4、说到底,apue等书上讲的直接在linux 平台开发,而其他ace等讲的是更上层一点的平台上的开发,原
理是相通的
回复张良 9:47:46
那如果嵌入式开发肯定和APUE联系很大了吧
回复PLP 9:47:52
在我们公司也存在这样一种情况就是:深一点的技术被鄙视,他们的目标是尽快推出产品,但我们是学生
,应该系统地学习一些东西:如看apue、unp等书,并且积极参与项目实践
还是多实践吧,我还后悔实践过少
 
回复PLP 9:48:08
也不一定,这种情况在嵌入式平台也存在
回复PLP 9:48:46
嵌入式开发写驱动,写内核模块它直接用的更底层的内核接口
回复PLP 9:49:09
而开发应用,如wap手机等,他们还是用现成的轻量级平台
回复张良 9:49:32
嗯,你在公司好啊,我想去公司只能去实习,你完全相当于实习了两年,很划算啊
回复PLP 9:49:38
大平台为了争夺小平台的市场,往往会推出嵌入式版本
回复PLP 9:51:27
嵌入式两大部分:一部分是工控等,对应用程序等要求不高,关键就是内核和apue级的东西了
另一部分是消费电子类,对应用程序要求高,如手机等,就会利用大平台开发
但要在性能、如响应速度上改善,还是要回到内核和apue级
 
回复PLP 9:51:46
好了,我要工作了,以后再交流讨论
回复张良 9:51:57
好,bye
阅读(947) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-04-01 17:09:03

像个流水账,很多废话,研究生连这点总结概括的能力都不足吗?还是真的去搞研究没时间整理了。