o语言中文网,致力于每日分享编码、开源等知识,欢迎关注我,会有意想不到的收获!
使用你的脸授权解锁你的手机正在成为一种趋势,但是在 Web 上,这种情况看到的并不多,也许是因为这种功能对 Web 来说不太重要,不足以被实现。那么,仅通过 HTML5,Javascript 和一些 Go 语句,能够实现人脸识别的功能么?答案是肯定的,我使用 Facebox在一个小时完成了这个工作,并将 代码作为一个名为 Web Face ID 的开源项目发布。
你怎么从使用人脸识别的网站上获益?
通过 Machinebox 使用 Web Face ID 来验证自己。
作为一个通用的方法,我们将会使用 HTML5 通过网络摄像头来获取用户头像,用 Javascript 发送一张照片到服务器端。一旦照片到了服务器上,我们将使用 Go 解码照片并使用 Facebox 进行检查,以便能够发出响应。
我们把整个过程分成以下几个步骤。
你需要启动 Facebox 并运行,为此您 只需注册一个账户 即可将 Facebox 作为 Docker 容器运行。还需要使用你想要识别的人的照片给 Facebox 进行训练,一张照片就够,但多张照片会使结果更准确。
使用 HTML5 和 Javascript 捕捉摄像头
对于网站,我们可以利用 HTML5 的 video 标签和 canvas 标签。
我们将使用 video 标签去捕捉摄像头,并使用 canvas 标签拍摄照片,然后发送到服务器端,下面是 Javascript 代码
上面的代码基本上实现了这样的过程,当你单击该按钮时,将摄像头的照片信息捕获到 canvas 中,并将照片发送到服务器端的断点(endpoint) /webFaceID。这张照片将是一个以 base64 编码的 PNG。
现在我们在服务器端有了你的脸部图像,我们只需要解码图像,将解码后的数据发送给 Facebox with the SDK 完成后面复杂的工作,然后将处理后的结果返回给前端. 这里我们可以写一个 Go http handler 来做这个工作。
通过这几行代码,我们可以在任何网站上使用人脸验证。
那么,任何类型的生物识别(比如使用你的脸,虹膜或是指纹)只能作为 “用户名”,而不能作为 “密码”。所以如果你的网站要实现这个功能,那么它可以作为一个理想的第二身份认证,或是某种降低风险的工作,但是它不能取代密码。
另外请记住,恶意攻击者可以拍下你的照片,并用你的照片来仿照你的身份。
重点提示:Facebox 经过优化,可以在任何类型的场景下识别任何照片中的人物,但是端点 /check 具有可以调整的可选参数 tolerance。如果您的脸部验证的条件不会改变(例如相同的位置,相同的环境照明),您可以减小容差,使得验证时系统更加严格。
如果你想看看整个代码,请访问 Github 上的 Web Face ID。它是开源的。
你可以很容易地使用我们的盒子来实现这样的功能。立即注册并免费开始使用此功能。https://machinebox.io/
via: https://blog.machinebox.io/introducing-web-face-id-how-to-use-html5-go-and-facebox-to-verify-your-face-b75cf2aee5e8
作者:David Hernandez 译者:Titanssword 校对:rxcai
本文由 GCTT 原创编译,Go语言中文网 荣誉推出
家是否好奇,资深前端工程师,甚至前端专家的简历究竟是怎么写的,又有哪些优化的技巧呢?
今天我们就根据实际的辅导案例,来看看一位工作了 7 年的前端大佬的简历情况。
这份简历的主人公,是在近期报名的简历辅导。他在互联网公司工作了 7 年,并且在团队中担任重要角色,带领团队完成过从 0 到 1 的大项目,技术能力和工作经验都很丰富。
本篇点评经过本人的的授权,部分个人信息也做了脱敏处理,感谢这位小伙伴对我们的支持。
先来看看进行简历辅导的主要方向:
来看看修改前的简历
这块写的太过简单了些,可以把「年龄、学历、工作年限、所在城市」等信息加上,HR 筛选简历时会看。
“个人优势”可以改成“专业技能”,毕竟都是一些前端的通用技能,大部分都算不上优势。
参考修改如下:
1. 熟练掌握前端基础(JavaScript、CSS3、HTML5),能够快速实现Web端和移动端页面搭建。
2. 熟悉小程序开发,包括云函数、云数据库、云存储和云托管以及 H5 页面开发。
3. 熟练使用 Vue 框架以及相关生态技术,能够独立完成项目搭建和项目部署,熟悉相关框架原理。
4. 了解 React 和 Angular 框架技术,有相关实践经验。
5. 熟悉浏览器原理以及计算机网络相关技术,在性能优化方面有实践经验。
6. 对前端工程模块化有一定理解,熟悉webpack、vite等打包工具及其日常开发配置,可以从0到1独立搭建项目,并优化构建流程。
7. 了解Node.js 和 java 服务端语言,能够快速构建后端接口和处理服务器端逻辑,保证项目的顺利推进。
8. 在多个项目中独立负责,具备设计和实施前端架构的能力。
最后总结一下,专业技能需要注意几点:
工作经历部分,可以列举重点工作方向,最好以自己主导、负责等关键字开头的描述,最好是加上数据,把具体收益也写上。
另外工作经历时间倒序排列,最近的放前面。
以最近的一份工作为例,参考修改如下:
深圳市**** 高级前端开发 2019.xx -2023.xx
* 主导OA系统和社区项目的从 0 到 1 建设,成功实现了平台的快速上线和稳定运行。
* 搭建高效的项目脚手架并集成框架全家桶,显著提升团队的开发效率和代码质量。
* 实施持续集成与自动化测试,对接内部平台的CI/CD和质量监控系统,将错误率降低30%,发布时间缩短50%。
遵循 STAR 法则展开描述一个项目:
以 OA 系统为例,参考修改如下:
项目名称:xxOA系统
项目描述:xxOA系统是一个面向XX的XX系统,该系统包括个人门户、人事中心、财务中心、法务中心、行政中心、服务中心、学习培训等7个子系统,支撑公司所有部门的办公自动化需求。
主要职责:
1. 负责整个系统前端架构的搭建,设计了高效的代码结构和模块划分,提高了开发效率和可维护性。
2. 采用 vue生态 + webpack + qiankun 搭建了 ** OA系统。
3. 开发了适配设计风格的Vue前端组件库"**-oa-ui",其中包含基础组件和专为业务场景设计的定制组件。
4. 设计并开发了核心模块,如表单生成器和流程设计器,并沉淀了相关文档。
5. 持续学习和分享,积极推进公司内部前端框架的升级工作,规范了团队的编码风格,提高了项目开发效率;
项目成果:
* 成功按计划完成**OA系统的上线,提供了全方位的办公自动化支持,提高了工作效率和数据准确性。
* 开发效率提升 30% ,通过组件库和优化的前端架构,减少了重复代码编写和维护工作。
* 成功创建并部署 10 个微前端子系统,实现了并行开发和独立部署的目标。
* 表单生成器和流程设计器的应用范围扩大到4个部门,通过简单的拖拽和配置,平均每个部门的OA流程开发时间减少了60%,显著提高了业务部门的自主开发能力。
* 规范化的eslint规范、commit规则以及Cz工具集的使用,提高了代码质量和团队协作效率,减少了代码错误和冲突。
我们的简历辅导,会根据修改后的项目经历,给出的一些常见的面试题,今天也贴出来让大家参考下。
以 OA 系统为例:
最后,建议大家在面试之前多刷刷面试题,八股文有需要的小伙伴可以转发+关注后私信【学习】即可免费获取
王宝强个人博客首页
个人博客简介页面
个人避开联系我们页面
首页HTML代码
*请认真填写需求信息,我们会在24小时内与您取得联系。