精华内容
下载资源
问答
  • 这样学编程,直接原地起飞啊!

    万次阅读 多人点赞 2021-04-22 10:41:37
    大家好,我是二哥呀。 今天来给大家分享一些学习编程的心得,真的颠覆了我以前对学习编程的...前者代码写得多,但基础不扎实,刚学编程时候的我应该属于这一类;后者代码写得少,一句“talk is cheap, show me the co

    大家好,我是二哥呀。

    今天来给大家分享一些学习编程的心得,真的颠覆了我以前对学习编程的刻板印象,可以这么说,如果你恰好处在大学阶段,看到了这篇内容,OK,恭喜你,如果你能按照我说的去做,大三大四的时候绝对能领先同学一大截,除非你好心把这篇内容分享给他——嘿嘿。

    编程分两种,一种是实操型,奉行的准则是实践出真知;一类是理论型,奉行的准则是全部的知识都要搞懂后才肯去动手。前者代码写得多,但基础不扎实,刚学编程时候的我应该属于这一类;后者代码写得少,一句“talk is cheap, show me the code”就被呛得想动粗。

    真正的大牛,能在两者之间找到一个巧妙的平衡点。

    对于上班族或者转行的同学来说,想把所有的知识点都铺开去学习完,确实不现实,最好的办法就是重实战,然后再补理论。对于科班的在校大学生来说,因为有充足的时间,所以可以在理论知识上多花一些时间,等到工作后再弥补实践上的短板我认为是最正确的方式。毕竟鱼和熊掌不可兼得呀!

    最近些年,可能是因为写作的原因,我补充了大量的基础知识,就突然感觉“今非昔比”了,编程上有了很大的进步,尽管依然很菜,但比前些年自认为好了很多。

    好了,废话就不多说了。先给大家推荐一门课,哈佛大学的 CS50。

    老师非常激情,尽管没有在现场,但依然有一种身临其境的感觉。第一节课,直接就叫同学到讲台上撕了一本超级厚的书,就为了给同学们灌输一种思维——说得直接点,就是二分查找法,先把书撕一半,然后再撕一半,再撕一半,直到找到一个 M 开头的名字。

    总共也就 20 多节课,每节课大概一个小时左右的时间,大家可以每天刷一节。我简单列一下课程的目录,基本上都是编程中要搞懂的基础知识。

    • 算法、程序设计、语言等
    • 数据存储、磁盘等
    • C 语言、源代码、编译器等
    • 函数、全局变量、参数、返回值等
    • 线性搜索、二进制搜索
    • 符号、递归、冒泡排序等
    • 归并排序、动态内存分配、堆和栈等
    • 指针、文件输入输出等
    • 数独、计算机史上最有名的 bug 等
    • 魂斗罗游戏如何分配内存等
    • 哈希函数等
    • 网络编程等
    • 网络安全等

    说一件挺不好意思的事,我以前觉得只学 Java 这门编程语言就够了,做个 CRUD 的好 boy 不就挺好的嘛。然后随着时间的推移,越来越觉得这个想法有点天真,有点无邪,哈哈,还是要力争上进的,多学点没啥坏处。

    一开始学也行,随后补也行,总之是不能想当然的不学,会吃亏的,吃大亏的。

    关于 C 语言,我之前给大家推荐了浙大教授翁恺的视频,以及一个英文的在线学习网站,新来的同学可以去看一下。

    https://www.bilibili.com/video/BV19W411B7w1

    大家应该能发现,很多讲解计算机科学相关的书籍,包括课程,里面的例子几乎都是 C 语言描述的。我在《一把小刀,直插 class 文件的小心脏》这篇文章里也提到了 C 语言的符号表(Symbol Table)。

    C 语言是很古老了,但越老的东西活得越久,越能证明它的优越性。

    不得不说,哈佛就是哈佛,名校就是名校,这课程真心给力。如果你真的是对计算机科学感兴趣,并且将来要进入这个行业工作,强烈建议多刷几遍。

    这是一个在编程界混吃等死了十多年的老菜鸟给初学者的最良心的建议。下面是这门课程的地址。

    https://open.163.com/newview/movie/free?pid=M6U6LS8CV&mid=M6U6MHDUR

    刷完这门《哈佛大学的 CS50》,也刷完了翁恺教授的《C 语言程序设计》,就可以看看下面这本天书了!

    这本书牛不牛逼,直接看豆瓣评分就能感受到,基本上全星,应该说是计算机相关书籍中评分最高的一本了吧。

    那肯定是一门好书,一本再好不过的书了。

    但能不能看得懂,能不能耐着性子看下去,就需要看你的定力了!

    这本书从计算机开始讲,介绍了电脑主机有什么部件,主板上有什么零件,CPU、内存和硬盘之间是怎么连接的。

    介绍了我们写的程序是怎么从一个文本文件被编译,然后是怎么变成汇编语言,再到机器码的,以及怎样被计算机执行的。

    还讲到了计算机网络、计算机组成原理、进程和线程等等,从硬件到软件,全部拿下。

    这本书读完后会有哪些收获呢?

    • 明确某一个阶段我们欠缺什么知识。
    • 对技术有极客追求的同学会在这本书里找到很多答案。
    • 终于明白了,我们写的程序是怎么被计算机执行的。

    再次强调,《深入理解计算机系统》这本书对初学者并不友好,可能需要在不同的时间节点反复的看,一开始看不懂的内容可以过一段时间再看,如果还看不懂就再等等,过一段时间回来再继续看。另外,书里面很多例子都是用 C 语言写的,所以在看这本书之前一定要把 C 语言给吃透了。

    总之,不要抱着那种一定要把这本书吃透再怎么怎么样的幻想。先从中学到 1%,再学到 5%,再到 10%,不要操之过急,学到点是点,能学到多少都是值的,不抛弃不放弃,嘿嘿。

    如果真的想从事编程,当做一份职业来对待的话,你需要一本这样的书

    读这本书的同时,可以着手学习数据结构了,比如说数组、链表、树、图,以及哈希表等。为什么要学习数据结构呢?

    清华大学邓俊辉老师的答案:数据结构作为构建高效算法的必要基础,在计算机科学领域中,起到了技术体系的基石的作用。以 ACM/IEEE Computing Curricula(计算机教学大纲)2005 年版为例,其中对于计算机科学、计算机工程、信息系统、信息技术、软件工程等几个相关专业的共同要求中,数据结构与算法作为程序设计概念与技能的核心,紧随在数学之后,排在第二位。

    当然了,基本的算法也跑不了,比如说动态规划、贪心算法,还有基本的排序算法。

    我给大家推荐一个在线的学习网站,地址如下所示:

    https://www.programiz.com/dsa/why-algorithms

    这是一个纯英文的学习网站,截图中为什么是中文的?哈哈,当然是我用 Safari 浏览器翻译过的。英文功底可以的同学可以直接看英文原版的。代码示例有多种版本,Python、Java、C 和 C++ 的都有,完全不用担心被编程语言困扰的问题。

    有 C++ 基础的同学可以直接看邓俊辉老师亲自录制的课程,有配套书籍——《数据结构》第三版,清华大学的计算机系列教材,质量没得说。

    我贴一下课程的在线地址:

    https://www.xuetangx.com/learn/THU08091000384/THU08091000384/5883586/video/9215529

    害,如果你想在毕业后或者跳槽的时候拿到满意的 Offer,甚至体验那种好多个 Offer 摆在面前,却不知道选哪一个的感觉的话,我推荐的这三门课程、一个学习网站、两本书,你值得拥有!

    最后再送大家一本美团大佬手撕的 300 道 LeetCode 刷题笔记,纯 Java 版,二哥亲自整理的,分亮白版(可以打印出来学习)和暗黑版(晚上看保护眼睛),对于算法薄弱或者需要提高的同学都十分受用(提起码:xs23):

    https://pan.baidu.com/s/1xe3r8qDuKE99p2ZD9w2XrQ

    哇塞,原来学编程可以这样呀,忍不住点个赞,嘻嘻~

    展开全文
  • 玩是学编程的最好方式

    万次阅读 多人点赞 2021-05-20 14:25:11
    所以向我请教学习编程之法。看到好朋友有如此学习上进之心,我也备受鼓舞,下定决心要帮他排忧解难。但说来容易,做起来难。一时之间,我也不知道如何下手。 说一千道一万,首先应当对现有问题有个定义,然后再...

      我是herosunly,从985院校硕士毕业,现担任算法研究员一职。CSDN博客专家,2020年博客之星TOP。曾获得阿里云天池比赛第一名等Top名次,拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法行业就业。
    在这里插入图片描述
      上周末晚上好朋友找我聊天,说他最近在学习Python,但却总处于两天打渔三天晒网的状态。他很想学好,可是学习效率低下、事倍功半,但却不知道问题出在哪里?所以向我请教学习编程之法。看到好朋友有如此学习上进之心,我也备受鼓舞,下定决心要帮他排忧解难。但说来容易,做起来难。一时之间,我也不知道如何下手。

    在这里插入图片描述
      说一千道一万,首先应当对现有问题有个定义,然后再对症下药。可问题的症结究竟在哪里呢?是学习不够用心、不够专注?还是好朋友不适合学习Python?心中提出了无数个设想,但却总觉得没有get到问题的本质?那问题的本质究竟在哪里呢?这周每逢闲暇时刻,不由用手撑着脑袋开始了思考。经过苦思冥想后,终于发现了问题的本质。为了帮助更多初学的朋友,将劳动成果分享给大家,所以也催生了这篇博客的诞生。初学编程的同学们,你们是否也遇到了类似的问题呢?

      

      纵观个人三十多年的成长经历,最终得到了答案:玩是最好的学习方法。为什么这么说呢?回想起小时候玩搭积木的时光,用不同形状的积木随心所欲的进行搭配,最终构建成自己喜欢的物体,感觉充满了乐趣。可是在我们学习编程的过程中,往往都是根据教材或者视频按部就班的进行学习。活生生的把人当成了机器人,还有什么乐趣可言!如此一来,你可能就会在心中默念:这么枯燥的学习和练习还是交给那些程序猿吧。
    在这里插入图片描述
      之所以说玩是最好的学习方法。是因为玩的一大特点是自由自在,大家可以充分发挥自己的主观能动性,而不是被动的进行接受。所以玩的停不下来,越玩越有趣,最终形成了不断强化的正向循环。反观编程,往往得到的是不断负面的反馈,不由自主的从入门走向了放弃。

      那如何在编程中做到呢?那如何在编程中做到呢?首先,我们要正确认识自己的编程水平。先做个简单的分类。把同学分为没有完整学过基础语法以及学过两个类别。

      首先说下没有学过基础语法的同学,其中包含正在学习基础语法的同学,请在学习过程中保持“爱玩”的心态,可以尝试将不同的操作进行组合,具体该如何操作呢?,举几个栗子,请大家看到例子后思考并实践验证,例子如下所示:

    • 四则运算的组合:
    a = 1
    a *+1
    
    • 赋值运算:
    b = (a = 1)
    
    • 函数体与局部变量
    x = 10
    def foo():
        print(x)
        x += 1
    

      以上例子皆是抛砖引玉(甚至我们可以在键盘上乱打一通,然后猜一下会不会报错,报错的话会在哪里报错),希望大家能在学习语法中自主构建新的例子,从而加深对原有知识的理解。新手可以订阅系统讲解Python学习方法和语法的专栏:Python新手快速入门

      最后再说下已经学过Python语法的同学。既然已经系统学习过语法了,那就请开始实战吧。在实战过程中请记得也是在玩,也不是在做枯燥乏味的练习题。就像玩游戏一样,学会了基本的操作就开始敞开玩耍吧。那么问题来了,究竟进行什么样的实战呢?

      选择非常之多,可以用Python来创建游戏,例如使用pygame来创建植物大战僵尸等小游戏;
    在这里插入图片描述
      可以通过爬虫完成各种自动化操作。例如CSDN自动点赞与评论、自动收取蚂蚁森林能量等。爬虫适合于绝大多数人,在实战和学习过程中会对Python、前端、后端都有更加深刻的理解。下图为每天早上7点15分自动偷取能量的截图,想要学习爬虫的同学可以订阅我的专栏:Python爬虫实战教程
    在这里插入图片描述
      当然,现在如火如荼的机器学习方向也是一个不错的选择。但相对来说,门槛要比之前的方向更高一些。想要学习机器学习的同学也可以订阅我的专栏:机器学习入门之工具篇AI比赛教程

      大家在学习中还有什么想法或者疑问的话,也欢迎大家留言交流,一起进步。

    展开全文
  • 6个高效学习编程的方法

    万次阅读 多人点赞 2020-03-07 19:04:04
    学习编程的重点就是懂如何学习

    如何高效学习编程
    编程确实不是一件容易的事情,除了要有较强的逻辑思维,还需要花大量的时间和集中力来提升或者维持一定的高度

    与其他的领域不一样的是,技术每日都在变,所以对于编程初学者是很难一直与时并进的。就算是技术大神和老司机们也是追赶的比较吃力的。在技术领域打滚的这些年里,通过经历和经验总结出一些高效的学习方式和方法,在这篇文章里与大家分享。让我们现在就在技术领域的学习之路上奔跑吧!


    锁定目标,风雨兼程

    锁定目标,风雨兼程
    在刚刚接触技术的时候,很多人都会比较迷茫。技术领域有前端后端并且各自有多种编程语言。选定前端后端后又发现越过一山还有一山高,面临更多的选择。甚至在技术领域打滚了多年后的技术人员也会迷茫,会开始质疑自己的前景,是否要换一门语言或者多学几门语言。所以锁定目标是高效学习的第一门课。


    选择目标

    如果你的目标是前端开发,前期的学习道路是比较明确的,HTML5+CSS3起步。但是如果你的目标是后端开发,还没有开始就已经有多扇门在你前面,让你瞬间选择困难了。所以这里我们就用后端语言选择作为一个例子讲解学习目标选择方法。

    陷入学习目标选择困难症是因为技术每日每夜都在变,方向和未来都在摇摆。但是我们首先要有一个对技术有很好的判定能力。

    大家应该很多时候都听过"JAVA才是世界上做好的语言","PHP才是世界上最好的语言"等等,这些在自己领域崇拜着自己所爱的语言技术爱好者。TA们并没有错,因为每个开发语言都在特定领域或者项目条件里是最好的语言。不过并没有世界上最好的语言,只有在某一个场景和条件下最适合使用的语言。每一种开发语言都有他擅长最合适的使用场景。

    • PHP - 更适合小型到中型网页端应用(大型应用就需要其他语言配合使)
    • JAVA - 更适合大型应用,企业级应用(中小型应用用JAVA就是大材小用,浪费资源)
    • PYTHON - 更适合用于爬虫,人工智能,脚本类应用

    目标寻找法

    所以在选择学习目标的时候,我们要有对技术的判定能力,不要轻易听取一些偏面的评价和定论而下决定。

    选择学习目标时重要的决定因素:

    • 在目前最实用的 - 学能用到的更容易上手,也更有价值
    • 难度跨度不要太高 - 难度跨越太大时间成本会越高
    • 感兴趣的 - 感兴趣才更能坚持,更有动力
    • 社区更大的 - 社区越大遇到问题时找答案的途径越多
    • 开源项目优先 - 开源的项目的技术更有未来

    🎯 一旦锁定一个目标就要能懂,能用,能变,再扩张你的学习领域到其他的技术。

    • 能懂  -  能懂的技术或者知识的理论和原理;
    • 能用  -  能把技术或者知识投入使用,投入实战项目;
    • 能变  -  能举一反三学到的技术或者知识,能变通,延伸拓展。

    不要蜻蜓点水

    这一点是很多初学者都会犯的错误。

    不要浅入浅出,得不到技能还失去了时间。

    学习要一步一个脚印,很多一开始学习编程往往会同时学习多个技术,其实这种学习方式不但没有效果反而还浪费时间浪费生命。锁定一个学习目标就要专注一个点上学习,重点学习。

    举个例子,如果你想成为一个Java开发工程师,你是不需要从C学起,然后C++,最后才开始学习Java。我看到很多开发者刚开始都是这样学习,其实根本不需要从底层技术开始学习。既然你的学习目标是Java,那就直奔重点不浪费时间。稳固了基础开发语言后,选择一个框架开始深入专业实战知识。当你稳固了更专业的实战知识后,就可以开始学习这个技术的周边工具(比如IDE)让开发更加高效便捷。

    📖 专研秘诀:

    • 学习每一个知识或者技术,一定要深入浅出,深入学习和挖掘,吸取重要知识和技术。
    • 专心,专注,专研是一个技术人才的基本素养!

    先专注于会用而不是能用

    很多开发者习惯性会过于专注于工具使用,写法,性能,可扩展性等等。初学者一般都会掉入工具使用和写法的坑,而资深的开发者会过于专注于性能和可扩展性。这时候往往会过度消耗学习时间,甚至忘记最初的学习目标。

    用一个简单易懂的例子,“一个机械工程师不会浪费时间想怎么更好的使用TA的扳手,而是怎么可以组装好一个机器的部件” - 很多人会想,学会用更好的工具不是可以更快地安装好吗?但是现实是,你都还没有弄懂怎么安装,再好再有效的工具对你来说都是无用武之地。所以还没有学会前行,就不要先想着怎么跑

    再举例,如果你是正在学习使用Vue框架,不要太过于执着怎么使用Vue的周边工具,高级写法,性能隐患问题等等。你的目标应该是创建你的第一个首页然后直接投入开发一个小项目小应用。这样你的产出才是最高的,因为这样做更加专注于学会怎么使用Vue来实现功能,而不是更好的使用Vue框架。

    在学习的时候要专注于会使用新的技术,而不是怎么用各种花式技巧来提高使用能力

    还有很多童鞋开始学一门技术时,会先开始看一大堆的知识和书籍,或者去看一些大型的项目用这个技术是怎么实现的。其实更有效的学习方式是小步快跑,学习的过程中开发一个小项目会让你更加有动力也更有趣。

    约定自己在限定时间内完成小目标,如能完成就给自己一点小奖励。例如,你对你自己说"如果我下周五完成这个功能,我就让自己去看个电影"。记住奖励不需要很大,小步快跑,小奖小利,这样才能维持发自内心的动力和驱动力。不过就算没有达成小目标也不用气馁,失败时成功之母,所有成功的人都是通过在失败中总结成长壮大。


    采用学习策略

    采用学习策略
    每一个人都会有一种最合适自己的学习方式方法,适合我的不一定对你就有效 - 所以找到一种对你有效的学习方法很重要。

    经历

    学习方式方法是通过你日复一日,年复一年不停地尝试和总结得来的一种技巧。我也尝试过很多种方式来学习技术,自从我开始进入技术行业到现在,我换了无数种学习方式才找到最适合自己的一种技巧。
    在一开始刚刚入门的时候,我尝试看很多"从入门到精通",“XXX语言101"等等,最终的结果都是"从入门到放弃”。后面开始走视频学习之路,发现视频里面的老师说话好像是机器人一样,本来有点失眠症的,没想到一看视频秒睡着,被治好了!我以为我的技术生涯就要结束在这里了~ ¯_(⊙︿⊙)_/¯

    建立策略

    前方无绝路 · 希望在转角 ~ 我迅速改变了策略,学习技术和其他领域不一样除了看书,撸视频还需要动手去敲代码。学习任何一门技术,可以遵循以下学习策略,可以让学习的技术和知识更加稳固。

    📖 学习策略:
    还是遵循我们之前说到的规则,能懂,能用,能变。

    1. 深入了解技术的原理 -  了解清楚才能更好的在不同场景下运用自如(可以通过看书,看文档)
    2. 通过代码理解运用方式  - 看懂基本原理,就可以看看别人是怎么在项目中使用的(在github找开源项目,看教学视屏等等)
    3. 实战,做一个小项目 -  能懂,能会了就要能用,用新学的技术实现一个功能,做一个小项目,把知识投入实战。
    4. 发挥你的想象力  -  能用后如果想进阶更高层次,就要发挥你的想象力,能举一反三,在你的小项目里面加功能。

    其实上面的策略无非就是学习的过程中必须有的理论,运用和变通。这三个学习维度要保持一个良好的平衡。这个平衡是非常重要的,只有理论那就是"纸上谈兵",只有理论和运用那只是个"代码搬运工",如果三个维度你都才是就是"大师"。

    当然所说的平衡不是说1:1:1,完全平衡是很难的。对于一个初学者的话可以先3:2:1,中级就可以开始维持2:3:1,到了高级就可以维持2:2:2了。(比例指的是 - 理论:运用:变通)


    时间管理,提高效率

    时间管理,提高效率
    番茄工作法估计很多人都听说过,但是真正用上可能就很少了,能坚持使用的就更少了。

    很多时候在学习中,或者工作中,我们都是被时间追着跑,这里看一下哪里看一下,不经意就已经过了几个小时,一天就过去了。其实真正有效的产出不大,那是因为你没有合理的管理时间。用番茄工作法就是可以让我们可以追着时间跑,让自己时刻有着时间感,急迫感。
    自然时间运用上就更加有效了。我现在工作中和学习中都已经在使用番茄工作法,有效管理时间效率。突然发现使用了之后,每个小时我的工作效率提高了很多。

    使用方式其实很简单,把学习或者工作时间拆分为25分钟一个小阶段,每25分钟休息5分钟,每4次小阶段休息15到20分钟。

    使用这个时间管理法后,你会觉得在25分钟的小阶段里面,你的时间很紧迫的,每一分钟你都觉得很宝贵。你会发现你没有时间去浪费,自然而然的在25分钟内提高了效率。无形中你的学习和工作的集中力就会提升。除了提高了你的效率以外,你会发现一天几个小时的学习或者工作都不觉得很疲惫。因为在25分钟的高度集中后,你合理的调整了休息,让自己非常平衡的控制好疲惫度。所以你会发现一天里面的学习和工作都变得轻松了。

    用番茄工作法提高了学习效率和疲惫度,自然你的学习成果就会更高。如果你觉得我说的这个方法太虚幻了,不妨试一下体验一下,实战说明一切!


    多思考,多教学

    多思考,多教学
    通常我们学习都用的是吸🌟大法 🌟ԅ( ͒ ۝ ͒ ),然后实战运用,其实还有很多细节和理论我们并没有理解透测。所以运用就不够自由,无法延伸一些创新的用法,或者举一反三。

    在我事业发展的过程中,从一个小开发,做到一个小组长,到现在技术总监。在我开始带领一个小组,到带领整个技术团队;很多问题和新知识都要通过讲解或者教学来带培养你的组员和队员。这个过程中会遇到各种不同思维程度和学习能力的人,每一个人的理解能力或者理解方式都不一样,甚至看待每一件事情或者知识的角度都不一。你会发现你教学或者讲解某一个知识的时候需要使用各种不同的方式和方法。往往就是这样触发了你自己去换角度思考和理解这个知识,而启发了你自己对这个知识新的认知。

    通过教学和讲解来把你的知识传承给另外一个人,需要重新整理思路,逻辑,切换N种方式和说法。这个过程中你会挖掘出新的知识,新的观点,新的思维方式,新的理解角度和深度。这就是自我思维切换而达到的知识深度挖掘和提升的过程。这种就是我们经常说的小黄鸭教学法。

    不知道大家有没有听说过,当你思路不清晰,或者有问题无法解决的时候。你可以找一只小黄鸭,你就开始讲解你的思路,逻辑或者问题。这个过程中你开始重新整理自己的思路。如果你把一只啥都不懂的小黄鸭也能让它听懂。那这个时候你的思路,逻辑,理解都更加清晰了,问题起码都解决了50%以上了。我给这个方法取了个名字叫小黄鸭教学法!初级学习的时候要用吸星大法,进阶到高级的时候就要用小黄鸭教学法。能教会一只小黄鸭技术,你就是大神了!


    记录,总结

    记录,总结
    除非你是过目不忘,要不看完一本书能记下所有是不可能的。就算记住了但是不可能完全明白透彻。一个程序员经常面对着反复又反复的任务,记录学习进度和总结学习知识很重要。往往你学到一个知识的时候,你会使用这个知识投入实战中。你沉迷在代码海洋之中无法自拔之后,你会发现你已经不记得你入海前学到哪里了。所以记录学习进度很重要。

    记录学习方式:

    • 把学习后的知识写成文档
    • 把知识写成博客
    • 总结重点,记录重点
    • 编写学习规划,就是所谓的todo规划表

    在学习中,如果要把知识记录,当你要使用它的时候能快速找到。那你就要有总结知识的习惯。把你学过的知识,技术,技巧都写成文档,写成总结。这样加强你的印象,同时也整理出了属于你自己的开发手册。当你遇到了某些问题的时候就可以通过你自己的开发手册找到答案。


    改掉以下习惯

    改掉以下习惯

    • 完美主义: 初学者经常会陷入的一个坑,从一开始就追求完美,完美的写法,完美的实现方式,完美的设计模式。其实有时候这些都不是最重要的,反而导致有延迟和延后的严重情况,导致进度一直无法推进。最求完美往往把简单事情变得复杂。不要总是为了完美而无限徘徊,为了最好的解决办法而纠结,为了对的方式而浪费时间。往往在开发中,时间是有限的,需求是无限的,连完成都无法保证,就更没有时间追求完美。
    • 对比心态:很多行业内的新人或者准备入行的,都会去和行业内顶尖的人做对比。有一句很火的话"没有对比就没有伤害",很多人用来对比好与坏,美与丑。其实另外层意思就是如果对比会对你自身造成打击又何必常常带着对比之心来对待自己和事情呢?对比不一定会有伤害,但是对比的心态才是真正造成伤害的源头。应该先认可自己的优点,接受自己的缺点,然后去找到别人的优点,发现别人的缺点。在别人的优点和缺点给自己带来成长。吸收别人优点,避免自己养成了同等的缺点。优秀的人不是天生比你优秀,而是TA们更懂的不自我透支,更懂得养成在无形之中让自己成长的习惯。
    • 复杂化:学会把复杂的问题和事情拆分成多个小问题小事情。复杂的问题和事情就会变得更加简单。因为问题和事情往往有多个点需要突破,把每个点拆开逐个突破就会更加简单轻松。从简到繁,如果太复杂,就拆开一个一个更简单的小点,逐个突破。
    • 过度透支:学习累了就躺穿上休息,吃饱喝足了就坚决不吃了。养好一种自律的习惯,不过度透支自己的时间和生命,这样才能有更好的精神和态度面对问题和困难。近年来有很多给程序员打上的标签,“加班狗”,“无日无夜写代码”,“生活邋遢”,"衣服全是同款黑色"等等。确实,做为一个程序员,我们花了大部分时间都在想问题,编写者神乎奇幻代码和程序。但是我们都往往忘记了自己的身体已经在一点一点透支。到了那一天你停下来了,你会发现,身体不行了,除了写代码其他个方面的能力都没有时间去提升。也没有劲学习成长了,整个人好像很颓废,生无可恋一样。所以学会不透支自己,才有更好的状态和精力学习和突破自己。

    总结

    无论你是在学习技术还是在学习任何其他领域的知识。在学习这条路上都会有坑坑洼洼,各种颠簸。所以我们学习要有技巧,要有方法才能在有效时间内收获最大化!

    学习法门:

    1. 锁定目标 - 选择有用的,对你现在阶段有价值的目标
    2. 采用学习策略 - 深入学习,投入实战,总结经验
    3. 管理好时间 - 把控好时间,提高效率
    4. 多思考,多总结 - 多思考问题,多总结和记录知识
    5. 改掉不好的习惯和心态 - 有好的习惯才能更轻松的学习和成长

    一个人一生是有学不完的知识和技能,然而人一生的时间是有限的。所以要把我们的时间和收益最大化才能比同年龄的人跑的更快,学的更多,能力更强!大家一起在学习的道路上继续加油吧!

    推荐阅读


    • 🔥 《学懂编程第一法则助你写出更好的代码》 — 无论新手还是资深开发者都会经常问一个问题,“怎么写好的代码?”,要知道怎么写好代码,首先我们要知道怎么样才是好的代码。要有明确的目标,才能知道如何达成目标。


    • 🌟《你真的懂怎么写服务层吗?》 — 其实很多系统架构里面都有服务层,但是服务对很多开发人员来说都有很多不同的定义和写法。甚至在我待过的公司里都有不同的写法和编写模式。每个人每个团队每个项目都有对服务不同的理解。那到底什么是服务,怎么理解才是对的呢?

    和你一起终身学习

    展开全文
  • 需要编程一个Al机器人,然后由它来解决各种面临的题支持各种编程语言。 Gode Combat 扮演一个英雄通过游戏中的关卡冒险主输入代码控制英雄支持Java、JavaScript、 Python、 Lua等语言。 Check io 需要使用Python或...

    CodinGame

    在这里插入图片描述

    需要编程一个Al机器人,然后由它来解决各种面临的题支持各种编程语言。

    Gode Combat

    在这里插入图片描述

    扮演一个英雄通过游戏中的关卡冒险主输入代码控制英雄支持Java、JavaScript、 Python、 Lua等语言。

    Check io

    在这里插入图片描述

    需要使用Python或JavaScript来解决问题,进行游戏。

    Codewars

    在这里插入图片描述

    通过挑战来精湛编程技艺,支持JavaScript、Python.C#、 Java等语育。

    Screeps

    在这里插入图片描述

    在多人战略沙盒游戏中学习编程。

    Vim-adventures

    在这里插入图片描述

    通过游戏来学习Vim。

    Cyber-dojo

    在这里插入图片描述

    是一个程序员实战编程的地方

    Playcodemonkey

    在这里插入图片描述

    通过尝试捕获香蕉来学习编程

    Elevatorsaga

    在这里插入图片描述

    电梯编程游戏,需要-步步解决问题过关

    Git-game

    在这里插入图片描述

    通过git命令来找到线索解开谜题

    Hacker

    在这里插入图片描述

    破解加密、写出精巧的代码,揭开重重迷雾

    ①3000多本Python电子书有
    ②Python开发环境安装教程有
    ③Python400集自学视频有
    ④软件开发常用词汇有
    ⑤Python学习路线图有
    ⑥项目源码案例分享有
    如果你用得到的话可以直接拿走,在我的QQ技术交流群里(技术交流和资源共享,广告勿入可以自助拿走,群号是764406565。

    展开全文
  • 今天来给大家谈一谈如何高效地学习编程。 无论什么时候,找到学习的目标,以及学习的套路都非常的重要。找不到的话,就只能事倍功半,付出了很多努力,却迟迟得不到最好的回报。 三四年前,我特别喜欢收藏文章,觉得...
  • 别为了学编程学编程

    万次阅读 多人点赞 2014-01-14 09:39:03
    请不要为了学编程学编程!更别为了高工资而从事编程这个行当。我诚挚的建议是,我们应该把时间花在:(1)学习如何贪婪地做研究,并对我们周围的事物是如何工作的有个基本的理解;(2)学习如何有效地与别人沟通。...
  • 女生适合学编程吗?

    万次阅读 多人点赞 2020-05-31 07:28:01
    就来谈谈这个话题吧:女生到底适不适合学编程? 按照我目前的理解来看,编程属于脑力活动,女生在这方面好像没有什么劣势。假如非要把编程定义为体力劳动的话,我想巾帼不会让须眉的,毕竟你看男足有多差,女足就有...
  • C#学编程从入门到实践【PPT课件】

    千次下载 热门讨论 2014-02-09 14:44:20
    C#学编程从入门到实践,免费下载,ppt格式,共521页。是一份不错的C#学习资料,内附有一些学习的教程,欢迎大家下载学习!
  • 千万不要学编程

    万次阅读 多人点赞 2019-01-03 12:30:59
    我要说的是,千万别学编程,为什么说“千万不要学编程”呢?我们可以先反过来讨论“我们为什么要学编程?”这个问题讨论清楚了,你也就明白我为什么说千万不要学编程了! 学习编程应该是这样的逻辑吗? 在讨论为什要...
  • 适合 C++ 新手学习的开源项目——在 GitHub 学编程

    万次阅读 多人点赞 2020-11-05 08:15:00
    作者:HelloGitHub-小鱼干俗话说:万事开头难,学习编程也是一样。在 HelloGitHub 的群里,经常遇到有小伙伴询问编程语言如何入门方面的问题,如:我要学习某一门编程语言,...
  • 我是如何学习编程

    万次阅读 多人点赞 2019-04-15 22:58:25
    我是如何学习编程
  • 写给想和在学编程的你们,学习编程的7个好处

    万次阅读 多人点赞 2020-03-29 19:20:41
    其实选择学编程是能变人生的。可能很多人学编程,报了一个编程培训班,为了就是拿到更高的工资或者有更好的工作环境。最后坚持下来的都会发现编程给我们很多个人能力和技能的提升。
  • 有了这 15 款编程游戏,谁都可以学编程

    千次阅读 多人点赞 2019-07-24 12:15:00
    点击蓝色“五分钟算法”关注我哟加个“星标”,一起算法1Coding Games一边玩游戏,一边挑战编程难题。Coding games支持包括PHP、C、JavaScr...
  • 编程培训“低龄化”是好是坏? 为什么要学习编程?孩子学习编程有用吗? 很多家长认为:技能学习应该从娃娃抓起,而编程技能正是众多技能学习中最为重要的技能学习之一。之前在上海大学举行的一项教育机器人比赛中...
  • 再不学编程,你就连7岁孩子都赶不上了!

    万次阅读 多人点赞 2018-09-28 08:49:39
    硅谷Live / 实地探访 / 热点探秘 / 深度探讨去年,教育部建议中小学开设人工智能课程,引起了吃瓜群众们激烈的讨论。到底孩子应该多大年龄学习编程等电脑课程呢?咱们先...
  • 学编程?这些问题你搞明白了吗?

    万次阅读 多人点赞 2020-02-26 01:06:49
    最近有很多编程小白咨询我一些关于学习编程的问题,因为我也是自学编程,一路也是磕磕绊绊的,知道这里面的辛酸苦辣,对于他们的问题,我之前也迷茫过,姑且...庆哥庆哥,学编程以后能干啥啊???? 你还别说,我当初...
  • 什么是编程?该怎么学习编程?

    千次阅读 2020-01-24 02:05:28
    对于稍稍有一点技术追求者来说, 学习是唯一让自己变强的方法,对于很多初学者来说,都会遇到很多相同的问题,如果学习编程这种东西,没有兴趣的支撑, 坚持下去也是很吃力的, 同时也存在一些人生"逆行者", 喜欢折腾自己,...
  • 从零开始学编程——编程语言

    千次阅读 2019-06-21 16:13:02
    当我一开始想学编程向别人请教的时候,别人都会问你想学哪门编程语言呢?其实我也不清楚到底有什么编程语言,每种编程语言能干什么事,所以就很想知道现在市面上都有哪些变成语言,学了这些语言能够完成什么事情,这...
  • 随笔-学习编程有没有必要做笔记?如何做笔记?

    万次阅读 多人点赞 2018-07-07 21:16:18
    前言  对于刚刚学习编程或者已经学习了编程的朋友,难免会产生该不该做笔记的想法。是做好?还是多练习几遍比较好?... 问:学编程有没有必要做笔记?  答:十分肯定,一定要做!  作为一名软...
  • 真的是让人满头问号,目前编程行业工资比较高,很多人都想一下编程,但又不知道从哪里开始学习,我觉得学习编程的过程用一句话来说再合适不过了,就是一个好的开始是成功的一半,你开始了,那么你也就成功一半了...
  •  玩游戏学编程,寓教于乐:12个学习编程的游戏化平台  近来人们日益认识到编程的重要性,并发现它逐渐成为简历上另一种不可或缺的技能。本文将会介绍一些有助于通过游戏化学习编程的教学平台。 基于以上原因,有...
  • 1. 对于想要准备学习编程的朋友来说,往往对编程有很多的疑惑,不知道如何抉择,常见的就是以下几个问题: 如何选择编程方向 怎么学习编程 如何学好编程 英语不好能不能学习编程 数学不好能不能学习编程 如何...
  • 已经写了7-8年代码,也是老程序员一枚了,在感叹青春不在的同时,程序员作为一个技术原则上年龄越大经验越是丰富,其实...30岁开始学编程从常规来讲有点晚了,如果能够克服以下几个困难未尝不可以尝试学习学习下: 1...
  • 30岁开始学编程晚吗?

    万次阅读 多人点赞 2020-04-09 09:52:19
    二哥,说出来不怕你笑话,我和你年纪差不多。之前是干别的,但有点编程的基础,最近想转行程序员,不知道晚不晚,你能不能给我一些建议,或者说有没有一些攻略可以参考。 ...30 岁开始学编程,...
  • 大学如何开始学编程

    千次阅读 2020-05-20 17:59:32
    大学如何开始学编程?是编写自己感兴趣或者能够真正投入使用的程序?还是找些志同道合的人,然后互相学习?
  • 免费学编程的最佳网站

    千次阅读 2019-03-18 13:49:02
    11 个免费学习编程的好地方 学编程没人带?推荐10个免费学编程的最佳网站给你
  • 学编程又一火爆网站:哔哩哔哩

    万次阅读 2020-10-01 21:42:41
    最近哔哩哔哩学编程,里面有很多编程的视频,质量比较好。 有个算法视频:力扣&拉勾网算法 讲的不错 身边的同事都在使用
  • 学习编程的游戏网站

    千次阅读 2018-11-27 02:51:21
    学习编程的游戏网站 1. codecombat CodeCombat 是一个在真正的游戏中教学生们学习计算机编程的平台。这是一个社区项目,有上百位玩家贡献者们创建了各种关卡。支持 Java、JavaScript、Python、Lua、CoffeeScript 等...
  • 你可以在玩游戏中学习编程。 Mybridge A.I. 基于各种因素也评估了这些网站的内容质量,以确定它们对程序员是有用的。 这些网站专为初、高级程序员而设计,帮助他们学习各种计算机语言。诸如:JavaScript、java...
  • 学习编程需要什么基础

    万次阅读 2018-09-20 17:40:03
    如果你想要认认真真去学编程,但是还没准备,可以看看以下几条建议~ 1、数学基础。从计算机和应用的发展历史来看,计算机的数学模型和体系结构等好多都是由数学家提出的,包括最早的计算机也是为数值计算而设计的。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 307,328
精华内容 122,931
关键字:

学编程