by JS

由JS

我为期一个月的GitHub的经验教训 (Lessons from my month-long GitHub commit streak)

“I want to learn JavaScript. Like, really learn it. Like, truly understand it.” — me in November 2016

“我想学习JavaScript。 喜欢,真正地学习它。 喜欢,真正了解它。 ” —我在2016年11月

A lofty goal, for sure. Especially for someone who’s only been programming for about six months, decidedly in not-JavaScript (Ruby, if you must know). A particularly daunting task after you’ve been told over and over again how weird JavaScript is. But I can be stubborn.

确实有一个崇高的目标。 特别是对于只从事了大约六个月编程工作的人,绝对是使用非JavaScript编程的(如果您必须知道,则使用 Ruby) 一项特别艰巨的任务 一遍又一遍地告诉您JavaScript多么奇怪 。 但是我可能很固执。

About two months ago, I wrapped up a stint at The Firehose Project, where I studied part-time while holding down a day job as an attorney. It was a great experience. I learned about building complex Ruby on Rails applications, test-driven development, and more. But once the program ended, I wanted to learn more about JavaScript — the language powering so much of the web.

大约两个月前,我结束了The Firehose Project的工作 ,在那里我从事兼职工作 ,同时担任律师的日常工作。 这是一个很好的经验。 我了解了如何构建复杂的Ruby on Rails应用程序,测试驱动的开发等等。 但是,一旦程序结束,我想学习更多有关JavaScript的知识-JavaScript是支持大量Web的语言。

I turned to freeCodeCamp, the resource I initially used to learn basic HTML and CSS before enrolling in The Firehose Project. freeCodeCamp has a robust, project-driven, JavaScript-oriented curriculum that seemed like the perfect option to master the basics.

我转向freeCodeCamp ,这是我最初在注册Firehose Project之前用来学习基本HTML和CSS的资源。 freeCodeCamp具有健壮的,以项目为导向,面向JavaScript的课程,这似乎是掌握基础知识的理想选择。

Without the structure of a paid program, however, I feared that I would fall victim to procrastination or otherwise come up with some excuse as to why I should stop when things got hard.

但是,如果没有付费计划的结构,我担心自己会成为拖延的受害者,否则我会提出一些借口,以求在遇到困难时我应该停下来。

I came up with a solution: work through the freeCodeCamp projects and make at least one commit to GitHub every single day for at least one month. No matter what. No matter whether I felt like coding. No matter how I was feeling on any particular day. And I’m happy to say I accomplished my goal. And what I learned surprised me.

我想出了一个解决方案:在freeCodeCamp项目中工作,并在至少一个月中的每一天至少对GitHub进行一次提交。 无论。 不管我是否想编码。 不管我在任何一天的心情如何。 我很高兴地说我实现了我的目标。 我学到的东西使我感到惊讶。

第一课:即使在我不喜欢编码的日子里,一旦强迫自己开始,我经常会快乐地工作几个小时。 (Lesson one: even on days when I didn’t feel like coding, I often happily worked for hours once I forced myself to get started.)

“The pleasures of not writing are so great that if you ever start indulging them you will never write again” — John Updike.

“不写作的乐趣是如此之大,以至于一旦您沉迷于它们,就再也不会写作了。” —约翰·厄普代克(John Updike)。

It’s an awful idea to just sit around waiting for the right moment or inspiration to strike. While this idea of waiting for one’s muse mostly comes up in creative fields, a variation of it can take hold in other disciplines.

只是坐在那里等待正确的时刻或灵感来袭是一个可怕的想法。 虽然这种等待缪斯女神的想法主要出现在创意领域,但它的一种变体可以在其他学科中扎根。

Don’t wait until you’re “in the mood to code” or until you’ve thought of a great idea for a new app. Don’t wait for inspiration. Just start.

不要等到您“打算编写代码”或等您想到一个新应用的好主意时再等。 不要等待灵感。 刚开始。

If you don’t have any active projects, log on to Code Wars and do a few kata. Make a simple implementation in that framework you’ve been meaning to check out. This field is vast enough that there is always something you could be working on.

如果您没有任何活动的项目,请登录Code Wars并进行一些操作。 在您一直想签出的那个框架中做一个简单的实现。 该场是广阔的,以至于总有一些东西 ,你可以工作。

Besides, the simple act of starting might inspire you to continue.

此外,简单的开始可能会启发您继续。

During the last month, there were more than a couple days where, after a long day at work, the last thing I wanted to do was sit down at my desk at home and struggle with some coding problem. But more often than not, once I started working, I found it easy to keep going.

在过去的一个月中,有超过两天的时间,经过一整天的工作之后,我要做的最后一件事是坐在家里的办公桌前,遇到一些编码问题。 但是通常,一旦我开始工作,我发现继续前进很容易。

