草庐IT

云享·人物丨造梦、探梦、筑梦,三位开发者在华为云上的寻梦之旅

摘要:走近华为云开发者日HDC.CloudDay,看三位特别的开发者用技术改变世界,用创造力让生活更美好。本文分享自华为云社区《云享·人物丨造梦、探梦、筑梦,三位开发者在华为云上的寻梦之旅》,作者:华为云社区精选。云享人物是华为云开发者社区自制的技术人物访谈栏目。讲述业界大咖、先锋开发者与华为云背后的故事,分享不平凡的技术创新历程,共话技术人生哲思。近期,华为云开发者日HDC.CloudDay首场上海站圆满落幕,来自千行百业、高校及科研院所等各类开发者们共襄技术盛宴。在这其中,涌现出三位特别的开发者代表。他是小小少年,科幻动画片埋下了理想的种子,用技术的力量温柔守护着盲人群体;他土木专业自学成

Three.js 进阶之旅:物理效果-碰撞和声音 💥

声明:本文涉及图文和模型素材仅用于个人学习、研究和欣赏,请勿二次修改、非法传播、转载、出版、商用、及进行其他获利行为。摘要本文内容主要汇总如何在Three.js创建的3D世界中添加物理效果,使其更加真实。所谓物理效果指的是对象会有重力,它们可以相互碰撞,施加力之后可以移动,而且通过铰链和滑块还可以在移动过程中在对象上施加约束。通过本文的阅读,你将学习到如何使用Cannon.js在Three.js中创建一个3D物理世界,并在物理世界更新对象、联系材质、施加外力、处理多个物体中添加物体之间的碰撞效果,通过检测碰撞激烈程度来添加撞击声音等。效果本文最终将实现如下所示的效果,点击DAT.GUI中创建立

Three.js 进阶之旅:物理效果-碰撞和声音 💥

声明:本文涉及图文和模型素材仅用于个人学习、研究和欣赏,请勿二次修改、非法传播、转载、出版、商用、及进行其他获利行为。摘要本文内容主要汇总如何在Three.js创建的3D世界中添加物理效果,使其更加真实。所谓物理效果指的是对象会有重力,它们可以相互碰撞,施加力之后可以移动,而且通过铰链和滑块还可以在移动过程中在对象上施加约束。通过本文的阅读,你将学习到如何使用Cannon.js在Three.js中创建一个3D物理世界,并在物理世界更新对象、联系材质、施加外力、处理多个物体中添加物体之间的碰撞效果,通过检测碰撞激烈程度来添加撞击声音等。效果本文最终将实现如下所示的效果,点击DAT.GUI中创建立

我的设计模式之旅、12 原型模式

编程旅途是漫长遥远的,在不同时刻有不同的感悟,本文会一直更新下去。思考总结思考问题如果没有原型模式,当我们复制复杂对象,在新建相同类的对象,遍历原始对象中的所有成员变量并将成员变量复制到新对象的过程中会产生什么问题?并非所有对象都能通过这种方式复制,因为对象可能拥有私有成员变量,它们在对象本身以外是不可见的。因为你必须知道对象所属的类才能创建复制品,所以代码必须依赖该类。有时你只知道对象所实现的接口,而不知道其所属的具体类,比如可向方法的某个参数传入实现了某个接口的任何对象。什么是原型模式原型是一种创建型设计模式,使你能够复制已有对象,而又无需使代码依赖它们所属的类。原型模式:用原型实例指定创

我的设计模式之旅、12 原型模式

编程旅途是漫长遥远的,在不同时刻有不同的感悟,本文会一直更新下去。思考总结思考问题如果没有原型模式,当我们复制复杂对象,在新建相同类的对象,遍历原始对象中的所有成员变量并将成员变量复制到新对象的过程中会产生什么问题?并非所有对象都能通过这种方式复制,因为对象可能拥有私有成员变量,它们在对象本身以外是不可见的。因为你必须知道对象所属的类才能创建复制品,所以代码必须依赖该类。有时你只知道对象所实现的接口,而不知道其所属的具体类,比如可向方法的某个参数传入实现了某个接口的任何对象。什么是原型模式原型是一种创建型设计模式,使你能够复制已有对象,而又无需使代码依赖它们所属的类。原型模式:用原型实例指定创

