编码程序教程_如何从编码教程到构建自己的项目

编码程序教程

When learning how to code, I kept hearing the same advice.

在学习编码时,我一直听到相同的建议。

“Tutorials are great, but building projects is the best way to learn. Just go build stuff!”

“教程很棒,但是构建项目是最好的学习方法。 只是去建造东西!”

But… how?

但是…… 怎么了

As a beginner, this is like hearing, “Just go skydive!”

作为初学者,这就像听到“只要跳伞!”

When starting out, the idea of building an app from scratch is daunting. I felt overwhelmed when I tried, and I gave up. So I continued taking only coding tutorials — and my learning soon plateaued.

刚开始时,从头开始构建应用程序的想法令人生畏。 当我尝试时,我感到不知所措,我放弃了。 因此,我继续只学习编码教程-学习很快就停滞了。

I was stuck.

我卡住了。

I began to figure out how I could get to building projects, but not ones that seemed so complex that I’d lose all motivation to keep going. Eventually, I found ways to ease off my tutorial training wheels and start building my own apps. And later, when I got my first job working as a developer, people asked for my advice on learning how to code. Here it is.

我开始弄清楚如何建立项目,但没有一个看起来如此复杂以至于我失去了继续前进的动力。 最终,我找到了一些方法来简化我的教程培训轮,并开始构建自己的应用程序。 后来,当我担任开发人员的第一份工作时 ,人们要求我提供有关如何编码的建议。 这里是。

Building projects is the best way to learn — but you don’t have to dive straight into creating a project that feels impossible to start, let alone finish.

建立项目是最好的学习方法-但您不必直接投入创建不可能开始的项目,更不用说完成了。

There are fun, tangible ways you can shift from just taking tutorials to confidently building your own projects.

您可以通过多种有趣而切实的方式从仅学习教程转变为自信地构建自己的项目。

Here’s 3 ways that worked for me.

这是对我有用的3种方法。

1.向教程应用程序添加新功能 (1. Add new features to your tutorial apps)

Tutorials were (and are) a big part of how I learn to code, and they allow me to learn from some of the best programmers. Yet, at the end of project-based tutorials, I would often realize that although I had a finished app, I hadn’t built it so much as I had simply watched the instructor and copied their code.

教程是(现在是)我学习代码的重要部分,它们使我可以向一些最好的程序员学习。 但是,在基于项目的教程结束时,我常常会意识到,尽管我有一个完成的应用程序,但是我并没有构建太多的应用程序,而只是看着指导者并复制了他们的代码。

My sister, a senior developer at Eventbrite, suggested a simple but powerful exercise.

我的姐姐是Eventbrite的高级开发人员,他提出了一个简单但功能强大的练习。

“Take the application you’ve built in your tutorial, and come up with one small feature you can add to that app. Then build it — on your own.”
“采用您在教程中构建的应用程序,并提出一项可以添加到该应用程序的小功能。 然后自行构建。”

I took a React tutorial where you code up an app, then I added a button to the app. Next, I decided to add a search bar to the app and figured out how to build that. Then I came up with another feature and built that. This works well because I was starting with what I already knew (how the app worked so far), and slowly building on top of that knowledge. Doing so felt difficult, but achievable. The more I built stuff, the more my confidence grew.

我参加了一个React教程,在其中编写了一个应用程序,然后在该应用程序中添加了一个按钮。 接下来,我决定在应用程序中添加一个搜索栏,并弄清楚如何构建它。 然后我想出了另一个功能并进行了构建。 之所以如此行之有效,是因为我从我已经知道的东西(到目前为止该应用程序是如何工作的)开始的,然后根据这些知识慢慢构建。 这样做很难,但可以实现。 我制作的东西越多,我的信心就越大。

After doing this for awhile, the idea of building my own app didn’t seem as intimidating. I started a new project and broke it down into several ‘features’, all the little steps I needed to take to complete it. I started by building just one small thing, as I had done before.

经过一段时间后,构建自己的应用程序的想法似乎并不令人生畏。 我开始了一个新项目,并将其分解为几个“功能”,这些都是我需要完成的所有小步骤。 正如我之前所做的那样,我从构建一件小东西开始。

