世界上最远的距离,是我在if里你在else里,虽然经常一起出现,但却永不结伴执行。
1.基于 JavaScript 开发 IoT 入门指南
<img src="https://pic4.zhimg.com/v2-7e0049622c674653f0084229669a8267_b.jpg" data-rawwidth="666" data-rawheight="300" class="origin_image zh-lightbox-thumb" width="666" data-original="https://pic4.zhimg.com/v2-7e0049622c674653f0084229669a8267_r.jpg">
JavaScript 不仅是 Web 时代的通用语言,现在还延伸到了令人难以置信的其它地方。它是一个对初学者友好的语言(初始版本在 10 天内构建完成),现在已经无处不在:服务器、工作站、数据库,甚至还包括物联网设备。不过,由于某些微控制器固有的低端特性,使得初学者使用 JavaScript 变得有些困难。在这篇文章中,我们将会先走马观花般地看看在小型设备上运行 JavaSript 有哪些选择,然后将会挑选其中一个并让它运行在某个 JavaScript 引擎上。现在,我们一起来探索 JavaScript 的旅行吧!
链接地址2.服务端指南 | HTTPS 项目实战指南
<img src="https://pic1.zhimg.com/v2-423997a32eecbc4f6af8a38ab6972b7c_b.jpg" data-rawwidth="666" data-rawheight="300" class="origin_image zh-lightbox-thumb" width="666" data-original="https://pic1.zhimg.com/v2-423997a32eecbc4f6af8a38ab6972b7c_r.jpg">
HTTP 协议没有加密机制,可以通过 SSL 或 TLS 加密 HTTP 的通信内容。因此,HTTPS 是 HTTP 的安全版,在 HTTP 协议中加入 SSL 层,它由两部分组成:HTTP 与 SSL。其中,SSL 是独立于 HTTP 的协议,它不仅可以适用于 HTTP 协议,还可以配合 WebSocket 等协议一起使用。
链接地址3.String / StringBuffer / StringBuilder 三者的功能区别
<img src="https://pic4.zhimg.com/v2-56003dd5fd77e0f9fcf8174e97c17fc3_b.jpg" data-rawwidth="666" data-rawheight="300" class="origin_image zh-lightbox-thumb" width="666" data-original="https://pic4.zhimg.com/v2-56003dd5fd77e0f9fcf8174e97c17fc3_r.jpg">
String 作为最基础的引用数据类型,日常的开发中被大量的使用。基于不可变的特性,一旦被过度地使用,堆内存就会负荷不堪,甚至影响性能,为此,Java 设计者特意为 String 在方法区中开辟了字符串常量池,以减少 String 的实例创建,然而,在面对大数量的情况下,字符串常量池也未必能解决问题,因此,AbstractStringBuilder 应运而生,就是为了解决 String频繁创建而引发的内存性能下降的问题。
链接地址4.用JavaScript构建自定义交互式图表
<img src="https://pic3.zhimg.com/v2-dbf7f3521f7a12565154d3719ec2dca6_b.jpg" data-rawwidth="666" data-rawheight="300" class="origin_image zh-lightbox-thumb" width="666" data-original="https://pic3.zhimg.com/v2-dbf7f3521f7a12565154d3719ec2dca6_r.jpg">
图表是快速有效的体现可视化复杂数据的好方法。无论你想要做数据分析,还是要做数据对比,图表可帮助你以准确快速的方式和受众人群沟通。
链接地址5.H5 直播避坑指南
<img src="https://pic1.zhimg.com/v2-40f397323b70d6f146bc2679accda6ec_b.jpg" data-rawwidth="666" data-rawheight="300" class="origin_image zh-lightbox-thumb" width="666" data-original="https://pic1.zhimg.com/v2-40f397323b70d6f146bc2679accda6ec_r.jpg">
企鹅电竞项目,直播和视频播放是其中的核心。面对着产品同学不断的询问:为什么h5的体验这么差?为什么不能和app的播放体验保持一致?我们对着h5不明确的文档和不同浏览器的怪异表现欲哭无泪。 经过一系列的调研爬坑,斩荆披棘,我们一步步提升了体验,做到了和app基本一致的体验。在摸索优化背后,我们也想把这些问题和解决方法总结下来,让其他同学做到直播的时候可以自豪的说,这就是我们的h5直播体验。
链接地址6.分布式ID生成器 | 架构师之路
<img src="https://pic2.zhimg.com/v2-c56ce005ade122242c2d16c7d3eb6dd9_b.jpg" data-rawwidth="666" data-rawheight="300" class="origin_image zh-lightbox-thumb" width="666" data-original="https://pic2.zhimg.com/v2-c56ce005ade122242c2d16c7d3eb6dd9_r.jpg">
几乎所有的业务系统,都有生成一个唯一记录标识的需求,这个记录标识往往就是数据库中的主键,数据库上会建立聚集索引(cluster index),即在物理存储上以这个字段排序。
链接地址7.合格前端系列第五弹-Virtual Dom && Diff
<img src="https://pic4.zhimg.com/v2-74494b75928421bb9bf128a7987f035b_b.jpg" data-rawwidth="666" data-rawheight="300" class="origin_image zh-lightbox-thumb" width="666" data-original="https://pic4.zhimg.com/v2-74494b75928421bb9bf128a7987f035b_r.jpg">
首先,我们得明确一点,所谓的virtual dom,也就是虚拟节点。它通过JS的Object对象模拟DOM中的节点,然后再通过特定的render方法将其渲染成真实的DOM节点。
其次我们还得知道一点,那就是virtual dom做的一件事情到底是啥。我们知道的对于页面的重新渲染一般的做法是通过操作dom,重置innerHTML去完成这样一件事情。而virtual dom则是通过JS层面的计算,返回一个patch对象,即补丁对象,在通过特定的操作解析patch对象,完成页面的重新渲染。
链接地址推荐阅读
极乐技术周报(第十四期) | 极乐技术周报(第十三期) | 极乐技术周报(第 十二 期)