干货 | 浅谈携程大住宿研发效能提升实践

PostgreSQL高可用之主备复制 多个PostgreSQL可协同工作,如果主库发生宕机备库将迅速进行接管并对外提供服务以实现高可用。本文将从主备复制、主备切换、故障转移等角度进行实际测试演练。第一章主备复制是基础,通过主备复制可以得到一个或多个相同的实例。在主备复制的基础上通过第二章主备切换介绍了如何手工将主库与备库互换角色。在第三章中,采用了Keepalived进行实时监测,在主库宕机后,使用主备切换中提到的命令使备库升级为主库并对外提供服务,以达到PostgreSQL高可用的目标。 阅读详情

作者简介

Mia ,携程高级项目经理,负责酒店Devops实践,关注Devops/敏捷等领域。

YY,携程敏捷教练,负责团队敏捷转型,研发效能提升实践,关注Agile、Devops、研发效能等领域。

一、前言

管理大师彼得·德鲁克在《有效的主管》一书中简明扼要地指出:“效率是‘以正确的方式做事’,效能则是‘做正确的事’。效率和效能不应偏废,我们希望同时提高效率和效能,但若效率与效能无法兼得时,我们首先应着眼于效能的提升”。携程大住宿研发效能提升的指导思想就是基于做正确的事展开,并以“持续快速,高质量的交付有效价值”作为研发效能改进的核心目标。通过持续不断的改进探索,让团队思考更加有效,工作更加高效。

在落地研发效能提升的过程中,我们遇到了很多的挑战,总结下来核心的现象有以下四种:

1. 目标不一致,导致协作低效:大住宿拥有36个规模大小不一的敏捷团队。有小型的10以下的特性团队,也有50人以上的全功能敏捷团队。各团队相对独立又存在无法规避的协作关系。当A团队的目标依赖B团队的支持,就会存在取舍和协同。当AB团队目标不对齐时,先完成自身目标还是支持对方完成目标的过程会增加非常多额外的协作沟通成本。

2. 视角割裂,产生无效价值:产品只负责产出需求,开发只管任务完成,最终交付验收发现不是想要的功能。这是大住宿在敏捷转型前遇到最频繁的问题。团队成员视角割裂导致各角色只关注于自己熟悉的领域,而忽略目标价值的交付,最终会产生非必要的浪费。

3. 基建薄弱,导致额外成本增加:有一种误会是只要转型敏捷研发效率就能10倍数提升。实践发现,基建的薄弱在一定程度上反而增加团队的负担。比如为了持续频繁的发布,自动化测试的缺失带来额外的人工回归成本;比如代码质量不可靠导致测试频繁的返工等,在一定程度上不仅影响了团队交付效率,还导致了用户满意度的下降。

4. 度量困难,缺少客观衡量数据:大住宿的敏捷转型试点,从一块物理白板,一堆便签,几只油性笔开始。缺少电子信息的沉淀,需要完成度量的费力度和成本非常的高。当时为了收集度量的数据,需要人工记录过程信息,然后通过Excel梳理整合,再进行分析处理。人为的记录和分析让数据缺失一定的客观性,无法很好的衡量团队的改进效果,也无法有效引导团队改进方向。

为了改善以上问题,我们从想好、做好、做快这几个维度齐头并进,持续优化,深度耕耘:

  • 使用OKR工作法拉通产研,深度协作

  • 使用MVP实践,围绕价值交付

  • 通过深度敏捷实践,打造敏捷企业文化

  • 通过DevOps实践,支撑团队快速交付

c73d7d9129a6e14226c08475f8635847.png

二、OKR工作法-上下同欲、对齐目标     