Andrew Mead’s JavaScript courses on Udemy have sections called ‘Build it’ challenges, where he walks you through building an app, then challenges you to add a feature to the app you’ve just built. He then shows you how he would go about building that feature. You build almost as often as you watch the tutorial. Regardless of whether you take his courses, do this for every tutorial you take.

安德鲁·米德(Andrew Mead)在Udemy上开设JavaScript课程有“构建它”挑战部分,他将引导您完成构建应用的过程,然后挑战您为刚刚构建的应用添加功能。 然后,他向您展示了他将如何构建该功能。 您几乎可以像观看本教程一样频繁地进行构建。 不管您是否参加他的课程,都对您参加的每个教程都这样做。

Add new features to your tutorial apps. See how much faster you learn when you’re always building.

向教程应用程序添加新功能。 查看始终构建时学习的速度。

Starting a new project made me feel like I was at the bottom of a mountain, wondering how I could even start. But adding new features to tutorial apps felt like taking challenging, but doable, steps uphill. And eventually, when at the bottom of another mountain, I knew how to get going.

开始一个新项目使我感到自己仿佛置身于山底,不知道该如何开始。 但是,向教程应用程序添加新功能就像走上具有挑战性但可行的步骤。 最终,当我到达另一座山的底部时,我知道如何前进。

Tip: Don’t worry about if the new features are messing up the layout or structure of your app. When I stressed about this, my sister would point out, “You’re worrying about step 20 when you haven’t completed step 2.” Once you’ve built so much that you’re drowning in all your cool projects, then you can worry about things like that. For now — get to building!

提示 :不必担心新功能是否会弄乱应用程序的布局或结构。 当我强调这一点时,我的姐姐会指出:“您尚未完成第2步时就担心第20步。” 一旦构建了如此多的东西以致于您淹没了所有很酷的项目,那么您就可以担心这样的事情。 现在-开始建设!

2.构建Google Chrome扩展程序 (2. Build Google Chrome extensions)

As a beginner, I was itching to build and finish something. Yet, when I did try to build new projects, I felt discouraged realizing I could work on an app for weeks and weeks and still be nowhere close to completing it.

作为一个初学者,我渴望构建和完成一些东西 。 但是,当我确实尝试构建新项目时,我感到沮丧,因为意识到我可以在一个应用程序上工作数周和数周,但距离完成它还差得很远。

Seeing yourself progress helps you stay motivated when learning something new. I needed to challenge myself and do stuff that was hard for me. But I also knew I needed to see myself set and hit the goal of starting and finishing a project, however small. I couldn’t stay in tutorial land forever, as great as it is.

看到自己的进步,可以帮助您在学习新知识时保持动力。 我需要挑战自我,做一些对我来说很难的事情。 但是我也知道我需要看到自己设定并达到开始和完成一个项目的目标,无论这个项目多么小。 我不能永远留在教程领域,尽管如此。

Will Sentance, the CEO of Codesmith and a teacher at Frontend masters, was asked, “How do you build something feasible — that doesn’t take forever?” His answer?

是否会问到Codesmith的首席执行官,Frontend大师的老师Sentance是否被问到:“您如何构建可行的东西-这不会永远做到?” 他的答案

Build Google Chrome extensions.

构建Google Chrome浏览器扩展程序。

This is a fun, quick way to get to building as a beginner.

这是一种有趣,快速的入门方法。

I worked through these tutorials that showed me how to create a Chrome extension in just ten minutes or just 20 minutes. Then I took what I learned and I built my own very simple extension. I was hooked. As Will Sentance explains:

我研究了这些教程,向我展示了如何在短短的十分钟或短短的二十分钟内 创建Chrome扩展程序 。 然后,我接受了所学到的知识,并构建了自己的非常简单的扩展。 我迷上了。 正如Will Sentance解释的那样:

“You get to practice JavaScript without having to build and design an application from scratch — it just plugs into something you already use.”
“您无需再从头开始构建和设计应用程序就可以练习JavaScript,它只是插入到您已经在使用的东西中。”

As Sentance points out, these little ‘apps’ in JavaScript give you enormous power. You can build extensions that add functionality to any pages you’re on, and the possibilities for what your extension could do are endless.

正如Sentance所指出的那样,JavaScript中的这些小“应用”为您提供了强大的功能。 您可以构建扩展程序,以向您所在的任何页面添加功能,并且扩展程序可以做什么的可能性是无限的。

