linuxc程序员进阶

2022-09-21 版权声明 我要投稿

第1篇:linuxc程序员进阶

程序员入门进阶手册

这篇文章,我主要是让你成为更为专业的入门程序员。请注意,此时,你可能需要读一些比较枯燥的书,但我想说,这些是非常非常重要的。你一定要坚持住。

编程技能

在系统地学习编程技能之前,我希望你能先看一下 " The Key To Accelerating Your Coding Skills", 这篇文章会告诉你如何有效地快速提高自己的编程能力。 然后接下来是下面几大块内容,但还只是入门级的。

编程技巧方面这个阶段,你可以开始了解一下 Java 语言了,我个人觉得 Java 是世界上目前为止综合排名最好的语言。你一定要学好这门语言。推荐《Java 核心技术(卷 1)》,除了让你了解 Java 的语法,它还会让你了解面向对象编程是个什么概念(如果你觉得这本书有点深,那么,你可以降低难度看更为基础的《Head First Java》)。然后,既然开始学习 Java 了,那就一定要学 Spring,推荐看看《Spring in Action》或是直接从最新的 Spring Boot 开始,推荐看看《Spring Boot 实战》。关于 Spring 的这两本书,里面可能会有很多你从来没有听说过的东西,比如,IoC 和 AOP 之类的东西,能看懂多少就看懂多少,没事儿。

操作系统。这里你可以看看《鸟哥的 Linux 私房菜》,这本书会让你对计算机和操作系统,以及 Linux 有一个非常全面的了解,并能够管理或是操作好一个 Linux 系统。当然,这本书有很多比较专业的知识,你可能会看不懂,没关系,就暂时略过就好了。这本书的确并不适合初学者,你能看多少就看多少吧。

网络协议你需要系统地了解一下数据库设计中的那些东西,这里推荐慕课网的一个在线课程 --"数据库设计的那些事"。每个小课程不过 5-6 分钟,全部不到 2 个小时,我相信你一定能跟下来。你需要搞清楚数据的那几个范式,还有 SQL 语句的一些用法。当然,你还要学习和使用一下数据库,这里推荐学习开源的 MySQL。你可以看官方文档,也可以看一下这本书《MySQL 必知必会》。  前端方面在你处理中文时有时会发现有乱码出现,此时需要了解 ASCII 和 Unicode 这样的字符编码。这里推荐一篇文章Character encoding。还有 Github 上的这两个 Awesome 仓库:Awesome Unicode 和 Awesome Code Points。

为什么转成 Java 语言?

相信你可能会问,为什么之前学习的 Python 和 JavaScript 不接着学,而是直接切到 Java 语言上来,这样会不会切得太快了。这是一个好问题,这里需要说明一下,为什么我会切到 Java 这个语言上来,主要是有以下几方面考虑。 1. Java 是所有语言里面综合实力最强的,这也是为什么几乎所有大型的互联网或是分布式架构基本上都是 Java 技术栈。所以,这是一个工业级的编程语言(Python 和 JavaScript 还达不到这样的水准)。

2. 之所以,没有用 Java 来做入门语言而是用了 Python,这是因为编程是一件比较费脑子的事,一开始学习时,兴趣的培养很重要。Python 比较简单,容易上手,能够比较容易地提起兴趣,而用 Java 则可能比较难。 3. 在你有了一些编程语言的基础后,有了一些代码的逻辑后,切到工业级的编程语言上来,更为专业地学习编程,是非常有帮助的。像 Python 和 JavaScript 这样的动态语言用着是很爽,但是,只有像 C、C++ 和 Java 这样的静态语言才可以让你真正地进阶。

4. 对于一个合格的程序员,掌握几门语言是非常正常的事情。一方面,这会让你对不同的语言进行比较,让你有更多的思考。另一方面,这也是一种学习能力的培养,会让你对于未来的新技术学习得更快。很多时候,一些程序员只在自己熟悉的技术而不是合适的技术上工作,这其实并不好,这会让你的视野受限,而视野会决定你的高度。综上所述,这就是在入门的时候我故意让你多学几门语言的原因。

编程工具

编程工具方面,你需要开始学习使用下面这些工具了。

编程的 IDE。传统一点的,你可以使用 Eclipse。当然,我推荐你使用 Intellij IDEA。这两个工具都可以开发各种语言,但是主要用在 Java。如果你想玩得更时髦一些的话,使用 Visual Studio Code 也不错,这个工具潜力十足,用其开发 Python、JavaScript、Java、Go、C 和 C++ 都能得心应手(教程 - 本文发布时还基本没怎么翻译完)。

版本管理工具。版本管理工具是非常重要的编程工具。传统的有 P

4、 SVN、CVS 等,但都会被 Git 取代,所以,你就只用学习 Git 就好了。学习 Git 的教程网上有很多,这里我推荐非常系统的 Pro Git 第二版(如 果你觉得 Pro Git 比较枯燥的话,备选猴子都能懂的 Git 入门),然后你要学会使用 GitHub。关于一些 Git 环境安装和准备以及 GitHub 使用,你可以自行 Google(比如:这篇Github and Git 图文教程 或是这篇Git 图文教程及详解)。

