首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

机器人会模仿人类微笑了,但我总觉得这笑容……

丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 机器人只能用一张扑克脸、上面两只空洞塑料珠子来面对人类? 不一定,它也可以冲你微笑!...于是,研究人员花了五年时间来创造上面这个可以模仿人类表情、叫做 EVA机器人。...“有一天,当 EVA 突然给我一个大大、友好微笑时,正忙着自己事情,知道这纯粹是机械性,但我发现自己条件反射地回以微笑。”...为了教EVA认清自己“脸”是什么样子,团队拍摄了数小时它做各种“鬼脸”视频。 ? 眉毛也可以动~ ?...关于作者 此次EVA机器人研究团队主要成员一共5人,其中3名华人。

38630

防御性编程

Author:bakari       Date:2012.8.25 本篇是根据网上一些陈述经过整理和总结而得。其中详细内容我会标注出处。看不懂可以查看原文....— 每种防御性做法都需要一些额外工作。为什么要做这些工作呢?你需要做已经够多了,不是?只要确保人们正确地使用你代码就可以了。如果他们使用方式不正确,那么任何问题也都是他们自己造成。...— 防御性编程可以节省大量调试时间,使你可以去做更有意义事情。还记得墨菲:凡是可能会被错误地使用代码,一定会被错误地使用。...由于市场要求软件开发更加快速和廉价,我们就需要致力于实现这一目标的技术。不要跳过眼前这些额外工作,它们可以防止将来痛苦和项目延迟。 防御性编程有助于程序安全性,可以防范诸如此类恶意滥用。...不要混淆非法情况与错误情况之间区别,后者是必然存在并且是一定要作出处理。 2)使用断言对函数参数进行确认。 3)在编写函数时,要进行反复考查,并且自问:“打算做哪些假定?”

1.3K80
您找到你想要的搜索结果了吗?
是的
没有找到

如何签署开源软件发布

作者:Dan Lorenc 最近听到了很多关于如何签署开源软件发布问题。一旦你解决了那些不可能解决工具/加密问题,你很快就会意识到你仅仅触及了复杂性表面。...如果整个 SCM 被破坏在你威胁模型中,你也可以签名 git 标记。建议在你可以信任地方运行 SCM。无论如何都建议这样做。 如果整个构建系统被破坏在威胁模型中,那么你可以尝试可重现构建。...再次建议在你可以信任地方运行构建系统。无论如何,可复制构建仍然是一个好主意。 步骤 2:签名发布 第 1 步中系统为用户提供了关于工件可验证来源。这可以显示它来源以及用于构建和它工具。...认为 TUF 非常适合复杂更新系统,但对于大多数小型项目来说,它仍然是压倒性。时间戳协议对于任何自动更新都是必须,但是它给小型项目带来了太多操作复杂性和风险。你会自动更新任何东西给客户?...认为 TUF 非常适合复杂更新系统,但对于大多数小型项目来说,它仍然是压倒性。时间戳协议对于任何自动更新都是必须,但是它给小型项目带来了太多操作复杂性和风险。你会自动更新任何东西给客户

1K20

python所有的标准异常类

,以后会慢慢总结(非要立个flag你快乐) python所有的标准异常类: 异常名称 描述 BaseException 所有异常基类 SystemExit 解释器请求退出 KeyboardInterrupt...数值运算超出最大限制 ZeroDivisionError 除(或取模)零 (所有数据类型) AssertionError 断言语句失败 AttributeError 对象没有这个属性 EOFError...映射中没有这个键 MemoryError 内存溢出错误(对于Python 解释器不是致命) NameError 未声明/初始化对象 (没有属性) UnboundLocalError 访问未初始化本地变量...UnicodeTranslateError Unicode 转换时错误 Warning 警告基类 DeprecationWarning 关于被弃用特征警告 FutureWarning 关于构造将来语义会有改变警告...OverflowWarning 旧关于自动提升为长整型(long)警告 PendingDeprecationWarning 关于特性将会被废弃警告 RuntimeWarning 可疑运行时行为

71520

用模拟执行实现Objective-C代码自动化分析

如果你还没有使用模拟执行来解决代码分析中问题,那你就已经跟不上潮流了。将重点介绍它一些优点和一些用例,以使您了解它强大功能。...emulateRange - 该API用于在用户指定上下文中模拟一系列指令或函数。它为各个指令以及遇到“call”指令时提供用户自定义挂钩选项。用户可以决定模拟器是跳过还是调用函数中代码。...模拟执行一大痛点时对库函数调用处理。flare-emu允许您选择需要跳过call指令同时,也支持你定义自己hook函数来实现hook函数被调用之后特定功能。...查看我们自述文件以获取更多示例,并获得关于flare-emu帮助。...) 去年,写了一篇博客文章向您介绍逆向macOS平台Cocoa应用程序,文章地址在这里,该帖子包括一个简短入门文章,介绍如何在后台调用Objective-C方法,以及这如何对IDA Pro和其他反汇编工具中交叉引用产生不利影响

