博文

如何系统地学习Linux(转)(2007-02-13 11:51:00)

摘要: 作者:linux-fox
来自:linux知识宝库 (http://www.linuxmine.com)
现存:http://www.linuxmine.com/5723.html
联系:linuxmine#gmail.com
分类:学习方法
添加:陈绪

上一篇:Google发现的十大真理


不明白?欢迎到 linux论坛 (http://bbs.linuxmine.com) 参加讨论!

linux太难用了!(一通鼠标点击,进入/etc)
学习linux,你忘记windows的思维方式了吗?
怎么安装软件阿?那一堆文件是干什么的阿?
学习linux,你还在浮躁吗?
进入linux,随便按了几下.赶紧重启进入win
学习linux,你用心了吗?
.......
你我共勉之
linux太难用了!(一通鼠标点击,进入/etc)
学习linux,你忘记windows的思维方式了吗?
怎么安装软件阿?那一堆文件是干什么的阿?
学习linux,你还在浮躁吗?
进入linux,随便按了几下.赶紧重启进入win
学习linux,你用心了吗?
.......
你我共勉之

作者:GuCuiwen email:win2linux@163.com

版权声明:
本文档可以在网络上在非商业范围内自由转载,转载请注明出处
如果转载版面包含商业广告,请向作者支付至少每千字100园的稿费
以书面,书籍形式转载和出版请按至少每千字100园人民币的标准向作者支付稿费


首先,我想引用一下别人说过的一句话:除非在过去的十年你一直生活在山洞里,否则你一定听说过linux.

是的,现在听说过linux,会一点linux基本操作的人多如牛毛,然而真正能用linux做一点事情的确少之又少,这就造成了现在的状况:各大 linux论坛十分热闹,但我国linux人材却还十分紧缺.到底是什么原因造成了这样的状况? 纠其原因,只有两个字:浮燥!

如果在论坛里来一次调查投票,看一下在论坛里的人到底有多少人手头有一本以上的正规linux教材.......

阅读全文(1952) | 评论:0

windows编程心得 (2007-02-12 10:12:00)

摘要:windows编程心得 (1) windows操作系统是靠消息的驱动的,所有的事件都被封装为各种各样的消息,系统和其他程序通过接受消息,分析消息附带的参数,再分别进行相关的处理,然后完成相关的任务。不管用什么语言,或者什么开发工具,只要是在windows下可以运行的程序,在他的本质上都有一个接受消息、处理消息的循环。这就是win32程序乃至整个windows操作系统本身的运做本质。 windows自己定义了很多的消息,我们可以使用它,因为这是系统已经定义了的,我们甚至可以直接构造这样的消息发给系统本身,让他来为我们做点什么事情。也可以发一些消息给别的应用程序,当然你发给他的消息他可以接受并可以处理才可以,不然,结果当然是肉包子打狗,有去无回,血本无归啊~呵呵,呵呵我们甚至可以让我们自己的程序接受并且可以处理某些我们自己定义的消息(和windows已经定义了的肯定不能重复三~),然后在程序中的其他部分,比如一个子线程中,发一个这样的消息给主窗口或者其他可以接受并处理我们自己定义的这个消息的地方,然后处理他---------这其实有点象台湾的RPG游戏,比如仙剑三,人物走到某个特定的区域,就“触发”了某个事件,于是,就有怪出来和英雄们战斗啦~ 在csdn上的VC/MFC专区里面见过很多人一头雾水的问高手门类似于下面这样的问题:我用MFC画了一个XX控件,我怎么样可以把他的外观变漂亮一点啊,比如把字体变成XX字体啦,把背景颜色换成XX颜色啦,把线条变....等诸如这样的问题,这样的人,我只能说他太浮躁了,他不了解win32的消息机制,不了解在非游戏的情况下,windows界面上的各种元素是怎么样出来的。其实很简单,MFC只是对API进行了简单的封装,他处理程序的最本质还是消息,这就是你在MFC中仍然可以一大堆WM_XXXX这样和win32中定义的一样的消息了,上面说了,windows是靠消息来驱动的,你用MFC做了一个控件,你的操作很简单,因为MFC、资源脚本文件帮你隐藏了很多细节,比如GDI对象啊,画笔啊等等,MFC和资源脚本当然也不是万能的,他们也不可能知道你想用什么颜色,什么字体,什么线条。他们只是简单的按照windows默认的颜色、线条、字体来为你处理事情,所以当然没有那么好看,你想让他变好看,你就要在程序界面显示之间在程序内部给那个控件发一个它可以接受......

阅读全文(1386) | 评论:0

软件开发学习路线(2007-02-12 10:11:00)

摘要:软件开发学习路线
  
  两千多年的儒家思想孔孟之道,中庸的思想透入骨髓,既不冒进也不保守并非中庸之道,而是找寻学习软件开发的正确路线与规律。
  
  从软件开发人员的生涯规划来讲,我们可以大致分为三个阶段,软件工程师→软件设计师→架构设计师或项目管理师。不想当元帅的士兵不是好士兵,不想当架构设计师或项目管理师的程序员也不是好的程序员。我们应该努力往上走。让我们先整理一下开发应用软件需要学习的主要技术。
  
  A.基础理论知识,如操作系统、编译原理、数据结构与算法、计算机原理等,它们并非不重要。如不想成为计算机科学家的话,可以采取"用到的时候再来学"的原则。
  
  B.一门编程语言,现在基本上都是面向对象的语言,JAVA/C++/C#等等。如果做WEB开发的话还要学习HTML/JavaScript等等。
  
  C.一种方法学或者说思想,现在基本都是面向对象思想(OOA/OOD/设计模式)。由此而衍生的基于组件开发CBD/面向方面编程AOP等等。
  
  D.一种关系型数据库,ORACLE/SqlServer/DB2/MySQL等等
  
  E.一种提高生产率的IDE集成开发环境JBuilder/Eclipse/VS.NET等。
  
  F.一种UML建模工具,用ROSE/VISIO/钢笔进行建模。
  
  G.一种软件过程,RUP/XP/CMM等等,通过软件过程来组织软件开发的众多活动,使开发流程专业化规范化。当然还有其他的一些软件工程知识。
  
  H.项目管理、体系结构、框架知识。
  
  正确的路线应该是:B→C→E→F→G→H。
  
  还需要补充几点:
  
  1).对于A与C要补充的是,我们应该在实践中逐步领悟编程理论与编程思想。新技术虽然不断涌现,更新速度令人眼花燎乱雾里看花;但万变不离其宗,编程理论与编程思想的变化却很慢。掌握了编程理论与编程思想你就会有拨云见日之感。面向对象的思想在目前来讲是相当关键的,是强势技术之一,在上面需要多投入时间,给你的回报也会让你惊喜。
  
  2).对于数据库来说是独立学习的,这个时机就由你来决定吧。
  
