AICon全球人工智能与机器学习技术大会8折特惠,购票立减¥960! 了解详情
写点什么

IoT 时代:Wi-Fi“配网”技术剖析总结

2020 年 3 月 04 日

IoT时代:Wi-Fi“配网”技术剖析总结

1. 导读

近年来,物联网市场竞争激烈,从物联网平台厂商,设备生产商,到服务提供商,都在涌入这片红海。预计到 2020 年,全球联网设备数量将达到 260 亿个,年复合增长率达到 20%;全球联网设备带来的数据将达到 44ZB,这一数据将是 2012 年的 22 倍,年复合增长率 48%。



2013-2018 年全球物联网市场规模预测图(单位:亿美元)



2013 年-2020 年全球物联网设备数量及预测图(亿台)


2. 物联网时代对网络的需求

2.1 物联网系统层次

物联网系统从架构上划分为三个层次:感知层、网络层、应用层:



  • 感知层:解决的是人类世界和物理世界的数据获取问题,由各种传感器以及传感器网关构成。该层被认为是物联网的核心层,主要是物品标识和信息的智能采集,它由基本的感应器件(例如 RFID 标签和读写器、各类传感器、摄像头、GPS、二维码标签和识读器等基本标识和传感器件组成)以及感应器组成的网络(例如 RFID 网络、传感器网络等)两大部分组成。该层的核心技术包括低速和中高速短距离传输技术、自组织组网技术、协同信息处理技术,传感器网络中间件技术等,涉及的核心产品包括传感器、电子标签、传感器节点、无线路由器、无线网关等。

  • 传输层:也被称为网络层,解决的是感知层所获得的数据的接入和传输功能,是进行信息交换、传递的数据通路。物联网传输层分为有线通信传输层和无线通信传输层。有线通信技术包括中长距离的广域网络和短距离的现场总线;无线通信层分为长距离的无线局域网、中短距离的无线局域网和超短距离的无线局域网。而由于物联网的网络层承担着巨大的数据量,并且面临更高的服务质量要求,物联网需要对现有网络进行融合和扩展,利用新技术以实现更加广泛和高效的互联功能。

  • 应用层:也可称为处理层,解决的是信息处理和人机界面的问题。网络层传输而来的数据在这一层里进入各类信息系统进行处理,并通过各种设备与人进行交互。处理层由业务支撑平台(中间件平台)、网络管理平台(例如 M2M 管理平台)、信息处理平台、信息安全平台、服务支撑平台等组成,完成协同、管理、计算、存储、分析、挖掘、以及提供面向行业和大众用户的服务等功能,典型技术包括 SOA 技术、海量存储、分布数据处理、数据挖掘、信息管理等先进技术可被广泛采用。


在各层之间,信息不是单向传递的,可有交互、控制等,所传递的信息多种多样,包括在特定应用系统范围内能唯一标识物品的识别码和物品的静态与动态信息。


尽管物联网在环境监测、智能电力、智能交通、工业监控、智能家居等经济和社会各个领域的应用特点千差万别,但是每个应用的基本架构都包括感知、传输和应用三个层次,各种行业和各种领域的专业应用子网都是基于三层基本架构构建的。


2.2 物联网接入协议与传输协议的区别

我们将物联网通信协议分为两大类,一类是接入协议,一类是传输协议:



接入协议一般负责子网内设备间的组网及通信,接入协议大多都不属于 TCP/IP 协议族,只能用于设备子网(设备与网关组成的局域网)内的通讯;传输协议主要是运行在传统互联网 TCP/IP 协议之上的设备通讯协议,负责设备通过互联网进行数据交换及通信。


采用接入协议的物联网设备,需要通过网关进行协议转换,转换成通讯协议才能接入互联网。而采用通讯协议的物联网设备,则可以直接接入互联网。