明确一致的目标是组织内各个部门和全体成员的合作基础,共同的目标是组织建立和存在的客观基础,是完善和发展组织的客观依据,也是为组织创造更大价值的必备因素。OKR工作法(Objectives&KeyResult,目标与关键结果)是一种企业、团队、员工个人目标设定与沟通的最佳实践与工具,是通过结果去衡量过程的方法与实践。同时,OKR还是一种能够促进员工与团队协同工作的思维模式。大住宿OKR工作法的落地推进,有效的促进了团队成员间的紧密协作,同时也迎来了更多的挑战:    

  • 如何让整个组织的力量都聚焦在重要事项上,助力战略落地

  • 如何管理组织内的目标横向对齐,消除“部门墙”的障碍,协作更高效

  • 如何透明化组织、团队的目标,暴露重复、多余、无价的任务,节省成本

面对挑战,大住宿正在持续不断的探索改进中:

1. 推行产研一体,聚焦整体价值交付。以敏捷团队为单位,团队的PO/TO与团队共创价值,将每个人的工作与团队目标联系起来。以季度为周期进行规划复盘,月度review进度和风险的节奏实施落地。无论是技术还是业务的需求,都聚焦到价值的交付上,团队内部形成良性平衡。

2. 试点部门级别产研一体的季度OKR复盘活动。为了更好的达到上下和左右对齐目标,提高协作效率,大住宿从今年Q1开始试行部门级产研一体的季度规划和复盘活动。各团队会前准备好复盘材料;会上回顾复盘材料并进行讨论、反馈和建议;会后根据会议内容形成下一季度的OKR调整内容和建议。通过活动让大家看到各部门、岗位等相关方的相互依赖关系,明确自己的价值定位、实现团队间的紧密高效协作。从而打破筒仓效应,最大程度整合组织资源。

3. 借助IDEV目标管理工具更有效的透明OKR。IDEV是公司提供的统一产品研发管理平台,大住宿在去年接入IDEV后,不仅提高了产品研发过程的透明性,也率先实现了需求数字化管理。结合实践管理发现需求目标的明确,可以更好的支撑需求的交付。经过沟通和设计,IDEV平台开发目标管理功能来支持团队的数字化目标管理。通过每个需求关联专属的KR对齐目标,并使用关联功能管理依赖团队间的需求。工具支撑的信息透明让团队更高效的彼此对齐,相互支撑,保证了团队步调一致,从而完成最终目标的实现。

c7b3c5e569c12f734295c127f1c19bce.png

三、MVP实践-共识价值,杜绝浪费

O代表一种追求和方向,KR是衡量目标达成的关键结果。为了更好地支持KR的达成,团队统一使用MVP思维。在规定的时间盒内选取最合适的需求,并用最低的成本,最快的速度,向用户交付产品的主要功能及特色信息,并通过及早的接触用户,获取客户反馈和市场验证来改进产品,迭代升级,以避免做无效需求。

为了更好的落地MVP实践,大住宿主要采取了以下2个措施:

1. 合理拆分需求,降低试错成本。需求拆分越小,需求越容易理解,改动成本越低,缺陷暴露越早,价值流动越快,也能更早的交付给用户,提前得到反馈。但如果需求拆分的过小,分批开发也会带来测试和发布的成本增加。如何通过合理的拆分需求,降低试错成本?

大住宿研发效能改进计划实施中首先对产研需求进行了规范化的治理,共同约定IDEV上创建的每一个需求都是最小维度的可独立交付,可独立验收且可独立衡量价值维度。由于产研视角上的差异会产生不合理的拆分需求,研发团队如果无脑的接受产品拆分,会缺失对需求整体性的认知,也会面临技术实现相互冲突,还可能会对代码架构造成影响。在规范化需求后大住宿又进一步培训加强产研团队共同拆分需求机制落地。

2. MVP思维贯穿需求整个生命周期。MVP在实际实践中容易陷入一个误区,做完一个MVP就没有后续。大住宿在 MVP实践中提倡将思想贯彻到产品的整个生命周期当中。上线的MVP及时的验证并基于反馈快速的调整寻找下一个方向,迭代循环,最终达成目标。敏捷团队在需求评审会上共识第一次价值,然后在需求上线后及时的验收,进行第二次价值同步。针对没有达到目标需求,快速调研分析后会尽快在最近的迭代周期内安排再次上线验证。整个团队均始终围绕价值持续交付。