84230

4000字讲清 《深入理解TypeScript》一书 【基础篇】

Type类型约束、不确定情况下提示、在代码编写阶段就能知道自己错误 这三点认为是最关键点,本身TypeScript能做事情,JavaScript都能做,虽然使用TS要多写很多代码,但是其实真正算下来...安装完之后,不需要特别的配置,你就可以像使用模块一样使用它: import * as $ from 'jquery'; 变量 举个例子,当你想告诉 TypeScript 编辑器关于 process 变量时...但是,类型断言纯粹是一个编译时语法,同时,它也是一种为编译器提供关于如何分析代码方法 类型断言通常被认为是有害 在很多情景下,断言能让你更容易从遗留项目中迁移(甚至将其他代码粘贴复制到你项目中)...这是为了在进行类型断言时提供额外安全性,完全毫无根据断言是危险,如果你想这么做,你可以使用 any。...实际上,我们可以明确指定索引签名

1.9K30

去中心化数字身份DID简介——四、用户属性零知识证明

传统零知识证明算法很复杂,难以理解,也难以实现,而且就算实现了,也不能很好满足我们数字身份中关于身份属性验证问题,因为这里涉及到三方:发证方、持证方、验证方。...我们有了年份采样数组,接下来是根据用户实际情况,为每个元素增加断言,这里以当年用户是否已经出生为断言,所以我们数组变为,以小明1985年出生为例: [<1900未出生, 1900未出生,1901...所以商家需要顾客证明断言是: 2002:1 商家将这个断言生成断言请求,并发送给顾客数字身份APP中,比如商家可以断言请求生成二维码,让所有顾客都扫码,生成VP。 0x4....Verifier:验证VP 商家在收到顾客生成VP后,可以直接通过签名验证默克尔根是否是公安机关签名,然后通过默克尔验证来证明”2002:1“这个断言是正确。...具体验证细节在上一篇文章中已经讲过,这里也是一样过程,就不再重复了。 0x6. 小结 本文提出零知识证明方法基于范围数据构建和加盐默克尔树验证,对于无法定范围场景,可能并不是很适用。

1.2K31

视觉特效·AI视频抠图·换脸

好学 ace 最近在学习blender里VFX,秀下学习成果~~ 视觉特效 Visual effects, 简称VFX 合成真人拍摄镜头和计算机生成图像,以创造虚拟真实场景。...绿幕 影视剧拍摄技术 VFX素材最常用是绿幕视频。通过拍摄实景+绿幕,然后通过把绿幕视频素材合成到3D场景中。 使用blender可以很轻松实现这种合成。...比如下方这个教程,把小猫跳跃绿幕视频合成到3D场景中。 eva @ace 到哪里去收集这些绿幕视频呢?难道还要自己搭一个绿幕来拍摄?...其实不用呀,可以好好研究下AI视频抠图技术 shadow eva 大批量绿幕视频就有了。。...无界 配合上AI换脸之类,素材更多了~~ 3D实时换脸技术 对,如果是偏艺术素材,还可以有这种复活名画玩法~~ shadow AR艺术滤镜 使用mediapipefacemesh模型实现

3.9K10

Python每日一谈|No.19.异常

IndexError 序列中没有此索引(index) KeyError 映射中没有这个键 MemoryError 内存溢出错误(对于Python 解释器不是致命) NameError 未声明/初始化对象...关于被弃用特征警告 FutureWarning 关于构造将来语义会有改变警告 OverflowWarning 旧关于自动提升为长整型(long)警告 PendingDeprecationWarning...关于特性将会被废弃警告 RuntimeWarning 可疑运行时行为(runtime behavior)警告 SyntaxWarning 可疑语法警告 UserWarning 用户代码生成警告...) else: 如果没有的报错的话,可以在这里执行 例如: print('No Bug,happy') finally: 扫尾语句 当然,你也可以使用expect:来直接跳过所有异常 但是...,并不建议使用,因为这比较容易隐藏一些bug 而且你应该尽量减少try expect 中代码量,毕竟,你是补货异常并处理,而不是再制造一个异常 此外还有一种格式try finally finally

45030

Jmeter(二十二) - 从入门到精通 - JMeter

