Skip to main content
Make a Donation
FatWallet Coupons and Deals

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

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...