......

阅读全文(1167) | 评论:0

C语言面试题汇总(2007-02-12 10:08:00)

摘要: C语言面试题汇总 1、局部变量能否和全局变量重名?

  答:能,局部会屏蔽全局。要用全局变量,需要使用"::"

  局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。

  2、如何引用一个已经定义过的全局变量?

  答:extern

  可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。

  3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?

  答:可以,在不同的C文件中以static形式来声明同名全局变量。

  可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错

  4、语句for( ;1 ;)有什么问题?它是什么意思?

  答:和while(1)相同。

  5、do……while和while……do有什么区别?

  答:前一个循环一遍再判断,后一个判断以后再循环

  6、请写出下列代码的输出内容

  #include<stdio.h>
  main()
  {
   int a,b,c,d;
   a=10;
   b=a++;
   c=++a;
   d=10*a++;
   printf("b,c,d:%d,%d,%d",b,c,d);
   return 0;
  }

  答:10,12,120   7、static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?

  全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局......

阅读全文(1332) | 评论:0

C 语言吧·问题资料大全(2007-02-12 10:05:00)

摘要:C 语言吧·问题资料大全
  ★本吧推荐的几个C编译器:http://post.baidu.com/f?kz=2769360
◆本吧代码格式编辑器:http://post.baidu.com/f?kz=9364381
◆二进制文件与文本文件的转换:http://post.baidu.com/f?kz=21576218
◆本吧代码中显示?:http://post.baidu.com/f?kz=5054984
◆C/C++ 编译器评测及下载:http://post.baidu.com/f?kz=13392270 ★★★Turbo C 2.0 设置详细●图解●,
所有用tc产生的问题先来看这个:
http://www.frontfree.net/view/article_275.html
http://post.baidu.com/f?kz=5121327
◆tc2.0下载地址: http://www.programfan.com/down/turboc2.zip
http://www.onlinedown.net/soft/28672.htm
◆tc头文件打不开:http://post.baidu.com/f?kz=2977192
◆怎么把TC的窗口最大化:http://post.baidu.com/f?kz=6179872
◆Turbo C 2.0 函数大全: http://post.baidu.com/f?kz=3085788
◆C语言教程:http://www.72up.com/c.htm
◆C 程序设计读书笔记:http://post.baidu.com/f?kz=4737905
◆TC2.01/TC3.0下载:http://post.baidu.com/f?kz=25666150
◆谭C程序设计(第二版)下载:http://post.baidu.com/f?kz=14275061 ◆搜索答案与提问的秘诀:http://post.baidu.com/f?kz=6602487
◆C 语言学习看什么书:http://post.baidu.com/f?kz=5728013
◆如何学好c语言:http://post.ba......

