看从小自带BUFF的他,如何用代码降低万物互联的门槛
摘要:3岁下象棋,5岁解方程!他说物联网开发就像打怪玩游戏
本文分享自华为云社区《HDC.Cloud2021 | 华为云IoT开发者:用代码降低万物互联的门槛》,原文作者:华为云头条 。
3岁能跟父亲下象棋、5岁能解二元一次方程组、7岁上完一年小学就升初中……1997年出生的张小俭,似乎是一个从小自带BUFF的“领跑者”。

开发就像玩游戏,挑战永无止境
张小俭从小就喜欢学习和探索,他的数理逻辑能力非常好,所以高考时选择了当时最热门的通信工程专业,开启了开发者之旅。
大学课余时间他几乎都在探索软件开发。“看见自己写的代码在屏幕上运行,会很开心。”张小俭表示,“开发就像玩游戏,通关成功时特别有成就感。”
大三面临考研和就业的选择时,张小俭果断选择就业,他说:“软件开发的迭代速度太快,学校的知识已经跟不上行业的发展。” 于是他找了一家软件开发公司实习,负责社交功能的开发。因为表现异常出色,毕业时领导邀请他正式入职,但他拒绝了,“我想学习更前沿的技术,认识更多的技术大牛。”这也是张小俭来到华为的初衷。
用物联网开发保障出行安全
张小俭在华为的第一个项目是华为云IoT路网数字化服务。通过物联网技术,打造出一张全息的数字路网,实现全天候、全场景、全域融合的道路实时感知,提升驾驶安全和道路通行效率,助力自动驾驶规模化商用。
在这个服务开发中,张小俭负责平台短信发送模块的设计。当车辆发生碰撞时,平台实时感知交通事件,并在百毫秒级超低时延内响应,向周围车辆推送预警,同时发送救援信息。
“当时每次进行产品测试都会非常紧张,压力超级大,因为一点误差都关乎人命。”但是很快张小俭就适应了这种压力,“越有挑战性的工作,完成时越有成就感。”

不到一年,路网数字化服务成功完成项目交付,并经历多个版本的迭代。目前已经覆盖310+通用交通事件,实现多种车路协同场景的安全预警,并在多个项目中成功应用。比如,与四川交投携手打造西南首个智能网联的车路协同测试场;与首发集团等企事业单位合作,在延崇高速上完成了首次协同式自动驾驶的试点;助力无锡打造国内首个城市级车路协同示范区。
降低万物互联的门槛,开发让一切皆有可能
数字经济的到来,催生了数百亿设备联接上云的需求,也给物联网技术带来了诸多挑战,如时延大、场景多、并发高、应用适配复杂等等。在这样的背景下,张小俭作为开发核心骨干,来到华为云IoT设备接入服务(IoTDA)攻克难关,致力于降低万物互联的门槛,打造华为云IoT亿级联接能力的底座。
当时负责Amqp的他经过多次分析设计之后,识别出了关键需求万级Topic,通过参与社区群和业界专家进行交流,从性能、可靠性等角度对开源组件Pulsar进行全面分析,在最终商用中实现了Amqp从零到有,现有的http推送,即使在企业http服务器失联或其他场景下,也可保留消息至多一天,最大1G,企业在平台侧消息平均时延降至原来的80%。

现在,华为云IoT已经接入了3亿+设备,实现了接入场景全覆盖,让设备接入效率提升10倍。在实际体验时,初中生也可以通过IoTDA轻松地完成设备接入。
在张小俭及其团队主导的开发中,充分发挥Apache Pulsar的众多架构设计优势,支持智慧交通、智慧城市、智慧园区等重大项目计划的实施与落地,华为云IoT获得Pulsar社区2020年社区年度最佳优秀案例奖。当谈到未来的时候,张小俭表示:“开发就像玩游戏,通关时很有成就感,但过程很需要耐力。每一个开发者都很了不起,代码就是我们想对这个世界说的话。”
4月24日-26日,华为开发者大会2021(Cloud)将在深圳举办,开发者可以现场体验华为云IoT的设备极简接入、IoT数字孪生、一站式物联网项目交付等核心能力。华为云IoT开发大咖将携手业界伙伴,深度剖析行业物联网的成功实践,还有神秘大礼包等你来拿哦!