四、敏捷实践-敏捷升级,助力效能

敏捷是研发效能提升的又一助力工具。敏捷开发是一种应对快速变化需求的软件开发模式,核心是小步快跑,快速迭代。

大住宿从2014年开始推行敏捷转型,敏捷让团队实现价值驱动管理。传统开发模式除了瀑布接力开发外,还有一个是任务驱动管理。任务驱动管理模式下,客户第一次看到实现的功能可能是在验收阶段,这时候发生需求变化或功能新增都会让开发团队的返工成本变得无法预估。还可能为了赶进度,牺牲掉质量。而敏捷开发模式帮助团队重心放在实现对客户有价值的需求上,让团队关注真正有价值的东西。

大住宿的敏捷转型是从Scrum开始试点,研发团队从只关注怎么实现需求到共同关注优先要实现哪些需求,如何更快的实现。但一支高效能的敏捷团队,不仅需要高有效的执行落地能力还需要持续不断的改进能力。缺失任何一种能力,都只会让敏捷停留在“伪敏捷”上。

酒店研发在转型路上,也常会因为执行落地不到位而遭遇一些低效的情况:

  • 站会变成汇报会议,只有进度同步没有阻塞反馈。

  • 回顾会无人说话,事不关己或变成批斗大会。

  • 计划会上需求方案还未确认清楚就开始迭代开发,迭代过程中反复确认,沟通成本增加,工作效率低下。

针对以上问题我们做了如下的改进措施来帮助团队提高执行,持续改进。

  • 增加敏捷培训,邀请团队成员参与到敏捷管理活动中,从实操活动中加强团队成员对于敏捷中每个角色,每个会议的深层理解。

  • 明确团队各阶段的完成定义并督促落地执行到位。

  • 针对性的开展主题回顾会议,邀请相关干系人共同参与,保持频繁的反馈,持续改进。

88e606a42917659a0bd2b15eb61ed52d.png

早期的Scrum团队更多的关注在软件过程中的活动,而忽略了开发过程中的各种等待时长。Kanban方法的加入帮助酒店团队看清各种等待不增值的环节。通过Kanban方法拉通产品、设计、交互、开发、测试、BI等各职能各环节的价值流动,并通过IDEV需求管理平台实现上下游价值的流动可视化。

改进前团队的关注重心从“敏捷排期”阶段到“待验收”上线阶段。

6dab4c36c466944942dfa75af1e8d1ef.png

改进后团队的关注重心从“需求规划”阶段开始到“完成”阶段的整个产品生命周期。

fe5d96c4ab716f488ae3e9579ee3adf9.jpeg

Scrum和Kanban都是帮助团队尽早交付和持续改进的过程方法,方法各有千秋,合适的才是最好的。只有不断的实践,不断的总结,不断的调整,才能真正意义上帮助团队提升。

酒店研发在方法的选择上,也是基于团队自身情况进行决策,比如:

  • 有版本限制的团队,采用Scrum,节奏感可以帮助团队提高协作效率。

  • 创新型业务,关注快速交付的团队,采用Kanban,重点聚焦需求价值流动和及时反馈。

  • 单周交付的团队,采用了Scrum+Kanban混合方式,有效平衡速度和节奏要求。

Scrum

Kanban

实践核心:化繁为简

实践核心:可视化价值流

定义团队角色:Scrum Master、PO、Team

无特殊规则

定义迭代,固定时间盒概念(两周迭代)

限制WIP(work in progress)

Sprint开始后建议不允许新增需求

只要生产力允许,即可新增需求

尽早交付价值

持续改进

八年的敏捷文化熏陶,大住宿大部分的敏捷团队已从“守”的阶段进入“破”和“离”的阶段。

1. 守, 团队能按照scrum的流程去实施敏捷,如团队中有三个角色(PO\SM\Team),团队按照四会(站会,计划会,评审会,回顾会)开展工作等等。

