现在,技术已经成为所有行业创新的基石。 这引发全世界对程序员和开发人员的巨大需求。 技术的美妙之处在于它触手可及,所以...

你不用先成为火箭科学家就能成为一个牛逼的程序员。

这看起来可能很难,但事实是......它可能比你想象的要容易。 你只需要阅读,练习并付出一些努力。 但是......这不就是你每天都做的事吗?

本文主要大纲:

  • 打好基础

    • 入门资源
    • 编辑器推荐
    • 在线课程推荐
  • 精神食粮
    • 图书推荐
  • 融入社区
    • App推荐
    • 编程环境推荐
    • 社区推荐
  • 如何提问
    • 技术网站推荐
    • 一些方法论

首先, 在你开始纠结分号之前(也许你现在还不明白这个梗,但相信我,以后你就会明白的)你需要一个好的计算机科学基础资源和一个好的文本编辑器。 即使已经有一大堆这玩意儿,我会告诉你最常用的那个。

入门资源

  • Teach Yourself Computer Science

这个网站给你提供了一个了解计算机科学和编程的起点。 它涵盖了许多重要的基本主题,可以帮你构建对 CS 的背景知识。

  • Git

Git 是一个版本控制系统,能维护你的代码版本。如果你改了什么地方,或者加的新东西出了什么问题,你都能回到前一个版本。你可以从https://try.github.io/ 开始学习 git。

  • Github

这是一个非常重要的资源。 几乎每家编程公司都会要求你有版本控制系统的经验。 GitHub 是一个基于 Web 的托管服务,用于使用 git 进行版本控制,主要用于托管计算机代码。 它提供了 Git 的所有分布式版本控制和源代码管理功能,还能添加自己的功能。 你还能在上面和其他程序员协作,或者可以将它用作静态 HTML 主机来存储你的个人项目文件。实际上你也可以在 Github 里面弄个网站。

  • Bitbucket

Bitbucket 与 Github 相同,除了没有同性社交平台。 这两者之间的另一个重要区别是 Bitbucket 允许你创建私有存储库,而在 Github 中你必须为此功能付费。其他和 GitHub 基本相同。

学习命令行

命令行是大多数神奇的事儿发生的地方。 因此具备一些命令行技能非常重要。

  • Sublime

在我看来,这个编辑器是最好的编辑器之一,它有很多插件和代码片段,在性能和生产力方面也非常可靠。 我还会用它,但我也爱尝试新的东西,所以我最近切换到 Visual Studio Code 。

支持平台:Windows,Mac OS和Linux

  • Visual Studio Code

Visual Studio Code由微软开发,虽然它还很新,但它已经进入了2017年顶级文本编辑器的行列。它很好用,并促使我最终舍弃Sublime,我得说它是一个非常牛逼的文本编辑器,用了不后悔。

支持平台:Windows,Mac OS和Linux

  • Atom

Github出品的这个文本编辑器以前是我的首选。 它界面很好看,设置起来非常简单。 但让我用回Sublime的原因在于它有时会变得非常缓慢,有时我打开一个缩小的文件时它就会崩溃。 但总体而言,它是一个不错的文本编辑器。

支持平台:Windows,Mac OS和Linux

  • Notepad++

Notepad ++是一个基本的文本编辑器,具有编写程序基本所需的功能。 有些人喜欢这个,因为它很简单。 就我而言,我发现自己在更强大的文本编辑器(如VS code或Sublime)上更有效率。

支持平台:Windows

  • VIM

黑客们,这个适合你。 这个文本编辑器更具技术性,需要更多配置。 它默认出现在Mac OS和大多数基于UNIX的系统上。

支持平台:Mac OS,Linux和Windows

记住:你可以任意选择其中的文本编辑器。 根据流行趋势和我的经验来说,这些都是最好的。

在线学习资源

  • Free Code Camp

Free Code Camp是面向 Web 开发人员和全栈开发人员的免费编程学习网站。 我的 Web 开发职业生涯的第一批资源中就有它,我真的很喜欢用。 他们甚至还提供真实的非盈利项目,以磨练你的技能。

  • Code Academy

Code academy是最好的学习资源之一,它提供了全面的基础编程体验。 在课程页面上还有一个实时的文本编辑器,以便你边学边练。

  • Ruby Monk

