• 从一个非科班的角度唠唠我的编程技术学习成长之路,希望对你有帮助


    📢📢📢📣📣📣
    哈喽!大家好,我是「奇点」,江湖人称 singularity。刚工作几年,想和大家一同进步🤝🤝
    一位上进心十足的【Java ToB端大厂领域博主】!😜😜😜
    喜欢java和python,平时比较懒,能用程序解决的坚决不手动解决😜😜😜

    ✨ 如果有对【java】感兴趣的【小可爱】,欢迎关注我

    ❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️
    ————————————————

    如果觉得本文对你有帮助,欢迎点赞,欢迎关注我,如果有补充欢迎评论交流,我将努力创作更多更好的文章。

    目录

    身体是革命本钱

    早制定计划不迷路

    不要让最美好的时光浪费在不必要的事情上

    别怕踩坑

    学会孤独

    学会做笔记学会总结

    获取知识的途径

    源代码托管服务平台

    博客

    书籍和文档

    学习英文

    选择什么语言


    相信很多开发人员都不是学习计算机专业的,很多都像我一样半路学习都java成为了一名程序🐒。今天我想从一个半路出身的人来唠一唠我的java学习成长之路,和大家进行分享。

    身体是革命本钱

    保持好的身体是最重要的,身体是我们革命的本钱,没有好的身体其他一切都是白费,学编程的人员一般都很宅(当然这种性格很适合编程工作,不用跟人打太多的交道写好自己的代码就行),不爱运动,同时大多人员都喜欢喝肥宅快乐水,爱吃炸鸡🍗快餐,养成了很多不好的习惯,在这里小编建议大家要学会照顾自己。写代码还是很劳神费力的,有了好的身体才能有充沛的精力工作,学习,每周去长跑2到3次,每天做半小时的有氧运动。由于程序员一天大部分时间都是坐在工位工作的,你要学会适当的摸鱼,偶尔出去走走也是很好的方法。总的来说我们要学会养生,告别不好的习惯,养成一个经常锻炼和健康饮食的习惯。

    早制定计划不迷路

    首先如果你读到这个文章的时候还是大一大二的大学生,你很幸运希望这个文章能帮助你,养成一个好的学习习惯,而不是每天得过且过,成天混日子。上高中的时候老师经常说上了大学你就轻松了,作为过来人,还是劝告大家千万别相信这个鬼话,大学要是轻松了,你的后续工作就不会轻松,(这个轻松只是我们有更多的支配时间,老师这个话听听就好)上了大学就应该多参加一些活动锻炼自己的表达能力和组织能力,多去图书馆多参加一些竞赛,竞赛获奖了对后续的考研还是工作都大有用处。如果你也是一个技术宅,想从事编程相关的行业,你可以在平时多参加一些相关的社团,找几个志同道合的同学一起学习,技术相对好了可以一起接一些小的项目。总而言之,大学要想过的充实,学足够多的本领,是不可能轻轻松松过来的。如果你是大三和大四,当你看到我这个文章的时候,开始奋起直追也是不晚的,人生只要认识到自己的不足,并坚持下苦工夫,我认为都是不晚的,如果是工作的,你可以在自己的业余时间挤出一部分,利用好碎片时间,我相信你有这种精神,学习起编程来也不会太难。

    不要让最美好的时光浪费在不必要的事情上

    我本科是学习自动化的,那会开设了c语言和c++,这些都是和硬件关系紧密的编程语言,因为自动化详细很多学习虽然会学习c语言但是奈何之前太贪玩了,周末会跟室友5人开黑,完的不亦乐乎,周末的时候经常开黑到深夜,当时确实很爽,拿个5杀拿个VIP,这种虐菜点感觉不要太爽。

    然而这种痛快终将是一时的,欠的债都要还的,这句话一点不假,只是时间问题(当然这只是对一般人来说,官二代富二代除去,反正你们也不会看这种文章)。现在工作了,想再学习,就会发现要比学校学习难得多,平时的工作问题解决起来就很复杂了。加上北京这种地方每天通勤就会花费大量时间,以我来讲每天早班车去公司会花费1个小时的时间,如果赶上堵车就1个半小时进去了,赶上大堵车,真是感觉到了最远的距离不是相差天南海北,而是你在五环我也在五环😂,回家的话坐公交地铁会花费1小时20分钟,加班打车也会花费40分钟,这样平均下来就小3个小时了,已经占到一天的1/8的时间了,想再挤出来一些时间进行学习和自我提升只能在工作忙完之后进行了。现在想想之前上学的时间打游戏是多么的不值得,打游戏只能让你变得更傻x,耗时耗力你的最宝贵的时光就这样被消磨没了,同样总打游戏会让你变得越来越孤僻,

    在最好的时光打游戏,太不值得了。打游戏可能占用了我大学生活的很多课余时间,如果你还是刚刚进入大学(同学你很幸运,读到了我这篇文章,作为过来人的我,会强烈推荐你不要打游戏,多去去图书馆,参加一下活动也比成天打游戏强千倍百倍,我们总是错过了才会感到惋惜,这个虽然是人性,但是可以通过前人的经验,尽量做到少走弯路,尤其是现在遇上大环境不好的情况)校招变得越来越卷,校招的难度也是水涨船高,一年比一年难,研究生人数也每年都创新高,在这种情况下只能抓紧时间,深磨自己的基本知识,打铁还需自身硬吗,大学时光的懒散,到找工作的时候烦恼就会跟着你到来。

    别怕踩坑

    想成长就要有毅力,不要怕踩坑,不要怕遇到困难,没有走过足够的坑,踏不平的过程,技术,就很难有飞跃的增长。这句话就是我们技术成长的必经之路,还记得自己第一次安装jdk的时候,配置环境变量使用了很长时间,刚开始学习编程的时候是学习的android编程,由于当时android studit这个软件还是不很成熟,里面很多bug,由于导师是做偏硬件的,同学也都是偏硬件的,自己遇到问题也很难找到高手来指导,每天都是头大的一天,应该问题卡一天,哎真是太难了,这时我也没有那么熟悉的基础,解决问题的方法也不是很有经验,使用方法只能通过百度,无奈啊。所以有一个或者几个小伙伴一起学习还是很有必要的,

    我推荐大家能和同学分享自己的东西,只有能把这些东西讲给别人,能讲明白的知识才是你自己的知识,否则只是敲敲代码,过一遍或者看一遍视频的话,你大概率是记不住的。所以,不要吝惜自己的知识,多和同学分享自己的知识。

    学会孤独

    对于一个非科班出生的人来说,要学会耐得住孤独。很多时间都是自己一个人在战斗,看视频自己看,看博客自己看,遇到问题自己解决,学到东西只能写博客进行分享,很多时间都是自己在奋斗。虽然这样但是我还是能忍受的,对于程序员来说,这种能耐住寂寞的精神还是很需要的。程序员一般都经历过晚上写代码的经历,在夜深人静的时候,翻开电脑打开电源,伴随着CPU的旋转,完成自己没完成的任务和自己制定的计划。

    学会做笔记学会总结

    好记性不如烂笔头,非常推荐大家把学到的知识记下来。可以使用纸质📒也可以使用电子笔记,印象笔记和有道笔记都很好用。在这里推荐大家使用纸质的笔记,翻阅起来很方便,看起来也比电子的要舒服的多,毕竟天天盯着电脑太费眼了,还是对自己的👀好一点吧喂。我之前很多时间只是学习并没有做总结,写笔记也是很随遇,记录的很糙从来没有深度的总结过。最后的学习效果就可想而知了。

    做笔记也是一门学问,好的做笔记的方式能起到指令作用,帮助我们对复杂繁多的知识进行回忆和记忆,做不好笔记自己都看不懂自己写了什么。对于笔记,我们要学会画脑图,坚持把学到的知识纪录到脑图中,同时这个习惯需要检查,时间长了你就会发现这种方法记忆起知识来很系统很有调理。同时方便我们进行回忆,如果感觉自己画很费时间的话,我推荐你们使用xmind软件来画,再画的时候不要长篇大论,要精简,否则就像我最开始做脑图的场景,写的很详细,后来自己都懒得看了😂。所以笔记做的要精炼。

    多总结,分析每一次遇到问题,然后没有跳出大坑,技术是需要多运用还需要把彼此关联起来,不要觉得懂了就完了,还需要能够在需要的时候,轻松拿出来,在比较各个技术点之间的优劣,只有研究的透彻,才不至于,知其然不知其所以然。

    获取知识的途径

    获取知识的途径千千万,这里我给大家一些常用的工具和网站,供大家学习,后续也写一篇文章专门给大家推荐一下学习的书籍,供大家学习参考。

    源代码托管服务平台

    代码托管平台,这里有无数的源码供你选择学习,GitHub如果打不开用码云也是很好的选择,我个人现在把很多自己的项目都转移到这上面来了

    github:https://github.com/

    码云:Gitee - 基于 Git 的代码托管和研发协作平台

    博客

    排名不分先后,都是很好的学习平台。

    csdnhttps://i.csdn.net/#/user-center/profile?spm=1019.2139.3001.5111

     CSDN应该是最早的技术社区之一了,至今有20年的历史了,一个东西能存在20年一定是有他的道理的。

    知乎:奇点777 - 知乎

    知乎是我经常使用的一个软件,感觉上面的回答都是很负责任的,讲解相对较丰富,推荐大家使。在知乎各行各业人都有,什么问题也都有,不光是技术问题。知乎并不是一个博客系统,准确地讲,知乎更像一个论坛系统。所以在知乎上你只能开设专栏,并不是普通的博客。

    知乎至今也有将近十年的时间了,知乎的创业起点还是比较高的,一开始就得到了李开复的投资,后面的发展也是顺风顺水。不过最近也是遭到了北京网信办和公安部的多次处罚,APP被强制下架,不过这些也都是发展过程中的正常问题吧。
     

    博客园:博客园也是一家老字号的专业技术社区,至今有15年的历史了。博客园的发展经历算是比较坎坷的,头几年连个像样的团队都没有,办公室也是几次搬家,每次搬家都相距千里,他们的创业故事也是充满了正能量。博客园也是我重点备选之一。

    头条:不光是一个新闻网站,上门也有很多的博主写文章,积累了很多的好文章。

    简书:简书是这几年兴起的一个写作社区,简书的运作和宣传做的还可以的,但是快速发展的过程中也带来了管理的漏洞,据说今年被上海网信办给整顿了,刚看了一下他们官网现在还在整顿中。不过相信他们会挺过这一关的。

    思否编程segmentfault

    近几年兴起的技术社区,专注于技术领域,可以在上面开设技术专栏。

    掘金

    近几年兴起的技术社区,主攻技术内容分发,可以在上面开设技术专栏

    Stack Overflow

    老外的一个社区,在这里几乎你能找到所有的你遇到的问题,这上面的回答者大多都是老外,毕竟很多大佬都是老外,一些新的知识也都是从国外传入咱们中国本地的。很多新的技术都是他们在踩坑,这里的回答人一般都很热情,用英文写了问题,一般很快就会有响应的,之前有一个问题就是在这上面问的,国外老哥很热情的给我解答了,所以如果英文很好的话,是非常推荐使用这个平台的。

    Stack Overflow - Where Developers Learn, Share, & Build Careers

    有了这些博客大家可以订阅一些优质的博主,学习他们的文章,遇到问题可以在这上面找答案。当然大家也可以自己在这上面写文章,同大家共同分享自己的心得体会,交到一些技术上的朋友。

    书籍和文档

    书中自有颜如玉,书中自有黄金屋,书籍是我们学习知识获取知识做好的途径。一本好书都是一些大佬花费数年编写出来的作品,所以我强烈的推荐大家购买正版图书,支持作者的劳动成果,你想想一本书可能只是几十块💰,但是你能学到这个大佬几年十几年的劳动成果,之花几十块这跟白嫖有什么区别。所以为了更好的支持劳动成果和知识产权,还是购买正版图书吧。后续小编给大家整理一些书籍供大家参考。

    除了书籍之外,我们还有学习使用官方的文档,你想想官方的东西能不权威吗?一门新的技术肯定是先通过官方文档学习的,很多书籍和文章都是翻译的官方文档,但是翻译过程中难免会有所差异,还是原汁原味的东西学着更舒服。同时官文上的小demo能方便的给我们提示,官文一般写的都很详细,之前读的redis文档,写的真是太好了,所以推荐大家学会使用官方的文档。

    学习英文

    对于程序而言,大部分都是使用英文进行编程的,新的技术都是用官方文档学习的,一般来说这些文档都是使用英文写的,所以我们应该学习专业相关的英文,这样读的多了以后读文档就方便了。

    选择什么语言

    可能困扰编程新手最多的一个问题是【我应该学什么编程语言】或者【我需要学习哪些课程才能做出一个web、一个app】,很多人一直纠结这个问题,陷入了东学一点、西看一点的死循环,到头来啥也没学好,这会很浪费时间。

    刚上大一的时候,我也很想知道应该选择什么编程语言。我问了很多人,网上各种查资料,但所能得到的答案都很片面,多数对这个问题答非所问,总是回答说“某某编程语言难”,“某某编程语言性能好”。其实作为初学者,我们对计算机体系都不了解,就不要过多地去纠结性能,或者难易等因素,原因我等下再说。

    如果你有明确的方向,那么很好选择。如果你想做算法、机器学习方向,那么python是最好的选择。如果你想做web开发,java、php等都可以。如果想做一些更底层的工作,那么就可以选c。当然这是建立在你有明确方向的基础上。可是,很多人都没怎么接触过计算机行业,特别是和我一样刚入学就被调剂到计算机专业的人。对这些同学来说,各个编程语言就只是个名字,除了叫法不一样,你根本不知道它们有什么差别。所以索性不要纠结了,我替你选一个吧。

    如果你是在校大学生,那么你有大把连续的时间,就先学习c,然后再学c++。我个人是学c入门的,也许很多人不理解我为什么推荐学c,因为c和c++都很难、很复杂,看起来并不适合入门。然而正是它们的难和复杂才能让你更好地理解计算机系统【计算机系统不是指操作系统】学习编程不是学习编程语言,而是学习一个计算机生态,即一个庞大的知识体系。只会编程语言而不理解整个计算机的体系,就像只会写字而写不出好文章。了解c/c++和了解计算机系统是极为贴合的,向下可以帮助你更容易地理解操作系统、编译原理、计算机网络、计算机组成原理,为什么呢?因为较为底层的东西很多都是用c实现的,和系统的贴合度极高,很多教材源码甚至教程,在讲述这些知识的时候都是用c或c++作为媒介。而向上,c++面向对象的机制,也可以做出一些应用,譬如五子棋游戏等,也不会显得那么枯燥。花个小半年时间了解c和c++,之后你就会觉得看书、看资料可以轻松很多。

    如果你是一个上班族,但是刚刚学习编程,可能学c和c++对你来说有些复杂和困难,因为学习它们确实是很需要时间。你们不像在校生那样有大把的连续时间,而零碎的时间去学习一个比较复杂的东西效果不见得有那么好,所以可以先学一些【更容易见效】的编程语言,从python入手吧,至少能快速做出一些小应用,不至于丢失了兴趣,但是真的要入门编程又还得看看与计算机系统相关的书籍,这样才能更深层次地去编程,譬如【深入理解计算机系统】这一本书可以读很多遍,这本书把整个计算机系统给串起来了。

    现在就讲到这了,后续我再整理一些别的东西,供大家学习。希望今天这个文章对你有帮助,创作不易,希望大佬点个赞再离开吧。

  • 相关阅读:
    leetcode算法每天一题027:移除元素
    【JavaSE】初识数据类型
    python生成CAPTCHA验证码图像实战、生成英文CAPTCHA验证码图像
    web中操作sqlite数据库
    Nginx面试常问题&工作原理揭秘
    FTP服务配置和使用
    强化学习从基础到进阶-案例与实践[2]:马尔科夫决策、贝尔曼方程、动态规划、策略价值迭代
    Transformer ZOO
    软件开发项目文档系列之十五如何撰写项目结项报告
    CC3
  • 原文地址:https://blog.csdn.net/qq_29235677/article/details/126855718