阅读全文(2087) | 评论:0

如何用正确的方法写出高质量软件(2007-02-12 10:00:00)

摘要:如何用正确的方法写出高质量软件
  1. 你们的项目组使用源代码管理工具了么?
MVM:应该用。VSS、CVS、PVCS、ClearCase、CCC/Harvest、FireFly都可以。我的选择是VSS。 2. 你们的项目组使用缺陷管理系统了么?
MVM:应该用。ClearQuest太复杂,我的推荐是BugZilla。 3. 你们的测试组还在用Word写测试用例么?
MVM:不要用Word写测试用例(Test Case)。应该用一个专门的系统,可以是Test Manager,也可以是自己开发一个ASP.NET的小网站。主要目的是Track和Browse。 4. 你们的项目组有没有建立一个门户网站?
MVM:要有一个门户网站,用来放Contact Info、Baselined Schedule、News等等。推荐Sharepoint Portal Server 2003来实现,15分钟就搞定。买不起SPS 2003可以用WSS (Windows Sharepoint Service)。 5. 你们的项目组用了你能买到最好的工具么?
MVM:应该用尽量好的工具来工作。比如,应该用VS.NET而不是Notepad来写C#。用Notepad写程序多半只是一种炫耀。但也要考虑到经费,所以说是“你能买到最好的”。 6. 你们的程序员工作在安静的环境里么?
MVM:需要安静环境。这点极端重要,而且要保证每个人的空间大于一定面积。 7. 你们的员工每个人都有一部电话么?
MVM:需要每人一部电话。而且电话最好是带留言功能的。当然,上这么一套带留言电话系统开销不小。不过至少每人一部电话要有,千万别搞得经常有人站起来喊:“某某某电话”。《人件》里面就强烈谴责这种做法。 8. 你们每个人都知道出了问题应该找谁么?
MVM:应该知道。任何一个Feature至少都应该有一个Owner,当然,Owner可以继续Dispatch给其他人。 9. 你遇到过有人说“我以为…”么?
MVM:要消灭“我以为”。Never assume anything。 10. 你们的项目组中所有的人都坐在一起么?
MVM:需要。我反对Virtual Team,也反对Dev在美国、Test在中国这......

阅读全文(1139) | 评论:0

C语言编程习惯(2007-01-27 17:16:00)

摘要: C语言编程习惯 初学C语言,老师就在我面前多次强调良好的编程习惯的重要性.现在我就C语言的编程习惯做个小小的总结,希望大家能给予补充和订正.        一,换行要勤快.以"  ;   "(分号)为单位,一段程序占一行,千万不要为了节省空间或懒得动下指头.因为这对你的程序很重要.         二,花括号要一一对应.最好一对相应花括号上下对齐,当你回头检查你的程序的时候,你回发现这样做省了你很多工夫.        三,善于使用Tab"缩进".缩进的大小是为了清楚的定义一个块的开始和结束.特别是当你已经在计算机前面呆了20多个小时了以后,你会发现一个大的缩进格式使得你对程序的理解更容易.         四,定义函数要简明.定义的函数复杂了,你之后要把这长长的函数写上N遍,麻烦啊,这是多么痛苦的事啊,读者看多了也未免眼花.简明点,大家都舒心.        五,善于调节.编码是枯燥的,当你深陷这个枯燥的过程,走不出死胡同的时候,你不要轻易地删除前面的"心血",你应该停一下,眠一口咖啡或浓茶,揉揉太阳穴,闭目养神片刻.说不定,一会就会"柳暗花明又一村".清醒的头脑对编程太重要了.        六,调试程序有技巧.1根据调试后的提示准确地找出语法上的错误.2将自己的思想重新梳理一偏,看是否自己的表达方式错误.3使用//或/*   */将你认为有错误的地方注释掉,再调试一偏.

......

阅读全文(1756) | 评论:0

成为编程高手的八大奥秘 (2007-01-27 17:14:00)