Ruby Monk是学习Ruby的非常好的入门教程。 它为初学者提供了一个简单、直接的课程,非常容易理解。

  • CodeWars

Code Wars 是个学习编码的好地方。 你能在上面和真人实时互动,完成真实的代码挑战,提升自己的技能。

  • http://Railsforzombies.org

这是另外一个学习编程的好地方,我建议在尝试这个网站之前掌握一些关于Ruby的基本知识。 这个网站能让你通过游戏学习 Ruby。

  • CodeSchool

CodeSchool提供丰富多样的课程,有各种学习路径,可让你根据自己的兴趣确定要点的技能树。

  • http://Egghead.io

这是我最爱的学习资源之一,它更专注于 Web 开发技术。 它提供了高质量的编码教程和课程,以更好地提升 Javascript 技能。

  • Udacity

我只用过 Udacity 几次,但我已经知道很多关于它的内容,它真的很棒。 他们为初学者提供免费课程,他们称之为“纳米学位”。 纳米学位看起来很有前途,基本上是针对某一特定主题的课程,从初级到高级都有。 例如,全栈开发者纳米学位涵盖了从前端 Web 开发到后端 Web 开发的所有内容。 我必须指出,这些 Nanodegrees 是与谷歌,亚马逊,IBM等大公司合作创建的。

  • Devslopes

Devslopes最初是一个Kickstarter众筹项目,看到它后我顿时一见钟情。 它提供各种高质量的编程课程,项目还能写在简历上。 作为早期支持者,我得以为他们的项目做出贡献,作为交换,我可以终生免费访问他们发布的所有课程版本。 现在,如果你想拥有这个特权,机会还有,因为他们即将推出Devslopes 2.0并且有相应促销。但我不确定是否还会有这个特权项目。 但这是买过最好的东西之一。 毕竟知识是无价的。

  • Treehouse

坦率地说,我以前从未考虑过这个网站,但在 Tomáš Vorel 的建议和几周之后出现在 Facebook 和 Youtube 广告的轰炸下,我决定尝试一下。 我得说,这个学习资源非常有条理,我非常喜欢其中的教学方法。 主题有对应的视觉表现,特别好看。

精神食粮

如果大家对C/C++感兴趣的话,可以加一下我们的学习交流Q群:637  935  295,免费领取一套学习资料和视频课程哟~

没错,如果你想要真正掌握编程,你还是得读书。 这是学习新技能的最传统、有时也是最有效的方式。

这是我觉得有用的书籍清单:

Computer Science Distilled

这本书可能有点“无聊”,但它涵盖了计算机科学和算法的基础知识。 如果你真的想了解代码和算法的工作原理,那么这本书是必须的。

《Cracking the Coding Interview》

本书涵盖了在求职面试中可能会被问到的编程问题,并且教你如何处理它们。

《The Innovators: How a group of Hackers, Geniuses, and Geeks Created the Digital Revolution》

本书更多的是关于创新和技术的历史。 它基本上涵盖了所有以某种方式将技术化为现实的人。

《Learn Python the Hard Way》

这本书就是是一本练习册,你可以边学边练。它还有每日挑战,它涵盖了python的基本内容。

《Soft Skills: The developer’s life manual》

《软件开发人员的生活手册》是一本独特的指南,他给专业的软件开发人员提供技术和实践,以获得更愉悦的生活。 作者从一个开发人员的视角出发,从职业和生产力到个人理财和投资,甚至健身和人际关系,书中涉及许多的重要“软”技能。

融入社区

这是成为优秀开发人员的重要因素之一。 大多数人跳过这部分是因为他们认为这没用,但事实是,它有很多帮助。你想不到与其他开发人员交谈的一两个小时会对你有多大的帮助。 举个例子,在我第一次见面时,我有机会见到了 Advanced Custom Fields 的开发者之一(一个全球知名的Wordpress开发人员插件),我实际上经常使用这个插件。 我还成功成为 Wordcamp Miami 2018 Wordpress 会议的工作人员。

话说到这儿,这里有一些我常用的聚会和交流平台:

  • Eventbrite 、Meetup

这俩 APP 能让你找到附近的代码会议。

  • Co-working spaces

只需查看“协作空间<你的城市>”,你就可以轻松找到附近的协作空间。 协作空间能让你与其他开发人员分享知识,并获得有关你的代码库的真实反馈。

  • Playgrounds