常用的接入协议包括 Wi-Fi、RFID、NFC、ZigBee、Bluetooth、LoRa、NB-IoT、GSM、GPRS、3/4/5G 网络、Ethernet、RS232、RS485、USB 等等;常用的通讯协议包括 HTTP、CoAP、MQTT、XMPP、AMQP、JMS 等。接入协议位于网络层次架构中的物理/数链层,通讯协议位于应用层。



物联网接入协议和通讯协议区别如下:


|类别|接入|协议|通讯协议|


|-|-|-|


|传输范围|子网通讯(设备+网关)|互联网通信(TCP/IP 协议族)|


|接入互联网方式|需要网关|直接接入|


|层次|物理/数链层|应用层|


那么,既然有了可以直接接入互联网的通讯协议,那么接入协议的意义何在呢?接入协议的优势说起了,相对于通讯协议,接入协议所依赖的硬件资源要求更低,功耗更低,网络传输的数据量也更小,因此,在控制领域等一些场景中更具优势。


这些场景中,物联网设备往往没有外接电源,因此要求功耗尽可能低,比如,一节纽扣电池能够供电一年左右。这样的要求是 HTTP 等协议的所需的硬件环境难以胜任的。


2.3 常用的几种物联网接入协议

目前市场上常见的接入协议有 ZigBee、蓝牙以及 Wi-Fi 协议等:


  • ZigBee 目前在工业控制领域应用广泛,在智能家居领域也有一定应用。它有以下主要优势:

  • ①低成本:ZigBee 协议数据传输速率低,协议简单,所以开发成本也比较低。并且 zigbee 协议还免收专利费用。

  • ②低功耗:由于 ZigBee 协议传输速率低,节点所需的发射功率仅 1mW,并采用休眠+唤醒模式,功耗极低。

  • ③自组网:通过 ZigBee 协议自带的 mesh 功能,一个子网络内可以支持多达 65000 个节点连接,可以快速实现一个大规模的传感网络。

  • ④安全性:使用 crc 校验数据包的完整性,支持鉴权和认证,并且采用 aes-128 对传输数据进行加密。

  • ZigBee 协议的最佳应用场景是无线传感网络,比如水质监测、环境控制等节点之间需要自组网以相互之间传输数据的工业场景中。在这些场景中 ZigBee 协议的优势发挥的非常明显。目前国内外很多厂商也将 ZigBee 运用在智能家居方案中。

  • 蓝牙协议大家都非常熟悉了,特别是随着蓝牙 4.0 协议推出后发展迅速,目前已经成为智能手机的标配通信组件。蓝牙 4.0 之所以在近几年发展迅速,主要有以下两点原因:

  • ①低功耗:我认为这个是蓝牙 4.0 的大杀器,使用纽扣电池的蓝牙 4.0 设备可运行一年以上,这对不希望频繁充电的可穿戴设备具有十分大的吸引力。当前基本世面上的可穿戴设备基本都选用蓝牙 4.0 方案。

  • ②可手机接入:近年来支持蓝牙协议基本成为智能手机的标配,用户无需购买额外的接入模块。

  • Bluetooth 最大的优点是不依赖于外部网络、便携、低功耗。只要有手机和智能设备,就能保持稳定的连接,走到哪连到哪。所以大部分运动和户外使用的设备都会优先考虑 Bluetooth。它的主要不足是:不能直接连接云端,传输速度比较慢,组网能力比较弱。

  • Wi-Fi 协议和蓝牙协议一样,目前也得到了非常大的发展。由于前几年家用 Wi-Fi 路由器以及智能手机的迅速普及,Wi-Fi 协议在智能家居领域也得到了广泛应用:

  • ①Wi-Fi 可以直接接入互联网:相对于 ZigBee,采用 Wi-Fi 协议的智能家居方案省去了额外的网关,相对于蓝牙协议,省去了对手机等移动终端的依赖。

  • ②Wi-Fi 最大的优点是连接快速、持久、稳定,它是 IoT 设备端连接的首选方案,唯一需要考虑的是智能设备对 Wi-Fi 覆盖范围的依赖导致 smart devices 的活动范围比较小,不适合随时携带和户外场景。

  • 相当于蓝牙和 ZigBee,Wi-Fi 协议的功耗成为其在物联网领域应用的一大瓶颈。但是随着现在各大芯片厂商陆续推出低功耗、低成本的 Wi-Fi soc(如 esp8266),这个问题也在逐渐被解决。