调试前端程序。你需要学会使用 Chrome 调试前端程序,Google 一下会有很多文章,你可以看看 超完整的 Chrome 浏览器客户端调试大全。  数据库设计工具。你需要学会使用 MySQL WorkBench,这个工具很容易使用。相关的手册,你可以看一下官方文档。

实践项目

这回我们需要设计一个投票系统的项目。 业务上的需求如下:

用户只有在登录后,才可以生成投票表单。 投票项可以单选,可以多选。

其它用户投票后显示当前投票结果(但是不能刷票)。 投票有相应的时间,页面上需要出现倒计时。

投票结果需要用不同颜色不同长度的横条,并显示百分比和人数。

技术上的需求如下:

这回要用 Java Spring Boot 来实现了,然后,后端不返回任何的 HTML,只返回 JSon 数据给前端。

由前端的 JQuery 来处理并操作相关的 HTML 动态生成在前端展示的页面。

前端的页面还要是响应式的,也就是可以在手机端和电脑端有不同的呈现。 这个可以用 Bootstrap 来完成。

如果你有兴趣,还可以挑战以下这些功能。

在微信中,通过微信授权后记录用户信息,以防止刷票。  可以不用刷页面,就可以动态地看到投票结果的变化。

Google 一些画图表的 JavaScript 库,然后把图片表得风骚一些。

小结 上面那些书和知识你要看完,还要能理解并掌握,我估计你最少也要花 1-2 年左右的时间。如果你能够走到这里,把前面的那些知识都了解了,不用精通,能独立地做出上面的那些实践项目,那么,你就算是真正的入门了。

而且,你已经是一个 " 全栈工程师 " 的样子了,在这里我要给你一个大大的赞。如果这个时候,你对编程还有很大的热情,那么我要恭喜你了,你可能会是一个非常不错的程序员。加油啊!

上面的那些技术已经算是比较专业的了。如果你已经大致掌握了,我相信你可以找到至少年薪 20 万以上的工作了,而且你的知识面算是有不错的广度了。但是深度还不够,这个时候,是一个比较关键点了。

你可能已经沉醉在沾沾自喜的骄傲的情绪中,那么你也可以就此止步,加入一些公司,在那里按部就班地完成一些功能性的开发,成为一个搬砖的码农。你也可以开始选择一个方向开始深入。

我给你的建议是选择一个方向开始深入。因为你并不知道你未来会有多大的可能性,也不知道你会成为什么样的人,所以为什么不再更努力一把呢?

后面,我们就开始非常专业的程序员之路了。这也是一般程序员和高级程序员的分水岭了,能不能过去就看你的了。

第2篇:程序员进阶六大步

前几天在网上看到这篇文章,觉得写得不错,就根据自己的理解,做了一些修改,现与大家分享。一个程序员,从最基本的做做coding,到成为一代宗师,通常需要经过下面六个阶段:

第一阶段

此阶段主要是能熟练地使用某种语言。这就相当于练武中的套路和架式这些表面的东西。一般来说,比较好的入门语言有c/c++、java、delphi和perl(当然,汇编也是一门相当重要的工具)。就这四门语言而言,我通常只使用c/c++进行开发,这是目前应用最为常见的语言,特别是c,和低级语言有很多相似之处;java的最大优势在于跨平台性,但是其执行效率确实是一大问题;delphi是数据库开发人员的利器,如果你希望从事erp开发,一定要学好这门语言(当然,也有c#,不过我没有用过,也就不便评价:-P);至于perl,如果你要使用unix/linux平台,这门语言一定要学会的!我推荐各位可以看看eckle写的thinking in c++或者是thinking in java入门。这一阶段最好的练习方法是多用最基本的语言写程序,比如用c++的话,除了i/o之外,就不要使用任何的库函数和api了,这样才能尽快的掌握一门语言的基础。

第二阶段

此阶段能精通基于某种平台的接口(例如我们现在常用的win32 api)以及所对应语言的自身的库函数。到达这个阶段后,也就相当于可以进行真实散打对练了,可以真正地在实践中做些应用。目前,在windows平台下最好的参考资料当属msdn,上面有绝大多数win32 api的介绍,不过都是e文的(最起码我拿到的版本是),要求有较高的e文能力(大概也就6级的水准吧)。至于库函数,一般在网上很容易找到相应参考资料的。最好的练习方法就是多写些程序,但和第一阶段不同的是,这一阶段要尽量用api和库函数写。

第三阶段

这个阶段要求程序员深入地了解某个平台系统的底层,具备初级的内功,也就是“手中有剑,心中无剑”。这个阶段要求程序员对os的原理和实现有一定的理解,最好使用开源平台进行学习,如linux,因为在windows下,所有的细节都是屏蔽的,很难了解到它到底是怎样运行的。这个阶段正是我目前努力的目标,按照目前的进度,我在今年就应该能够升级到这里了:-)

第四阶级

到达这个阶段的人就不多了,这些人大都是一流的黑客、公司的骨干了,