2. 破, 团队能根据自身的状况,去突破敏捷原有的部分规则,去到更高的层次,比如根据敏捷的价值观去增加其它的一些东西,例如增加TO的角色、增加code-review会议等。

3. 离, 团队的成员已经非常熟悉敏捷的流程和规范,对敏捷的价值观驾轻就熟。团队根据自身状况制定相关的实践,比如PO/TO共创团队OKR等。

敏捷实践的升级让端到端的产品、开发、利益相关人更顺滑的聚合在一起,采用合作共赢的协作方式帮助团队价值最大化。

五、DevOps实践-提升质量,加速交付

除了采用目标对齐,共识价值,高效的敏捷实践等改进措施,想要达到持续频繁的交付还需要持续集成持续发布能力的支撑。DevOps强调通过一系列手段来实现既快又稳的工作流程,使每个想法(比如一个新的软件功能,一个功能增强请求或者一个 bug 修复)在从开发到生产环境部署的整个流程中,都能不断地为用户带来价值。CI/CD作为DevOps的重要组成部分,核心价值便是效能与质量,一方面将整个软件研发流程自动化,降低人力成本,另一方面提供了相应的质量检查与测试工具,以期建立一个完整的质量度量体系。

酒店研发引入公司CI/CD解决方案,建立完善的准备环境/测试/资源构建/镜像构建一整个流程的链路,使它可帮助项目以更快的速度和更高的质量来交付。

以大住宿某前端研发团队的流水线为例,团队从以下三个目标出发:

  • 代码效能

  • 产品功能

  • 产品性能

通过设置代码规范检查,单元测试、UI测试、性能测试等任务来提升自动化覆盖率,提升集成效率,强化整体代码质量,提前发现问题,最终实现加快交付频率的目标。并通过采集流水线数据,可视化项目流水线执行概况、近期质量趋势,帮助团队用数据思考,利用数据,持续提升效率。

2446b4a1cc4223b74d6250b00894b426.png

efad4f6256b810b39bbec6e887a15c47.png

小结:OKR工作法保障团队方向正确;MVP实践帮助团队聚焦目标价值;敏捷实践专注快速交付价值,拥抱变化;DevOps助力快速交付,强化自动化能力。四大措施持续改进,最终达到研发效能提升的目的:持续快速,高质量地向用户交付产品。


六、如何衡量研发效能得到了提升?

管理大师彼得·德鲁克还说没有度量就没有管理。度量最重要的目的是洞察出问题,进行指导改进,并衡量改进的效果。数字化时代的到来,很多企业已具备自动采集效能数据以实现度量所需的各种实时数据报表。大住宿在去年接入公司统一产品研发管理平台IDEV后,不仅提高了产品研发过程的透明性,也率先实现了需求数字化管理。

大住宿借助大量的客观数据从目标、价值、质量、效率这4个维度的进行分析找到团队的痛点,并引导团队做真正能解决问题的行为来持续改善。


1. 核心目标占比

核心目标价值的占比帮助团队对齐目标和资源整合。我们通过目标管理工具,规范需求与目标的关联,再通过度量单位时间内围绕目标的交付需求占比来反映团队的目标对齐度。试点实践中遇到最大的问题是数据的失真。数据的准确与团队关联目标的规范息息相关,需要通过对团队进行不断的培训和宣导来帮助团队养成习惯,以此保障数据的准确性。


 2. 需求价值指数

需求是价值的承载体现,假设交付需求均具有价值,那么交付需求的数量越多,代表交付的价值越多。但单以需求个数无法很好的反映团队的交付价值。每个需求的规模和价值大小不一。比如单位时间内可能只交付了一个收益很高的需求,并不能说明团队的产出变少。团队需求价值指数从更客观的维度衡量团队在单位时间内是否产出高价值的内容,以此杜绝高成本低收益的投入。需求价值指数由团队负责的需求个数、人员数、预估价值、实际价值、需求价值正态分布情况等综合评估得出 。


3. 交付质量