游乐场基本上是虚拟编辑器,可以随时随地练习,无需超频电脑,它能帮你节省时间并掌握任何编程语言。 这些虚拟游乐场的优点是你可以从任何地方访问它们。

  • Cloud9

这个虚拟游乐场实际上是一个基于Linux的全功能IDE。 这意味着什么? 这意味着你可以通过终端在Linux机器上执行所有操作,甚至可以安装库。 它在大学里给了我很多帮助。

  • Codepen

我经常使用这个。 Codepen是Web开发人员的圣杯。 它更像是一个在线社区,用于测试和展示用户创建的HTML,CSS和JavaScript代码片段。

  • Glitch

Glitch几乎与Codepen相同。 除了它更“友好”,它也非常强大。 但我还是更喜欢Codepen。

  • Orion

Orion是一个可以使用Java的在线IDE。

  • Python Fiddle

Python 在过去几年中获得巨大人气。 对于那些想要将 python 添加到你的技能栈中的人来说,这是一个不错的编程环境(你应该至少知道基础知识)。

  • Codeanywhere

Codeanywhere是一个跨平台的云IDE。 它能让用户在Web浏览器和任何移动设备上即时编写、编辑、协作和运行Web开发项目。

  • Reply.it

这个是Vic A.建议的,我得说它看起来非常有前景。 这个虚拟编程平台能让你创建虚拟游乐场,在上面开发、测试甚至部署应用程序。 它还包括一个非常棒的教学平台,它有自己的评分系统。

卡住了?问问别人

作为一名生活在2018年的开发者的好处在于,有很多人已经踩过了你就要踩的坑。 很有可能其他人和你一样都在同一段代码上卡住了,除非你正在研究专有代码。 即便如此,你应该能够找到关于如何解决这些令人讨厌的错误的提示。 现在,如何解决问题取决于自己的经验。

以下是一些网站和资源列表,能帮你不用纠结于各种问题:

  • Stack Overflow

Stack Overflow 也被称为程序员的圣经。它是最大的程序员学习、提问、分享甚至找工作的在线社区。 所以你的收藏夹里一定得有这个。

  • Stack Exchange

Stack Exchange是一个简单的问答网站。上面有论坛,帮助你清除那些代码疑虑。

  • Quora

我认为 Quora 更像是专业版的 Stack Exchange。 Quora 是一个获取和分享知识的地方。 这是一个提出问题并能和提供独特见解和高质量答案的答主交流的平台。 它能让人们相互学习,更好地了解世界。

  • Github

再说一遍,Github是程序员最常用的在线社区之一。学习、使用、分享,并在上面做贡献。

  • Twitter

我猜你肯定听过这个。 但是你有没有想过用它作为学习和回答问题的资源? 好吧,让我告诉你,Twitter 上有大量用户,上面有很多专家。 只需发推提问题加上相应标签就行。

  • Reddit

Reddit 上不止有 Meme 和 GIF。 Reddit 也可以成为寻找解决方案或学习新技术的强大资源。 它有一个线程系统,可以更好地规划主题。

  • Hacker News

该资源有科技行业的重要信息,真的很有用。

  • Producthunt

我难以表达我对这个网站的喜爱程度。 我每天都会使用它。 它不断发布一系列新工具,应用程序,框架,网站甚至是查找小工具。很多都和技术相关! 所以你总能在上面学到新东西。 它还具有求职和问答部分。

结论

阅读,练习,分享,提问......重复,这就是一条学习之路,你得坚持下去并有很大的耐心。 没有人生来就是某一领域的专家。我也还有很多东西需要学习。 请记住,成为优秀开发人员最重要的因素之一就是成为社区的一部分。 所以,多尝试不同的东西,约会,结识新朋友,获得一些反馈,改正代码并获得乐趣。