看从小自带BUFF的他,如何用代码降低万物互联的门槛的更多相关文章
- 千万不要用window自带文本编辑器编辑配置文件或者代码
1 引言 用windows自带的text文本在最前面会带入看不到的BOM,导致异常 2 代码 package main import ( "strings" "fmt&q ...
- 百度地图API显示多个标注点带百度样式信息检索窗口的代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 只看Delphi自带的WnAPI帮助似乎不够
比如,MessageBox在Delphi自带帮助的参数说明中,对其第四个参数的MB_类型说明只有最常见的6种类型,这么多年搞得我天经地义的以为MessageBox就是这么简单.今天看了一位前辈写的老代 ...
- 用CSS画一个带阴影的三角形的示例代码
1. 思路 怎么用CSS3画一个带阴影的三角形呢 ? 有童鞋说, 这还不简单吗 网上有很多解决方案, 但其实大多都是实现不太完美的, 存在一些问题 假设我们做一个向下的三角形箭头 常见的方法大致有两种 ...
- SpringBoot应用篇(二):SpringSecurity实现带验证码的登录认证 附代码
一.文章简介 本文简要介绍了spring security的基本原理和实现,并基于springboot整合了spring security实现了基于数据库管理的用户的登录和登出,登录过程实现了验证码的 ...
- 带大家用40行python代码实现一个疫情地图
最近两个月,因为新冠病毒无情的肆虐,相信会给每个中国人的记忆中画上重重的一笔.到今天为止,疫情形势依然十分严峻,虽然除湖北外的其他省份已经连续十一天确诊人数下降,但是接下来还有将近至少1.6亿的人口迁 ...
- jQuery带tab切换搜索框样式代码
效果体验:http://hovertree.com/texiao/jquery/23/ 代码如下,保存到HTML文件也可以查看效果: <!DOCTYPE html> <html la ...
- 解决由OpenShift自带的APC加速器造成的代码无法及时生效的问题
如果你在使用你的Openshift时出现了这样的问题,那就说明APC加速器导致了此故障 1.上传后的代码运行效果没有变化 2.Wordpress翻来覆去自己重复升级一个版本(←Wordpress在自嗨 ...
- 已解决】Sublime中运行带input或raw_input的Python代码出错:EOFError: EOF when reading a line(转)
[问题] 在折腾: [已解决]Sublime Text 2中运行Python程序出错:The system cannot find the file specified 的过程中,虽然解决了找不到py ...
随机推荐
- Redis缓存穿透、缓存雪崩、缓存击穿好好说说
前言 Redis是目前非常流行的缓存数据库啦,其中一个主要作用就是为了避免大量请求直接打到数据库,以此来缓解数据库服务器压力:用上缓存难道就高枕无忧了吗?no,no,no,没有这么完美的技术, 缓存穿 ...
- 不用代码趣讲 ZooKeeper 集群
本文作者:HelloGitHub-老荀 Hi,这里是 HelloGitHub 推出的 HelloZooKeeper 系列,免费开源.有趣.入门级的 ZooKeeper 教程,面向有编程基础的新手. 项 ...
- Java 多线程 02
多线程·线程间通信 和 GUI 单例设计模式 * A:单例设计模式 * 保证类在内存中只有一个对象 * B:如何保证 * a:控制类的创建,不让其他类来创建泵类的对象,私有化构造方法 * b:在本类中 ...
- gpfdist原理解析
gpfdist原理解析 前言:gpfdist作为批量向postgresql写入数据的工具,了解其内部原理有助于正确使用以及提供更合适的数据同步方案.文章先简要介绍gpfdist的整体流程,然后针对重要 ...
- Hibernate 组合查询+分页
MVC模型:Hibernate+Struts2 dao层: public List<UserBean> searchList(UserBean uBean,int pageIndex,in ...
- POJ_2387 Til the Cows Come Hom 【最短路】
一.题目 POJ2387 二.分析 Bellman-Ford算法 该算法是求单源最短路的,核心思想就是不断去更新到起点的最短距离,更新的前提是没有负边.如果有负边需要手动控制循环次数. Dijkstr ...
- Python之基础算法介绍
一.算法介绍 1. 算法是什么 算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制.也就是说,能够对一定规范的输入,在有限时间内获得所要求的输 ...
- CF524F And Yet Another Bracket Sequence 题解
题目链接 算法:后缀数组+ST表+贪心 各路题解都没怎么看懂,只会常数巨大的后缀数组+ST表,最大点用时 \(4s\), 刚好可以过... 确定合法序列长度 首先一个括号序列是合法的必须满足以 ...
- D8016 “/ZI”和“/Gy-”命令行选项不兼容
老版本vs项目升级到vs2017后遇到编译报错: /ZI选项在: /Gy- 选项在: 修改'/ZI'选项为'无' 或者 '/Gy-' 修改为'/Gy'
- 【数据库】Redis(2)--Redis的常用数据类型及命令
1.Redis主要数据类型分类 Redis中存储数据常用的数据类型主要有五种:String.List.Set.Sorted Set.Hash,这五种数据结构在Redis中存储数据的命令掌握对于我们后期 ...