研发交付质量是指用户感受到的质量,可以理解为线上用户保障的缺陷。影响交付质量的一个重要因素就是交付过程质量。大住宿主要以单位时间内的缺陷数量趋势来衡量团队交付质量。为了降低缺陷数量,研发团队通过质量内建、提前验收等各种方法来前置保障交付过程质量。并通过分析线上以及过程缺陷,进行归因改进。从自动化,Mock工具、开发自测等各个方面着手落实改进措施,持续提升交付质量。


4. 响应能力

需求的响应周期和团队持续发布的能力体现团队的持续和快速。交付周期指对用户需求、业务机会的响应速度。酒店研发采用从创建需求开始,到需求上线所经历的平均时长来度量交付周期;通过开始code到发布上线所经历的平均时长来度量开发周期;通过单位时间内的有效发布次数来衡量团队对外响应和价值的流动速度。经过一段时间的优化改进,大住宿2周内交付的需求占比呈稳定提升趋势。

778ecc7786a3b159b4ff86419e274046.png

4d1d68ca71a336683227c7c51bd3bcfe.png

七、总结

我们可以通过各种措施来提升改进,但研发效能的提升没有“银弹”,研发效能的提升没有最好,只有更好。需要我们从目标、价值、质量、效率每一个领域都进行深入地挖掘和思考,共同努力把持续改进的焦点从局部资源效率转向价值流动效率,以此保证全局和系统的持续优化。

  • OKR工作法:上下同欲、对齐目标

  • MVP实践:共识价值,消灭浪费

  • 敏捷实践:敏捷升级,助力效能

  • DevOps实践:提升质量,加速交付

大住宿依然在探寻更好的效能提升方法的路上,就像敏捷宣言中提到的“我们一直在实践中探寻更好的软件开发方法,身体力行的同时也帮助他人。”也希望本篇浅浅的实践总结可以帮助到对研发效能有期待有困惑的你。

【推荐阅读】


0a17efba97bc1b05d32efff54d3abcbe.jpeg

 “携程技术”公众号

  分享,交流,成长

为什么devc++编译项目会失败?提示gcc无法正常启动... 根据你的描述,编译能正常进行时,只打开源文件并没有问题,问题主要出现在创建项目后编译失败,这通常与 Makefile 配置、环境变量、编译器路径设置等因素有关。你可以检查 Makefile 配置,验证 DevC++ 的编译器环境设置,或者尝试清理并重新配置项目。如果问题仍然存在,可以尝试重装 DevC++ 或重新配置工具链。希望如上措施及解决方案能够帮到有需要的你。 阅读详情

相关推荐

LangFlow开源神器:拖拽构建AI Agent与MCP协议集成实战

LangFlow 15万星开源神器:拖拽搭建 AI Agent,一键部署 API / MCP / JSON 在AI应用开发领域,传统编码方式往往需要处理复杂的API调用、数据处理和流程编排,这让很多开发者望而却步。LangFlow作为GitHub上获得15万星的开源项目,通过可视化拖拽的方式彻底改变了AI Agent的开发体验。本文将完整介绍如何使用LangFlow快速构建功能强大的AI Agent,并实现API、MCP协议和JSON配置的一键部署。 1. LangFlow与AI Agent核心概念解析 1

weixin_33717117的博客 934

干货 | 携程酒店DevOps测试实践

作者简介王幸福,携程酒店研发部高级测试经理,负责无线自动化测试相关工作。在测试框架和平台研发、移动测试、DevOps等领域有着丰富的经验。如今很多大型互联网公司、创新型企业都在积极地进...

携程技术 1900

EEG信号分析实战:从时域到频域,手把手教你用Python处理脑电数据

本文详细介绍了使用Python进行EEG信号分析的实战方法,涵盖时域分析、频域分析和时频分析三大核心技术。通过MNE-Python等工具,读者将学习如何从原始脑电数据中提取事件相关电位(ERP),解码脑波节律特征,并运用时频分析追踪动态神经活动。教程包含完整的代码示例和认知科学解释,适合神经科学研究者快速掌握EEG分析全流程。

