• 博客(189)
  • 收藏
  • 关注

原创 使用 GitHub 可重用工作流和 GitHub Actions 简化 DevOps

这篇博文将探讨 GitHub 可重用工作流、它们的优势,以及如何构建它们并将其集成到开发流程中。无论是管理少量存储库还是监督大量项目,学习在 GitHub Actions 中创建可重用的工作流程都可以改变团队的生产力和代码质量。

2025-03-18 11:27:20 864

原创 构建 DevOps 最佳实践:面向 DevOps 和平台工程师的操作指南

DevOps 无疑是当下最流行的软件开发方法,且仍在持续发展。其需求不断增长的原因在于,一旦得到恰当的采用,它能够带来效率提升、速度加快、可扩展性增强以及成本节约等诸多实实在在的好处,绝非空洞的承诺。在本文中,我们将讨论工程师可以遵循的最佳实践,以确保 DevOps 的成功实施。

2025-03-17 11:21:21 584

原创 成本效率在平台工程中的重要意义

本文探讨了创建强大的开发人员平台与保持成本之间的微妙平衡,提供了有关平台工程优化的实用见解。通过可操作的建议,你将学习如何实施平台工程计划,在不破坏资金的情况下提供最大价值,最终创建一个更可持续、更高效的开发生态系统。

2025-03-11 15:18:04 824

原创 如何在保持安全/合规的同时更快地构建应用程序:DevOps 指南

当今 DevOps 工作流程的主要挑战之一是“速度与安全性的困境”。在本指南中,我们将探讨 DevOps 团队面临的一些最紧迫的挑战。我们还将讨论 Incredibuild 如何帮助您在不牺牲 DevOps 合规性的情况下更快地交付高质量和安全的应用程序。

2025-03-11 15:01:21 734

原创 什么是 GitOps?平台工程师入门指南

随着我们的系统变得越来越复杂,GitOps 作为下一个进化步骤出现的地方。这篇博文将探讨 GitOps 的基本原则、基本组件以及它为平台工程提供的优势。我们还将讨论采用 GitOps 的挑战,以及 Incredibuild 等工具如何支持 GitOps 工作流。

2025-03-04 10:45:55 828

原创 更快的应用程序开发:确保安全与合规

快速软件开发是所有应用程序开发人员的首要任务。不幸的是,速度的代价通常是安全。在本文中,我们将解释为什么安全性和合规性至关重要,以及 DevSecOps 如何为快速、安全和合规的开发铺平道路。

2025-03-03 11:51:06 684

原创 平台工程:易用性与灵活性

平台工程已成为不断发展的软件开发领域的一门关键学科,它围绕设计和维护可简化软件交付流程的内部开发平台展开。在这篇博文中,我们将探讨易用性和灵活性在平台工程中的重要性,我们在实现这种平衡时面临的挑战,以及类似 Incredibuild 这样的解决方案如何帮助我们找到最佳平衡点。

2025-02-25 11:12:19 949

原创 如何在 CMake 上设置新项目以获得成功

从处理依赖项到确保正确编译和链接代码,正确的构建系统可以节省 你时间并避免潜在的麻烦。本教程介绍了 CMake 的受欢迎程度、基本设置和最佳实践,以及使用它时的常见陷阱。我们还探讨了代码生成器和自定义目标等高级主题。最后,你将会更加有效地利用 CMake,助力项目取得长期成功。

2025-02-24 11:19:36 1091

原创 深入了解 DevOps 基础架构:可追溯性的关键作用

在当今竞争激烈的软件环境中,快速交付强大的应用程序至关重要。尽管如此,在不影响质量的情况下保持速度可能是一项艰巨的任务,这就是 DevOps 中的可追溯性发挥作用的地方。通过提供软件开发生命周期 (SDLC) 的透明视图,可追溯性可以提高代码质量、确保合规性并提高效率。

2025-02-20 11:29:45 1072

