拒绝当新手,2017 年你应该这样学习 Web 编程

最初我对这个问题的思考,来自于一年前的一篇相关的文章《程序员的内置索引与外置的Google》。当时,文章的主要对比点是,门户网站与 Google。两者有一些明显的区别:

  • 门户网站更适合那些什么都不知道,从头开始探索互联网的人。
  • 搜索引擎更适合你知道相似的东西,但是忘记具体的细节。

也因此,学习应用型技术变成了一项相当简单的事。你只需要知道它有什么(索引),然后去了解怎么用(搜索)即可。

从怎么学到学什么

开始之前,先让我介绍一下,我的学习框架、语言的方式:

  • 买本中文书或者找个教程、官方的 Guide,花个十几分钟了解一下目录。
  • 直接找个官方的示例,运行一下 Demo。
  • 上手写写应用。
  • 查看官方文档,看看自己是不是漏掉了什么重要的东西。

首先,你有了一份入门资料了,并且也已经有官方的文档了。然后你只需要一步步去做就可以了,不会的地方你就可以搜索到。难怪,程序员被喻为新蓝领工人。

你拿上一份框架的说明书、一份需求文档、一个搜索引擎,就可以很容易地制造出一个产品。唯一的门槛是,你需要会读懂这些内容。这有点像新的知识阶级,只是门槛不再是识字与否,而在于是否能懂编程的知识。

将学习编程与门户网站、搜索引擎相比,就是:

  • 当你是一个新手程序员的时候,你需要一本书、一份指南、一个教程来作为索引,并学习上面的一个个内容。
  • 当你是一个有经验的程序员时,你只需要一个搜索引擎,因为你的脑子里已经有了整个世界。

当你不会使用 Google 时,你可能会这样去搜索资料(参见:英国老人坚持用敬语谷歌搜索 成网红被怒赞):please translate these roman numerals mcmxcviii, thank you。

这种感觉就好像是,你在使用机器人“娇娇”,背后有一个人一样:

可惜,机器人都是晚期直男癌,喜欢单刀直入。

当你只会使用 Google 时,你只能去知乎、SegmentFault 或者 StackOverflow 提个问题:

过去,我花了相当长的时间,在探索学习什么的问题。毕竟学习是相当简单的一件事,你只需要抽点时间、找个空间、研究个点就可以了。在这其中,最难的地方是研究一个点。因为你根本不知道,需要学习什么?并非所有的人,都能找到合适的路线。

索引与图谱

当你在某个领域拥有多年的经验时,你就可以将它整理为各式各样的图谱、技能树等等。如:

这样的图谱,就像门房网站一样,在上面列好了一个个的知识点。

它按照不同的类别,一一的归类。稍有区别的是,这些类别都会相应的内容与之对应。而你在技能汇总上是看不到的,这也就是为什么像技能树这样的工具,也会相当的受欢迎。

人们需要的,不仅仅是一张简单的地图,还需要导航功能。技能图谱、技能汇总等等类似的图谱,它们都只是一些简单的工具。你还需要辅助相应的内容,如文章,视频、教程等等的资料。

在这个时候,或者你需要的是一个 Awesome-xx 的项目,上面不仅仅有目录,还有各式各样的资料。点击到相应的链接,你可以看到代码、应用。

初学的时候,你只需要找到一份合适的索引。学到一定程度的时候,你就可以和我一样创造相应的索引,还有各种资料,如 Growth。随后,你就可以对比不同的索引,来完善自己的知识休系。

不断的更新索引

小学的时候,你学会了基本的数学知识,如加法,除法,乘法。你开始在初中的时候,开始解决各种复杂的二次、三次方程、图形计算等等的问题。

从哇哇坠地在医院,到初高中毕业,学习的大部分知识都是别人觉得重要的。学习的时候,教育者们出于某种目的,已经为你规划好了一个个的路线。

工作的时候,领导们仍然会出于某种目的,为你规划好一个学习路线。你并不需要知道自己需要去什么,你像游戏中的国王一样,按别人的规划一步步地往前走。

如果别人为你规则学习的路线是合理的,那么学习起来就会很轻松。反之,你就会很痛苦,开始质疑合理性。

知识本身具有连贯性——这就是《技术发展的本质》一书所阐述的。你把一个现代的智能手机,交给 20 年前的用户,他都不知道怎么用。

如果你是经历过手机 20 年的更新换代,那么你就很容易地就可以上手各种手机。与些同时,你并需要从 20 年前的大哥大开始用起。这也是大部分开发者的学习过程,但是并意味着你需要从头学起。你仍然可以忽略过很多东西,然后学习最新技术。

令人遗憾的是,知识本身不是静止的,而是一个不断发展的过程。就连吃饭,你都要学习使用不同的工具,如西餐。只有基础本身是静止(相对)的,一旦涉及到应用都是变化的——你学习的 A 技术,经过一段时间,都会被市场淘汰。

这时,你需要像爬虫一样,不断地去抓取新的网页,新的知识点。