pink的博客 1007

DevOps进阶

SonarQube 是开源代码质量管理平台,,支持 30+ 语言,对接 CI/CD 流水线提交即扫描。

fengkai4545的博客 133

2023年全国职业院校技能大赛高职组“区块链技术应用”赛项赛卷(3卷)解析

我们先绘制题组中所有设计图我这边作图用的国内的在线作图工具。

2301_76737000的博客 5419

深入解析SDC时钟约束:从create_clock到set_clock_groups的实战指南

本文深入解析SDC时钟约束,从create_clock到set_clock_groups的实战应用,帮助数字芯片设计工程师掌握时序约束的核心技巧。通过详细讲解时钟三要素(波形定义、不确定性和时钟关系)及实战案例,提升时钟约束的精准性和效率,避免常见设计陷阱。

weixin_29274337的博客 1077

DevOps 完整入门:瀑布、敏捷、CI/CD 核心概念通俗解析

敏捷开发(Agile Development) 的核心是*迭代开发*(Iterative Development) 与 *增量开发持续集成( Continuous integration , 简称 CI )指的是,频繁地(一天多次)将代码集成到主干。**持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。**它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。

weixin_63581562的博客 539

【AVRCP】规范精讲[19]: 媒体属性全解析,让你的蓝牙设备显示完整歌曲信息

AVRCP协议中的媒体属性是蓝牙音频设备传输歌曲元数据的关键,包含标题、艺术家、专辑等32位ID标识的键值对信息。规范要求字符串属性必须使用UTF-8编码,但乱码问题频发(如中文显示异常),主因是设备未遵循编码标准或使用GBK等非规范格式。常见问题包括信息不全(仅显示标题)、封面缺失(因带宽限制或格式不支持)及更新延迟(通知机制未启用)。解决方案包括强制UTF-8编码、优化封面大小(如300x300像素JPEG)、主动请求缺失属性。Android示例代码展示了通过广播接收器解析媒体属性的方法。

byte轻骑兵的技术小窝 1万+

DevOps进阶-下篇-Harbor私有仓库与自动化部署

环节现在的状态问题代码GitLab 托管,Tag 管版本✅ 没问题构建Jenkins 跑 Maven,产出 jar✅ 没问题质量SonarQube 扫描 + 门禁✅ 没问题制品jar 直接 SCP 到服务器,服务器上❌这里全是洞部署服务器本地重建容器❌ 无版本、无回滚、无审计镜像没有统一存放地。每台机器自己build,同一个 tag 在不同机器上可能是不同的东西——"环境一致性"直接破功;无法回滚。jar 覆盖了就没了,出事想退回上一版?

weixin_45488455的博客 294

安川机器人外部轴添加

本文详细介绍了如何在安川机器人本体上添加第7轴以及如何设置动作,本文以添加点焊枪为例进行讲解。

haier123888的博客 7889

基于Python的Booking酒店数据爬虫实战:最新技术与完整代码解析

本文将详细介绍如何使用Python构建一个高效的Booking酒店数据爬虫,涵盖从基础爬取到高级反反爬技术的完整实现。我们将使用最新的Python爬虫技术栈,包括requests-html、Playwright、智能代理轮换等技术,并提供完整的可运行代码示例。文章将深入探讨爬虫的各个组成部分,包括数据提取、存储、反反爬策略以及性能优化等方面。关键词:Python爬虫、Booking数据采集、反反爬技术、Playwright、数据存储。

2201_76125261的博客 936

从瀑布到流水线:DevOps 入门与 GitLab + Jenkins + Docker 落地实践

先看清软件开发生命周期(SDLC)的全貌,再对比瀑布模型与敏捷开发,随后进入持续集成与 CI/CD 的机制内核;最后落到实操——在 GitLab、Jenkins、Docker 组成的四机实验环境里,走完源码托管、自动化构建、镜像封装与远程部署,直到参数化构建与版本回滚。概念与命令并重,既是入门地图,也是操作手册。