种类ZigBee蓝牙Wi-Fi
标准IEEE802.15.4IEEE802.15.1xIEEE802.11b/n/g
单点覆盖距离50米10米50米
功耗5mA20mA10-50mA
复杂性简单复杂复杂
传输速率250Kbps1Mbps10Mbps
频段2.4GHz2.4GHz2.4GHz
网络节点数65000850
联网所需时间30ms10s3s
安全性128bit AES64bit 128bitSSID
成本一般
安装难度简单一般一般
优点可自组网体积小,受众群体广容易实现,受众范围大
缺点难兼容,其搭载的设备普及率极低连接能力有限连接能力有限
主要应用无线传感器(汽车轮胎)、医疗等通信、汽车、工业、医疗等多媒体、无线上网、PAD、PC等


2.4 何谓“配网”

2.4.1 WIFI 的 “联网”和“自动联网”

  • 连网:一般指的是 Wi-Fi 设备通过 SSID 和密码来连接热点 AP 或路由器,以加入后者所建立的网络的过程。

  • 自动连网:一般指的是 Wi-Fi 设备在启动、掉线、或扫描到特定的 SSID 后,会使用之前保存的 SSID 与密码,自动连接热点 AP 或路由器,而不需要手工重新输入。其中,WIFI 设备掉线后的“自动连网”,又常常被称为“自动重连”。

  • 自动连网:一般需要在之前配网成功后,将 SSID 和密码进行保存,以便在需要“自动连网”时可以从保存的地址读取出来使用。


2.4.2 Wi-Fi 的“配网”

“配网”指的是,外部向 Wi-Fi 模块提供 SSID 和密码,以便 Wi-Fi 模块可以连接指定的热点或路由器并加入后者所建立的相关 Wi-Fi 网络。


Wi-Fi 模块一般不像电脑手机或平板等设备,有丰富的人机交互界面,可以方便的实现配网,因此,Wi-Fi 模块的“配网”方式支持,会成为 Wi-Fi 模块特性的一个基本话题。


能提供方便、灵活多样、条件约束少的配网方式,常常成为 Wi-Fi 模块的卖点之一,更是 Wi-Fi 模块的使用者,在选型时需要慎重考虑评估的一个重要方面。


3. Wi-Fi 常用配网方式及原理实现

常见的配网方式,可归为如下几大类:直接配网、WPS 配网、WEB 配网、SoftAP 配网、智能配网配网、声波配网。用户可以根据具体的使用场合选择各种最适合的配网方式。


3.1 直接配网

所谓直接配网,就是通过 UART 串口、SPI 口、SDIO 口、I2C 等主机接口,按照一定的通信协议,将 SSID 和密码,直接传递给 WIFI 模块。Wi-Fi 模块在收到 SSID 和密码后去连接热点或路由器,并将连接的结果从主机接口返回。目前斑马车机采用的这种方式连接盯盯拍。


例如,常见的通过 UART 串口 AT 指令配网、SPI API 函数配网、SDIO API 函数配网、I2C API 函数配网等。



直接配网方式软件方案实现简单,但需要铺设其他的通信线路,比较适合于板载 WIFI 模块,或有其他协议传输线连接的设备间。因此对于环境要求比较高,需要在系统间有其它的通信链路存在。


3.2 WPS 配网

路由器中 WPS 是由 Wi-Fi 联盟所推出的全新 Wi-Fi 安全防护设定(Wi-Fi Protected Setup)标准,该标准推出的主要原因是为了解决长久以来无线网络加密认证设定的步骤过于繁杂艰难之弊病。WPS 用于简化 Wi-Fi 无线的安全设置和网络管理。它支持两种模式:个人识别码(PIN)模式和按钮(PBC)模式。



