本文介绍微信利用Airkiss技术对wifi设备进行智能配置上网的场景,并分析其实现的原理.这里再次说明,Airkiss只是用于配置上网,其跟微信硬件平台的通信流程和接入协议规范完全没有关系.一个wifi设备并不一定要通过Airkiss技术来配置上网,它也可以利用传统的方法来配置,也可以利用其它厂商的智能配置技术来完成配置.所有的wifi智能配置上网技术的原理基本上都是一致的,其开山鼻祖应该是TIsmartConfig. 目前几乎所有的主流wifi厂商都提供了Airkiss的接口库,但并没有说明…
java高级精讲之高并发抢红包~揭开Redis分布式集群与Lua神秘面纱 redis数据库 Redis企业集群高级应用精品教程[图灵学院] Redis权威指南 利用redis + lua解决抢红包高并发的问题 抢红包的需求分析 抢红包的场景有点像秒杀,但是要比秒杀简单点.因为秒杀通常要和库存相关.而抢红包则可以允许有些红包没有被抢到,因为发红包的人不会有损失,没抢完的钱再退回给发红包的人即可.另外像小米这样的抢购也要比淘宝的要简单,也是因为像小米这样是一个公司的,如果有少量没有抢到,则下次再抢,…
本文是Netty系列第5篇 上一篇文章我们对于I/O多路复用.Java NIO包 和 Netty 的关系有了全面的认识. 到目前为止,我们已经从I/O模型出发,逐步接触到了Netty框架.这个过程中,基本解答了Netty是什么.为什么使用Netty等前置问题.给我们学习Netty提供了最原始的背景知识. 有了这些做基础,下面我们可以开始慢慢去揭开Netty的神秘面纱了. 本文预计阅读时间约 5分钟,将重点围绕以下几个问题展开: 如何用Netty编写一个Server端服务Demo 从Demo看Ne…
揭开GrowingIO无埋点的神秘面纱   早在研究用户行为分析的时候,就发现国内的GrowingIO在宣传无埋点技术,最近正好抽出时间来研究一下所谓的无埋点到底是什么样的. 我分六部分来分析一下无埋点的流程以及背后的技术分析,前5部分主要是分析圈选的流程,技术以及使用上的坑,最后一部分介绍一下利用js点击元素获取XPath的demo:   1.由GrowingIO的智能路径来引出无埋点的重要性   首先,我们来看一下,最近GI新出的功能----智能路径,智能路径到底是什么?作用是什么呢?我们看…
揭开Sass和Compass的神秘面纱 可能之前你像我一样,对Sass和Compass毫无所知,好一点儿的可能知道它们是用来作为CSS预处理的.那么,今天请跟我一起学习下Sass和Compass的一些基础知识,包括它们是什么.如何安装.为什么要使用.基础语法等一些基本知识.需要说明的是我也仅仅只是刚刚接触Sass和Compass,一些高级用法等将不再本文的讨论范围之内.接触一周以后发现Sass和Compass的用处非常大,也打算今后在项目中尝试引进并应用起来.希望读完以后,你跟我一样对Sass和…
对于ASP.NET开发,排在前五的话题离不开请求生命周期.像什么Cache.身份认证.Role管理.Routing映射,微软到底在请求过程中干了哪些隐秘的事,现在是时候揭晓了.抛开乌云见晴天,接下来就一步步揭开请求管道神秘面纱. 上篇回顾 在介绍本篇内容之前,让我们先回顾下上一篇<ASP.NET运行时详解 集成模式和经典模式>的主要内容.在上一篇随笔中,我们提到ASP.NET运行时通过Application的InitInternal方法初始化运行管道.ASP.NET运行时提供了两种初始化管道模…
相信大家都用过ATM取过money吧,但是有多少人真正是了解ATM的呢?相信除了ATM从业者外了解的人寥寥无几吧,鄙人作为一个从事ATM软件开发的伪专业人士就站在我的角度为大家揭开ATM的神秘面纱吧.以下纯属个人所知,如有错误概不负责.废话不多说,以下开扒: 1.ATM有没有可能出假钞?答:完全有可能,想必大家也从各种新闻上看到过有人从ATM取出假钱的报道吧,这种新闻对于我们ATM从业者来说早就不是啥新鲜事了.    要解释ATM为啥子会出假钞就要从ATM的分类开始了,广义的ATM一般分为三类:…
揭开webRTC媒体服务器的神秘面纱--WebRTC媒体服务器&开源项目介绍 WebRTC生态系统是非常庞大的.当我第一次尝试理解WebRTC时,网络资源之多让人难以置信.本文针对webRTC媒体服务器和相关的开源项目(如kurento,janus,jitsi.org等)做一些介绍.并且将尝试降低理解WebRTC的业务价值所需要的技术门槛. 何为WebRTC服务器? 自从WebRTC诞生之初以来,该技术的主要卖点之一是它可以进行点对点(browser-to-browser)通信,而几乎不需要服务…
揭开A*算法的神秘面纱 一.总结 一句话总结:f(n)=g(n)+h(n) 这个算法有点像BFS的优化算法. g(n)为起点到当前方格的距离,这个是已知的. h(n)为当前方格到终点的距离,这个简单点可以直接用曼哈顿距离算. 这个算法就是在bfs的基础上每次取f(n)最小的那个点. 找不到的话就回溯. 1.为什么广度优先算法能找到最优路径,但是却很耗时呢? 层次 路径 因为用层次表示路径 广度优先搜索之所以能找到最优的路径,原因就是每一次扩展的点,都是距离出发点最近.步骤最少的.如此这样递推,当…
在RESTful API中,接口返回的是JSON,JSON的内容对应的是数据库中的数据,DRF是通过序列化(Serialization)的技术,把数据模型转换为JSON的,反之,叫做反序列化(deserialization).本文就来揭开DRF序列化技术的神秘面纱. 创建虚拟环境 虚拟环境是独立的Python环境,可以和系统环境分离,只安装需要的包即可,使用以下命令创建并激活: # 创建Python虚拟环境 python -m venv env # 激活虚拟环境 env\Scripts\acti…