Make a Donation
1、编程语言:
a) 个人感觉看着习惯、用着顺手很重要(当然也与对应的工作职位有关);
b) 要想操作下面提到的"一个操作系统"(默认Unix/Linux),脚本语言非常有必要,推荐Bash,包括《sed&awk》,一行shell可以搞定的,也不需要十几行C/C++/Java;
c) 要想深入学习并理解"一个操作系统",这时C是必须的,推荐K&R的;另外还有一个简单易懂的:《How to Think Like a Computer Scientist - C Version》
d) 觉得可以按个人兴趣和工作岗位对应一下,如果以后台开发为主,则C++/Java;如果以前台为主,则Python/Perl/PHP;如果SA/DBA,则Perl/Python;如果数据处理/统计分析/金融/生物,可以考虑Perl/C++;
e) 这里要单独提一下"正则表达式",可以做为一种工作生活技能,最好可以掌握——《精通正则表达式》(Mastering Regular Expressions 3rd)
f) 实际工作中,很可能会遇到数据前台展示的情况,Web方面的东西可能在语言学习过程中会被忽略掉。就像前面同学提到的,可以从LAMMP入手,自己搭建起一个环境,然后使用些框架或模板,随便折腾,边学边实践,直接可以看到可视化的效果,对新人来说,是个不错的开始;相关资源推荐:http://coolshell.cn/articles/4795.html
g) 对于纯粹的初学者,可以考虑多接触下Python,入门易、风格佳~~MIT原来用scheme授课的都换成python了,facebook/google都在使用了……推荐《Python核心编程》;
h) 关于编程理论方面,推荐《程序设计方法》《计算机程序设计与解释》
——以上言论,只是个人工作感悟,不涉及各个语言优劣哈~~
2、操作系统:
a) 严重推荐一本打基础的书籍:《深入理解计算机系统》(Computer Systems - A Programmers Perspective)
b) 对于Linux/Unix不太熟悉的新人,《鸟哥的私房菜》系列,用来入门,是个不错的开始,主页是:http://linux.vbird.org
c) 入门后,进阶可以看:《Unix环境高级编程》
d) 网络编程方面,推荐:《Unix网络编程》(第1卷)
——其他的没有深入看过,道听途说的就不推荐了。
3、数据库:
a) Mysql做为LAMMP中的第一个M,因其开源以及易用性,在IT/互联网公司使用最为广泛。在应用实践方面推荐:《深入浅出Mysql》
b) 实践:《Apache+MySQL+memcached+Perl开发高速开源网站》、《PHP和MySQL Web开发》
c) Oracle:《Database Concepts》、Thomas Kyte的《Expert One on One: Oracle》,中译本为《Oracle专家高级编程》
c) 在海量数据处理方面,以Hadoop为代表的NOSQL至少需要了解下:《Hadoop权威指南》
4、数据结构:
a) 《离散数学及其应用》(Discrete Mathematics and its Applications)
b) 《算法导论》(Introduction to Algorithm)
c) 《C算法 第一卷:基础、数据结构、排序和搜索》(Algorithms In C:Part 1-4 Fundamentals,data structures,sorting,searching)
——只折腾过很水的数学建模,这些书零散看过一些,只能说,对算法大牛无限膜拜~~~
5、附上一些经典的视频资源:
UCB所有学期的所有有录像或者录音的课程的录像和录音都在这里
http://webcast.berkeley.edu
UCB的CS课和EE课的所有课程的资源列表,能够有的都有了
http://inst.eecs.berkeley.edu/classes-eecs.html
UCB的CS课和EE课的测验和考试的官方题库(这个比较少人知道吧),部分含solution。有兴趣的同学可以做一做……
http://hkn.eecs.berkeley.edu/exam/browse/
斯坦福大学的“Stanford Engineering Everywhere ”免费提供学校里最受欢迎的工科课程
http://see.stanford.edu/default.aspx
1、编程语言:
a) 个人感觉看着习惯、用着顺手很重要(当然也与对应的工作职位有关);
b) 要想操作下面提到的"一个操作系统"(默认Unix/Linux),脚本语言非常有必要,推荐Bash,包括《sed&awk》,一行shell可以搞定的,也不需要十几行C/C++/Java;
c) 要想深入学习并理解"一个操作系统",这时C是必须的,推荐K&R的;另外还有一个简单易懂的:《How to Think Like a Computer Scientist - C Version》
d) 觉得可以按个人兴趣和工作岗位对应一下,如果以后台开发为主,则C++/Java;如果以前台为主,则Python/Perl/PHP;如果SA/DBA,则Perl/Python;如果数据处理/统计分析/金融/生物,可以考虑Perl/C++;
e) 这里要单独提一下"正则表达式",可以做为一种工作生活技能,最好可以掌握——《精通正则表达式》(Mastering Regular Expressions 3rd)
f) 实际工作中,很可能会遇到数据前台展示的情况,Web方面的东西可能在语言学习过程中会被忽略掉。就像前面同学提到的,可以从LAMMP入手,自己搭建起一个环境,然后使用些框架或模板,随便折腾,边学边实践,直接可以看到可视化的效果,对新人来说,是个不错的开始;相关资源推荐:http://coolshell.cn/articles/4795.html
g) 对于纯粹的初学者,可以考虑多接触下Python,入门易、风格佳~~MIT原来用scheme授课的都换成python了,facebook/google都在使用了……推荐《Python核心编程》;
h) 关于编程理论方面,推荐《程序设计方法》《计算机程序设计与解释》
——以上言论,只是个人工作感悟,不涉及各个语言优劣哈~~
2、操作系统:
a) 严重推荐一本打基础的书籍:《深入理解计算机系统》(Computer Systems - A Programmers Perspective)
b) 对于Linux/Unix不太熟悉的新人,《鸟哥的私房菜》系列,用来入门,是个不错的开始,主页是:http://linux.vbird.org
c) 入门后,进阶可以看:《Unix环境高级编程》
d) 网络编程方面,推荐:《Unix网络编程》(第1卷)
——其他的没有深入看过,道听途说的就不推荐了。
3、数据库:
a) Mysql做为LAMMP中的第一个M,因其开源以及易用性,在IT/互联网公司使用最为广泛。在应用实践方面推荐:《深入浅出Mysql》
b) 实践:《Apache+MySQL+memcached+Perl开发高速开源网站》、《PHP和MySQL Web开发》
c) Oracle:《Database Concepts》、Thomas Kyte的《Expert One on One: Oracle》,中译本为《Oracle专家高级编程》
c) 在海量数据处理方面,以Hadoop为代表的NOSQL至少需要了解下:《Hadoop权威指南》
4、数据结构:
a) 《离散数学及其应用》(Discrete Mathematics and its Applications)
b) 《算法导论》(Introduction to Algorithm)
c) 《C算法 第一卷:基础、数据结构、排序和搜索》(Algorithms In C:Part 1-4 Fundamentals,data structures,sorting,searching)
——只折腾过很水的数学建模,这些书零散看过一些,只能说,对算法大牛无限膜拜~~~
5、附上一些经典的视频资源:
UCB所有学期的所有有录像或者录音的课程的录像和录音都在这里
http://webcast.berkeley.edu
UCB的CS课和EE课的所有课程的资源列表,能够有的都有了
http://inst.eecs.berkeley.edu/classes-eecs.html
UCB的CS课和EE课的测验和考试的官方题库(这个比较少人知道吧),部分含solution。有兴趣的同学可以做一做……
http://hkn.eecs.berkeley.edu/exam/browse/
斯坦福大学的“Stanford Engineering Everywhere ”免费提供学校里最受欢迎的工科课程
http://see.stanford.edu/default.aspx
Comments
Post a Comment
https://gengwg.blogspot.com/