文章转载自 开源中国社区 [http://www.oschina.net]

时间: 2024-10-22 22:28:45

拒绝当新手,2017 年你应该这样学习 Web 编程的相关文章

小弟新手,求大神怎么将web中的注册登录信息传递给数据库?

问题描述 小弟新手,求大神怎么将web中的注册登录信息传递给数据库? 最近刚接触asp.net,有很多地方不明白,还请大神给一一指点迷津. 项目背景:要做一个web网站,网站具备以下功能: 1)web界面可以进行注册和登录,要求把注册的信息写入到数据库中. 2)登录时,可以将输入的数据与数据库进行比对,密码错误则跳转另一个页面,密码正确则转向主界面. 小弟主要有以下几点不明白,还请大神们给出详细的解答. 1)开发都需要哪些开发工具.(ps,只用VS是否可以完成前端和后端的所有工作?) 2)我想采

作为一个新手的Oracle(DBA)学习笔记

Oracle数据库笔记 Jack Chaing 作者QQ595696297 交流群 127591054 祝大家学习进步. 如果大家想看Word版本的可以去下载:Word排版比较清晰一些. http://download.csdn.net/detail/jack__chiang/9810532 此笔记是作者本人去年开始从一个DBA新人的学习笔记,积累至今,希望拿出来给那些对DBA有兴趣的童孩学习,大家一起努力嘛. 此笔记记录了作者工作学习中从零基础的学习的记录,和从中遇见的问题与问题的解决!很高兴

新手神器!不用部署深度学习环境、上传数据集!(附代码&视频教程)

深度学习的浪潮在五年前开始兴起.随着计算能力的爆炸型增长和几个成功的案例,深度学习引起了大肆宣传.深度学习技术可以用来驾驶车辆,在Atari游戏中进行人机对抗,以及诊断癌症. 开始学习神经网络时,我花了两周的时间进行探索,选择合适的工具,对比不同的云服务以及检索在线课程.但回想起来,我还是希望我可以从第一天就能创建神经网络,这也是这篇文章的目的. 你不需要有任何预备知识.当然如果你对Python,命令行和Jupyter notebook有基础的了解会对你有所帮助. 深度学习是机器学习的一个分支,

2017上半年无监督特征学习研究成果汇总

更多深度文章,请关注:https://yq.aliyun.com/cloud 特征学习在无监督学习方式下的趋势:回归到多元学习的随机目标,利用因果关系来表征视觉特征,以及在强化学习中,通过辅助控制任务增加目标,并通过自发进行预训练.从未标记的数据中学到很多东西,似乎我们只用标签撇去了它的表面. 在这篇文章中,我将向你展示,2017年无监督学习领域发生了什么变化. 无监督学习是机器学习中长期存在的挑战,它被认为是人工智能的重要组成部分.在没有标签的数据中有很多信息,我们并没有完全的使用它,而值得注

安利一则深度学习新手神器:不用部署深度学习环境了!也不用上传数据集了!

深度学习的浪潮在五年前开始兴起.随着计算能力的爆炸型增长和几个成功的案例,深度学习引起了大肆宣传.深度学习技术可以用来驾驶车辆,在Atari游戏中进行人机对抗,以及诊断癌症. 开始学习神经网络时,我花了两周的时间进行探索,选择合适的工具,对比不同的云服务以及检索在线课程.但回想起来,我还是希望我可以从第一天就能创建神经网络,这也是这篇文章的目的. 你不需要有任何预备知识.当然如果你对Python,命令行和Jupyter notebook有基础的了解会对你有所帮助. 深度学习是机器学习的一个分支,

新手建设自己的网站需要学习什么

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 我是一个新站长,虽然我年纪不算小了,但是接触网站也不过短短半年时间,虽然我现在也不是什么高手,但是也想谈一下自己建站的心得. 1.域名和空间.现在域名已经是一种无形资产了,新手想注册个好域名是很难的,所以我建议新手先随便用一个普通的域名试试手,不过这个普通也不是随便的意思,对于baidu来说,一般用拼音或者拼音缩写比较好.空间嘛,当然选快的了

六张图带你全方位看懂EMNLP 2017,神经网络和深度学习投稿占总论文2/3

在9月9日自然语言处理领域顶级会议 EMNLP 2017的开幕式上,大会主席Martha Palmer向我们展示了一系列关于EMNLP 2017的论文录取情况.                                                   总的来说,这次会议共收到有效投稿论文1466篇,收录的有323篇,录取率约为23%. 其中长论文共有895篇初始投稿,被审核了836篇,收录216篇,接收率大约占26%.短论文的初始投稿共有614篇,被审核585篇,收录107篇,相比长论

如何拒绝同一张表单被多次提交?_编程10000问

如何拒绝同一张表单被多次提交? formtest.asp<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> ' 表单文件. <% Randomize ' 初始化随机数种子. num1=rnd() ' 产生随机数. num1=int(26*num1)+65 ' 修改num1的范围,使其是A-Z范围的Ascii码,防止表单名出错. session("antry&

【Spark Summit East 2017】为Walmart Search学习使用Streaming和DataFrames

本讲义出自Nirmal Sharma与Yan Zheng在Spark Summit East 2017上的演讲,主要介绍了Walmart使用Spark Streaming和DataFrames构建的搜索产品的情况,Walmart Lab目前已经能够成功地使用多个微型批处理spark streaming管道对于可获取的产品信息进行近乎实时的更新,并分享了仅依靠Spark Data Frames建立的可伸缩的异常检测框架,该框架能够用于检测异常搜索信息.最后,还分享了Walmart Lab得出的观点