这种方式需要模块支持 WPS 功能。使用者往往会因为步骤太过麻烦,以致干脆不做任何加密安全设定,因而引发许多安全上的问题。因为安全性的缘故,近几年已经逐步被放弃,越来越多的路由器开始放弃或者自动关闭对这种方式的支持。


3.3 WEB 配网

在支持 AP 模式的 Wi-Fi 模块上内嵌一个简易的 WEB 服务器,在 WEB 网页里提供了配网的交互接口。其他网络设备(例如手机、平板、电脑等)直接连接上 Wi-Fi 模块的 AP 热点,在浏览器上打开该 WEB 网页,在 WEB 网页里配置该 Wi-Fi 模块去连接其他的 AP 或路由器。


归因于近年来越来越多的 Wi-Fi 芯片解决方案都开始支持 STA+AP 混合模式(即 WIFI 模块不仅可以作为工作站 STA 使用去连接其他路由器或热点,同时本身也可以作为一个热点 AP 供其他 WIFI 设备节点来连接),也归因于近年来许多 Wi-Fi 芯片解决方案越来越高的集成度可以将 TCP IP 协议栈直接集成在 Wi-Fi 模块上,因此,可以简单地在 Wi-Fi 模块上直接实现一个 WEB 服务器,且这个服务器可以通过 Wi-Fi 模块的 AP 模式直接访问(不需要依赖其他网络,手机等设备直接访问 WIFI 模块自建立的 Wi-Fi 网络和 WEB 网页,进行配置)。


这种配网方式的基本思想是,Wi-Fi 模块工作在 STA+AP 混合模式并启动内嵌的 WEB 服务器,电脑手机或平板等 Wi-Fi 设备连接 WIFI 模块所建立的 AP 热点,并获取得到一个 IP 地址(即:加入了这个 Wi-Fi 模块的热点 AP 模式所建立的 Wi-Fi 局域网),然后电脑手机或平板等 Wi-Fi 设备通过其上标配的浏览器访问 Wi-Fi 模块上的 WEB 服务器,在打开的 WEB 网页中,完成各种配置,包括设置 Wi-Fi 模块在 STA 模式下去链接第三方热点或路由器的 SSID 和密码,让 WIFI 模块作为 STA 去连接其他热点 AP 或路由器。



3.4 SoftAP 配网

SoftAP 配网方式在小米智能家居产品中被广泛应用。其原理是在 Wi-Fi 网络中另外启动 TCP 服务,通过 TCP 进行 SSID 和密码的配置,使智能硬件接入到指定的路由器。


在机器复位后,首先智能硬件会工作在 Wi-Fi 的 AP 模式,且开启 TCP 服务器,进入监听状态。


在此时,使用手机接入该 AP 热点,连接成功后,打开客户端,手机会去连接 TCP 服务器,三次握手连接成功后,则传输协议数据,内容包括指定智能硬件将要连接的 Wi-Fi 的 SSID 和密码。


硬件成功接收到手机发来的数据包解析得到 Wi-Fi 名字和密码。回复手机正在尝试连接了。关闭 AP 模式,开启 station 模式连接路由器,成功连接到指定的路由器。然后手机切回到指定路由器并开启 UDP 通讯,智能硬件用 UDP 协议广播配网成功数据。



3.5 智能配网(SmartConfig/SmartConnection…)

所谓智能配网,就是使用 Wi-Fi 设备本身自带的 WIFI 信号,在 MAC 层将 SSID 和密码按照一定的协议格式填充在 MAC 包中不加密的包头部分,采用广播和抓包方式,从手机等设备将 SSID 和密码分段多次传递给 WIFI 模块。


目前市面上常见的多种 SmartConfig/SmartConnection 技术,虽然各个 Wi-Fi 芯片方案会取不同的英文名字,但是基本原理则基本相同,只是填充的数据协议格式稍有区别。


