无任何编程基础的人,该怎么入门编程?

相比于其他传统行业,程序员的确是低投入、高产出的工作。但你千万不要以为有台电脑,就能编程变现。零基础入行,如果方法不对,一定会困难重重。拿我自己来说吧,作为一个入行8年的老程序员,我不是科班生,完全是从零基础自学的编程,刚开始的时候也遇到了很多问题,跌过不少跟头,好在一路坚持了下来,现在也算有所建树。就给你分享一下我自己学编程的经验吧。

第一阶段,选择语言。

你需要用百度谷歌提前上网了解,像C、C++、Java、JavaScript,包括时下比较新潮的Python、Go,都是我们所说的编程语言。这些语言都没有绝对的优势,而是各有千秋,侧重于不同的需求。例如新兴的 Python 在数据分析和机器学习等方面有较好的应用,而传统的JavaScript、Java则是用于web前后端的开发,更符合市面上的岗位需求。

在选择时,你要先给自己想进的公司,想做的职位有一个初步的画像。我个人建议,如果是想要从事相关工作,还是要选择一个应用范围和前景都更广阔的语言作为入职的敲门砖。等到真正工作以后再学习其他语言。

第二阶段,学习编程“思想”

这时候你可能会纠结于是报个培训班还是自学?这要根据你自己的个人情况,现在网上编程的课程体系很丰富,像是 B站上有很多教Java的视频,不懂的地方也可以向百度和谷歌求教。至于培训班,在内容上其实和自学都没有多大出入,但可以帮你强制性的固定一个学习时间,花钱给自己买点儿压力,要是在时间和财力允许的状况下可以选择。

而在学习的过程中,切忌无脑的照着别人的代码敲,甚至我都不建议你记笔记。因为最重要的是能够学习别人的编程的思路,你要时刻思考这个功能是怎么实现,为什么要这么实现。最好能每次看完书或者视频,用自己的思路把这些东西整理出来,在和视频中对比,找出问题,这样才能把人家精髓的东西消化到自己的思维中。

第三阶段,动手实践。

学习时,你要给自己一个心理暗示,把自己当做一名真正的开发者。因为编程是一项必须放在实践中检验的工作。记熟语法和API只是基础,能用他们解决实际问题才叫编程。在你摸到一些编程思路之后,可以尝试着脱离课本完全自己实现功能。自己实现一些小项目来练手,看别人项目代码,与别人讨论,提升代码能力。最终的入职报告上,你所做的项目才是能证明你个人价值的经验。

第四阶段,了解业务逻辑。

什么是业务逻辑呢?简单来说,就是客户给你的框架和要求。

我刚开始工作的时候,也是一接到业务上手就写代码,以至于到了中后期会漏掉客户要求的点,或没办法周全客户的需求。这也是很多新手会犯的一个毛病,有经验的老手通常就会告诉你,没有任何一个项目十一上来就写代码了。

我们需要在动手之前,仔细的研究客户的框架和要求,理清业务逻辑。把编程过程中,要注意的点罗列清楚,可以做成一个流程图,再开始动手编程。

作为一个零基础的初学者,如果能走过这4个阶段,基本就算是入行了。这些也只是我自己个人的经验总结,希望能够帮助到大家。

 

这是一门linux下c++通讯架构实战课程,针对c/c++语言已经掌握的很熟并希望进一步深造以将来用c++在linux下从事网络通讯领域/网络服务器的开发和架构工作。 这门课程学习难度颇高但也有着极其优渥的薪水(最少30K月薪,最高可达60-80K月薪),这门课程,会先从nginx源码的分析和讲解开始,逐步开始书写属于自己的高性能服务器框架代码,完善个人代码库,这些,将会是您日后能取得高薪的重要筹码。 本课程原计划带着大家逐行写代码,但因为代码实在过于复杂和精细,带着写代码可能会造成每节课至少要4~5小时的超长时间,所以老师会在课前先写好代码,主要的时间花费在逐行讲解这些代码上,这一点望同学们周知。如果你觉得非要老师领着写代码才行的话,老师会觉得你当前可能学习本门课程会比较吃力,请不要购买本课程,以免听不懂课程并给老师差评,差评也会非常影响老师课程的销售并造成其他同学的误解。 这门课程要求您具备下面的技能: (1)对c/c++语言掌握的非常熟练,语言本身已经不是继续学习的障碍,并不要求您一定熟悉网络或者linux; (2)对网络通讯架构领域有兴趣、勇于挑战这个高难度的开发领域并期望用大量的付出换取高薪; 在这门课程中,实现了一个完整的项目,其中包括通讯框架和业务逻辑框架,浓缩总结起来包括如下几点: (1)项目本身是一个极完整的多线程高并发的服务器程序; (2)按照包头包体格式正确的接收客户端发送过来的数据包, 完美解决收包时的数据粘包问题; (3)根据收到的包的不同来执行不同的业务处理逻辑; (4)把业务处理产生的结果数据包正确返回给客户端; 本项目用到的主要开发技术和特色包括: (1)epoll高并发通讯技术,用到的触发模式是epoll中的水平触发模式【LT】; (2)自己写了一套线程池来处理业务逻辑,调用适当的业务逻辑处理函数处理业务并返回给客户端处理结果; (3)线程之间的同步技术包括互斥量,信号量等等; (4)连接池中连接的延迟回收技术,这是整个项目中的精华技术,极大程度上消除诸多导致服务器程序工作不稳定的因素; (5)专门处理数据发送的一整套数据发送逻辑以及对应的发送线程; (6)其他次要技术,包括信号、日志打印、fork()子进程、守护进程等等;
【为什么学Python】 Python 是当今非常热门的语言之一,2020年的 TIOBE 编程语言排行榜中 ,Python名列第一,并且其流行度依然处在上升势头。 在2015年的时候,在网上还经常看到学Python还是学R的讨论,那时候老齐就选择了Python,并且开始着手出版《跟老齐学Python》。时至今日,已经无需争论。Python给我们带来的,不仅仅是项目上的收益,我们更可以从它“开放、简洁”哲学观念中得到技术发展路线的启示。 借此机会,老齐联合CSDN推出了本课程,希望能影响更多的人走进Python,踏入编程的大门。 【课程设计】 本课程共包含三大模块: 一、基础知识篇 内置对象和基本的运算、语句,是Python语言的基础。本课程在讲解这部分知识的时候,不是简单地将各种知识做简单的堆砌,而是在兼顾内容的全面性的同时,更重视向学习者讲授掌握有关知识的方法,比如引导学习者如何排查错误、如何查看和理解文档等。   二、面向对象篇 “面向对象(OOP)”是目前企业开发主流的开发方式,本课程从一开始就渗透这种思想,并且在“函数”和“类”的学习中强化面向对象开发方式的学习——这是本课程与一般课程的重要区别,一般的课程只在“类”这里才提到“对象”,会导致学习者茫然失措,并生畏惧,乃至于放弃学习。本课程则是从开始以“润物细无声”的方式,渗透对象概念,等学习到本部分的时候,OOP对学习者而言有一种“水到渠成”的感觉。   三、工具实战篇 在项目实战中,除了前述的知识之外,还会用到很多其他工具,至于那些工具如何安装?怎么自己做工具?有那些典型工具?都是这部分的内容。具体来说,就是要在这部分介绍Python标准库的应用以及第三方包的安装,还有如何开发和发布自己的工具包。此外,很多学习Python的同学,未来要么从事数据科学、要么从事Web开发,不论哪个方向,都离不开对数据库的操作,本部分还会从实战的角度,介绍如何用Python语言操作常用数据库。
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页