The mind has a terrible way of making mountains out of molehills. Don’t fall for it.

头脑有一种糟糕的方法,可以使人们摆脱困境。 不要为它而堕落。

第二课:我了解到我能够在一段时间内致力于某件事-不是因为我为此花了很多钱,或者不是因为我需要我-而是因为我设定了我想要实现的目标。 (Lesson two: I learned that I was able to commit to something for a period of time — not because I was paying a lot of money for it, or because I was required — but because I set a goal that I wanted to achieve.)

I have trouble staying committed to things I don’t actively find fascinating.

我很难坚持做那些我没有积极发现的事情。

There’s a brief honeymoon phase with every new hobby I pick up where it’s the only thing I can think about during the day. This lasts for about a month and it goes something like this: I’m progressing at a rapid pace, learning something awesome every day. I’m feeling more confident. I start have delusions of grandeur. “I will be a master [pianist / photographer/ artist / songwriter] soon,” I whisper to myself.

在每个新的爱好中,都有一个短暂的蜜月期,这是我白天唯一可以想到的事情。 这个过程持续约一个月,过程是这样的:我的进步很快,每天都在学习一些很棒的东西。 我感到更加自信。 我开始有宏伟的幻想。 “我很快就会成为[钢琴家/摄影师/艺术家/作曲家]的大师,”我自言自语。

And then, all of a sudden, I stop noticeably improving. It gets hard. I hit a wall. The magic goes away. I wonder if maybe this thing isn’t for me after all.

然后,突然之间,我停止了明显的改善。 很难。 我撞墙了。 魔术消失了。 我想知道这东西到底是否不适合我。

Unless you’re a prodigy, you’ve probably experienced something similar. It’s so easy to quit (as anyone who ever briefly saw me with a DSLR around my neck or a sketchbook in my hands can testify). But this is a terrible way to ever get good at anything.

除非您是神童,否则您可能会经历过类似的事情。 退出非常容易(任何曾经在我脖子上戴数码单反相机或手里写有素描本的人都可以作证)。 但这是一门擅长于任何事情的可怕方法。

Learning to program is not easy. And anyone can tell you it’s certainly not always fun. There have been times when I have wanted to give up because I felt I wasn’t progressing quickly enough. But learning to program is more akin to a marathon than a sprint, and it’s important to keep this in mind when you think about your goals, and where you want to be in a few weeks, or a month, or a year. Nobody becomes an expert in this stuff overnight.

学习编程并不容易。 任何人都可以告诉您,这当然并不总是很有趣。 有时候我想放弃是因为我觉得自己进步不够快。 但是学习编程比起短跑更像是一场马拉松比赛,并且在考虑自己的目标以及几周,一个月或一年的目标时要牢记这一点,这一点很重要。 没人会在一夜之间成为专家。

With that in mind, it’s really important to just gut it out and persevere through the tough times.

考虑到这一点,重要的是要克服困难并坚持不懈。

I have long thought my tendency to stop doing stuff when it got boring or difficult was just a personal defect. Something I was bound to live with for the rest of my life. Me, the guy who likes to dabble in everything but is not actually good at any one thing.

长久以来,我一直认为我倾向于在无聊或困难时停止做某事只是个人的缺陷。 我一生都必须与之共存。 我,一个喜欢涉足所有事物但实际上在任何事情上都不擅长的家伙。

It’s true that there’s never been a better time to learn a new skill or hobby — there are so many free resources, and the barrier of entry is often so low, that there’s basically no limit to what you can learn. It’s really incredible and I wouldn’t have it any other way.

的确,从来没有比现在更好的时间来学习新技能或嗜好-有太多的免费资源,入门门槛通常很低,以至于您学到的东西基本上没有限制。 这真是不可思议,我再也没有其他方式了。

But it’s also not so great if you’re like me and have a wandering eye when it comes to interests and hobbies. In 2016, it’s incredibly easy to jump from topic to topic when the going gets tough or the spark fades. If you want to get good (at anything), it’s important to resist this temptation, however strong.

但是,如果您像我一样,并且在兴趣和爱好方面流浪,那也不太好。 在2016年,当事情变得艰难或火花消失时,从一个主题跳到另一个主题非常容易。 如果您想变得出色(无论如何),那么抵抗这种诱惑,无论多么强大,都是很重要的。

Coding and pushing daily commits to GitHub for a month-straight helped me realize that I have the power to stick it out through the tough times and keep going, even when it’s not fun or exciting.

每天对GitHub的提交进行编码和推送已连续一个月,这使我意识到,即使在娱乐性或令人兴奋的情况下,我也有能力在艰难时期坚持并继续前进。

第三课:一致的练习是最好的练习。 (Lesson three: consistent practice is the best kind of practice.)