2.预览断言   首先我们来看一下JMeter断言,路径:线程组(用户)->添加->断言;我们可以清楚地看到JMeter5中共有13个断言(不包括jp@gc开头断言,这个是宏哥安装插件),如下图所示...如果上图您看得不是很清楚的话,宏哥总结了一个思维导图,关于JMeter5断言类型,如下图所示: ? 通过以上了解,我们对断言有了一个大致了解和认识。...2、关键参数说明如下: 名称:控制器描述性名称,显示在左边节点上,并用于命名事务 注释:控制器注释信息,非必填项 signature:签名(可选择对协议签名验证状态) Verify...signature:验证签名 Message not signed:没有签名消息 Signer certificate:签名证书(因为SMIME协议增加了安全传输,需要证书验证)...编写断言,使用BeanShell断言好处是可以自由发挥,比如当断言失败,提示预期结果、实际结果,或者失败时把结果输出到日志。

1.3K20

编程基础知识:函数签名学习

} } 签名c#泛型类型可能包括: public class A { public T add (T number1, T number2) } 函数签名和一份合同 一个函数签名可以告诉你很多关于这个函数行为...如果你通过了错误类型论点?有一个有效参数范围? 例如,对于动态类型语言,如Python不指定参数或返回值类型,你可以通过任何形式数字:int,浮点小数,字符串。...在整数溢出情况下,Python可以让内部异常传播或处理并将结果转换为浮动或小数。在所有语言函数可以使用内存缓存查找之前调用结果或日志每个调用数据库或远程日志服务。...如何设计你函数签名 函数签名主要门户功能程序其余部分。许多潜在调用者主要关心他们传递参数,因为他们可能继续函数返回时使用它们。例如,如果一个函数修改一个参数调用者需要知道。...函数签名通常被认为是什么一个函数描述,但这远不是准确,即使你把合同和文档中。但是,你还没有失去一切。通过关注你函数签名,尽可能利用语言特性和使用不可变数据结构纯函数可以得到相当远。

1K50

Golang 单元测试合集整理,(最常用 gomonkey)欢迎收藏

,支持正则,会去匹配到具体单测函数,并进行测试 go test -short 在单测函数中,执行如下代码,并在命令行运行单测时候,可以跳过指定单测函数 func TestSkipFunc...将生成 html 文件,可以使用浏览器打开,即可以看到具体单测结果 使用断言工具 testify go get github.com/stretchr/testify 我们可以在测试函数中加上关于断言语句就很...nice 了,无需自己去写反射对应值,然后再进行判断 使用 assert 包,我们直接执行 assert 对应函数即可完成断言,根据不同断言需求,有不同函数例如 例如我们使用 Equal 函数.../mock go stub 打桩,可以支持对全局变量打桩 首先对于打桩,我们真的知道他具体表示含义是什么?...对于 go stub 比较少,一般会玩一下他打桩全局变量,因为一般都是使用 gomonkey 来写单元测试,真的是 yyds Go monkey 非常强大打桩工具(最常用) 他可以对于普通函数

1.2K30

基于Python接口自动化测试框架+数据与代码分离实战(优化篇)

引言   之前分享过一篇关于使用unittest框架做接口自动化测试文章——基于Python接口自动化测试框架+数据与代码分离(进阶篇),该篇文章主要讲设计思路与简单实践过程。...Unittest跳过测试    在版本初期,绝大多数项目接口开发完成后,测试就可以做接口测试了。...  上面是unittest跳过测试,而ddt本身使用也是unittest框架,也是可以用这种方式来实现。...但是,这里不介绍了。使用另一种方法。我们测试数据都存于excel文件中,前面实现了读取和写入操作,既然这样,可以设置一个开关,用来读取我们想要执行测试用例。...,有可能是其他格式,甚至在实际项目中,遇到接口,返回数据就是一个动态值或常量值。

54510

智能合约语言 Solidity 教程系列8 - Solidity API

