当前位置:网站首页>“配置”是把双刃剑,带你了解各种配置方法
“配置”是把双刃剑,带你了解各种配置方法
2022-08-05 01:28:00 【壹小俊】
什么是配置
很多人分不清配置和配置管理,但其实它们是完全不同的概念。
配置管理:是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。它的目标是记录软件产品的演化过程,确保软件开发者在软件生命周期的各个阶段都能得到精确的产品配置信息。
配置:是指独立于程序之外,但又对程序产生作用的可配变量。也就是说,同一份代码在不同的配置下,会产生不同的运行结果。
从上面的定义中,你可以看到配置和配置管理有着本质上的不同:配置管理服务于软件研发过程,而配置则服务于程序本身。
作为一名程序员,开发时经常要面对不同的运行环境:开发环境、测试环境、生产环境、内网环境、外网环境等等。不同的环境,相关的配置一般不一样,比如数据源配置、日志文件配置,以及一些软件运行过程中的基本配置等。
另外,你也会遇到一些业务上的,以及逻辑上的配置。比如,针对不同地域采取不同的计费逻辑,计费逻辑又要根据这些地域的需要随时调整。
如果我们把这些信息都硬编码在代码里,结果就是:每次发布因为环境不同,或者业务逻辑的调整,都要修改代码。而代码一日被修改,就需要完整的测试,那么变更的代价将是巨天的。
因此,我们往往会通过“配置”来解决这些问题。
但是,“配置”本身也很讲究。在什么阶段进行配置,采用什么手段进行配置,都将直接影响持续交付的效果。
那么,接下来我就跟你详细聊聊各种配置方法。
构建时配置
以Maven为例,实现多环境的构建可移植性需要使用profile。profile是一组可选的配置,可以用来设置或者覆盖配置默认值。通过不同的环境激活不同的profile,可以实现构建的可移植性。我们可以看一个简单
边栏推荐
猜你喜欢
创意代码表白
Lattice PCIe Learning 1
LiveVideoStackCon 2022 上海站明日开幕!
Day Fourteen & Postman
Matlab uses plotting method for data simulation and simulation
IJCAI2022 | DictBert:采用对比学习的字典描述知识增强的预训练语言模型
oracle create tablespace
Interview summary: Why do interviewers in large factories always ask about the underlying principles of Framework?
为什么他们选择和AI恋爱?
深度学习原理学习小结 - Self-Attention/Transformer
随机推荐
B站7月榜单丨飞瓜数据B站UP主排行榜发布!
IJCAI2022 | DictBert:采用对比学习的字典描述知识增强的预训练语言模型
JUC线程池(一): FutureTask使用
pytorch的使用:使用神经网络进行气温预测
MySQL3
Interview summary: Why do interviewers in large factories always ask about the underlying principles of Framework?
ORA-00257
二叉树[全解](C语言)
金九银十面试跳槽季;你准备好了吗?
Matlab uses plotting method for data simulation and simulation
【TA-霜狼_may-《百人计划》】图形4.3 实时阴影介绍
习题:选择结构(一)
If capturable=False, state_steps should not be CUDA tensors
原生js实现多选框全部选中和取消效果
ORA-01105 ORA-03175
新唐NUC980使用记录:在用户应用中使用GPIO
LiveVideoStackCon 2022 上海站明日开幕!
Dynamic Programming/Knapsack Problem Summary/Summary - 01 Knapsack, Complete Knapsack
居民用水问题
2021年11月网络规划设计师上午题知识点(下)