我的设计模式之旅、00 前置知识

本内容主要来自《深入设计模式》亚历山大·什韦茨(AlexanderShvets)不足之处《大话设计模式》主要讲故事,对GOF的理论不是特别深入,部分概念并没有说清楚,比如里氏替换原则的几点要求,三大类设计模式各个概念等等,为了补充相关知识我阅读了《深入设计模式》,于是有了这篇前置文章。方便阅读《大话设计模式》的入门程序员了解更多基础知识。前置知识基础知识面向对象程序设计基本理念是将数据块及其数据相关的行为封装成为特殊的、名为对象的实体。UML图相关补充这种由各种类组成的金字塔就是层次结构。UML图不会展示所有依赖——它们在真实代码中的数量太多了。为了不让依赖关系破坏UML图,你必须对其进行精心

我的设计模式之旅、00 前置知识

本内容主要来自《深入设计模式》亚历山大·什韦茨(AlexanderShvets)不足之处《大话设计模式》主要讲故事,对GOF的理论不是特别深入,部分概念并没有说清楚,比如里氏替换原则的几点要求,三大类设计模式各个概念等等,为了补充相关知识我阅读了《深入设计模式》,于是有了这篇前置文章。方便阅读《大话设计模式》的入门程序员了解更多基础知识。前置知识基础知识面向对象程序设计基本理念是将数据块及其数据相关的行为封装成为特殊的、名为对象的实体。UML图相关补充这种由各种类组成的金字塔就是层次结构。UML图不会展示所有依赖——它们在真实代码中的数量太多了。为了不让依赖关系破坏UML图,你必须对其进行精心

我的设计模式之旅、01 策略模式、简单工厂、反射

编程旅途是漫长遥远的,在不同时刻有不同的感悟,本文会一直更新下去。程序介绍本程序实现收银员对顾客收银时可以采用不同的促销策略,支持原价,按折扣促销,满多少返利多少三种策略。使用策略模式与简单工厂模式。简单工厂使用依赖注入方法,通过配置文件config.json能够动态实例化对象。PSC:\Users\小能喵喵喵\Desktop\设计模式\策略模式_简单工厂_反射>gorun.商品数量10单价100当前商品总额¥700--------------------------------商品数量30单价50当前商品总额¥1700--------------------------------商品数量-

我的设计模式之旅、01 策略模式、简单工厂、反射

编程旅途是漫长遥远的,在不同时刻有不同的感悟,本文会一直更新下去。程序介绍本程序实现收银员对顾客收银时可以采用不同的促销策略,支持原价,按折扣促销,满多少返利多少三种策略。使用策略模式与简单工厂模式。简单工厂使用依赖注入方法,通过配置文件config.json能够动态实例化对象。PSC:\Users\小能喵喵喵\Desktop\设计模式\策略模式_简单工厂_反射>gorun.商品数量10单价100当前商品总额¥700--------------------------------商品数量30单价50当前商品总额¥1700--------------------------------商品数量-

我的设计模式之旅、09 工厂方法、简单工厂

编程旅途是漫长遥远的,在不同时刻有不同的感悟,本文会一直更新下去。程序介绍由于Go中缺少类和继承等OOP特性,所以无法使用Go来实现经典的工厂方法模式。不过,我们仍然能实现模式的基础版本,即简单工厂。案例中使用工厂结构体来构建多种类型的武器。因此工厂方法模式代码使用C#表示。Gun:AK47gunPower:4Gun:MusketgunPower:1程序代码、简单工厂模式Golang首先,创建一个名为i­Gun的接口,其中将定义一支枪所需具备的所有方法。然后是实现了iGun接口的gun枪支结构体类型。两种具体的枪支——ak47与mus­ket火枪——两者都嵌入了枪支结构体,且间接实现了所有的i