提高编程技能的10个网站_您可以做的6件事可以提高您的编程技能

提高编程技能的10个网站

About one year ago, I was starting my first and only marathon. Yes, 42 kilometers and 200 meters. More than four hours running without stopping, going through sensational landscapes while asking myself why I was really doing that.

大约一年前,我开始了第一次也是唯一的马拉松比赛。 是的,42公里200米。 四个多小时不停地奔跑,穿越轰动的风景,同时问自己为什么我真的这样做。

When I finished the race, with a lot of pain in muscles that I didn’t even know existed and a few existential doubts, I got that great feeling of accomplished duty. I was proud of being a part of a distinct group, doing something few people have done. (Well, not so few, since there were more than 1,000 people with me, but you get the point.) Anyone that has finished a project, a course, or built something knows what I am talking about.

当我结束比赛时,肌肉疼痛很多,我什至不知道存在,还有一些存在的疑问,我感到很有成就感。 我为能成为一个独立小组的成员而自豪,做了很少有人做的事情。 (嗯,不是那么少,因为有1000多个人陪着我,但是您明白了。)完成项目,课程或完成某些工作的人都知道我在说什么。

From the moment I decided to run the marathon to the finish line, I’ve learned some things that I’m applying to my professional life as a programmer. And these are much more important than the race itself.

从我决定参加马拉松比赛到终点线的那一刻起,我已经学到了一些我在程序员职业生涯中应运而生的知识。 这些远比种族本身重要。

This article will share with you some things you can do to improve your programming skills.

本文将与您分享一些可以提高您的编程技能的事情。

Image for post
Photo by JESHOOTS.COM on Unsplash
JESHOOTS.COMUnsplash上的 照片

有一个爱好 (Have a Hobby)

I’m not saying you should start running a marathon right now. Running is a hobby for me, and I like it a lot.

我并不是说您现在应该开始参加马拉松比赛。 跑步对我来说是一种爱好,我非常喜欢。

There are a lot of articles on the internet extolling the benefits and the importance of having a hobby. One of the reasons I do it is that I can stop thinking about the bugs in my code. It works like a pause for my brain, like an escape, so I can rest a bit. (I know—how can I rest if I’m running?)

互联网上有很多文章赞美爱好好处重要性 。 我这样做的原因之一是,我可以停止考虑代码中的错误。 它就像我的大脑停顿一样,就像逃跑一样,所以我可以休息一下。 (我知道,如果我正在跑步,我怎么能休息?)

Whenever I’m stuck on a problem or can’t think about a solution, I pause and start doing something related to my hobbies. I watch a documentary, I read an article or a book, go for a run—anything but coding.

每当我遇到问题或无法解决时,我都会停下来并开始做与自己的爱好相关的事情。 我看纪录片,看过文章或书,去跑步,除了编码。

A hobby can teach you different ways to approach a problem. And you can apply those methods to your code problem.

爱好可以教给您解决问题的不同方法。 您可以将这些方法应用于您的代码问题。

Some of my hobbies and what I learned from them:

我的一些兴趣爱好以及从中学到的东西:

  • Running: Every time I apply for a race, I have to prepare myself for it. And that requires discipline to achieve. There are some days that you’re feeling unmotivated, but you run anyway. Because you know that it’s important and you have to do it.

    跑步 :每次申请比赛时,我都必须做好准备。 这需要纪律来实现。 有时候您会感到动力不足,但无论如何您还是会跑步。 因为您知道这很重要,所以必须这样做。

  • Cooking: I love to cook. When following a recipe, I like to have all the ingredients separated, so I can focus on the task. You can blow up a dish just because you forgot to buy onions. For my projects, I like to do the same. IDE, terminal, documentation, tutorials—all I know I’m going to need to execute that task, so I don’t have to search for it later.

    烹饪 :我喜欢做饭。 遵循食谱时,我喜欢将所有成分分开,因此我可以专注于任务。 您可以因为忘记买洋葱而炸毁一盘菜。 对于我的项目,我喜欢这样做。 IDE,终端,文档,教程-我都知道我将需要执行该任务,因此以后不必搜索它。

  • Gardening: I love to pick a tomato from my garden and make a salad with it. It’s just another flavor. But it takes time to grow, just like it takes time to create a nice app or dashboard. But you get there eventually.

    园艺 :我喜欢从我的花园里摘一个西红柿,用它做沙拉。 这只是另一种味道。 但是,成长需要时间,就像创建漂亮的应用程序或仪表板一样需要时间。 但是你最终会到达那里。