年轻的时候很穷,经过我多年的努力,终于不再年轻。 241

使用Python爬虫抓取政府网站政务信息:公告、通知的自动化抓取与分析

通过结合Requests、BeautifulSoup、Selenium等技术,你能够高效地抓取政府网站的数据,并通过MySQL存储与Pandas分析这些数据。通过自动化手段抓取这些信息,不仅可以提高数据收集的效率,还能够实时获取最新的政务动态,为政策研究、舆情分析等提供宝贵数据。我们将通过Python的Requests、BeautifulSoup、Selenium等工具,结合最新的技术实现一个完整的爬虫系统,帮助你轻松抓取并分析政务信息。通过爬虫,我们可以自动化地从指定网站上抓取公告、新闻、通知等信息。

2201_76125261的博客 1907

开源基准 CloudOpsBench 发布:AI 运维最大瓶颈在推理

开源基准 CloudOpsBench 1.0 包含 45 项 AWS 运维任务,测试中表现最好的 Claude Fable 5.1 仅解决 60%,研究团队称约 80% 的失败源于推理问题。

老孙正经胡说 187

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

10 月更新|NineData 新增 Vastbase、SelectDB、DB2 等异构链路,优化 Oracle 增量解析性能

10月,NineData持续强化数据库DevOps、AIAgent与数据复制能力。新增18条数据复制与对比链路,支持多引擎异构迁移,如TiDB→DB2、OpenGauss→PolarDB等。DevOps扩展Databricks支持,优化SQL规范校验、WebSocket缓冲与OnlineDML功能。权限流程升级,支持API获取数据源,修复工作流状态一致性。AIAgent优化模型配置与ChatDBA交互体验。数据复制增强增量写入、容灾与Oracle性能,支持TiCDC集群源与字段长度超限处理。SQL窗口修复多

云原生智能数据管理平台 93

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

DevOps入门-下篇-GitLab-Jenkins-Docker实战

打开demo_web项目 → 菜单VCS→Git→Push(或Remotes)→字段值NameoriginURLURL 直接从 GitLab 项目首页复制(Clone →),别手打,容易多斜杠。实践对应概念解决的问题GitLab 托管 + 分支管理版本控制代码唯一可信来源Jenkins 拉取并自动构建持续集成不再手工打包,问题早发现Maven 统一构建可重复构建谁打出来的包都一样Publish over SSH 自动推送持续交付部署不再是手工活Dockerfile 进仓库。

weixin_45488455的博客 640

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

DevOps入门-上篇-从SDLC到CICD

周五下午四点,你终于把功能写完,本地跑通了,打了个包丢给运维:“哥,帮忙上一下生产。半小时后,群里开始刷屏:启动报错、端口被占、数据库连不上、依赖版本不对、配置文件是测试环境的……你在本地明明跑得飞起。这不是你菜,这是"集成代码在你的机器上是对的,不代表它在别人的机器、在服务器上是对的。如何让"我这能跑"变成"哪都能跑",并且让这个过程一天发生几十次还不翻车?要回答这个问题,得先把软件是怎么被"生产"出来的这件事讲清楚。持续集成(Continuous Integration,简称CI。

weixin_45488455的博客 320

DevOps 入门实战(一):从 CI/CD 概念到 Jenkins 自动构建部署

本文主要介绍了在Windows开发机与三台CentOS虚拟机上,搭建基于GitLab私仓、Jenkins自动化构建与SSH部署的CI/CD流水线。通过Spring Boot项目本地验证后,配置GitLab代码仓库,利用Jenkins实现三次构建:首次拉取代码,二次Maven打包,三次通过SSH推送Jar包至目标机,并由Docker运行容器。全程覆盖代码提交、自动构建、远程部署全流程,实现“写代码→提交→自动部署”闭环,掌握DevOps核心实践。

tc2266的博客 387

手工建集群到全自动发布:k8s集群部署与DevOps流水线整合实战

