迈ns-200e_我迈入软件开发世界的第一步-您可以从中学到什么。

迈ns-200e

by Tim Park

蒂姆·帕克(Tim Park)

我迈入软件开发世界的第一步-您可以从中学到什么。 (My first step into the world of Software Development — and what you can learn from it.)

As a budding student of computer science, there’s a disconnect between what you learn in class and what you see in the real world. You learn all there is to know about loops of every variety—for, while, do while. You can write a command line based tic-tac-toe game like it’s nobody’s business. And you write so much fill-in-the-blank x86 assembly that it makes your head spin.

作为计算机科学的新生,在课堂上学习的内容与在现实世界中看到的内容之间存在脱节。 您将学到所有关于各种循环的知识-一段时间,一定要做。 您可以编写基于命令行的井字游戏,就像没人管。 而且您编写了太多的空白x86程序集,这使您的头旋转了。

But you haven’t the slightest clue how something like Facebook works. Or Reddit. Or YouTube. You don’t even have an inkling of where to begin. When you Google “companies that use python,” since Python is the only language you know, you find people saying things like “Reddit…uses python for their backend.” BackendWhat does that even mean/p>

但是,您丝毫不了解Facebook之类的东西是如何工作的。 或Reddit。 或YouTube。 您甚至都不知道从哪里开始。 当您在Google“使用python的公司”时,由于Python是您所知道的唯一语言,因此您会发现有人说“ Reddit…将python用作后端” 。 后端那到底是什么意思

There’s this giant gap in your knowledge between writing tic-tac-toe for the command line and building a “real” application, and nobody is telling you how to fill it in. Even though you’ve learned all about how to think logically, you have no idea how to apply what you’ve learned in order to build the things you want to build.

在为命令行编写井字游戏和构建“真实”应用程序之间,您的知识存在巨大的差距,没有人告诉您如何填写它。即使您已经了解了如何逻辑思考 ,您不知道如何应用所学知识来构建要构建的东西。

Here’s the thing: it takes initiative to get to where you want to be. You won’t always have professors giving you templates and boilerplate for all your projects, leaving you to fill in the blanks. You won’t always have a lesson plan telling you “This is what you need to learn next.”

事情就是这样: 主动到达想要的地方。 您不会总是有教授为您提供所有项目的模板和样板,而让您填补空白。 您将不会总是有一个教案告诉您“这是您接下来需要学习的内容”。

要点1: (Takeaway 1:)

Nobody has more influence over your personal development than you. It’s up to you to decide what you want to learn, without someone spoon-feeding you the next step every step of the way. This self-directed learning, what Dan Luu might describe as a meta-skill, is one of the most important skills you’ll pick up in your journey towards becoming a software developer.

没有人比您对您的个人发展有更大的影响力。自己决定要学习什么,而每个步骤的每一步都不会有人用勺子喂养您。 这种自我指导的学习( Dan Luu可能将其描述为一种元技能 )是您成为软件开发人员过程中要学习的最重要技能之一。

Luckily, these days we have Google to help out. “How to build a website using python,” you search. You stumble across this nifty little web framework and decide to give it a shot—not that you actually know what a framework is. You try reading the documentation from the beginning, don’t understand any of it (“database abstraction layer), and skip ahead to the installation step.

幸运的是,这些天我们有Google帮忙。 您搜索“如何使用python建立 站”。 您偶然发现了这个漂亮的小型Web框架,并决定尝试一下-并不是您实际上知道什么是框架。 您尝试从头开始阅读文档,不了解其中的任何内容(“数据库抽象层),然后跳至安装步骤。

Finally, some actionable steps to follow! You copy the commands into your terminal. There’s something about something called pip, and virtualenv, whatever those are. You take a minute to look those up, just so you have an idea of what you’re doing to your machine.

最后,遵循一些可行的步骤! 您将命令复制到您的终端。 不管是什么,都有一些叫做pip和virtualenv的东西。 您花一分钟时间查找这些内容,这样您就可以对自己的计算机有所了解。

要点2: (Takeaway 2:)

We learn by understanding, not by mindlessly following instructions. Get used to learning instead of giving up when you don’t understand something, and you’ll see that seemingly impossible tasks are really just greater opportunities to grow—it’s only a question of how long it takes.

我们通过理解而不是盲目地遵循指示来学习。 习惯于学习而不是在不了解某件事时就放弃,您会发现看似不可能完成的任务实际上只是更大的成长机会-这仅是需要多长时间的问题。

Okay, looks like pip is a utility to install packages so you can them, just like we the built-in package. Virtualenv seems like a way to isolate package installations to a specific project. You still don’t fully understand any of the commands besides and , but you‘re not totally clueless either. Time to move on to the quick start guide.

好的,好像pip是一个用于安装软件包的实用程序,因此您可以它们,就像我们内置软件包一样。 Virtualenv似乎是一种将软件包安装隔离到特定项目的方法。 除了和之外,您仍然不完全了解任何命令,但是您也不是很笨拙。 是时候继续快速入门指南了 。

You follow the initial instructions, and there’s a burst of elation when you run your program and see “Hello, world” in your browser for the first time. You think to yourself, now this is what I’m talking about! No more boring old command line programs for me! It’s a small step, to be sure, but that’s your code in the browser, and that’s significant.

您按照最初的说明进行操作,当您运行程序并第一次在浏览器中看到“ Hello,world”时,一阵兴高采烈。 您自己想,现在就是我在说的! 对我而言,不再有无聊的旧命令行程序! 这是一小步,可以肯定的,但这是在浏览器 的代码 ,这是显著。

