简介 MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议,为此,它需要一个消息中间件。 MQTT架构原理图 现在各种资料上查到是一大堆关于`mosca`这个库,但是这个库已经停止维护了,那还有没有别的库呢?答案是肯定的,那就是这篇文章要讲的`aedes`库。 `aedes`库是开发者与所有`Mosca`用户进行大量讨论以及如何在生产环境中部署后诞生…

2021年3月24日 0条评论 8点热度 阅读全文

前言 在React框架下, 如果不做任何优化, 父组件渲染会触发子组件的重新render. 但由于协调算法的优化, 触发render不一定触发真实dom的更新. 但如果出现大量子组件重复render, 那么我们依旧可以考虑优化子组件渲染过程, 以获得可观的性能提升. 待优化示例 链接地址: https://codesandbox.io/s/hook-children-component-preformance1-es6bu 这是一个由多个小方格组成的棋盘, 点击小方格变为绿色, 再次点击变为灰色. 每次点击, 理论…

2021年3月24日 0条评论 9点热度 阅读全文

这是一个在学习前端工程师的小白的打怪之旅,希望自己能在计算机世界里真正的掌握一些知识。 从零准备前端知识 你好! 要学习前端,首先要知道前端的定义。前端,即网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页。这是较为官方的定义,也就是说,前端做的是门面,我们学的就是如何去装饰并优化它。 知识背景 我们要知道应用前端需要哪些知识,总的可以归结如下: 数据结构 ,像链表,二叉树等要十分熟悉,十大排序算法得掌握; 操作系统 要了解同步,异步和阻塞等基本原理; 计算机网络 这是重点和难点,要知道OSI七层架构…

2021年3月23日 0条评论 6点热度 阅读全文

主要技术 react-pdf, react(lazy Suspense) react-dom节点的插入, 原生Dom节点的插入与删除  import React, {lazy, Suspense} from "react"; import ReactDOM from "react-dom"; function isMobile(){ let info = navigator.userAgent; let agents = ["Android", "iPhone", "SymbianOS", "Window…

2021年3月23日 0条评论 11点热度 阅读全文

1.请描述event loop(事件循环、事件轮询)的机制,可画图? ①.js是单线程的,异步要基于回调来实现,event loop(事件循环/事件轮询)就是异步回调的实现原理。 首先我们需要明白js是如何执行的:从前到后,一行一行执行,如果某一行执行报错了,则停止下面代码的执行,先将同步代码执行完毕,再执行异步代码。 根据上图所示,event loop的执行原理如下: (1)同步代码,一行一行执行,是放在call stack(调用堆栈)中执行的 (2)遇到异步代码,先记录下在web API中,等待时机(定时、网络…

2021年3月21日 0条评论 13点热度 阅读全文

互联网寒冬的来袭,如何在面试之前更高效的做好面试准备,是程序员共同关注的问题。 现在面试门槛越来越高,很多开发者对于 Vue 底层的一些知识了解的不是很多,遇到这些面试题会手足无措。 在本文中,会结合面试过程中的一些问题带你剖析 Vue.js 内部的整个流程,总共分为四个模块: 作者:日常君 链接:https://www.jianshu.com/p/b62d282a0845 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 响应式原理以及依赖收集 异步更新策略及 nextTick 原…

2021年3月14日 0条评论 7点热度 阅读全文

如何看待前后端分离? “前端”通常指的是,相对来说更接近用户的一端,例如:APP,网页、桌面程序等,在现实开发中大部分情况可以理解为“客户端”; “后端”相对来说就更泛化了,可以理解为是为前端提供服务的一端。 ”分离“顾名思义就是将”前端“和”后端进行分开“,但是这里的分开主要从下面几个纬度进行分离 1:架构分离,前端不需要依赖后端架构同时后端也不需要知道前端使用何种架构 2:人员分离,前端后端使用的技术相互之间根部不需要相互了解完全可以在做到透明(当然相互了解会更好) 3:工作分离,基于项目或者产品的单个功能的横…

2021年3月9日 0条评论 5点热度 阅读全文

响应式开发 响应式开发原理 就是使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而适配不同设备 的目的。 超小屏幕(手机)<768px 小屏设备(平板)>=768px-<992px 中等设备(桌面显示器)>=992px-<1200px 宽屏设备(大桌面显示器)>=1200px 响应式布局容器 响应式需要一个父级做为布局容器,来配合子级元素来实现变化效果。 原理就是在不同屏幕下,通过媒体查询来改变这个布局容器的大小,再改变里面子元素的排列方式和大小,从而实现不同屏幕下,看到不…

2021年3月8日 0条评论 7点热度 阅读全文

这是我之前写的一个封装办法https://blog.csdn.net/huanhuan03/article/details/103659986 现在重新封装成更方便简单的,学如逆水行舟啊,多看看各大网站的教程,其中用到了async/await语法,如果不明白,看看这篇博客 项目结构什么的就不说了,依然在src目录下新建文件夹service,在service文件夹下新建两个js文件,一个contactApi.js存放项目中所有请求接口的url和请求方式: const CONTACT_API = { // 获取联系人列…

2021年2月27日 0条评论 32点热度 阅读全文

一、MongoDB的认识 MongoDB 是一个基于分布式文件存储的数据库。 由 C++ 语言编写,是一个开源数据库系统。 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。 MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。 在高负载的情况下,添加更多的节点,可以保证服务器…

2021年2月25日 0条评论 15点热度 阅读全文