Consistent practice of a moderate or even short length is better than having a couple marathon sessions once or twice a week. There are tons of studies on practice and training that confirm this, but you will see the evidence for yourself if you take this challenge.

坚持适度甚至短时间的持续练习比每周进行一到两次两次马拉松比赛更好。 大量的实践和培训研究证实了这一点,但是如果您接受这一挑战,您将为自己找到证据。

With consistent practice, you have the opportunity to reinforce what you learned in days prior, before you forget everything. This reinforcement is key to understanding tough programming concepts. It’s not enough to sit down for a few hours, read about how this or prototypal inheritance work and then walk away for a week. If you haven’t completely forgotten what you read by then, well, congratulations on having a better memory than me.

通过坚持不懈的练习,您有机会在忘记所有内容之前,加强前几天学到的知识。 这种增强是理解严格的编程概念的关键。 坐下来几个小时,阅读有关this继承或原型继承的工作方式,然后走一个星期,这是不够的。 如果您还没有完全忘记自己所读的内容,那么恭喜您拥有比我更好的记忆。

The far better tactic is to read, take notes, practice some implementations, and then go back the next day and review what you’ve done. By practicing consistently, and structuring your sessions so you are in a cycle of constantly reviewing old material while also learning new material, you ensure progression while solidifying a foundation of knowledge.

更好的策略是阅读,做笔记,练习一些实现,然后在第二天返回并回顾您的工作 。 通过坚持不懈地练习和安排课程结构,使您处于不断回顾旧材料,同时学习新材料的循环中,可以确保进步,同时巩固知识基础。

第四课:记日记有助于我保持动力。 (Lesson four: keeping a journal helped me stay motivated.)

Seeing all those green boxes on my GitHub profile is awesome, but I chose to also keep a journal of sorts so I could look back on my accomplishments in detail. My journal also allowed me to keep track of all my non-GitHub work, of which there was plenty (because, like I said earlier, once I got started I often did not want to stop).

在我的GitHub个人资料上看到所有这些绿色框都很棒,但是我选择还保留各种日记,以便我可以详细回顾自己的成就。 我的日记还允许我跟踪我所有非GitHub的工作,其中有很多工作(因为就像我之前说的那样,一旦开始,我常常不想停止)。

Your journal can be anything — a Google Doc, a blank notebook, or a notes app on your phone. I chose to go with a small, daily planner that has a calendar laid out for each month and then on subsequent pages, space for writing about each day. At the end of every night, I would check off the day in the calendar section and then write some notes about what I did that day. Let me tell you, it feels incredible to check those boxes.

您的日记可以是任何内容-手机上的Google文档,空白笔记本或记事应用。 我选择了一个小型的每日计划器,该计划器每个月都有一个日历,然后在随后的页面上留出每天写的空间。 每天晚上结束时,我都会在日历部分检查当天的日期,然后写下一些有关当天的工作记录。 让我告诉你,勾选这些复选框实在令人难以置信。

Whenever you’re feeling discouraged or down, you can look back into your journal and see how far you’ve come. I was really surprised at how empowering this turned out to be.

每当您感到沮丧或沮丧时,您都可以回顾一下日记,看看您走了多远。 事实证明,如此强大的功能真让我感到惊讶。

下一步是什么? 加入我! (What’s next? Join me!)