You continue, but start running into a lot of concepts that you don’t fully understand. RoutesHTTPGETPOSTAnd what are rendering templatesSome of these terms seem vaguely familiar, but you don’t actually know what they mean, so you stop along the way to look them up. Just like you learned about pip and virtualenv, you start to assemble a fuzzy picture of how this application is working.

您继续,但是开始遇到很多您不完全理解的概念。 路线HTTP得到发布什么是渲染模板其中一些术语似乎含糊不清,但您实际上并不知道它们的含义,因此您一路停下来查找它们。 就像您了解了pip和virtualenv一样,您开始模糊地了解此应用程序的工作方式。

外卖3: (Takeaway 3:)

Learning takes practice. Just like any other skill, it needs to be honed. And just like any other practiced skill, it can become a habit. Seize every opportunity you have to learn. Remember: success begets success. Make learning a habit, and not only will your personal growth skyrocket, but your desire to learn will grow as well.

学习需要实践。 就像其他任何技能一样,它也需要磨练。 就像其他任何练习过的技能一样,它可以成为一种习惯。 抓住每一次学习的机会。 记住:成功带来成功。 使学习成为一种习惯,不仅您的个人成长会飞速增长,而且您的学习欲望也会随之提高。

You can use templates to display content like you would with any other HTML/CSS page, but the content is dynamic. You can control what content is displayed at different URLs by defining routes. You can even fetch content from other websites to use in your own application!

您可以像使用其他任何HTML / CSS页面一样使用模板来显示内容,但是内容是动态的。 您可以通过定义路由来控制在不同的URL显示什么内容。 您甚至可以从其他 站获取内容以在自己的应用程序中使用!

As you get more and more comfortable, you start to feel a degree of control and pride in your independent learning that you’ve never felt while working on any of your class projects. You feel empowered. Who even needs school, anyway/p>

随着您变得越来越自在,您开始对自己的独立学习感到一定程度的控制感和自豪感,而您在进行任何课堂项目时从未感到过。 您会感到有力量。 谁还要上学

As you gain confidence, the guide starts to feel a little…basic. It is, after all, a quick start guide. I could do something cooler than this, you think.

当您获得信心时,指南会开始变得有点…基本。 毕竟,它是快速入门指南。 您认为,我可以做些比这更酷的事情。

So you strike out on your own. You set up your project the same way you did before, with pip and virtualenv, because that’s the only way you know how to set up a project. You know how to set up the templates. You know how to set up the routes, the HTTP requests, the GETs and the POSTs. You might even dare to use a third party API and practice reading some more documentation. You still don’t understand everything, but you’re learning, bit by bit.

因此,您可以自行打击。 使用pip和virtualenv可以像以前一样设置项目,因为这是知道如何设置项目的唯一方法。 您知道如何设置模板。 您知道如何设置路由,HTTP请求,GET和POST。 您甚至可能敢于使用第三方API并练习阅读更多文档。 您仍然不了解所有内容,但是您正在一点一点地学习。

And finally, you build your very first independent side project. Not the result of a tutorial that hundreds of budding developers before you have followed. Not a class assignment that thousands of students before you have done. A real, tangible, honest-to-goodness application that would not exist had you not built it. And that’s an amazing feeling.

最后,您构建自己的第一个独立副项目。 不是您成百上千的新手开发本教程的结果。 这不是成千上万的学生要做的课堂作业。 如果没有构建它,就不会存在一个真实,有形,诚实的商品应用程序。 那真是令人惊讶。

So what’s nextNow that you’ve built an application, how do you put it online so everyone can use itWhat really is a “back end A front end/p>

下一个是什么现在,您已经构建了一个应用程序,如何将其联机,以便每个人都可以使用它什么是真正的“后端”前端

Here’s the great thing about fostering a desire to learn: there’s always more. It’s like an amazing television series that you can never get enough of—and it never ends. There’s no such thing as learning too much. Every discipline in software development is an entire new world to dive into, and the more you learn, the more worlds are opened up to you.

这是培养学习欲望的伟大之处:总会有更多。 这就像是一部令人难以置信的电视连续剧,您永远无法获得足够的收获,而且永无止境。 没有什么东西可以学得太多 。 软件开发的每个学科都是一个全新的世界,您可以学到的越多,就可以打开更多的世界。

At some point, you realize that there is no single canonical path to being a “real” software developer. There’s not enough time to master every single thing. Everyone’s path to success is totally unique. It’s entirely up to you to forge a path to the destination you want to reach.

在某个时候,您意识到成为“真正的”软件开发人员并没有一条规范的道路。 没有足够的时间来掌握每件事。 每个人的成功之路完全是独一无二的。 完全由您自己决定要到达的目的地的路径。

This was the story of my own first step into the world of software development. If you want to see the very first side project that I ever built, you can check it out here.

这是我进入软件开发世界的第一步。 如果要查看我曾经构建的第一个辅助项目, 可以在此处查看 。

And if you feel like sharing your own, feel free to post a link in a response! I’m always curious to see what kind of code people start out writing.

如果您想分享自己的内容,请随时在回复中发布链接! 我总是很好奇,看看人们开始写什么样的代码。

如果您喜欢阅读的内容, 那么还有更多的来历 ! (If you like what you read, there’s more where that came from!)

As a guy in the early stages of his tech career, I write about — you guessed it — the early stages of a tech career.

作为一个处于技术职业早期阶段的人,我写过(您猜对了)技术职业的早期阶段。

翻译自: https://www.freecodecamp.org/news/my-first-steps-into-the-world-of-software-development-and-what-they-taught-me-6ee748cffb8f/

迈ns-200e

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91338 人正在系统学习中 相关资源:迈创Matrox G200eV

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年6月15日
下一篇 2020年6月15日

相关推荐