厂商芯片方案技术名称发包方式
TICC3200Smartconfig往某一固定IP发udp包
高通QCA4004/QCA4002SmartConnection组播地址编码
MTKMTK7681Smartconnection组播地址编码
MarvellMC200+8801/MW300Easyconnect组播地址编码
ReltekAMEBASimpleconfig组播地址编码
乐鑫Esp8266Smartconfig组播,通过长度编码
新案线NL6621Smartconfig组播地址编码
微信多家Airkiss全网广播,通过长度编码


智能配网一般需要在发送 SSID 和密码的设备(例如手机)上安装一个 APP,该 APP 实现了和 Wi-Fi 模块之间的协议交互(发送 SSID 和密码)。


这个功能最早是 TI 提出并应用于 CC3200 上;不过从原理上讲,只要芯片驱动支持开启混杂模式(Wi-Fi Promiscuous),就可以支持一键配网功能,只是各个厂家叫法及实现编码方式不同而已。


字段DASALENGTHLLCSNAPDATAFCS
长度bytes66235X4


SNAP:格式数据包


DA:目标 MAC 地址


SA:源 MAC 地址


LENGTH:表示后面数据的长度


LLC:表示 LLC 头


SNAP:表示 3byte 的厂商代码和 2byte 的协议类型表示


DATA:载荷数据


FCS:帧检验序列


由于无线数据传播必定是广播的,所以必然可以被监听到;如果 AP 没有加密的话,UDP 直接可以把相关的信息发送出来.但是路由器 AP 一般都是加密的,而且加密方式不固定。


Wi-Fi 模块在无法直接解析出数据包。从 802.11 的 MAC 层帧格式中可以看到, 链路层载荷数据(即网络层头部及网络层数)在数据帧中是清晰可辨的, 只要接收到 802.11 帧就可以立刻提取出载荷数据, 计算载荷数据的长度自不用说, 而这里的载荷数据, 通常就是密文。


在发送端,可以采用 2 种不同的编码发送方式:


  • UDP 广播:从 802.11 帧格式分析中获知,无线信号监听方的角度来说,不管无线信道有没有加密,DA、SA、LENGTH、LLC、SNAP、FCS 字段总是暴露的,因此信号监听方可以从这 6 个字段获取有效信息.从发送方讲,由于操作系统的限制,如果采用广播只剩下 LENGTH 发送方可通过改变其所需要发送数据包的长度进行控制.所以只要指定出一套利用长度编码的通讯协议,就可利用数据包的 Length 字段进行数据传递;

  • UDP 组播:组播地址是保留的 D 类地址从 224.0.0.0-239.255.255.255,IP 地址与 MAC 地址映射关系为:将 MAC 地址的前 25 位设定为 01.00.5e,而 MAC 地址的后 23 位对应 IP 地址的位;故发送端可以将数据编码在组播 ip 的后 23bit 中,通过组播包发送,接收端进行解码即可;

  • 接收端进入一键配置功能后,Wi-Fi 智能硬件从信道 1 开始监听路由上的数据,如当前监听信道有符合规则的数据包,就停止信道切换,停留在当前信道接收完全部数据.否则就依次切换至信道 2.3.4…直到信道 14 后又从信道 1 开始继续监听依次循环;

  • 当然,Wi-Fi 智能硬件可以在开启混杂模式之前,先行扫描当前环境下存在的 AP 获取所有当前 AP 的信道,然后只对当前扫描到的信道进行依次监听,如当前环境下只存在 2 个路由,分别在 1.6 信道,只需轮流扫描 channel1 和 channel6,这样可以提高配置效率。



3.6 声波配网

声波配网,即通过手机发出声波,将 SSID、password 等信息传给设备的一种配网方式。通过手机播放声波把 Wi-Fi 的初始化连接信息传递给智能设备,让设备识别完成 Wi-Fi 初始化流程建立网络连接。


