欢迎光临散文网 会员登陆 & 注册

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

2021-12-27 11:54 作者:Boolan博览  | 我要投稿


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


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


技术赋能合作

01架构与设计系列


软件设计思想、方法与模式:

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

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

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

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

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


领域驱动设计DDD实战:

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

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

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

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

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

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

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

软件设计模式大局观:

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

  • 计模式与面向对象

  • OCP,开放封闭原则

  • 计模式基础手段之Template Method

  • 计模式基础手段之Strategy

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

  • 习曲线与学习困境

  • 具示例 VS.工业等级

  • 沿与展望


02性能优化系列


C++性能优化:

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

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

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

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

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


C++低延迟性能优化:

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

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

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

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


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

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

    • 内存管理导论

    • C++内存相关核心机制

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

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

    • 善用智能指针管理内存

    • 利用移动语义的优势

    • 标准库相关优化

    03软件工程系列

    软件工程与开发者测试:

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

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

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

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

    C++开发者测试实践:

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

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

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

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

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

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

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

    • mock框架mockcpp介绍

    • 元测试案例分析

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

    开发流程的顺畅是生产优质软件的关键因素,只有这样才能最大程度地释放开发者的创造性和积极性,因此需要提高“研发效能”。研发效能是目前互联网企业和传统软件企业都高度关注的领域,企业可以通过“研发效能”实现持续的研发能力提升以应对日趋复杂的产品开发。

    • 发效能的工程实践与行业现状

    •  VS 效能 VS 敏捷 VS 精益

    • 发效能提升的“双流模型”

    • 发效能提升8大实践精讲

    • 发效能的度量方法与常见误区

    • 发效能的发展方向与未来展望


    04机器学习与人工智能系列

    机器学习与深度学习实践:

    课程主要讲述以机器学习为代表的传统人工智能方法和工具,循序渐进地系统讲授经典机器学习的各种理论原理和算法应用,特别是针对推荐系统、精准营销、数据预测等领域广泛应用的各种算法和相关编程框架工具等。

    • 线性回归一般线性回归、Ridge回归、Lasso回归、Elastic Net弹性网络、逻辑回归——二分类、Softmax回归——多分类

    • 决策树:ID3、C4.5、CART、信息熵、条件熵、信息增益、信息增益率、基尼系数、错误率

    • 成学习:Bagging、Boosting——提升学习、Stacking

    • EM算法:MLE要解决的典型问题、MAP最大后验概率估计、EM算法、

    • 叶斯网络

    • 聚类算法:聚类的方法、K-Means算法、K-MeansII 算法

    • 支持向量机:SVM模型的数学表述、使用梯度下降法、SVM的做法

    • 马尔可夫链:示例、隐马尔可夫链(HMM, Hidden Marcov Model)、HMM


    深度学习算法与实践:

    课程主要讲述以深度学习为代表的人工智能方法和开发工具,从深度神经元网络开始,结合Tensorflow循序渐进地讲授深度学习的基本原理、算法和优化方法,包括各种常用的神经元模型,帮助学员建立系统的深度学习理论基础和算法开发能力。

    • 深度学习基础:梯度下降法、反向传播原理、自动求偏导、三层神经网络、全连接和激活、欠拟合和过拟合

    • 卷积神经网络:卷积操作、池化、dropout、手写数字识别、反卷积、VAE、生成手写数字、残差神经网络ResNet、BN操作、人脸识别ArcFace

    • 循环神经网络:LSTM、分词、文本分类、关键字提取、文字与图像、翻译、注意力、 阅读理解、多轮对话...

    • 强化学习:马尔可夫链、马尔可夫链优化过程、深度强化学习

    方林《深度学习算法与实践》

    05 C/C++开发系列

    C/C++内存管理大局观:

    • 内存运用之若干层面

    • 内存优化的目的:速度、空间

    • 内存优化的唯一解:池式分配、内存池

    • 关于内存分配/释放:O.S.层面、memory chunk、Windows heap allocation、Windows heap allocation 、malloc()、free()、new / delete expression、operator new / delete、new[] / delete[] expression、operator new[] / delete[]、allocator(s)、allocator(s)

    • 学习曲线与学习困境

    侯捷《C/C++内存管理大局观》


    现代C++11/14/17/20:

    本课程围绕这些现代C++11/14/17/20的改进、特性和相关的编程实践,讲解现代 C++ 的意义(Why)、具体功能(What)及如何应用在实践中应用这些新特性(How)。

    • 源管理和对象的基本规则

    • 动语义与右值引用

    • 智能指针

    • 容器和类容器

    • 迭代器和循环

    • 对象返回和异常

    • 语言易用性改进

    • 其他重要新特性

    • any、optional、variant和错误处理

    • 视图

    • 模板基础

    • 函数式编程

    • 编译期计算

    • 并发编程

    • 概念(Concepts)

    • 范围(Ranges)

    • C++20 及未来

    (了解更多Boolan课程,请登录官网:www.boolan.com)


    技术专家团队


    Boolan作为互联网业内著名的高端IT咨询与教育平台,秉承“全球专家,卓越智慧”的宗旨,汇聚全球顶尖IT技术专家,深耕高端技术服务领域。致力于为广大企业用户提供高端IT技术、产品领域的技术咨询,技术会议,企业内训,专家讲座,研讨会,评测认证,海外研修等服务。

    (了解更多Boolan专家,请登录官网:www.boolan.com)



    Boolan专家团队走进华为,赋能软件技术创新的评论 (共 条)

    分享到微博请遵守国家法律