我在一个月的编程中学到的东西
我的学习历程经历了一次彻底的转变,从一个对这个领域一无所知的人,变成了一个拥有扎实基础的人。我很高兴能在本文中与大家分享我的每一个步骤。那么,让我们深入探讨一下我迄今为止掌握的概念吧!
目录
从零开始
不到一个月前,我对编程语言、编程以及任何与编程相关的东西都一无所知。我的意思是,我模糊地知道这是个职业,而且很多人都在做,但对我来说,我当时的想法是:“开发人员?他们怎么生存?他们在哪里工作?他们真的存在吗?” 哈哈,我当时几乎一无所知。
后来,我参加了人生中第一个科技活动——Frontin Sampa,突然灵光一闪。我当时就决定:“我要投身编程,改变我的职业方向。” 我甚至在这篇文章里分享了更多关于这段经历的细节(顺便说一下,是葡萄牙语的)。
于是,在零基础的情况下,我带着一份基础的路线图踏上了编程之旅。事实证明,这份路线图对我这样的新手来说非常有帮助。最棒的是?它提供了大量的免费资源,可以一路学习!
除了学习前端编程的基础知识之外,我还致力于理解开源的概念,这是我在技术活动中观看的演讲之一,我对此感到非常惊讶。
我旅程的另一个关键部分是成为一个技术社区的活跃成员。如今,我很自豪地加入了He4rt Developers,一个蓬勃发展的社区。在这里,我们会就重要话题进行深入的讨论,参与合作项目,每周举行会议,并参与适合初学者的免费项目。
等等,还有更多!从学习的第二周开始,我开始得到一些指导,并探索一些更复杂的主题(嗯,对那些懂行的人来说,应该没那么复杂吧?)。我对前端掌握得很好,但当我尝试后端时……天哪,简直像代码雪崩一样。
此外,激励我每天学习的还有He4rt Devs社区发起的“100天编程挑战”。这个挑战鼓励我分享所学知识,并每天追踪学习进度。
在我的辅导课程中,我深入探讨了 HTTP、Linux 等概念,以及 Git 和 GitHub 之间的区别,并学习了数据库建模的简要介绍。在这么短的时间内,似乎要讲解的内容很多,但我还是掌握了基础知识,现在我将为大家一一讲解!
我目前掌握的概念
开源
我的旅程始于探索“开源”的概念。开源是一种允许任何人访问源代码的软件许可模式。简单来说,这意味着任何人都可以根据许可证的具体条款,对代码进行修改、贡献和分发。
当时我想:“好吧,我明白这个概念了,不过你给我举几个例子吧!” 于是,我继续研究,进一步了解了开源 Linux 操作系统。别担心,我稍后会讲到Linux。开源的另一个例子是企业,甚至是科技巨头,参与开源项目,并在日常运营中使用开源软件。
使用开源有其好处,例如透明度、协作以及创建公开合作开展项目的充满活力的社区。
基础知识:HTML、CSS 和 JS
我的旅程接下来是深入学习编程基础知识,从标志性的“Hello World”开始。多亏了之前提到的路线图,我清楚地知道该从哪里开始。我通过一门综合在线课程开始了我的HTML学习,在那里我学习了编码术语、实际代码以及如何正确使用它来实现预期的结果。HTML是网站的基础。它使用“标签”来定义标题、段落和图像等元素,并告诉浏览器如何在页面上显示它们。
之后,我转向了 CSS,这成了我学习历程中最喜欢的部分之一。能够改变网站所有视觉元素真是令人惊叹不已。每节课,每当我学到新东西,我都会尝试看看它是否合理,当然,也看看它是否有效(顺便说一句,它确实有效)。CSS 负责 HTML 内容的外观和样式。使用它,你可以调整颜色、字体大小、间距,甚至元素在页面上的位置,让一切看起来井井有条、令人惊艳。
JavaScript 终于登场了,我以前总觉得挺酷的,但这次的体验更上一层楼。JavaScript 让网站充满活力,赋予它互动性。你可以创建点击后会执行某些操作的按钮,在不重新加载所有内容的情况下更新页面的某些部分,等等。
记录我的旅程
在深入研究HTML的同时,我也开始参加其他主题的在线辅导课程。在这些课程中,我了解到以项目符号格式记录笔记的重要性,这让日后参考变得非常方便。我还学习了如何用Markdown创建笔记,并明白了为什么在“README.md”等文件的末尾会看到“md”。此外,这些辅导课程大多以英语进行,这帮助我提升了技术词汇量和会话能力。
Git 和 GitHub
在我的一次指导课程中,我们深入探讨了 Git 和 GitHub 之间的区别,以及与两者相关的术语:
* Git
* Tool for versioning your codebase
* Terminology:
* Repository (project) - getting-started
* Branches (environments inside a project)
* Commits - (changes into the codebase)
* GitHub
* (Cloud Environment) Host the repository
* Issues - Place to discuss bug, glitch, improvements, fixes, ideas or w/e
* Pull Request - Submit changes into the codebase (in different branch/fork)
* Setup my GitHub account
* create a READ.md
* add commits
Git是一个重要的版本控制工具,它使开发人员能够有效地协作项目;而GitHub是一个托管 Git 存储库并简化团队合作的平台。学习这些工具使我能够为开源项目做出贡献,并与社区分享我的代码。
Linux 基础知识
我的指导之旅的下一个主题是Linux操作系统。Linux是开源的,这意味着源代码可供任何人免费查看、修改和分发。凭借这种开放性,庞大的开发者和爱好者社区可以为其开发做出贡献,并基于Linux内核创建自己的版本。一些流行的Linux发行版包括Ubuntu、Debian、Red Hat和CentOS。
就像其他导师一样,我的笔记如下所示:
* Linux 101
* Distributions
* Kernel, Package Manager, Drivers, Tools/Tooling and Shell
* Graphic Environment:
* Gnome (Ubuntu)
* Kubuntu (KDE)
* OS X (Plasma)
* Link to [UnixPorn] (https://www.reddit.com/r/unixporn)
掌握了理论知识后,就该动手实践了。使用命令“ cat .bashrc ”,我可以查看所有现有命令。于是,我决定通过访问“ nano .bashrc ”再创建一个命令,瞧!
HTTP 协议
为了总结我所涵盖的概念,让我解释一下HTTP ,即超文本传输协议 (Hypertext Transfer Protocol)。它是在 Web 交互中连接客户端和服务器的粘合剂。客户端可以是您的 Web 浏览器、移动应用程序或任何使用 HTTP 的设备。而服务器则是发送请求和接收响应的地方。
每当我们向服务器请求数据或服务时,它都会返回用数字表示的状态码。你可能听说过“ 404 ”,表示“未找到”,但还有其他状态码,例如“ 201 - 创建”和“ 500 - 内部服务器错误”。在一次辅导课上,我收到了一个网站,上面展示了所有这些状态码,并附上了小猫表情包和简短的说明。这个网站非常棒,帮助我更好地理解了每一种状态码。
HTTP 还使用诸如“GET”之类的动词来获取信息,以及“POST”之类的动词来向服务器发送或发布数据。此外,它还可以与 JSON(一种通常用于分析和转换数据的文档模型)配合使用。这使得 HTTP 成为我们所有在线活动的基础协议。
结论
经过一个月的日常编程、概念探索和各种活动,我可以自信地说,我已经从一个对这个领域一无所知的人变成了一个拥有扎实基础的人。你知道吗?我很高兴能在本文中与你分享这一切。
我的下一步肯定是磨练我的实践技能和技术技能(你知道,就是多学点编程),说不定还能申请这个领域的工作呢。职业转型已经开始了,我兴奋极了!
文章来源:https://dev.to/acamikuro/what-ive-learnt-in-1-month-of-programming-4a6o