Looking ahead to the new year, I want to keep this streak going as long as possible. While I’m nowhere near where I want to be in terms of skill-level, I’ve already learned so much in the past month, and I am completely sold on this admittedly not-so-revolutionary method (shout out to #100DaysOfCode, a slightly more structured and significantly longer version of my personal challenge to myself).

展望新的一年,我想让这种情况保持尽可能长的时间。 虽然我距离技能水平还差得远 ,但过去一个月我已经学到了很多东西,而且我完全被这种公认的不太革命性的方法所售出(喊到#100DaysOfCode ,这是我对自己的个人挑战的结构化程度略高,且版本更长的版本)。

I don’t see why it wouldn’t work for anyone, at any skill, in any topic.

我不明白为什么它对任何主题的任何人,任何技能都不起作用。

If you feel inspired to start your own #CommitMonth, hit me up on twitter. I’d love to hear from you.

如果您有灵感开始自己的#CommitMonth,请在twitter上打我。 我希望收到您的来信。

“Amateurs sit and wait for inspiration, the rest of us just get up and go to work.” — Stephen King

“业余者坐在那里等待灵感,我们其余的人只是起床去上班。” - 斯蒂芬·金

翻译自: https://www.freecodecamp.org/news/lessons-from-my-month-long-github-commit-streak-b8f3167d34ac/

我为期一个月的GitHub的经验教训相关推荐

  1. 一个月提高英语口语经验,比较有效的方法

    一个月提高英语口语经验,比较有效的方法 敢于开口 学英语很重要的一点是用来和他人交流,但开口难也是中国人学英语的一大特点.问题出在以下几点: 一是有些人把是否看懂当成学习的标准.拿到一本口语教材,翻开 ...

  2. 做事用人 用人做事_做事:构建我的第一个Web应用程序的经验教训

    做事用人 用人做事 On the 5th of June, 2020, after almost two weeks of (re)learning javascript, fixing bugs, ...

  3. 准备一个月去参加ACM,是一种什么体验?

    目录 比赛前: 比赛中: 比赛后: ACM入门学习路线: 总结: 比赛前: 小结: 作为一个医学院校的信息专业的学生(算法小菜鸡),也作为咱们专业第一届参加ACM的选手,我想总结一下这次比赛的经验和教 ...

  4. 我当DeFi农民的一个月:浅谈Balancer流动性挖矿的风险与潜在收益

    在最近爆火的DeFi农耕潮当中,像红薯YAM.意大利面.小龙虾.葡萄等千奇百怪的项目吸引了很多人的眼球,而这些农耕活动显示的上千百分比年化收益(APY指标),确实有些让人感到窒息,但笔者却一直都没有心 ...

  5. 苹果复兴_类型复兴的故事:来自Type West的经验教训

    苹果复兴 Last Fall, I began the 去年秋天,我开始 在旧金山的Type West program at the Letterform档案库中Letterform Archive ...

  6. php三年经验 多少工资_二级建造师一个月可以赚多少钱?

    二建证书含金量正在逐年增加.该证书的必要性和发展前景我们不容小觑.不管你考证的原因是因为本身的工作提升需要,还是因为考生觉得二级建造师证书含金量和市场行情不错.作为考生最关心的问题一般都是:二级建造师 ...

  7. GitHub重大更新即将加入免费软件包管理服务;钉钉社区因出现违规内容将停更整改一个月;Uber上市,定价为45美元……...

    关注并标星星CSDN云计算 极客头条:速递.最新.绝对有料.这里有企业新动.这里有业界要闻,打起十二分精神,紧跟fashion你可以的! 每周三次,打卡即read 更快.更全了解泛云圈精彩news g ...

  8. 小学老师工资多少一个月_目前中小学老师一个月有多少收入?资深班主任经验总结...

    原标题:目前中小学老师一个月有多少收入?资深班主任经验总结 坐标南京 本人南京教师,中一九级,97年师专毕业从教至今,05年函授本科拿到手,现到手工资7730.15每月,年终绩效有两部分:一是基础绩效 ...

  9. 一个月把热门关键词做到百度第3经验分享

    一个月把热门关键词做到百度第3经验分享 <!--123--> 以前都在A5上看别人的成功经验,自己从来没有写过一篇文章.今天来和大家分享下网站一个月从pr值从0到3,网站排名到第3的小小经 ...

最新文章

  1. oracle中间件微信公众号,对TP5.1中间件融合微信公众号代码的优化
  2. 【转】3D图形引擎(DX9): FX
  3. AbstractQueuedSynchronizer理解之三(Semaphore)
  4. cvsHelper--C#关于CSV文件的导入和导出以及转化
  5. 佛系听歌?Beats推出“串珠”耳机 盘它?
  6. 对用户密码进行加盐处理
  7. cas 单点登录_松哥手把手教你入门 Spring Boot + CAS 单点登录
  8. win10ltsc安装后重启提示bitlocker有问题怎么办_原神安装运行问题-原神打不开进不去解决教程...
  9. 用计算机代码怎么表白,程序员如何用代码向喜欢的人表白?
  10. Apache服务器与Tomcat服务器的区别
  11. 前端数据可视化系列:三大数据可视化工具(G2、Echarts、BizCharts)(前章)
  12. 直方图python_python实现直方图的应用
  13. GPK游戏包安装方法
  14. python下载动作电影_Python爬虫实战之取电影天堂,,新手练手项目
  15. 搭建一个misskey实例
  16. This is a CONNECT tunnel, through which encrypted HTTPS traffic flows.
  17. seo主导下的内容建设
  18. 逻辑运算是计算机实现计算器基础,第1章__计算机的发展与运算基础.ppt
  19. 利用WordPress REST API 开发微信小程序从入门到放弃
  20. Navicat Premium 12卸载注册表 激活码 彻底删除

热门文章

  1. readonly的用法
  2. 29 _react-router说明
  3. 连接sqlexpress
  4. Shell编程 之 for 循环
  5. 一个数据仓库转型者眼中的数据挖掘
  6. TCP/IP WebSocket MQTT
  7. NHibernate自定义集合类型(上):基本实现方式
  8. 文档类型定义和合法性(2)
  9. 模板方法模式(Template Method Pattern)学习笔记
  10. CentOS HarBor安装与配置