Day: 2022年7月10日

11个罕见的 JavaScript 单行代码,会让你大吃一惊

在今天的文章中,我将与你一起来学习 11 个罕见但功能强大的单行代码。现在,准备好,让我们开始吧!

如果你想给专业开发人员留下深刻印象,你会做什么?很简单:用简单的逻辑和尽可能少的代码行来解决一个复杂的问题。随着 ES6 箭头函数的引入,可以创建看起来优雅而简单的单行代码。

在今天的文章中,我将与你一起来学习 11 个罕见但功能强大的单行代码。现在,准备好,让我们开始吧!

1、获取字符串中的字符数

获取字符数是一个有用的实用程序,在许多情况下都很有用,我们可以使用它来获取空格数和随后的单词数,或者这可用于获取字符串中某个分隔符的计数。

const characterCount = (str, char) => str.split(char).length - 1

 

这个想法很简单,我们使用传递的参数 char 拆分字符串并获取返回数组的长度。由于每次将字符串拆分,都会比拆分器多一个;所以减去 1,我们有一个 characterCount 单行。

2、检查对象是否为空

检查对象的空性实际上比看起来要困难得多,即使对象为空,每次检查对象是否等于 {} 也会返回

通过流混合改善音频/视频实时流体验

流混合是一种将多个音频或视频流组合到云上的一个流技术,广泛应用于直播、在线教育、音频室直播等场景。开发人员可以通过播放混合流来查看屏幕并听到聊天室中所有成员的声音,无需管理聊天室中的每个流。

 

流混合是一种将多个音频或视频流组合到云上的一个流技术,广泛应用于直播、在线教育、音频室直播等场景。开发人员可以通过播放混合流来查看屏幕并听到聊天室中所有成员的声音,无需管理聊天室中的每个流。

流混合的优势

流混合之所以广泛应用于音频和视频领域,是因为它可以给开发人员带来以下好处。

1. 低成本

在大型直播或在线教育场景中,如果多方在一个房间内共同主持,房间内的所有用户需要播放多条流。使用流混合技术,只需要播放一个流。即在双方托管的情况下,费用可减半。在多方托管的情况下,成本可以降低(n - 1)/n。如果使用审查机制(比如淫秽内容审核),成本也可以降低(n - 1) /n,因为只需要查看一个流的图像。

2. 简单的代码逻辑

当多个主机共同托管并使用流混合时,观众只需播放混合流并进行渲染,而不是播放和渲染多个流。

3.在不同平台之间轻松转发

如果没有流混合,我们无法在多方共同托管方案中将直播转发到 Facebook​、YouTube 和其他直播流平台。因为这些平台只有一个 RTMP 地址,我们无法将多个流转发到一个地址。

4. 移动客户端上的 Web 浏览器支持的多方共同托管

对于 iPhone 用户,Safari 浏览器不支持同时播放多个音频文件。当播放多个流时,就只能播放一个流,流混合可以解决这个问题。由于手机性能和浏览器性能的限制,手机上的大多数Web浏览器一般可以播放最多四个流。借助流混合技术,可以播放的最大流数会有很大的增加,并且无需额外的带宽和性能消耗。

什么是流混合

如下图所示,当一个聊天室中的多个用户发布流时,服务器会根据布局配置将两个流合并为一个流,这样观众就可以播放混合流查看用户 A 和用户 B 的屏幕。

流混合的实现

1. 流体混合工艺

a) …

    

github package的使用教程

一、写在前面

上一次,笔者向大家介绍了把gitlab仓库作为npm私包的使用方法,具体的详见我的博文地址https://www.cnblogs.com/cnroadbridge/p/16406476.html,它能用,但是不够优雅,比如说你想知道那个包的版本就不是很直观能够在package.json中体现。好多天前,一次偶然的机遇,被甲方的金主发掘并看上,脱离后端好久的我硬着头皮写了一些Node方面的面试题,具体的详见我的博文地址https://www.cnblogs.com/cnroadbridge/p/16361744.html,通过面试后就去了某地一线内卷中心进行周末兼职工作,还挺有意思的,嘿嘿,老板给我工钱的同时,我又能学习接触新的领域和知识,这不,在这其中我就学到了一种基于gitlab管理npm私包的方法。…