tx.origin (address): 交易发送者(全调用链) 注意: msg所有成员值,如msg.sender,msg.value可以因为每一次外部函数调用,或库函数调用发生变化(因为msg...数学及加密功能 addmod(uint x, uint y, uint k) returns (uint): 计算(x + y) % k,加法支持任意精度且不会在2**256处溢出,从0.5.0版本开始断言...mulmod(uint x, uint y, uint k) returns (uint): 计算 (x y) % k, 乘法支持任意精度且不会在2*256处溢出, 从0.5.0版本开始断言k !...可用于签名数据校验,如果返回结果是签名公匙地址,那么说明数据是正确。 ecrecover函数需要四个参数,需要被签名数据哈希结果值,r,s,v分别来自签名结果串。...合约相关 this(当前合约类型): 表示当前合约,可以显式转换为Address selfdestruct(address recipient): 销毁当前合约,并把它所有资金发送到给定地址。

59820

带你认识Python中黑客喜欢攻击10个安全漏洞以及应对方法

Assert statements 不要使用断言语句来防止用户不应该访问代码段。...在默认情况下,Python执行时使用是_debug__作为true,但是在生产环境中,通常使用优化来运行。这将跳过assert语句,直接进入安全代码,而不管用户是否为is_admin。...io和他们安全服务。为所有应用程序使用虚拟环境,并确保全局站点包尽可能干净。检查包签名。...C语言中常见安全问题与内存分配有关,因此缓冲区溢出错误。 多年来,CPython有许多溢出溢出漏洞,每一个都在后续版本中得到了修补和修复。所以你是安全。也就是说,如果你修补你运行时。...发现在包中“固定”来自PyPiPython包版本做法很可怕。这个想法是“这些是可行版本”,所以每个人都不去管它。 当存在于应用程序使用包中时,上述代码中所有漏洞都同样重要。

1.3K30

聊聊 Python 单元测试框架(三):pytest

最大不同点是,你可以尽情地使用 assert 语句进行断言,丝毫不用担心它会在 nose 或 unittest 中产生缺失详细上下文信息问题。...4.1 声明和使用 pytest 中测试夹具更像是测试资源,你只需定义一个夹具,然后就可以在用例中直接使用它。...五、跳过测试和预计失败 pytest 除了支持 unittest 和 nosetest 跳过测试和预计失败方式外,还在 pytest.mark 中提供对应方法: 通过 skip[12] 装饰器或...关于跳过测试和预计失败更多玩法,参见 ["Skip and xfail: dealing with tests that cannot succeed"](http://pytest.org/en/latest...九、总结 三篇关于 Python 测试框架介绍到这里就要收尾了。写了这么多,各位看官怕也是看得累了。

1.9K40

python中--try except 异常捕获以及正则化、替换异常值

) KeyError 映射中没有这个键 MemoryError 内存溢出错误(对于Python解释器不是致命) NameError 未声明/初始化对象(没有属性) ReferenceError 弱引用...Unicode转换时错误 Warning 警告基类 DeprecationWarning 关于被弃用特征警告 FutureWarning 关于构造将来语义会有改变警告 OverflowWarning...旧关于自动提升为长整型(long)警告 PendingDeprecationWarning 关于特性将会被废弃警告 RuntimeWarning 可疑运行时行为(runtimebehavior...断言被用作你接下来程序执行,如果后面程序依赖于前面的程序,后面的程序有很重要,就是后面的程序执行肯定不能出错,所以在执行之前要做检查工作。...in cases: # print(case) #查看输出 # f.write("\n".join(case)) print("数据已上传oss") 4.读取时候跳过异常行

1.1K10

如何在 TypeScript 中为对象动态添加属性?

为对象动态添加属性几种方法方法一:使用索引签名在 TypeScript 中,我们可以使用索引签名来动态添加属性到对象上。...索引签名是一种特殊语法,它允许我们定义一个类型,该类型可以用来索引对象属性。...其次,由于类型断言绕过了 TypeScript 类型检查,因此编译器无法获得关于该属性类型信息,这可能导致类型错误和运行时错误。...### 为对象动态添加属性几种方法#### 方法一:使用索引签名在 TypeScript 中,我们可以使用索引签名来动态添加属性到对象上。...索引签名是一种特殊语法,它允许我们定义一个类型,该类型可以用来索引对象属性。

9.4K20

PAT1045 Favorite Color Stripe (30分) 动态规划

题目 Eva is trying to make her own color stripe out of a given one....Sample Input: 6 5 2 3 1 5 6 12 2 2 4 1 5 5 6 3 1 1 5 6 Sample Output: 7 解析 题目大意: Eva试着从给出布条中选出她自己彩色布条...如果Eva最喜欢顺序排列最喜欢颜色为{2 3 1 5 6},这样按照她最喜欢颜色顺序去选取,她有4种可能最佳方案 {2 2 1 1 1 5 6}, {2 2 1 5 5 5 6}, {2 2...(注意最喜欢顺序排列 每个数字都不重复) 解题报告: 因为最喜欢顺序排列每个数字都不重复,也就是说可以给这些数字重新定序(注意这个转换思路非常巧妙)book[i] = j表示在最喜欢颜色排列中...这样我们从中选取满足最喜欢顺序片段,就转化为一个LIS(最长递增子序列)问题了,也就是从中找出最长非递减子序列长度,这样我们就可以用动态规划了(关于这个解法,推荐一篇博客,讲非常清楚)。

38920
领券