我是如何开始学习编码的:前三个月我用过的资源

yhyddr · · 1975 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

![](https://cdn.nlark.com/yuque/0/2019/jpeg/176280/1552361030466-d0712b9e-0fb7-4165-8678-7c6d67753b19.jpeg#align=left&display=inline&height=497&originHeight=1080&originWidth=1621&size=0&status=done&width=746) 想学习如何编程?本文将指导你经过技术和资源的丛林,帮助你从无知识到构建快速、互动、现代的编码知识,沿着我走过的林间小径。 从八月底到十二月初 我花了三个月的时间学习编码,虽然有时候很有挑战性,但这是一次非常有益的体验。 最棘手的一个挑战是选择_什么样_的学习和_在那里_学习它。有这么多的语言,框架和库 - 以及许多相互矛盾的建议。 此外,一些学习资源比其他学习资源要好得多。如果我知道要关注哪些资源,我的进展可能会更快。 本着这种精神,我想我会分享对我有用的东西。如果感觉很多,我很幸运,我每天可以花几个小时学习这些材料。你做得多快并不代表你作为开发者的潜力,所以不要担心是否需要更长的时间来完成这些材料。但是,如果你能投入时间,可以在半个月内完成。 这些是我经历过的路程,并不代表你需要全部走过 <a name="e9edd5cf"></a> ## 第一部分:HTML,CSS和JavaScript 这些是所有Web应用程序的三种核心语言,并且(几乎)不可能在不使用它们的情况下在Internet上构建任何内容。 <a name="HTML"></a> #### **HTML** ![](https://cdn.nlark.com/yuque/0/2019/jpeg/176280/1552360989287-554557a0-3777-4fd1-84a8-20e54171659d.jpeg#align=left&display=inline&height=259&name=&originHeight=259&originWidth=192&size=0&status=done&width=192)<br />如果你以前从未做过任何编码,那么HTML就是一个很好的起点。它是互联网的核心构建块,与大多数其他语言不同,它为学习者提供了他们正在编写的代码的即时可视反馈。 <a name="CSS"></a> #### **CSS** ![](https://cdn.nlark.com/yuque/0/2019/jpeg/176280/1552361051071-653b534d-0e27-4cea-a2cf-511db95e215a.jpeg#align=left&display=inline&height=259&originHeight=259&originWidth=192&size=0&status=done&width=192) CSS是HTML的自然伴侣。从表面上看,它非常简单,虽然有一些概念 - 特别是与布局和定位有关 - 可能需要一些时间来解决问题。 CSS最困难的部分是理解布局。用户在StackOverflow上询问了我的大多数布局问题,因此快速的Google搜索解决了我的大多数问题。 H5 和 CSS 大概花去了我两天时间,通常你想了解一个编码方面的事物时,直接上手总是最快捷的方式。 <a name="JavaScript"></a> #### **JavaScript** ![](https://cdn.nlark.com/yuque/0/2019/jpeg/176280/1552361100804-c621c59a-8a37-4df2-896d-f521ff27cea3.jpeg#align=left&display=inline&height=259&originHeight=259&originWidth=192&size=0&status=done&width=192) HTML和CSS不是完全成熟的编程语言,因此在开始学习编程语言之前,您将无法完全了解编程。JavaScript是Web的编程语言。 平心而论,虽然我在初中时期尝试过 js 编程,然而连真正的编码都算不上,直至现在我也是 JavaScript 的菜鸟,所以这上面我并不能给予一些帮助建议 由于我开始学习后端,js 从熟悉拼写到知道历史花了我一小段时间。 <a name="GO"></a> #### GO ![](https://cdn.nlark.com/yuque/0/2019/jpeg/176280/1552361510829-f31c6091-cd11-4468-85a0-73383b4ead11.jpeg#align=left&display=inline&height=201&name=&originHeight=201&originWidth=205&size=0&status=done&width=205) Go 是极其酷的语言,尤其是在现代进行高效的 Web 编程方面 Go 是我学习后端被选择的语言,同时也是我越学越看好的语言。作为语言初学者的时候我还无法分辨各种语言的特性和好坏,这通常需要多年的编码经验或者有过使用多种语言的经历才能清楚。我经历过 C++ STL 的使用和一定的 Java 编码,但是从过来的眼光看待,不过是十数天就能达到的程度。 在 《The Way To Go》上我花费了大概三天时间,在此之前我阅读了菜鸟教程上关于 Go 语言的入门指南。虽然这本书对于 Go 语言的高级特性讲的比较简略,作为入门无疑是够的。即使我看的是英文,或许你也更喜欢拿着中文书籍看,但是作为编码人员,无疑英语才是必须学习的语言。 之后我进行了一个小爬虫的练习,涉及到 goquery,gocolly 先爬取的飞卢的小说网站,之后爬取的各个地区的各种商业信息。这大概花费了我一天的时间。(从这里学会的阅读文档的知识) 随后我开始了 Go 源码包的阅读,将每一个包的每一个函数遍历了一下他们的 godoc ,在我开始每一个函数的内在逻辑阅读时,我被中止了,由于庞大的知识体系。这大概花费了我三到四天。(从这里学会的画图技巧) 我这个时候开始使用社团的 Mac 电脑,开始了一个关于发送短信的云API接入服务的开发。当时了解并接入阿里云市场给我带来了麻烦,从需求找到解决方法向来非易事。这大概使用了一个星期,了解了关于 go 与 mysql 的接入,和不同终端的 HTTP 通信 随后是轮播图的后台管理搭建,这里开始学习了表的设计,更多的了解了 mysql 的各种情况。 完成轮播图(考虑的越多需要做的越多,但是编码不一定会变多,应该是遵循幂律的)开始订单系统的设计,这是关于学习后台功能最难的一个部分了,同时我也花费了不少时间来进行查阅和设计,也接触有 gorm 的使用。做完订单系统的设计让我得到了极大的提升因为考虑了很多实际情况的适应。之后想必更困难的业务是游戏服务端了吧。 之后我完成了一个 app 后台的搭建,通过各个模块的组合拼接。这里的难点主要是在团队协作上故不在此详述。 到这里我的 go 学习历程就告一段落了。 <a name="fb66ffb8"></a> ### 第2部分:任何开发人员工具包的其他必备部分 ![](https://cdn.nlark.com/yuque/0/2019/jpeg/176280/1552362890364-70446667-375d-428c-8a9b-2d16e38f2f64.jpeg#align=left&display=inline&height=206&name=&originHeight=206&originWidth=404&size=0&status=done&width=404) <a name="b70ade5c"></a> #### **Git和GitHub** Git是所谓的“版本控制系统”,GitHub是最受欢迎的基于云的Git服务。<br />简单来说,Git允许您备份文件,跟踪更改,与其他开发人员分享您的进度,以及协作项目。<br />当你刚刚学习,并且不需要使用Git时,它可以感觉像是一件苦差事。但这是值得的:绝大多数专业开发人员不仅依赖GitHub(或类似服务),而且拥有活跃的GitHub配置文件可以帮助您确保工作安全。<br />越早开始将您的工作交给GitHub,您作为开发人员的经验就会越多。 <a name="dbb0d3bb"></a> #### **命令行** 命令行可以说是最重要的部分,通常了解命令行的操作是非常必要的。同时想要学习也很简单,不仅网上有很多教程,鸟哥的 Linux 私房菜也涉及很多,不过我对于工具的建议是如非必要,仅需了解。 使用Git的最佳方式是通过“终端”或“命令行”,这对现代Web开发人员也很重要,允许您通过[NPM](https://www.npmjs.com/)(节点包管理器)或[Yarn](https://yarnpkg.com/en/)轻松地将第三方包添加到您的网站。也有很多网站能够帮助你迈出这一步 <a name="d41d8cd9"></a> ### <a name="a3603d33"></a> ### 第3部分:下一步是什么? 这就是我在前三个月学到的一切。 我要学习的内容包括 Kubernetes,Istio,gRPC等等。这是很多技术,而我(还没有!)能够告诉你任何有关于它们。最好也了解它们!

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1975 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传