一定程度上,声波传输可以理解为类似 NFC 的一种近场通讯技术。适用于没有触屏或触屏较小不易于信息输入,但是拥有麦克风的智能设备,如对话机器人,智能音响等。其优点是配网速度快、可人耳感知,缺点是受环境干扰较大。


实现声波配网,首先需要一套特定的算法库,算法库分手机端和设备端两部分。手机端算法库将 ssid 信息由字符串转化为声音信号(PCM),然后将声音信号通过音频模块播放出来。


同时,设备端录下这一段声音,然后用同一套算法库将声音信息解析出来,还原成原来的 ssid 信息(字符串),最后用解析到的 ssid 信息用于连接 WIFI。


编解码可选择范围分为低频、中频、高频三种,其中低频的频率范围为 2K~5K,中频的范围为 8K~12K,高频的范围为 16K~20K。频率越高,声音越尖锐,抗噪性能越强。


显然声波配网技术中的技术难点就是声波传输技术。而声波传输的应用其实已经很广啦:支付宝的声波支付,QQ 音乐中的歌曲的声波分享,茄子快传,蛐蛐儿等。


其实原理很简单,可以近似理解为对称加密,加解密的过程大概如下所示:



仅传输 ASCII 可打印字符。



传输 UTF-8 字符串。


简单的说就是在发送端把你把要识别的字符映射成频率,然后把一个频率映射成一个音节信号(单频率的正弦波)编码成音频播放;在接收端接收到音频信号后,解析出频率,然后根据两边共同的码表找到频率对应的字符,从而解码出数据。


具体来说就是我们可以将 700HZ 的正弦波对应成字符’a’,800HZ 的正弦波对应数字’b’,900HZ 的正弦波对应数字’c’,以此类推。那么数字串"abc"就对应成频率串就是{700,800,900},然后把这个频率串变成 3 个音节的正弦波音频。如果规定每个音节持续 100ms,则{700,800,900}对应 300 毫秒的音频段。接收方录制声音,对收到的声音进行解析,识别出 700HZ,800HZ,900HZ 三段正弦波频率,然后查找码表,解码出的字符串就是"abc"。


声波配网主要流程如下:


  • 首先,在手机(或平板等其它一代设备)输入 ssid 信息(或获取当前或系统保存的 ssid 信息),将信息由 buffer 编码为 pcm 数据;

  • 将使用算法库编码出来的 pcm 数据通过喇叭播放出来,同时,设备端打开录音,捕获 pcm 数据;

  • 设备端将 pcm 数据通过算法库解码回原来的 buffer 数据;

  • 从数据中解析出 ssid、password 等信息,并将其用于连接路由器。



4. IOT 场景下的 Wi-Fi 配网选择

上个章节中各配网方式对比汇总:


配网方式优势局限
直接配网串口AT指令直接输入,配网简单,过程明了,成功率高。需提供额外的人机交互接口来输入SSID和密码,例如串口线等。
SPI接口API
WPS配网个人识别码(PIN)模式解决长久以来无线网络加密认证设定的步骤过于繁杂艰难之弊病。不安全,没有做任何加密认证。
按钮(PBC)模式
SoftAP配网AP->Station切换跟智能配网难度类似,但是更加稳定需要手机参与配置,过程较为繁琐
WEB配网WEB网页配网可以通过任意支持WIFI和浏览器的设备来配网,非常灵活实用。需要一个支持Wi-Fi功能和浏览器功能的设备(例如,手机或电脑PC)来配合配网。
智能配网智能配网直接用手机配网,不需要提供额外的人机交互接口,也不占用额外的单片机主机资源。1、手机需安装APP,iOS或Android版。
2、配网原理和过程复杂,成功率较低。
3、需要提供额外的按键或其他接口引导模块在智能配网和正常工作模式间切换。
声波配网PCM编码配网速度快、可人耳感知目前方案大都收费,落地还需要时间;受环境影响大