本文记录从手工搭建到全自动发布的 K8s 与 DevOps 整合实践。前半部分用 kubeadm+Docker(cri-dockerd)部署 K8s 1.28 三节点集群,涵盖系统配置、内核参数、IPVS、镜像加速、Calico 网络及常见排坑;后半部分用 Kuboard 脚本快速部署 K8s 1.19,在 Jenkins+GitLab+Harbor 流水线中增加 YAML 推送与远程 kubectl apply,打通代码提交、构建质检、制镜像、集群发布到钉钉通知的闭环。

tc2266的博客 70

devops入门

敏捷开发(Agile Development) 的核心是*迭代开发*(Iterative Development) 与 *增量开发持续集成( Continuous integration , 简称 CI )指的是,频繁地(一天多次)将代码集成到主干。**持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。**它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。

2301_82263835的博客 183

DevOps 入门

Jenkins 基于 Java 开发,开源 CI 服务器;可以实现自动化流水线。组成Master 主节点:web 界面,管理任务、调度;Agent 代理节点:执行构建任务,分布式构建,减轻 master 压力。触发方式:代码提交 webhook 钩子触发、定时触发、手动点击构建。两种流水线写法自由风格项目:图形页面配置,适合简单任务,难以版本化;Pipeline 流水线(Jenkinsfile):代码式流水线,Groovy 语法,可以存放在 Git 仓库,

fengkai4545的博客 273

AI 如何替代传统 DevOps。从应用发布到故障恢复的实操。

代码合并了,还得构建、部署,再检查上线后的功能。出了问题,要查日志和配置,决定继续修复还是先退回旧版本。这些步骤可以自动化,但应用依赖怎样配置、发布失败从哪里查起,仍然需要有人处理。Agent 已经能理解项目代码,接上应用平台以后,也可以参与后面的部署和维护。这次用开源 Rainbond 和 RainSkills 部署了一个带数据库的留言板,从开发环境发布到生产,更新 V2,再演练配置故障和恢复 V1。过程中碰到了工具入口缺失,也碰到了操作记录成功、运行实例却没切换的情况。

qq_45799465的博客 239

Kubernetes与DevOps整合-Jenkins流水线自动部署到K8s集群

前文我们完成了 Jenkins Pipeline 从拉代码到推送 harbor 的全链路流水线,构建产物只是一个跑在 Docker 容器里的单实例应用。本篇把最后一公里补齐:流水线构建完成后,不再用 Publish Over SSH 在目标服务器上跑单容器,而是把 YAML 推送到 Kubernetes 集群,远程执行 kubectl 命令,以 Deployment + Service 的方式部署应用,真正实现容器编排级的自动化发布。

fb_12345的博客 341

DevOps的Pipeline流水线管理

自由风格(Freestyle)把所有构建输出堆在一起,流程复杂后。Pipeline 用,构建流程图形化展示,各环节耗时和状态一目了然,更易维护和版本管理。

fengkai4545的博客 79

DevOps 入门实操|SDLC、敏捷、CICD,GitLab+Jenkins+Docker 完整环境搭建

博客笔记:从理论概念到 Windows 开发环境,再到 Linux 服务器部署 GitLab、Jenkins,完整实操记录,包含常见踩坑。

Wzh5452830的博客 247

DevOps与代码审计SonarQube:生产环境能力与实践

本文系统阐述了DevOps与SonarQube在生产环境中的协同实践。DevOps通过CI/CD流水线实现高效、可追溯的交付闭环,而SonarQube作为DevSecOps核心工具,通过静态代码分析与质量门禁,实现安全左移,拦截高危漏洞与劣质代码。二者结合,构建自动化、可度量、可审计的生产体系,支撑云原生环境下高频迭代与高质量交付,是现代软件工程的标配能力。

weixin_74738117的博客 148
上一篇: 干货 | 提前在开发阶段暴露代码问题,携程Alchemy代码质量平台
下一篇: 干货 | 携程微服务体系下的服务治理之道和优化实践
携程技术
博客等级 码龄10年 3716粉丝 324原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值