如何自学一门新技术

1,288 阅读7分钟

本文初衷

  • 把自己模板化

  • 以此篇为引,与同行沟通心得,所以在此严重要求如果你有对应的心得还请能回复下,真心感谢!(鞠躬)


现在互联网中,90后这一群体,现在已经占据了大部分的工作岗位,承担起中国互联网发展的未来!但是我们每天都承受着巨大的压力,因为我们没有80后程序员的技术经验,我们大部分都是刚刚走出校园的小菜鸟,我们有的只是年轻的身体,和较强的学习能力,所以我们恨不得每天都把自己工作之外的精力全部都放到学习上面,就好像自己一天不学习新的东西,就会被淘汰!,而我作为一名90后程序员,从学校毕业到现在也有了三年多的工作经验了,在这个过程中我遇到过很多的弯路,但是这些都是宝贵的经验。我现在有了自己的技术博客,微信公众号,我还有另外一篇文章《我是如何自学成为程序员的》,里面有我这些年的一些经验和忠告,有兴趣的朋友可以去 点击去看看。因为我想把自己的经验和技术分享给更多的人,这对于我来说本身也是一种进步。

就我这几年的工作经验来看,对于所有的行业来说,你的能力其实不是最重要的,管理者认可的的是你对这份工作的态度,所以希望大家在工作中要有一份认真的态度,你可以没有经验,你可以失败,但是你要去认真的面对这份工作,总有一天你会成功的。不记得从哪里听到过一句话,让我受益匪浅。

遇到问题,不要去找理由,要记着办法永远比理由多!


态度我们有了之后,当然我们还是要有能力的,这个是基础,作为程序员来说,不仅要有工作经验,你还要有很好的学习能力。说了一些题外话,下面开始说正题:

首先大家来看图片

分享程序员自学新技术的正确方式

学习思想导图

  • 刚开始工作的时候,自己什么都不懂,然后学习一些新的东西都是乱七八糟的,看看这里,看看那里,觉得自己浑浑噩噩的,到最后什么都没有学会!直到我看到这张思维导图,我瞬间就理清自己平时在学习东西时候那混乱的思维了。

下面我们跟着这张图去学习一下安卓官方新推出的开发语言Kotlin

官方介绍:

  • Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。

  • Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。

  • JetBrains,作为目前广受欢迎的Java IDE IntelliJ 的提供商,在 Apache 许可下已经开源其Kotlin 编程语言。

  • Kotlin已正式成为Android官方支持开发语言。

在看这些只是的同时你还要从各个角度去看它,深入了解它,要明白我们要学习的是一个什么东西,

  • 参见

  • 补充阅读

  • 参考资料

  • 外部链接

同类技术:

  • java

  • Scala

同类技术比较优点:

  • 更简洁:这是它重要的优点之一,可以比Java编写少得多的代码。比最成熟的竞争者Scala还简单

  • 更安全:Kotlin是空安全的,它在编译期间就会处理各种为null的情况,无需像java一样添加很多的判空代码,节约很多调试空指针异常的时间,很大程度上避免出现NullPointException。

  • 易扩展:扩展函数意味着我们不仅可以扩展我们原有写好的类,还可以扩展系统级的类,非常灵活,另外如果在类里编写扩展函数,那么只对当前类生效。

  • 函数式:Kotlin使用了很多函数式编程的概念,比如用到了lambda表达式来更方便地解决问题。

  • Kotlin Android Extensions:再也不用编写烦人的findViewById()了,如果你集成了ButterKnife,是时候删除对它的依赖了,Kotlin支持了对于View以id形式访问。

  • 不用写分号,就像你看到的上述代码一样,对于很多写过脚本语言的童鞋来说,不要写分号这一点真是节省了很多时间,对于一天写几百行几千行甚至上万行代码的童鞋们来说,相当于省了多少个分号.

学习前提/依赖

要有JavaScript基础相关

为什么会出现

长期官司压身:众所周知,在Android的版权问题上,不要脸的Oracle公司在长达6年的时间里一直以Android部分Java代码侵犯Oracle公司版权为由对Google持续提起上诉。比较有意思的是,Java语言的原拥有者却力挺谷歌。我想,长期的官司压身,长期的高额诉讼费用,长期的人力资本,一定在谷歌Android团队掀起了不小的波澜,他们大概也在寻求一个新的语言来解决安卓开发的痛点问题,这也许就是Kotlin语言在Android团队中的萌芽吧!最重要的就是上面提出的kotlin相比同类技术的优点。

要明白为什么去学

  • 老板让学的?

  • 解决工作问题?

  • 提高效率?

  • 知识储备?

  • 灵机一动?

kotlin虽然很优秀,但奈何我的公司开发的APP全部都是用的java,也许有人说可以混合开发,kotlin能够很好的兼容java,但是公司不是一个人,是一个团队,要改编程语言去做新项目,工作效率是一方面,开发成本也会很大,作为老板来说肯定不希望了。所以对于我来说的话,学习kotlin是作为知识储备的,学会的东西就是自己的,不要等到用的时候才去学习。(如果有好的工作机会,这些都是加分的项目)

解决了什么问题

  • 完全兼容Java

  • Null safe(空指针异常)

  • 支持lambda表达式(比Java8更好)

  • 支持扩展

  • 体验一致的开发工具链

自己写 Demo:

自己去创建一个工程,然后从基础语法开始,每一个语法都要亲自去运行一次,然后看出来最后的效果。

参考别人 Demo

去一些技术博客,微信公众号,github上面下载一些别人的Demo,然后看一下别人是怎么用的,学会一些使用窍门

分享:

  • 写博客

  • 分享到开发者头条

  • 分享到简书

  • 分享到掘金

  • 分享到微信公众号

  • 系统整理 Demo 在 Github 上

上面就是学习一种新东西的大概步骤,也许不是适用于每个人的,上面提出的仅仅是自己的个人意见,可能平时我们也是这样做的,可是我们从来没有认真思考过或是整理过这样的思绪!也许你认为只是一种思路,不是很重要,但是对于我来说,我很受用这种学习方式,就像文章刚开始说的,让自己让自己模板化,有记录,有流程的的方式,很适合初学者(意见仅供参考,可能大家有更好的学习方式,请分享共勉!谢谢!)

大家都有了以上相同的教程,但是人和人之间的区别在于:别人有颗更强大的内心,可怕的是比你聪明的人比你还要更努力!!

当你下定决心,准备前行的时候,剩下的只有坚持了。