And there are other things I do that help me in programming. So, if you don’t have any hobbies, I suggest you start one today.

我所做的其他事情也可以帮助我进行编程。 因此,如果您没有任何爱好,建议您从今天开始。

Image for post
Photo by Sharon McCutcheon on Unsplash
Sharon McCutcheonUnsplash拍摄的照片

做辅助项目 (Do Side Projects)

“I’ve learned more in one week in this job than in four years of college.”

“比起四年的大学,我在这份工作中一周学习的知识更多。”

You’ve probably heard this phrase many times in your life, if you haven’t said it at least once.

如果您至少没有一次说过这个短语,那么您可能已经多次听到过这个短语。

When you are learning, some things are already done for you, so you can concentrate on the topic being taught. It can be an API if you’re learning how to make a website, or it can be a database if you need to create an API.

当您学习时,已经为您完成了一些工作,因此您可以专注于正在教授的主题。 如果您正在学习如何制作网站,则可以是API;如果需要创建API,则可以是数据库。

But when you’re doing a real project, you will have to consider all these little details and learn how to make some assumptions. This will help you understand concepts about a language, an algorithm, or the reasons why an architecture is chosen.

但是,当您做一个真实的项目时,您将不得不考虑所有这些小细节并学习如何做一些假设。 这将帮助您了解有关语言,算法或选择体系结构的原因的概念。

You will have a lot of ideas for projects to do with your hobbies. It can be to solve a problem or to automate a process; you will think about a script or an app that you can program.

对于与您的爱好相关的项目,您将有很多想法。 它可以是解决问题或使过程自动化。 您会考虑可以编程的脚本或应用。

And this idea can become a side project that you can start doing. You have a goal, and this will help you with some problems you discovered with your hobbies.

这个想法可以成为您可以开始做的附带项目。 您有一个目标,这将帮助您解决在业余爱好中发现的一些问题。

For example, I have a problem with watering my plants when I’m traveling. So my next project is to design a system to water them when I’m away. I’ve learned a lot of product designing, from the hardware to the mobile app.

例如,我在旅行时给植物浇水有问题。 所以我的下一个项目是设计一个在我离开时为他们浇水的系统。 从硬件到移动应用程序,我学到了很多产品设计知识。

Image for post
Photo by Marvin Meyer on Unsplash
Marvin MeyerUnsplash拍摄的照片

参加黑客马拉松比赛 (Compete in Hackathons)

The training for a marathon is a mix of short, sprint runs and some long ones. They serve different purposes for your body and are both important.

马拉松训练是短跑,短跑和长跑的结合。 它们为您的身体提供不同的用途,并且都很重要。

As according to the Hackathon Guide:

根据《 黑客马拉松指南》

A hackathon is any event of any duration where people come together to solve problems.

黑客马拉松是人们聚在一起解决问题的任何持续时间的事件。

Usually, you will join a small team (two to five people) and try to solve a problem in a fixed amount of time (24 or 48 hours, for example). All this time you will be focused on solving a given problem, without any external activity or distraction.

通常,您将加入一个小团队(两到五个人),并尝试在固定的时间内(例如24或48小时)解决问题。 所有这些时间,您将专注于解决给定的问题,而没有任何外部活动或干扰。

If you have not taken part in a hackathon before, I encourage you to do it. Gather a few friends, create a team, and join an event.

如果您以前从未参加过黑客马拉松,我建议您参加。 聚集几个朋友,创建团队,并参加活动。

There are big companies out there that organize hackathons constantly. Check them out. You can get a list of online hackathons on this site.

那里有大公司不断组织黑客马拉松。 去看一下。 您可以在此站点上获得在线黑客马拉松列表。

If you have a job, try to convince your boss to let you go to one of them. And maybe you and your friends can even make some money if you are good at it.

如果您有工作,请尝试说服老板让您去找其中一个。 如果您擅长,也许您和您的朋友甚至可以赚一些钱

Image for post
Photo by Juan Jose on Unsplash
Juan JoseUnsplash拍摄的照片

做一些代码挑战 (Do Some Code Challenges)