原创 在 C++23 中使用智能指针进行现代内存管理 — 第 2 部分:共享指针

在本系列的第 1 部分中,我们探讨了托管内存语言以及 C 和旧式 C++ 中的内存模型。我们看到了智能指针可以提供的价值,并探索了标准智能指针之一:unique_ptr。本文(第 2 部分)将介绍另一个标准的智能指针,即共享指针 (shared_ptr),并探讨它的一些用途。

2025-02-18 10:57:53 1001

原创 在 C++23 中使用智能指针进行现代内存管理 – 第 1 部分

C++ 以具有难以处理的内存模型而闻名。在这个由两部分组成的系列的第 1 部分中,我们将解释托管内存语言和传统 C 和 C++ 中的内存管理原则,解释每种方法的问题,然后建议智能指针如何提供帮助。最后,我们将深入探讨一个重要的内置智能指针,即唯一指针 (unique_ptr)。

2025-02-17 11:43:30 757

原创 基础设施在平台工程中的作用

平台工程侧重于设计和构建自助服务工具和环境,以简化软件开发和部署。作为开发人员,我们的任务是快速高效地交付高质量的软件,这需要一个强大、敏捷并无缝集成到我们的工作流程中的基础设施。本指南探讨了现代基础设施如何支持平台工程,使我们能够直面这些挑战。

2025-02-11 14:01:15 923

原创 Incredibuild 收购 Garden.io,加速端到端软件开发

多年来,备受信任的 Incredibuild 以极大加快构建、测试和其他计算密集型开发任务。现在,通过整合 Garden 的尖端流水线优化能力,我们可以为您整个 CI 工作流注入强大动力,从代码提交到部署的每一个环节。Garden 的创新技术通过智能缓存和优化资源分配,消除了 CI 流水线中的冗余工作。这使得反馈周期变得快速流畅,更新可以无缝流动从开发到预发布再到生产环境。再也不用等待构建或部署——Garden 的图形感知引擎确保只有更改过的代码会被重建和重新部署。

2025-02-10 10:56:19 254

原创 隐式编程与显式编程:概念与区别解析

众所周知,软件开发充满了行话和复杂的概念,其中之一就是隐式编程和显式编概念与两者的区别,了解这些区别将直接影响代码运行方式以及维护的顺畅程度。

2025-02-06 14:44:42 999

原创 量化交易策略:定义及其重要性

量化交易是华尔街和硅谷的秘密结合点,在这里数学和算法与金钱和市场相遇。虽然它曾经是金融巨头的专属领域,但现在它比以往任何时候都更易于接触。但不要被愚弄,量化交易仍然是一种高速、高压的游戏,在毫秒间可以赚到或失去财富。你需要一种独特的技能组合,包括技术技能、金融知识和合适的工具来支持你。加入我们,探索量化交易的美妙世界。我们将解释它是什么,如何运作,并揭示提升你的策略的顶级技术。

2024-06-27 14:38:09 1320 1

原创 8大趋势,重塑金融服务行业

谈论“金融服务行业”就像谈论“亚洲大陆”。这是因为,通用行业概念但它掩盖了许多细分领域的细微差别和多样性,以及人们思考、工作和感受方式的巨大差异。银行应用程序和一个量化交易公司都是金融服务公司,但它们的运营方式可能天壤之别。因此当我们看到真正的金融服务行业趋势,涵盖行业大部分的趋势时,说明事情已经变得值得我们深入关注了。让我们来看看目前大家都在关注的金融服务行业的新趋势。

2024-06-27 14:28:15 918

原创 如何正确使用 include-what-you-use

简单地说,由 Google 开发的 include-what-you-use(IWYU)让源代码文件包含代码里用到的所有头文件。这种方法确保在改动了一些接口之后,代码依然最有可能编译成功。之前我写了一篇关于 include-what-you-use 工具的文章,它会建议使用提前声明来加速编译时间,并且检测可能导致可移植性问题的对间接包含的意外依赖。但是,你也可能注意到该工具引起的一些负面问题。

