作为软件开发人员需要的技术技能 (4)

虽然数据库的情况在过去几年中已经发生了很大的变化,但我认为数据库不会很快消失,所以我认为你可能应该对它们有所了解,不是吗?

在编写本文章时, 有两种主要的数据库技术:关系数据库和文档数据库。

我想说今天的开发人员至少应该熟悉关系数据库,并且可能也应该对非关系数据库有一些了解。

在软件开发中,数据库通常用于存储应用程序的数据。

当然,有些团队会有专门的数据库开发人员或数据库管理员(DBA),但这并不能让您至少不了解数据库的基础知识。

至少,你应该知道:

数据库如何工作

如何执行基本查询以获取数据

如何插入,更新和删除数据

如何将数据集连接在一起

此外,您可能希望了解如何 使用所选平台和/或框架以编程方式从代码中检索和存储数据

期望大多数开发人员能够编写可与数据库交互的代码。

书籍及文章推荐:

关系性数据库

<<MySQL必知必会>>

<<高性能MySQL>>

<<高可用MySQL>>

另外,MySQL 的官方文档,写的也是非常不错的,英语比较好的读者,也可以看看。

非关系数据库

<<Mongo实战>>

《MongoDB 最佳实践 – 持续更新版》

 

版本控制

版本控制是任何软件开发项目的一个组成部分。

回到当年,在我们使用版本控制之前,我们将拥有项目所有文件进行网络共享,或者我们用U盘或者硬盘来回拷贝项目代码。

至少在大学时,进行项目开发和毕业设计的时候,我都是这么做的。

但是, 我当年比较年轻。我真蠢。你没有必要。

今天几乎所有的专业开发人员都应该知道如何使用版本控制来提交代码,检查代码,并希望合并来自多个源的更改

最基本级别的版本控制允许您保留对软件项目中不同文件所做更改的历史记录。

它还允许多个开发人员同时处理相同的代码 并将这些更改合并在一起。

我不会在这里详细介绍,但 您应该知道如何使用至少一个版本控制系统,并且您应该熟悉大多数基本的源代码控制概念。

几乎所有专业软件开发团队都会在当今的软件开发领域中使用某种版本控制。

书籍及文章推荐:

超级强烈推荐 《Git 教程》文字 + 图片 + 视频 。

文字 + 图片 + 视频 。

比较浅显易懂

marklodato 《图解 Git》

构建和部署

今天,大多数软件开发项目都有某种自动构建和部署系统。

有几种不同的软件应用程序可以帮助团队自动完成这两项任务,这些任务曾经是手动的,对于某些团队来说仍然如此。

你问什么是构建和部署?

好问题。

至少,构建系统将编译所有代码并确保没有编译错误。

复杂的构建系统 还可以 运行单元测试或用户测试,运行代码质量检查,并提供 有关代码库当前状态的一些报告

部署系统 将负责将代码部署到生产计算机或部署到某种测试环境。

您不必是这些技术的绝对专家,但 至少要了解这些系统如何工作的基础知识以及构建和部署代码的过程非常重要

通常,创建和维护构建和部署系统的实际责任属于一个快速增长的领域,称为DevOps(开发人员操作的简称)。

但是,这并不能成为您理解至少这个过程如何运作的基础知识的借口。

书籍和文章推荐:

Jenkins官方网站

<<持续交付>>

测试

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpppds.html