当前位置:网站首页>“配置”是把双刃剑,带你了解各种配置方法
“配置”是把双刃剑,带你了解各种配置方法
2022-08-05 01:28:00 【壹小俊】
什么是配置
很多人分不清配置和配置管理,但其实它们是完全不同的概念。
配置管理:是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。它的目标是记录软件产品的演化过程,确保软件开发者在软件生命周期的各个阶段都能得到精确的产品配置信息。
配置:是指独立于程序之外,但又对程序产生作用的可配变量。也就是说,同一份代码在不同的配置下,会产生不同的运行结果。
从上面的定义中,你可以看到配置和配置管理有着本质上的不同:配置管理服务于软件研发过程,而配置则服务于程序本身。
作为一名程序员,开发时经常要面对不同的运行环境:开发环境、测试环境、生产环境、内网环境、外网环境等等。不同的环境,相关的配置一般不一样,比如数据源配置、日志文件配置,以及一些软件运行过程中的基本配置等。
另外,你也会遇到一些业务上的,以及逻辑上的配置。比如,针对不同地域采取不同的计费逻辑,计费逻辑又要根据这些地域的需要随时调整。
如果我们把这些信息都硬编码在代码里,结果就是:每次发布因为环境不同,或者业务逻辑的调整,都要修改代码。而代码一日被修改,就需要完整的测试,那么变更的代价将是巨天的。
因此,我们往往会通过“配置”来解决这些问题。
但是,“配置”本身也很讲究。在什么阶段进行配置,采用什么手段进行配置,都将直接影响持续交付的效果。
那么,接下来我就跟你详细聊聊各种配置方法。
构建时配置
以Maven为例,实现多环境的构建可移植性需要使用profile。profile是一组可选的配置,可以用来设置或者覆盖配置默认值。通过不同的环境激活不同的profile,可以实现构建的可移植性。我们可以看一个简单
边栏推荐
- 金仓数据库 KingbaseES V8 GIS数据迁移方案(3. 基于ArcGIS平台的数据迁移到KES)
- The principle of NMS and its code realization
- JUC thread pool (1): FutureTask use
- MBps与Mbps区别
- oracle将restful接口封装到视图中
- Gartner Hype Cycle:超融合技术将在2年内到达“生产力成熟期”
- (17) 51 MCU - AD/DA conversion
- CNI (Container Network Plugin)
- Lattice PCIe 学习 1
- Memory Forensics Series 1
猜你喜欢
随机推荐
If capturable=False, state_steps should not be CUDA tensors
张驰咨询:揭晓六西格玛管理(6 Sigma)长盛不衰的秘密
(17) 51 MCU - AD/DA conversion
MySQL学习
Helm Chart
Methods commonly used interface automation test framework postman tests
蓝牙Mesh系统开发五 ble mesh设备增加与移除
Gartner Hype Cycle:超融合技术将在2年内到达“生产力成熟期”
深度学习:使用nanodet训练自己制作的数据集并测试模型,通俗易懂,适合小白
Introduction to JVM class loading
ORA-01105 ORA-03175
【七夕如何根据情侣倾听的音乐进行薅羊毛】背景音乐是否会影响情侣对酒的选择
MongoDB construction and basic operations
超越YOLO5-Face | YOLO-FaceV2正式开源Trick+学术点拉满
动态规划/背包问题总结/小结——01背包、完全背包
新来个技术总监,把DDD落地的那叫一个高级,服气
接口自动化测试框架postman tests常用方法
【FreeRTOS】FreeRTOS与stm32内置堆栈的占用情况
Three handshake and four wave in tcp
XMjs跨域问题解决