2024-06-11 10:53:12 841

原创 上下文切换给开发团队带来的隐形成本

开发工作的大部分是深度工作,需要全神贯注。进入和退出这种状态都需要时间,这就是为什么大多数开发人员不喜欢被打扰。但对许多开发人员来说,工作中被打扰是常态。会议、紧急支持工单、电子邮件、同事的随意提问,开发者的一天充满了干扰。每一次干扰都会付出代价,削弱开发者的生产力、工作质量和心理能量。我们称这种从一个任务跳到另一个任务的现象被称为“上下文切换”,即使这个概念不被熟知,但它可能正在破坏开发团队的输出质量。

2024-06-11 10:20:12 1229

原创 Major European 银行 X Incredibuild

Major European 银行利用 Incredibuild 优化其开发流程,特别是针对其 C++ 编译和 Ninja 构建系统。该实施包括在 EMEA 地区部署了10,500个浮动 helper core 和500多个 initiators,在北美地区部署了4,500个 helper core 和200多个 initiators。这一广泛的支持涵盖了 Major European 银行的300多个产品、2,000个构建配置和每月50,000次构建。

2024-06-06 16:44:28 382

原创 Incredibuild for Mac 来了!

今天,我们很高兴地宣布,Mac 开发者(以及将应用程序移植到 Mac 和 iOS 的 Windows 开发者)不再需要花费数小时等待构建了!Incredibuild 正式支持 Mac 和 iOS 的开发,并带来更快的构建和成本优化。

2024-06-06 16:20:53 1082

原创 C++ 头文件优化

C++ 是一种灵活的语言,所以需要一种积极的方法来分析和减少编译时依赖。一种常见的达到这个目的的方法是,将依赖从头文件里转移到源代码文件里。实现这个目的的方法叫做提前声明。简而言之,这些声明告诉编译器某个函数接受和返回哪些参数,而具体的定义则规定了具体的行为。让我们根据下面两种规则来改进编译时长并减少可移植性问题,并且使用 include-what-you-use 这种自动应用这些规则到你的代码库的工具。

2024-05-27 13:44:11 1300 1

原创 开发者为什么需要“不良代码”

在当下,软件开发领域存在着一种错误的观念,是什么呢?与弗莱明的屡次失败而发现青霉素的方式类似,在实际开发中,粗糙的代码可以带来意想不到的结果。在这篇博客文章中,我们将分析“好代码”与“不良代码”的概念,以及为什么开发者们不应该一开始就害怕“不良代码”。

2024-05-27 10:53:35 1146

原创 软件开发的未来

软件发展趋势的文章不计其数,其中大多数都老生常谈,讨论了一些类似的趋势,如:人工智能、大数据计算、低代码开发、物联网、CI/CD、跨平台开发、混合现实(MR),当然还有云计算。我将跳过大部分话题,另辟蹊径,讨论一下与敏捷开发相关的商业趋势。

2024-05-20 14:44:44 905

原创 C++ 开发者的八大痛点

C++ 开发走过了漫长的岁月。尽管新的语言不停涌现,还是丝毫没有动摇这个跨平台语言的影响力,C++ 赋予了开发者对系统资源和内存最大程度的控制能力。不过,C++ 开发也有其不足之处。本文将详述 C++ 开发人员与我们的产品专家分享的一些痛点,同时也推荐了一些行之有效的应对方法。在涉及到实现第三方解决方案,或尝试一项新技术时,C++ 程序员通常是积极的决策者。他们一般在具有一定计算能力的计算机或笔记本上工作,也有一些不能经常享受一流的 DevOps 管道工具等问题。

2024-05-20 11:03:38 1082

原创 Cryptic 工作室 X Incredibuild

