提高软件工程技能的关键技术,这些资源赶紧收藏起来

全文共2055字,预计学习时长9分钟

 

提高软件工程技能的关键技术,这些资源赶紧收藏起来_第1张图片

图源:unsplash

 

目睹这场疫情的蔓延令人心惊,过去几个月无疑很困难,损失可控与否只能看运气。即使有充足的空闲时间坐下来思考,困难也始终在那里。别苦恼太久啦,把一些多余的空闲时间花在探索上还是很有帮助的。

 

虽然学习一门全新的语言似乎让人望而生畏,但笔者还是列出了5项可学的技能,这些技能都不难学且值得学习(仅代表个人观点)。

 

难得的学习机会,要好好利用起来呀。

 

1.Firebase

 

提高软件工程技能的关键技术,这些资源赶紧收藏起来_第2张图片

 

Firebase是一款Google产品,它为从身份验证(包括社交和无密码登录)到分析、数据库、bucket存储、托管、用户管理等所有方面提供无缝、内聚和强大的解决方案。

 

所有这些都可以通过便捷的仪表板轻松访问和管理,同时附带了完整的实现文档。该产品基本上提供了构建安全且可用于生产的应用程序所需的一切。

 

资源:

· Firebase文档(FirebaseDocumentation)

· Firebase 101:认证(Firebase 101:Authentication)

· Firebase官方YouTube频道(Firebase Official YouTube Channel)

· Firebase & Firestore大师级课程(Firebase & FirestoreMasterclass)

 

2.硬件

 

笔者发现,随着工程复杂性的增加,了解运行它的硬件很有必要,这关乎效率、规模和优化。

 

提高软件工程技能的关键技术,这些资源赶紧收藏起来_第3张图片

图源:unsplash

 

学习新技术时,环境配置对于笔者来说至关重要。笔者喜欢将思维完全集中在正在解决的问题上,而不仅仅是执行一个解决方案。花费时间深度理解处理能力(CPU)、随机存取存储器(RAM)、操作系统、服务器和硬件的其他关键部件为更深入地理解高质量代码奠定了基础。

 

资源:

· 计算机设计基础(The Foundations ofComputer Design)

· 如何构建计算机:初学者指南(How To Build aComputer: A Beginner’s Guide)

 

3.Sass:语法上绝佳的样式表

 

Sass完全改变了笔者对CSS(层叠样式表)的看法!一开始我认为CSS创建过程十分痛苦,但Sass让我彻底爱上它。

 

提高软件工程技能的关键技术,这些资源赶紧收藏起来_第4张图片

图源:loginworks

 

普通的CSS应付一个小的web应用程序来说可能还是不错的,但你是否也觉得有点失控?是否会无法准确找到哪个div块是自己要更改的类?Sass可以消除这种烦恼。

 

在Sass样式表中编写的样式(module.scss file)只与导入样式表的文件中的代码相关。这意味着可以将类的名称从一个工作表复制到另一个工作表,同时更改每个工作表的样式。

 

例如,构建一个React应用程序时,这样有助于保持文件之间的一致性。使用Sass可以让每个页面中的顶级div都是类容器,而不需将类名称写为homeContainer、aboutContainer、profileContainer等,如若需要,仍然可以自定义它们的各个样式。

 

使用Sass查看浏览器内HTML样式时,可以看到每个样式表都会附加一个区分字符串,因此主页中的容器与配置文件页面中的容器是不同的。

 

Sass还使得管理变量变得异常简单。创建一个变量文件,使用'$variableName'定义其中的所有变量,然后使用@import将该文件导入到Sass样式表中。使用这种方法,如果在第11个小时内决定所选择的绿色阴影不太正确,使用不同选项的能力就变得太容易了。

 

上面提到的@import特性是一种At规则——Sass提供的另一个不可思议的特性。其他At规则还包括调试工具、流控制规则、可重用性等。

 

资源:

· Sass官方文件(Sass Official Documentation)

· Sass入门新手教程-超能力CSS(Sass Tutorial for Beginners— CSS With Superpowers)

 

4.SQL

 

提高软件工程技能的关键技术,这些资源赶紧收藏起来_第5张图片

图源:ams-training

 

顾名思义,SQL(结构化查询语言)是一种用于查询关系数据库的语言。这些原始SQL语句清楚地说明了从数据库返回的数据,允许将数据插入数据库等等。

 

不过,我们并不是总需要编写原始SQL语句。例如,像Ruby onRails和Python的Django这样的流行框架将原始SQL查询提取成方法,既容易编写,又便于阅读。

 

搭建后端环境时,这种提取在很多方面都很出色,但笔者深深觉得这不利于工程师对SQL查询的理解,也不利于通过提取或其他方式使用SQL查询的能力。

 

笔者大部分专业工作都包括使用PostgreSQL数据库的Express后端,这种组合要求编写原始SQL语句。这种设计复杂的实际应用程序的经历,让笔者有机会深入了解SQL语言,并且学会了编写任何框架都无法提供的复杂的自定义查询。

 

现在,在查询关系数据库时,笔者已经可以判断,使用返回值上的自定义逻辑的提取方法是否为最佳选择,或某种自定义查询是否为最优选择。

 

资源:

· PostgreSQL:SQL语言(PostgreSQL: The SQL Language)

· SQLBolt互动教程(SQLBolt InteractiveTutorial)

· SQL教程:初学者的完整数据库课程(SQL Tutorial: FullDatabase Course for Beginners)

 

5.Docker

 

提高软件工程技能的关键技术,这些资源赶紧收藏起来_第6张图片

 

几乎所有迹象都表明应用容器是未来发展和部署的方向,Docker也成为我们必然要学的东西。不过恕我直言,构架Docker的过程可能会非常痛苦,但这是值得的。

 

如果你曾经为最新的应用程序费尽心思,将每一个细节和功能都调整得恰到好处,结果部署后却构建失败,那么应用容器就很适合你了。

 

提高软件工程技能的关键技术,这些资源赶紧收藏起来_第7张图片

图源:unsplash

 

容器的好处可归结为两方面:一致性和可伸缩性,Docker是其中的佼佼者。使用Docker容器时,容器始终是环境,而不是在一个环境中开发,然后与另一个环境一起部署。容器不属于主机。容器在计算机上运行,并部署到生产环境中。

 

考虑到容器的性质,它们非常适合缩放。在生产中,容器可以根据需要旋转和拆卸,以应对使用量的波动。应用程序日益容器化,Docker是个实用的选择。

 

以上是你迟早都要学的技能,不如趁现在难得有空余时间练起来吧!

 

一起分享AI学习与发展的干货
欢迎关注全平台AI垂类自媒体 “读芯术”

(添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦~)

你可能感兴趣的:(AI,热点文章,人工智能)