Google Chrome Extensions have been a great way for me to not only learn but to actually complete projects that I can use and show to friends, in a relatively short amount of time.

Google Chrome扩展程序对我来说是一种绝佳的方式,它不仅可以让我学习而且可以在相对较短的时间内完成我可以使用并展示给朋友的项目。

After I first built an extension, I realized I had done what had gotten me fascinated about coding in the first place — I had built something useful from start to finish. And instead of taking weeks, I was able to do this in just a day or two. I quickly saw my progress, which made me want to learn even more.

在我构建扩展之后,我意识到我已经做了让我着迷于编码的事情-我从头到尾构建了一些有用的东西。 而且不用花几周的时间,我就可以在一两天之内做到这一点。 我很快看到了自己的进步,这使我想学更多。

By building extensions from start to finish, my motivation as a beginner quadrupled. And that motivation took me from beginner to junior developer.

通过从头到尾构建扩展,我作为初学者的动机增加了三倍。 这种动机使我从初学者到初级开发人员。

If you’re learning a language besides JavaScript, try to find smaller apps you can build quickly from start to finish.

如果您正在学习JavaScript以外的语言,请尝试查找可以从头到尾快速构建的较小应用。

Tip: Sentance points out you should always build extensions that solve a problem you face. You’ll care about finishing your extension so much more if it’s the solution to an annoying problem you have. Get distracted by Facebook too much? Build an extension that hides your Facebook feed.

提示 :Sentance指出您应该始终构建扩展程序来解决您遇到的问题。 如果这是您遇到的一个烦人的问题的解决方案,那么您会担心完成更多的扩展。 过多地被Facebook分心? 构建一个扩展程序,以隐藏您的Facebook feed。

3.与朋友一起建立项目 (3. Build projects with a friend)

I’ve met so many new programmers who feel overwhelmed or lost in the middle of a new project they’ve started.

我遇到了很多新程序员,他们在开始的新项目中感到不知所措或迷路。

The best way I’ve found to fix this is to start a project with a friend.

我发现解决此问题的最佳方法是与朋友一起开始一个项目。

When building with a friend, a new coding project no longer seems so scary. All of the unanswered questions you have become part of playful conversations as you share your ideas and knowledge. You bond with your friend as you struggle through problems together and then celebrate when you solve them.

与朋友一起构建时,新的编码项目似乎不再那么可怕。 当您分享自己的想法和知识时,所有未解决的问题都已成为有趣对话的一部分。 当您共同努力解决问题时,您会与朋友保持联系,然后在解决问题时庆祝。

freeCodeCamp founder Quincy Larson has said, “the worst way to learn to program is to learn alone.” When you’re working alone, it’s easier to give up when you feel lost and unsure of what to do next when building a project.

freeCodeCamp的创始人Quincy Larson曾说过:“学习编程的最糟糕方法是独自学习。” 当您独自工作时,如果感到迷路并且不确定在构建项目时下一步该怎么做,就更容易放弃。

But when you’re lost with a friend, it becomes a fun challenge to work together to figure out what you need to do. You hold each other accountable as you work towards your goal.

但是,当您与朋友迷路时,一起努力弄清楚您需要做什么将成为一个有趣的挑战。 在朝着自己的目标努力的过程中,你们彼此负责。

These are some of the best ways I’ve found to go from just taking tutorials to actually building my own projects. Once I got started building, the speed of my learning began to skyrocket. Start building things as often as you can — and see your coding journey begin to accelerate.

这些是我发现的一些最佳方法,从仅仅学习教程到实际构建自己的项目。 一旦开始构建,学习速度便开始飞速增长。 尽可能多地开始构建事物-并看到您的编码过程开始加速。

Building things is the best way to learn. I just wish I had started sooner.

建立事物是最好的学习方法。 我只是希望我早点开始。

Don’t make my mistake. Go build stuff.

不要误会我的意思。 去建造东西。

Feel free to share with me what you’ve built or what you’re working on in the comments below. I can’t wait to see what you create.

欢迎在下面的评论中与我分享您的构建或正在从事的工作。 我等不及要看您创建的内容。