游戏开发需要快速迭代和强大的构建流程,以确保代码完整性和项目及时交付。在早期,Cryptic Studios 一直在寻找一种可靠的解决方案来加速游戏引擎和构建流程的编译。随着该工作室将开发范围从 PC 扩展到开发 Xbox 和 PlayStation 等游戏主机,加快迭代速度对服务器架构和游戏客户端开发变得越来越重要。为了解决这个问题,他们决定使用 Incredibuild。

2024-05-13 11:52:26 527

原创 内部开发平台如何赋能开发人员与业务

在软件开发的世界,开发人员需要最好的工具包和开发环境来设计开发他们的软件项目。这个环境就被称为内部开发平台,简称 IDP。IDP 不仅通过提供标准化的工具链和环境来简化软件开发流程,而且还有助于减少设置、部署和导入所需的时间;使工作流程自动化;提高开发人员的生产力。让我们更深入地了解一下 IDP 可以为开发团队做些什么。

2024-05-13 11:41:04 1107

原创 CI/CD 上云为何如此重要

近年来,敏捷度和速度日渐成为产品开发的关键。市场高速运行,时间就是金钱,也是企业发展的关键。游戏、金融、自动化产业等软件开发企业更像卷入了一场无休止的时间竞赛。在本文中,我希望聚焦 DevOps/CI/CD 与云计算,试图理解其错综复杂的关系,并对其效益进行分析。以下列举了 CI/CD 云化的原因。

2024-05-07 15:36:59 916

原创 了解你的构建:发布经理构建难点应对指南

在如今的计算机行业,发布经理的工作任重而道远。一方面他们必须紧跟日益攀升的行业标准,发布速度的极限不断突破,现在要求的速度在过去是远远无法想象的。另一方面,质量的门槛也在不断抬高。这就是为什么发布经理对于一个高质量软件的高速发布至关重要。发布经理就像是整个发布进程的指挥家,必须从上到下、事无巨细地了解整个流程。但无论构建过程是属于上层还是下层,许多重大的发布管理问题都是源自于此。在这里,我将聚焦亟需关注的三大构建发布难点。针对每一个难点,我将以描述难点、寻找原因、讨论最佳解决方案的形式展开。

2024-05-07 15:27:51 1239

原创 为什么 Slow builds 是发布人员永远的噩梦

发布经理正面临更短的发布周期,比以往任何时候都频繁,同时还要按时交付高质量的发布成果。在这样的压力环境下,创造出一套能够支持不断开发、测试、发布和拥有部署能力的基础结构是非常重要的。为了达到这一目的,发布经理应该熟练掌握使用这样定义明确的基础结构。同时它需要制定适当的工具和流程,来确保按时完成工作的同时保证产品的质量。

2024-04-30 10:56:56 693

原创 2024最佳游戏引擎排行

游戏产业几十年来一直是一个大生意,而且发展势头迅猛。尽管如今有市面上有各种各样的解决方案,但游戏开发人员和管理者在选择适合他们需求的游戏引擎平台时面临更加复杂的决策环境,本文希望帮助游戏开发团队根据实际需求做出正确的选择,内容干货满满。以下是一些游戏开发过程中必不可少的工具选项,2024 年最佳的游戏引擎排行。

2024-04-30 10:49:18 9505

原创 如何计算加速开发的实际价值

投资回报率(ROI)已成为在企业中引进工具、方法或者策略时必须考虑的关键指标。尽管如此,在某些情况下,ROI 很容易衡量,而在其他情况下,则往往只衡量结果——金钱。这种评估角度是有效且必要的,但也经常会忽略总价值的其他关键组成部分。例如 Incredibuild 这样的平台,它提供开发加速的解决方案,这是一种具有显著利益和价值的功能,虽然听起来有些抽象,但理解这些平台提供的价值是非常简单的。让我们探讨一下加速对两个关键价值:开发时间和迭代频率。

2024-04-23 14:47:09 973

原创 全面解析平台工程与 DevOps 的区别与联系