能直接在平台上进行比较深层次的开发。比如能进行vxd(想想当年陈盈豪的cih病毒)或操作系统的内核的修改。这时已经不再有语言的束缚,惟一的束缚就是你的开发思想,语言只是一种工具,即使要用自己不会的语言进行开发,也只是简单地熟悉一下,就手到擒来,完全不像是第一阶段的时候学习语言的那种情况。一般来说,从第三阶段过渡到第四阶段是比较困难的,因为很多人的思想变不过来。

第五阶级

前几个阶段就好比独孤求败年轻用的那柄削铁如泥的宝剑和那把玄铁重剑,在一定程度上依赖着武器的威力。但在这个阶段,程序员就如同四十之后的独孤求败,剑由心生,随便选取一根树枝就能当作威力无穷的宝剑。全局把握、整体设计,包括从内核到外层,这时的程序员已经不是传统意义上的程序员了,或许叫做项目更合适。如果达到这个阶段,你就可以直接向ms递交申请了,而且一定成功:-P

第六阶级

此阶段也是最高的境界,达到“无招胜有招”。这时候,任何问题就纯粹变成了一个思路的问题,不是用什么代码就能表示的。也就是“手中无剑,心中也无剑”。此时,对于练功的人来说,他已不用再去学什么少林拳,只是在旁看一下少林拳的对战,就能把此拳拿来就用(就像张无忌学习三十六式龙爪手一样)。这就是真正的大师级的人物,比如linus,或许gates也能算达到这个境界了吧。这时,Win 32或Linux在你眼里是没有什么差别的。

每一个阶段再向上发展时都要按一定的方法。第

一、第二个阶段通过自学就可以完成,只要多用心去研究,耐心地去学习。要想从第二个阶段过渡到第三个阶段,就要有一个好的学习环境。例如有一个高手带领或公司里有一个好的练手环境。经过

二、三年的积累就能达到第三个阶段。但是,有些人到达第三个阶段后,常常就很难有境界上的突破了。他们这时会产生一种观念,认为软件无非如此,认为自己已无所不能。其实,这时如果遇到大的或难些的软件,他们往往还是无从下手。

现在我们国家大部分程序员都是在第

二、三级之间。他们大多都是通过自学成才的,不过这样的程序员一般在软件公司也能独当一面,完成一些软件的模块。但是,也还有一大堆处在第一阶段的程序员,他们一般就能玩玩VB,做程序时,去找一堆控件集成一个软件。坦白的说,利用控件完成程序本身也是一种很好的开发模式,但是这样对于程序员自身的提高而言并无任何好处。

第3篇:PHP程序员进阶学习,少不了这些因素

去名企 拿高薪 到翡翠教育

PHP程序员进阶学习,少不了这些因素

据悉,在众多IT行业职位中PHP开发工程师一职薪资不菲,其起步薪资在逐年递增,随着开发者工作经验的增加,其薪资的上升速率也较其他开发者更胜一筹。全球5000万互联网企业站中,有60%以上使用着PHP技术,80%国内互联网网站,包括搜狐、凤凰、京东等互联网企业均采用PHP进行开发。

很多人选择了学习PHP,理所当然地,也更希望自己能够在职位上有更高的发展,但是要想爬的高,还需要有硬功夫。

也就是说,虽然知识与技能这些“干货”很重要,但它们却也不是成为高级程序员的全部。那么进阶学习,到底还需要哪些关键因素呢?

平和的心态

无论是Java程序员、C++程序员还是PHP程序员,其实都一样——要写一手好的程序,没有好的心态是不行的。在程序开发过程中,尤其是一些初中级的程序员,写出的程序或架构会遇到很多问题,这个时候不可太过急躁,应该逐个排查问题的最初源头,然后将其干掉。

“独家的”问题解决思路

没有真正解决过无数的bug或问题的程序员,谈不上专家,更谈不上高级程序员。而一个高级程序员正是从这种解决问题的过程中不断地历练自己,形成一套“独家的”烂熟于心的问题解决思路,让自己强大。

过硬的PHP基础知识

没有过硬的PHP基础知识,哪怕心态再好,问题解决的能力再强,也只能纸上谈兵。过硬的基础知识能够让你在项目开发过程中游刃有余。

综合的互联网应用及项目管理知识和素养

1 去名企 拿高薪 到翡翠教育

1、见识广博,擅于学习

2、项目解决方案选型

3、良好的项目管理素养

4、丰富的项目开发应用经验

5、良好的开发规范 想成为一名PHP高级工程师,以上4点算得上是必要因素了。其实可以看得出来,要掌握PHP并不是一件很难的事情,只要有心能够坚持,大家一定会在这条路上越走越好!

翡翠教育专注IT教育培训,以创新的教学方式和完善的就业服务享誉业内,已覆盖全国30多个城市,拥有70家教学中心。

如果你想学习UI设计、Web前端、Java大数据、网络营销、PHP等课程,欢迎关注翡翠教育! 2

上一篇:围城免费读书分享会下一篇:驾校学车证明格式