#100DaysOfCoding 改变了我的人生……
我为什么要这样做?
我的目标
我的规则
我目前学到的东西
……而我才到了第[003/100]天!
我第一次听说“#100DaysOfCoding”(百日编程挑战)是在2014年。当时我读到一篇关于Jennifer Dewald的文章,讲述了她如何连续180天每天做一个网站,从而自学编程。她的成就令我印象深刻,从那时起,我就一直把参加这样的挑战列入了我的待办事项清单。
但我之前一直没做好准备……直到现在。在决定接受挑战之前,我需要读一下瑞秋写的另一篇鼓舞人心的博文。
我为什么要这样做?
我一直很欣赏那些下班回家后还会继续做自己项目的软件开发人员。很明显,他们热爱编程,对自己的能力充满信心,并且把编程当作一种爱好。而这些特质也正是他们工作出色的原因。
那从来不是我。我充满动力和热情,我热爱编程,但当真正需要坐下来工作时,我却会自我怀疑,最终选择看Netflix。原因在于,我想要逃避面对和克服那些自我毁灭的想法:
- 恐惧和自我怀疑:“我做不了这个项目。我会失败,一旦失败我就永远也做不成了。最好还是不要开始,这样我才有其他选择!”
- 懒惰:“这工作真累啊,是不是?我累了,应该好好休息一下。”
- 完美主义:“如果我接受这项挑战,就必须做到完美。如果我每天没有取得显著进步,那就不算数。你知道自己会失败,所以干脆别尝试了。”
我知道这是我自己筑起的墙,但我可以打破它,让天空成为我的极限!
(旁注:我发现这些想法和我减肥失败的原因很相似。恐惧让我甚至不敢开始,懒惰让我赖在沙发上远离健身房,完美主义导致我非黑即白的思维模式,最终让我的体重像溜溜球一样反弹,直到我精疲力竭地放弃。剧透一下:我在2018年克服了这种思维模式,成功减掉了16磅,现在轻松保持着理想体重💪)
我的目标
- 提高我的Python和C++编程水平。
- 练习数据结构和算法。
- 打破我心中的障碍,增强我的自信心。
- 让坐下来写代码变得容易,并培养出比看 Netflix 更喜欢写代码的习惯。
- 实施项目并为开源项目做贡献。
- 在Codenal上获得徽章,让我的 GitHub 贡献日历焕然一新!💪
我的规则
- 每天至少编程一小时。
- 工作日轻松一点:在Codenal上完成一些小型编程挑战。
- 周末从事大型项目和开源贡献工作。
- 每周一次,在周末写一篇博客文章,总结我所学到的东西。
- 我可以通过加班赚取“备用代码量”。这些备用代码量在我想周末旅行或露营时会派上用场,因为我知道在那几天我没法写代码。
- 慢慢来。每天迈出一小步,比操之过急、操之过急,最终可能导致精疲力竭而放弃,要好得多。我会自然而然地进步,不知不觉中,我每天都能取得很大的进步。
我目前学到的东西
挑战才进行了三天,但我已经学到了很多东西!
每次在 Codenal 中完成新的编码任务后,我都会查看其他人的解决方案,并将他们的代码与我的代码进行比较。这样,我就可以学习不同的思考方式,而且通常还能找到更简洁的解决方案。
目前为止,我了解到:
- 例如,Python 2 和 Python 3 之间的区别:
- 虽然
/在 Python 2 中是整数除法,但在 Python 3 中是浮点数除法。要在 Python 3 中进行整数除法,必须使用//。
- 虽然
- 您可以使用扩展切片来反转列表,例如
myList[::-1] - Lambda 表达式是匿名函数。其语法为
lambda argument: manipulate(argument):例如,add = lambda x, y: x+y - 列表阅读理解和听写阅读理解
- 该
map函数
此外,我对自己的能力确实更有信心了,自我怀疑的壁垒正在迅速瓦解。我需要说服自己坐下来写代码的时间越来越短,一旦开始写,我就不想停下来!
#100DaysOfCoding挑战也标志着我敢于尝试写博客文章(看这里,这是我的第一篇!),通过社交媒体向世界展示我的生活(在Instagram和Twitter上关注我),以及我致力于其他#100DaysOfX挑战,例如:
- #100天跑步挑战(目标是2019年纽约马拉松!你用Strava吗?加我好友吧:Strava)
- #100天取消订阅(得清理一下我的垃圾邮件箱了,简直失控了)
- #100天冥想挑战(我需要提高情绪调节能力和专注力。我的思绪也太混乱了😛)
- #100天拉伸挑战(我很擅长运动,但康复和拉伸却很差,不过这种情况即将改变!)
我觉得这简直改变了我的人生🤟