Every artist or athlete practices the basic fundamentals of their art or sport almost every day. Even the better and experienced ones. So why shouldn’t you?

每个艺术家或运动员几乎每天都会练习其艺术或运动的基本原理。 甚至更好的和有经验的。 那你为什么不呢?

Reserve a part of your day to practice your favorite language or algorithm. You can do this with code challenges or with something like 100 Days of Code.

预留一天的时间来练习自己喜欢的语言或算法。 您可以通过代码挑战或类似100 Days of Code的方式来完成此任务。

There are quite a few sites where you can learn how to program, like HackerRank and CodinGame.

您可以在很多站点上学习如何编程,例如HackerRankCodinGame

They provide a lot of exercises on different programming topics, from basic string manipulation to complex binary tree manipulation. And you can solve it using almost all existing languages.

他们提供了许多有关不同编程主题的练习,从基本的字符串操作到复杂的二叉树操作。 您几乎可以使用所有现有语言来解决它。

If a hackathon is like a marathon, think of a code challenge as a 100-meter sprint. It is a very specific problem or algorithm you have to solve, and you have a small time in which to do it.

如果黑客马拉松就像马拉松一样,那么将代码挑战视为100米的冲刺。 这是您必须解决的非常具体的问题或算法,并且花的时间很少。

You can then fixate a concept in your mind. Or remember an algorithm you don’t use often. You can even learn new ways of implementing it while you compare your code with thousand of other developers.

然后,您可以在脑海中固定一个概念。 或者记住不常用的算法。 当您将代码与成千上万的其他开发人员进行比较时,您甚至可以学习实现它的新方法。

I like to do one or two challenges before I start my day. Imagine being a music star, warming up backstage before you enter and start rocking the day.

在开始新的一天之前,我喜欢做一两个挑战。 想象一下,当一个音乐明星,在进入并开始摇摆一天之前在后台进行热身。

编写教程 (Write Tutorials)

During my marathon training, I used to write about my progress and what I could do to improve my running.

在马拉松训练中,我经常写自己的进步以及如何改善跑步的方式。

For a developer, writing can be a good way to improve your coding skills. You will start to record the solutions in your head much more easily.

对于开发人员来说,写作是提高您的编码技能的好方法。 您将开始更加轻松地将解决方案记录在脑海中。

I wrote an article with some reasons why a programmer must write tutorials that you can read here:

我写了一篇文章,出于某些原因,程序员为什么必须编写可在此处阅读的教程:

Writing a tutorial forces you to organize your thoughts and what you have learned to make it clear for others to understand.

编写教程会迫使您整理自己的想法和所学知识,以使他人清楚理解。

Image for post
Photo by Helena Lopes on Unsplash
Helena LopesUnsplash拍摄的照片

加入社区 (Join a Community)

The human being is a social animal. Even in a solo sport like running, you often see people training together and creating a community.

人是一种社会动物。 即使在诸如跑步之类的单项运动中,您也经常看到人们一起训练并创建社区。

Probably, there are thousands of other programmers out there with the same problems or doubts that you have right now or that have gone down the same path you are on right now.

可能有成千上万的其他程序员遇到了您现在遇到的同样的问题或疑惑,或者走了与现在一样的道路。

You can help and be helped as well. You can learn from the struggles of other people and from their solutions. You might even make some good friends along the way.

您可以提供帮助,也可以得到帮助。 您可以从其他人的奋斗及其解决方案中学习。 您甚至可能在此过程中结识一些好朋友。

Sites like Quora, Reddit, and Stackoverflow have some communities you can join and start interacting. There are a lot of public discord servers that you can join as well.

QuoraRedditStackoverflow之类的网站都有一些社区,您可以加入并开始互动。 您也可以加入很多公共不和谐服务器

These communities will also encourage you to start a new programming language or to continue when you feel unmotivated.

这些社区还将鼓励您开始使用新的编程语言,或者在您动力不足时继续学习。

结论 (Conclusion)

Improving your programming skills is something that every developer should be doing.

每个开发人员都应该提高自己的编程技能。

Never stop learning and practicing, so you can become even more skilled than the day before.

永远不要停止学习和练习,因此您可以比前一天变得更加熟练。

Thanks for reading!

谢谢阅读!

翻译自: https://medium.com/better-programming/6-things-you-can-do-to-improve-your-programming-skills-7fb0773119

提高编程技能的10个网站

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值