如何学习编程让自己成为程序员大佬

  • A+
所属分类:初中编程

Ok 我们今天的主题是,如何学习编程

无论你是已经参加工作的程序员大神,

还是在校学习的计算机专业学生。

又或者你之前是别的专业。最近开始自学或者参加培训。

我们都可以坐下来,聊聊。

我们究竟该如何学习编程

在平时的学习和工作过程中 我要注意哪些事情。

为了成为一个优秀的程序员我需要在前期养成哪些习惯等等!

Ok,不要走开,我们现在就开始。
如何学习编程让自己成为程序员大佬
时间和坚持

其实 学习编程并不是很难。

你只需要 一坐到电脑前,就会持续坐在哪里几个小时就好了。

很多我认识的程序员朋友,都是刚才说的这样。

因为 ,他们经常被一个问题困扰,需要连续的去想解决方案。

或者花几个小时去Debug,去优化和调试他们的代码。

而这个习惯,或者说“毅力” 是很多朋友不具备的。

他们 通常 坐在电脑跟前,10分钟不到。

就会去浏览一些网页,看看视频段子,或者看看手机,刷淘宝等等。

然后一会,他们又会去吃点零时,去园区散步,抽烟等等。

8小时的编程工作时间,他们可能2个小时在写代码。

要知道,这样的时间安排,真的不利于你 全身心的 去投入编程的学习。

如果你想在学习编程这件事情上面,有所进步的话。

我建议你给自己一个小目标,比如 今天我会拿出连续的三个小时的时间

来学习JAVA的多线程技术。

无论是看书,看视频,看博客。甚至是自己看API 然后尝试写代码。

这些方式都可以,只要你可以为之付出百分之百的投入。

相信我,过一些时间,你就会养成利于你提高编程能力的好习惯。
如何学习编程让自己成为程序员大佬
不断学习

事实上,程序员是一个终生学习的职业。

应该是越老越吃香的职业才对。

因为你的知识储备越来越丰富。遇到同样的问题,你可能会有3到5种解决方案。

而且你之前踩过坑,所以你可以有效避免。

说白了就是 经验!

但是 仿佛 在中国,大家不这么认为。

或者整个大环境 不允许 存在年龄偏大的程序员

现在社会上,充斥着一种论调,说程序员到了35岁就 面临失业了。

要么转岗干管理 要么转行干快递!

因为 大家似乎都愿意相信,35岁的程序员,无论从体力还是脑力上

都不如年轻人。

要知道,很多时候不是 年轻力壮 就能解决问题。

也不是 连续加班两天。然后整个公司就IPO了。

如果你身边的人,开始低迷,开始浑天过日子

而不是去学习新的技术,拥抱变化和挑战。

请你从自己做起。

去学习新的技术。去拥抱变化和挑战吧。

我相信等你们 同时到了 35 岁。

你会比他拥有更多的选择。

不要考虑未来会怎样,而是专注做好现在的事

没有多少,只有先后!

一开始学习编程的时候。

总是听到一句话,避免重复造轮子。

这其实是 让我们结合前人的成果,更加高效的去做当下的事情。

说实在的,程序员现在做的任何事情,其实都可以在网上找到解决方案。

高并发如何解决。

数据多了之后,如何分库分表。

智能营销,用户画像,标签工程等等。

这些问题,你都可以在CSDN,甚至是一些个人技术博客上找到答案。

相关的书籍也会有很多。

因为这些都是别人做过的。

即便是Ali 这样牛逼的公司,也会做一些其实别人做过的事情。

比如 参考 Google 微软等。

所以我经常告诉我自己,如果之前我不知道一些事情,但是现在只要我想去学习。

我都会通过某种方式掌握的。

因此我说,程序员的职业生涯,知识是没有多少之分,只有先后之别。

我今天不知道,不代表我以后不知道。
如何学习编程让自己成为程序员大佬
数据结构、算法和“底层”

现在流行一句话

面试造火箭,入职拧螺丝。

其实根据面试判断一个程序员的好坏,说准确也不是很准确。

不过面试之前你一定要准备。

一方面,你是对 面试者的尊重。

另一方面,人总是需要把自己最好的一面呈现给别人。

面试的时候,通常会被问到一些数据结构,算法。或者是 某某框架 底层 实现原理等。

如果真的要那么 “底层”,那我只能说 都是0101 ,电讯号了。

不过他们 其实是想看看,你对编程这件事情,究竟有多用心。

如果你 愿意去看 HashMap的实现原理。那固然很好。

但是现实工作中,你可能不会自己去写,而是直接调用程序包中的实现。

那么,这些“底层”的东西,重要吗?需要花时间去了解吗?

我的答案时候肯定的。

我举一个我自己的例子。

之前 我做过一个爬虫的项目。

用到的也是第三方的 爬虫框架(JAVA)

其中遇到的一个问题是这样的。

我们 爬取目标网页的时候,需要用到代理IP。

而代理IP提供商 为了避免客户自己持久化这些IP。所以他们给每一个返回的代理IP都设置了超时时间,比如3分钟。

那们问题来了,我的爬取任务定时去爬取成百上千个网址。

而代理IP会超时失效,这意味200个网址 前100个 使用的是有效的IP,而后100个使用的 IP 其实已经超时,无法访问。

一开始我的想法很简单。维护一个代理IP池。使用的数据结构是 队列。

这个队列是FIFO的。

也就是最先进入队列的,最先出来。

我写了两个定时任务来操作这个对列。

一个负责往队尾加入新得到的代理IP。

一个负责从头部获取IP并丢弃。

看到没有,这个队列是动态的。

这样就能保证,每次从队列中获取的IP是有效的。

爬虫任务触发的时候,会从队列中批量获取10个~20个代理IP。

发表评论

您必须才能发表评论!