早知道就好了!这些编程入门神器,赶紧用起来相关推荐

  1. 编程入门python语言是多大孩子学的-包头孩子学编程python好吗

    包头孩子学编程python好吗,学习少儿编程就选童程童美,童程童美专注3-18岁少儿编程教育.历时多年,形成了以创意启蒙课程.人工智能编程.智能机器人编程.信息学奥赛编程等课程为核心的一站式编程教育平 ...

  2. Oracle编程入门经典 第12章 事务处理和并发控制

    目录 12.1          什么是事务处理... 1 12.2          事务处理控制语句... 1 12.2.1       COMMIT处理... 2 12.2.2       RO ...

  3. Oracle编程入门经典 第8章 索引

    目录 8.1        索引工作方式... 1 8.2        Oracle中的索引... 1 8.3        索引什么时候有用... 4 8.4        索引开销... 7 8 ...

  4. Oracle编程入门经典 第2章 SQLPlus和基本查询

    怎样使用SQL*Plus工具连接数据库以及执行查询 怎样配置SQL*Plus,以格式化查询结果 SQL语句的不同种类 怎样在数据库上编写查询来查看数据 怎样修改存储在数据库中的数据 2.1 SQL*P ...

  5. 《树莓派Python编程入门与实战(第2版)》——1.7 排除树莓派的故障

    本节书摘来自异步社区<树莓派Python编程入门与实战(第2版)>一书中的第1章,第1.7节,作者[美] Richard Blum Christine Bresnahan,陈晓明 马立新 ...

  6. linux Shell(脚本)编程入门实例讲解详解

    linux Shell(脚本)编程入门实例讲解详解 为什么要进行shell编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具.Shell不仅仅是命令的收集, ...

  7. GPU 编程入门到精通(五)之 GPU 程序优化进阶

    版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 博主由于工作当中的需要,开始学习 GPU 上面的编程,主要涉及到的是基于 GPU 的深度学习方面的知识,鉴于之前没有接触过 GP ...

  8. Windows 外壳扩展编程入门实例

    Windows 外壳扩展编程入门实例 -- Delphi 篇 作者的话 关于Windows 外壳扩展方面的文章私心以为最好的应当算是Michael Dunn 的TheComplete Idiot's ...

  9. Python,美国顶尖大学里最受欢迎的编程入门语言

    摘要 截止到目前,Python 已经成为目前美国顶尖大学里最受欢迎的计算机编程入门语言.计算机排名前 10 的学校里,有 8 所学校(80%)使用 Python 作为编程入门语言.在计算机排名前 39 ...

最新文章

  1. 有监督排序—LDA分析、作图及添加置信-ggord
  2. printf 命令详解
  3. 修改android init.rc,busybox及bash在android中的安装及init.rc修改
  4. C++输入/输出文件
  5. 深入浅出:5G和HTTP
  6. C 冒泡排序及其非常非常非常简单的优化
  7. Spring注解编程基石(二)
  8. 苹果ios鸿蒙,苹果iOS界面一直都很美,鸿蒙系统在这方面,让人担心
  9. PHP学习(语言结构语句)
  10. 一点一点学习Ubuntu
  11. iOS开发之UI控件阴影效果
  12. POI excel 添加水印 xls,xlsx
  13. POJ 3097 Falling Ice 笔记
  14. coreldraw梯形校正_CorelDRAW绘制等腰梯形的多种方法
  15. 嵌入式开发——基于小熊派的智慧农业案例(一)
  16. Python爬取虎牙主播图片
  17. 全国青少年软件编程(Scratch)一级2019考试测试卷最后一道编程题!
  18. WorldEdit 指令大全 开发记录
  19. 自动阅读教程--五条app
  20. Yapi idea插件使用

热门文章

  1. 为什么很多企业都喜欢鹅厂出来的产品经理?
  2. 2021抖音私域经营白皮书
  3. 互联网日报 | 2月23日 星期二 | 华为发布新一代折叠旗舰Mate X2;字节跳动游戏官网正式上线;携程设立轮值制度...
  4. 三角形面积=SQRT(S*(S-a)*(S-b)*(S-c)) 其中S=(a+b+c)/2,a、b、c为三角形的三边。 定义两个带参的宏,一个用来求area, 另一个宏用来求S。 写程序,在程序中用带
  5. 秦叶阳(1986-),女,就职于北京大学,安徽荣创智能科技有限公司联合创始人...
  6. 【操作系统】进程与线程
  7. 攀爬者(洛谷P5143题题解,Java语言描述)
  8. SQL server常用查询
  9. MFC源码解读(一)最原始一个MFC程序,手写不用向导
  10. 大数据时代最值得关注的15大技术趋势