摘要:成为编程高手的八大奥秘 
   
     转摘于:《中国电脑教育报》   
    
    不知不觉做软件已经做了十年,有成功的喜悦,也有失败的痛苦,但总不敢称自己是高手,因为和我心目中真正的高手们比起来,还差得太远。世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。 


    1、扎实的基础 

  数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握它们,很难写出高水平的程序。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。因此多读一些计算机基础理论方面的书籍是非常有必要的。 

  2、丰富的想像力 

  不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想像力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。开阔的思维对程序员来说很重要。 

  3、最简单的是最好的 

  这也许是所有科学都遵循的一条准则,复杂的质能转换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。 

  4、不钻牛角尖 

  当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。 

  5、对答案的渴求 

阅读全文(1203) | 评论:0

成为编程高手的二十二条军规(2007-01-27 17:14:00)

摘要:成为编程高手的二十二条军规

    作者:Froth  
  1.大学生活丰富多彩,会令你一生都难忘,但难忘有很多种,你可以学了很多东西而难忘,也会因为什么都没学到而难忘!

  2.计算机专业是一个很枯燥的专业,但即来之、则安之,只要你努力学,也会发现其中的乐趣的。

  3.记住:万丈高楼平地起!基础很重要,尤其是专业基础课,只有打好基础才能学得更深。

  4.C语言是基础,很重要,如果你不学好C语言,那么什么高级语言你都学不好。

  5.C语言与C++语言是两回事。就像大熊猫和小熊猫一样,只是名字很像。

  6.请先学习专业课《数据结构》、《计算机组成原理》,不要刚开始就拿着一本VC在看,你连面向对象都搞不清楚,看VC没有任何用处。

  7.对编程有一定的认识后,就可以学习C++了。(是C++而不是VC,这两个也是两码事。C++是一门语言,而VC教程则是讲解如何使用MFC

类库,学习VC应建立在充分了解C++的基础之上。看VC的书,是学不了C++语言的。)

  8.学习编程的秘诀是:编程,编程,再编程;

  9.认真学习每一门专业课,那是你今后的饭碗。

  10.在学校的实验室就算你做错一万次程序都不会有人骂你,如果在公司你试试看!所以多去实验室上机,现在错得多了,毕业后就错得少

了。

  11.从现在开始,在写程序时就要养成良好的习惯。

  12.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路。

  13.你会买好多参考书,那么请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码。

  14.VC、C#、.NET这些东西都会过时,不会过时的是数据结构和优秀的算法!

  15.记住:书到用时方恨少。不要让这种事发生在你身上,在学校你有充足的时间和条件读书,多读书,如果有条件多读原版书,你要知道

,当一个翻译者翻译一本书时,他会不知不觉把他的理念写进书中,那本书就会变得像鸡肋!

  16.我还是强调认真听专业课,因为有些......

阅读全文(1052) | 评论:0

C语言程序设计入门学习六步曲(2007-01-27 17:13:00)

摘要:C语言程序设计入门学习六步曲 初学者遇到最多的困惑是:上课也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手。发生这种现象的原因有三个:
    一、所谓的看懂听明白,只是很肤浅的语法知识,而我们编写的程序或软件是要根据要解决问题的实际需要控制程序的流程,如果你没有深刻地理解C语言的语句的执行过程(或流程),你怎么会编写程序解决这些实际问题呢?
    二、用C语言编程解决实际问题,所需要的不仅仅是C语言的编程知识,还需要相关的专业知识。例如,如果你不知道长方形的面积公式,即使C语言学得再好你也编不出求长方形的面积的程序来。
    三、C语言程序设计是一门实践性很强的课程,“纸上谈兵”式的光学不练是学不好C语言的。例如,大家都看过精彩自行车杂技表演,假如,你从来没有骑过自行车,光听教练讲解相关的知识、规则、技巧,不要说上台表演、就是上路你恐怕都不行。
   
    
    出现问题原因清楚了,那么如何学习呢?请你看【C语言学习六步曲】  
    特别提醒:在使用本方法之前一定要先阅读C语言的相关内容,要初步掌握相关知识的要点,然后按下述方法学习,可以达到理解、巩固、提高C语言知识和提高程序调式能力的目的。

    
    第一步、验证性练习 

    在这一步要求按照教材上的程序实例进行原样输入,运行一下程序是否正确。在这一步基本掌握C语言编程软件的使用方法(包括新建、打开、保存、关闭C程序,熟练地输入、编辑C程序;初步记忆新学章节的知识点、养成良好的C语言编程风格)。 单击此处查看【C语言的编程风格】

    
    使用《Turbo......

阅读全文(1448) | 评论:0