我正在为初学者创建免费JavaScript课程。 注册以使其在启动时得到通知,并将其100%免费发送到您的收件箱! (I'm creating a free JavaScript course for beginners. Sign up to get notified when it's launched and have it sent 100% free to your inbox!)

翻译自: https://www.freecodecamp.org/news/how-to-go-from-coding-tutorials-to-building-your-own-projects-b9ab51074980/

编码程序教程

目录 缩略词 正文之前 1. 目的 2. 本文内容 3. 声明 1. 字符编码相关的背景知识 1.1. 拉丁字母 1.1.1. 我们的目标 1.2. 什么是字符编码 2. 字符编码标准 2.1. 只支持基本的拉丁字符的字符编码:ASCII 2.1.1. ASCII的由来 2.1.2. ASCII编码规则 2.1.2.1. ASCII字符集中的功能/控制字符 2.1.2.1.1. 什么是Function Code功能码或 Function Character功能字符 2.1.2.1.2. ASCII中的Function/Control Code功能字符的详细含义 2.1.2.1.2.1. 0 – NUL – NULl 字符/空字符 2.1.2.1.2.2. 1 – SOH – Start Of Heading 标题开始 2.1.2.1.2.3. 2 – STX,3 – ETX 2.1.2.1.2.4. 4 – EOT – End Of Transmission 传输结束 2.1.2.1.2.5. 5 – ENQ – ENQuiry 请求 2.1.2.1.2.6. 6 – ACK – ACKnowledgment 回应/响应 2.1.2.1.2.7. 7 – BEL – [audible] BELl 2.1.2.1.2.8. 8 – BS – BackSpace 退格键 2.1.2.1.2.9. 9 – HT – Horizontal Tab 水平制表符 2.1.2.1.2.10. 10 – LF – Line Feed 换行 2.1.2.1.2.11. 11 – VT – Vertical Tab 垂直制表符 2.1.2.1.2.12. 12 – FF – Form Feed 换页 2.1.2.1.2.13. 13 – CR – Carriage return 机器的滑动部分/底座 返回 -> 回车 2.1.2.1.2.14. 14 – SO,15 – SI 2.1.2.1.2.15. 16 – DLE – Data Link Escape 数据链路转义 2.1.2.1.2.16. 17 – DC1 – Device Control 1 / XON – Transmission on 2.1.2.1.2.17. 18 – DC2 – Device Control 2 2.1.2.1.2.18. 19 – DC3 – Device Control 3 / XOFF – Transmission off 传输中断 2.1.2.1.2.19. 20 – DC4 – Device Control 4 2.1.2.1.2.20. 21 – NAK – Negative AcKnowledgment 负面响应-> 无响应, 非正常响应 2.1.2.1.2.21. 22 – SYN – SYNchronous idle 2.1.2.1.2.22. 23 – ETB – End of Transmission Block 块传输中止 2.1.2.1.2.23. 24 – CAN – CANcel 取消 2.1.2.1.2.24. 25 – EM – End of Medium 已到介质末端,介质存储已满 2.1.2.1.2.25. 26 – SUB – SUBstitute character替补/替换 2.1.2.1.2.26. 27 – ESC – ESCape 逃离/取消 2.1.2.1.2.27. 28 – FS – File Separator 文件分隔符 2.1.2.1.2.28. 29 – GS – Group Separator分组符 2.1.2.1.2.29. 30 – RS – Record Separator记录分隔符 2.1.2.1.2.30. 31 – US – Unit Separator 单元分隔符 2.1.2.1.2.31. 32 – SP – White SPace 空格键 2.1.2.1.2.32. 127 – DEL – DELete 删除 2.1.2.1.3. 各种字符的标准的读法/叫法 2.1.3. ISO 646 2.2. 支持多种衍生拉丁字母的字符编码:EASCII和ISO 8859 2.2.1. EASCII 2.2.2. ISO 8859 2.2.2.1. ISO/IEC 8859出现的背景 2.2.2.2. ISO/IEC 8859的编码规则 2.2.2.3. ISO/IEC 8859的特点 2.2.2.4. ISO/IEC 6429 2.2.2.5. ISO 8859和ISO-8859的区别和联系 2.2.2.5.1. 原先的ISO 8859-1和我们常说的ISO 8859-1 2.3.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值