.

Boolan专家团队走进华为,赋能软件技

年是软件领域技术、产品、模式等深刻变革的一年,也是中国软件提升基础软件创新能力的关键期。华为作为中国自主技术创新的代表性力量,一直勇于扎根基础软件技术、攻坚技术突破,引领中国技术进入创新深山区。

作为华为公司软件技术咨询和赋能的重要合作伙伴,Boolan专家团队年继续深入走进华为各条产品线,助力华为软件变革,在软件架构与设计、性能优化、软件工程、机器学习与人工智能等领域展开深入合作,为各产品线团队提供新技术、新模型和新方法,受到华为各级领导和专家的一致好评和认可。

技术赋能合作

01架构与设计系列软件设计思想、方法与模式:

课程深入讲解现代软件设计的经典思想和设计原则、软件设计与现代软件工程的关系,通过著名的C++程序库和框架的应用案例,深入浅出剖析部分常用软件设计模式的意图、动因、原理、应用场景与实现技法。

软件设计思想与原则:软件设计思想基础、深入理解软件设计原则、软件设计与软件工程

软件设计方法与技巧:编程范式、深入理解C++的面对对象机制、重新认知面对对象的设计意义、软件设计的范畴、设计重构与整洁架构、架构解耦、领域驱动设计

设计模式与实践:创建型模式、行为型模式、结构型模式

李建忠《C++软件设计思想、方法与模式》

领域驱动设计DDD实战:

课程将以事件风暴为纵贯线,以领域场景为横切面,驱动从战略设计到战术设计的全生命周期的完整开发过程。内容涵盖事件风暴、限界上下文、上下文映射、角色构造型、场景驱动设计和测试驱动开发。

领域驱动设计过程:整体介绍领域驱动设计的完整过程和基本概念

事件风暴:介绍事件风暴的基本概念

探索业务全景:识别事件风暴的领域事件,形成一条或多条代表了时间轴的事件流

领域分析建模:针对限界上下文内的领域事件进行领域分析建模

领域设计建模:包括领域设计建模、场景驱动设计

领域实现建模:包括测试驱动开发、分层架构与代码模型

软件设计模式大局观:

讲座可以让学员对设计模式(DesignPatterns)的思想和手法建立一个大局观的认识,理解大型软件为什么选用模式、及其在庞大体系考虑下所选择的设计手法,从而获得"他山之石"体验,培养软件设计的优良素养。

设计模式与面向对象

OCP,开放封闭原则

设计模式基础手段之TemplateMethod

设计模式基础手段之Strategy

面向接口编程,而非面向实现

学习曲线与学习困境

玩具示例VS.工业等级

前沿与展望

02性能优化系列

C++性能优化:

C++作为一多范式的通用编程语言,适用的领域非常广泛。要对C++程序进行性能优化,牵涉到的方方面面也非常多。本课程就是以现代C++程序为中心,讨论如何对C++程序进行优化。课程包含很多实践中经常伴随C++程序出现的问题。

基础篇:计算机体系结构基础、C++基础

测试篇:两种性能测试方法、采样测试、侵入测试和防止错误的优化干扰

优化篇:工程和构建、反汇编、多线程优化、内存优化、算法优化、缓存优化、模板技巧和开源软件。

吴咏炜《C++性能优化高级培训》

C++低延迟性能优化:

课程主要讨论在资源相对充足,不以吞吐量为首要目标的前提下,如何对系统进行高度优化以尽可能降低延迟,追求极致的软件性能。

基础篇:回顾低延迟优化的基础知识

测试篇:操作系统,编译器,设计,编码等优化

优化篇:低延迟开发测试中常用的工具

C++内存管理、策略与优化:

课程从现代计算机的内存架构和C++内存管理全景图开始,深入讲解包含RAII等在内的C++内存管理核心机制,C++提供的各种灵活的内存分配与释放设施,现代C++提供的智能指针、移动语义等高级内存优化设施,以及基于各种机制和设施在实际开发场景中进行优化的方法和最佳实践。

内存管理导论

C++内存相关核心机制

C++内存分配与释放设施

避免不必要的对象创建或复制

善用智能指针管理内存

利用移动语义的优势

标准库相关优化

03软件工程系列软件工程与开发者测试:

Google软件工程原则:讲座将探讨可持续软件工程背景下的时间、规模和权衡等主题,将讨论所有这些因素对软件开发和维护过程的影响,以及Google如何根据这些原则来制定其工程实践

Google开发者测试和代码审查实践:代码审查和测试的目的是什么,目标是什么,如何在软件工程中很好地使用这些过程

软件工程"左移(Shiftingleft)"的奥秘:演讲将谈论对“软件工程左移”更核心的认知:“左移”囊括了缺陷发现和缺陷成本的基本权衡,既包括发现的缺陷,也包括被掩盖的缺陷

TitusWinters《开发者测试业界实践洞察》

C++开发者测试实践:

课程涵盖测试驱动开发的基本工作方式、潜在好处、怎样利用测试驱动开发解决设计缺陷、测试驱动开发的难点和成本、怎样利用测试驱动开发减少甚至免除调试工作,以及如何长时间维持测试驱动开发。

单元测试、单元测试框架和C++单元测试框架:单元测试框架、Gtest框架、Catch2框架

单元测试设计:白盒单元测试、基于测试数据的黑盒测试、单元测试设计最佳实践

测试驱动开发实践:采用代码道场的形式,使用Gtest

软件模块的耦合与测试解耦:采用测试替身达到测试解耦、测试替身的技术、Faking、打桩、交互测试

实际案例应用Gtest和Gmock:使用“蛇与梯子”的实例展示引入mock之后的单元测试开发

mock框架Fakeit介绍:打桩、Faking、调用匹配、参数匹配、验证、Spying、模拟重载方法

mock框架mockcpp介绍

单元测试案例分析

研发效能提升的最佳实践与探索:

开发流程的顺畅是生产优质软件的关键因素,只有这样才能最大程度地释放开发者的创造性和积极性,因此需要提高“研发效能”。研发效能是目前互联网企业和传统软件企业都高度


转载请注明:http://www.abachildren.com/sszl/5203.html