平台工程的概念非常流行,但很多开发人员仍然不清楚它是如何实际运作的,这是非常正常的。平台工程是与 DevOps 并行吗?还是可以相互替代?或者 DevOps 和平台工程是两个完全不同的概念?一种比较容易将两者区分开来的方法是将 DevOps 视为一种推动技术决策工作场所文化。而平台工程则是一种统一技术的方式,使得 DevOps 能够快速将这一愿景变为现实。

2024-04-23 14:22:35 1191

原创 游戏生成式 AI:编织梦想,避开阴影

想象一下,一个沉浸式的游戏世界中玩家遇到的每个 NPC 都由 AI 驱动,他们能与玩家进行互动,从改变游戏体验。据 Inword 一项研究显示,绝大多数游戏玩家渴望这种互动,愿意投入更多的时间和金钱来玩这种由 AI 驱动的游戏。本文将探讨使用生成式 AI 来增强游戏体验的利与弊,深入了解游戏的未来。

2024-04-15 14:06:31 1118

原创 如何提升软件发布管理过程?

我做过上百个项目,其中一些的软件发布过程尤为糟糕,有些甚至根本都没有这个程序,剩下的一些才有明确的发布管道。在这篇博客中,我想与大家分享一些可能会破坏软件发布的错误操作,并分享一些成功发布的经验。但是首先,让我们谈谈软件交付。

2024-04-15 14:00:08 797

原创 C++ 构建太慢的 5 个信号

如果你正在进行 C++ 构建,以下任何一个信号出现,都意味着你的构建速度太慢,需要优化了。而市场上也有一些伟大的发明,可以用来优化任务,或者帮助我们更好地决策。不论这些工具是洗碗机还是搜索引擎,能解决问题,何乐而不用呢?但首要的,还是要识别下面这些信号。

2024-04-08 11:41:47 930

原创 开发团队需要构建可视化的8个理由

在本博文中,我们将探讨构建可视化对于成功开发的重要性,以及为什么 不能忽视这些工具,实现成功构建。

2024-04-08 10:48:58 965

原创 多线程 VS 多进程——选择最佳的开发途径

当我们想要最大化利用多个处理器的硬件结构,编写软件时选择正确的架构至关重要。在大多数情况下,我们可以选择多线程或多进程处理,又或者两者兼用。这个选择将影响软件的性能、后期的维护、可扩展性、内存等各方面。任何一种选择都有利弊,但熟悉各个选择,可以帮助我们做出正确的决定。在这篇文章中,我将解释不同应用软件开发选择多内核策略时需要考虑的因素。换句话说,厘清在各种应用场景中多线程与多进程开发的优劣。话不多说,我们直入主题。

2024-04-01 11:24:20 809

原创 代码膨胀会破坏开发操作吗,它将如何影响编译时间?

过去的一年举步维艰,但聪明的企业总是能够抓住机遇,将大部分业务自动化,保持敏捷度和竞争力,最佳的案例就是游戏工作室。这一年来,用户对新游戏或新版本的期待达到前所未有的高度,希望发布速度越快越好。

2024-04-01 11:15:39 1004

原创 构建可视化工具选用指南

如果你已经阅读了我们最近的博客文章,你已经了解到建设可视化是一种策略,而不是仅仅是一类开发工作或特定的软件工具,其关键步骤在于为团队找到合适的工具以实现更快更好的构建。(如果你错过了我们上一篇博客文章,关于可视化需求分析,内容值得一读。)但在我们深入具体内容之前,我们可以思考一下构建可视化工具的基本功能。

2024-03-25 14:12:23 948

原创 用 C++ 编码架构图的最佳用例

自动代码生成在软件工程中得到了广泛的关注,因为它具有可重复使用、出错率低(对比人工代码编写)、易于维护和准确度高等优点。此外,如果可以从模型自动生成代码,以便精确理解模型和代码之间的对应关系,则高级建模和分析的优势将显著增强。

2024-03-25 13:42:55 726

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除