Wi-Fi 作为最适合物联网连接的技术,它可以作为物联网的粘合剂。随着连接节点的无限激增,联网设备的覆盖面和总量也将随着快速增长。其内部集成了射频收发、MAC、基带处理、Wi-Fi 协议和配置信息及网络协议栈,用户利用它可以轻松实现串口设备的无线网络功能。用户在实际使用中可根据表中各配网方式的优劣选择。


高德今年发布天猫精灵高德版套装。车盒借助盯盯拍 mini3 行车记录仪的摄像头实现 AR 导航功能。在该案例中,充分考虑产品功能,论证其安全性,采用 SoftAP 的配网方式。


2020 年 3 月 04 日 14:491307

评论

发布
暂无评论
发现更多内容

项目吐槽之需求分析二

Geek_XOXO

项目管理 pmp 项目实战

6小时搞定云原生:从基础概念到上手实践

京东科技开发者

云原生

普通人如何站在时代风口学好AI?这是我看过最好的答案

华为云开发者社区

AI 算法

技术体系的构成

异想的芦苇

技术 技术管理 研发体系

在线EXCEL编辑器-Luckysheet

奇异石榴果

Java 开源 Excel bigtable js

不会java的人能不能读《Head First设计模式》?

Nydia

一份超级完整实用的PyCharm图解教程,8K字赶紧收藏起来

计算机与AI

Python IDLE 开发环境

一文带你读懂 Swift 社区最新开源的算法库

镜画者

ios swift 算法 apple

分布式文件存储数据库 MongoDB

哈喽沃德先生

数据库 nosql mongodb mongo 非关系型数据库

【API进阶之路】研发需求突增3倍,测试团队集体闹离职

华为云开发者社区

软件开发 开发 开发测试

极客时间架构师训练营第一周学习总结

爱码士

课程总结

技术都是相通的

小黄鱼

极客大学架构师训练营

Scikit-Learn中的特征排名与递归特征消除

计算机与AI

学习 数据科学 特征选择 降维 scikit-learn

1024!奈学教育致敬程序员3+2战略发布会重磅来袭

奈学教育

1024 奈学教育

想自己写框架?不会写Java注解可不行

Java架构师迁哥

架构师训练营 1 期 - 第五周 - 技术选型

三板斧

极客大学架构师训练营

架构师训练营第一周作业

爱码士

架构设计

为什么说容器的崛起预示着云原生时代到来?

华为云开发者社区

容器 云原生 容器云

架构师训练营第2期 第1周 作业二:学习总结.md

老坛酸菜

App场景下投放外链时如何做设备识别和采集(1)

DeeperMan

采集 流量

1024!奈学教育致敬程序员3+2战略发布会重磅来袭

古月木易

程序员 奈学教育

【得物技术】谈谈缓存的一二三四五

得物技术

缓存 架构 技术 缓存穿透 缓存击穿

一文搞懂ReactNative生命周期的进化

凌宇之蓝

react.js 面试 大前端 React Native

勾魂!在Github白嫖左程云1470页数据结构与算法+视频

996小迁

Java 架构 面试 面试数据结构与算法

发布3个月获得5K Star的Luckysheet - 基于MIT协议的开源电子表格

奇异石榴果

Java 前端 Excel 开源项目 html/css

程序员喜欢的 5 款最佳最牛代码比较工具

程序员生活志

编程 工具

MyBatis-技术专题-动态SQL

李浩宇/Alex

「架构师训练营」第 1 周作业 - 食堂就餐卡系统设计

小黄鱼

极客大学架构师训练营

iOS性能优化 — 二、卡顿监控及处理

iOSer

性能优化 编程语言 监控 ios开发 卡顿

项目吐槽之需求分析一

Geek_XOXO

项目管理 pmp

MyBatis-技术专题-拦截器介绍

李浩宇/Alex

IoT时代:Wi-Fi“配网”技术剖析总结-InfoQ