关于console:INFINI-Labs-产品更新-Gateway-支持基于-Kafka-的复制能力发布-Helm-Charts-部署方式

INFINI Labs 产品又更新啦~。本次更新概要如下:Easysearch 新增了索引字段相干统计 API,优化了 source_reuse 晋升压缩效率;Gateway 新增诸多新个性,如:反对基于 Kafka 的复制能力,增加可插拔的分布式锁实现,新增 CPU 资源限度等性能;Console 本次次要优化了数据迁徙性能,迁徙工作详情页新增了若干指标图和日志查看等性能。 欢送大家下载应用和反馈。 INFINI Helm Charts v0.1.0INFINI Helm Charts 是一组 Kubernetes 部署包管理工具。基于 Helm Charts,咱们将 INFINI Labs 旗下相干产品事后配置好程序资源包,大大简化了部署流程。Github 仓库地址:https://github.com/infinilabs/helm-charts。 Helm Charts 本次更新如下: Features增加 Console Chart增加 Easysearch Chart,反对单节点以及多节点(节点角色可配置)部署部署视频演示: 如何通过 Helm Chart 部署 Easysearch如何通过 Helm Chart 部署 Console博客文章: 如何通过 Helm Chart 部署 EasysearchINFINI Easysearch v1.6.0INFINI Easysearch 是一个分布式的近实时搜寻与剖析引擎,外围引擎基于开源的 Apache Lucene。Easysearch 的指标是提供一个轻量级的 Elasticsearch 可代替版本,并持续欠缺和反对更多的企业级性能。 Easysearch 本次更新如下: Features新增 \_field_usage_stats API,统计索引每个字段的拜访次数新增 \_disk_usage API,能够剖析指定索引每个字段的磁盘占用大小减少 flattened 类型,将 JSON 对象作为字符串解决,能够缩小嵌套 JSON 型的文档的大小Improvementssource_reuse 减少对 \_source 中数字类型的值进行复用压缩,可进一步升高 \_source 磁盘占用改良 source_reuse 筛选字段的逻辑INFINI Gateway v1.18.0INFINI Gateway 是一个面向搜寻场景的高性能数据网关,所有申请都通过网关解决后再转发到后端的搜寻业务集群。基于 INFINI Gateway 能够实现索引级别的限速限流、常见查问的缓存减速、查问申请的审计、查问后果的动静批改等等。 ...

September 22, 2023 · 1 min · jiezi

关于console:Console对象的常用api学习记录

Console对象js中也有万物皆对象的定义,所以咱们罕用的console也是一个对象,天然是对象,那么其身上就会自带一些办法和属性。大家F12关上控制台当前,间接输出console回车,就可以看明细啦,如下图: 本文记录一下罕用的console的api,细节来自于官网文档:Chrome DevTools中文手册:https://leeon.gitbooks.io/dev... 外面还有其余很多谷歌开发工具的应用细节,大家没事的时候,能够多逛逛,必当大有裨益^_^Console控制台api1. console.assert()办法,个别应用的不多,相当于一个条件判断。比方有如下代码: let isLogin = trueconsole.assert(isLogin, 'isLogin为false,以后处于未登录状态')// 此时isLogin为true不会执行打印,如果为false的时候,就会打印提醒:isLogin为false,以后处于未登录状态// 相当于:if(!isLogin){console.log('isLogin为false,以后处于未登录状态')} //图示如下:2. console.clear()办法,也能够清空控制台,清空控制台,并输入 Console was cleared,图示如下: 3. console.count()办法,这个办法有点鸡肋,就是用来计数的,计数的话,咱们应用console.log也是能够计数的。看代码就晓得了 let arr = ['甲', '乙', '丙', '丁']for (let i = 0; i < arr.length; i++) { console.count('console.count计数') console.log('console.log计数', i + 1)} // 后果如下图: 4. console.debug()办法,和console.log()基本上一样,用的也少,不赘述 5. console.dir()办法,个别用于打印dom对象,查找其身上的属性,挺罕用的。图示如下: 6. console.dirxml()办法,用于打印XML/HTML文档构造的办法,挺好。示例如下: <body> <h1> <span> <h2>你好console.dirxml()</h2> </span> </h1> <script> let span = document.querySelector('h1') console.dirxml(span) </script></body>// 打印图如下: 7. console.error()和console.exception()办法,用于抛出谬误到控制台,咱们在编码过程中遇到的框架(vue/react)报错信息,都是被这个办法抛出来的。或者咱们本人封装的函数办法,如果使用者没有依照正确的形式去应用,咱们也能够应用这个办法,做一个抛错提醒在管制台上,有助于更好的开发 8. console.warn()办法,同上,只不过这个是抛出正告,没有下面的抛出谬误那么重大。毕竟对于程序员而言,正告不必管,报错才去看,哈哈 ...

May 31, 2022 · 1 min · jiezi

关于console:如何在浏览器-console-控制台中播放视频

如何在浏览器 console 控制台中播放视频?要实现这个指标,次要波及到这几个点: 如何获取和解析视频流?如何在 console 里播放动静内容?如何在 console 里播放黑白内容?如何连贯视频流和 console?事实上最初的代码极其简略,咱们就一步一步简略讲一下 成果 测试地址:yu-tou.github.io/colors-web/… 如何获取和解析视频流?这里咱们用电脑摄像头捕捉视频流,而后获取视频流每一帧的图像数据,作为下一步的输出。 // 捕获电脑摄像头的视频流const mediaStream = await navigator.mediaDevices.getUserMedia({ video: true, audio: true,});// 创立一个 video 标签const video = document.createElement("video");document.body.appendChild(video); video.onloadedmetadata = function (e) { video.play(); // 等摄像头数据加载实现后,开始播放};// video 标签播放视频流video.srcObject = mediaStream;复制代码如何获取每一帧图像的数据?创立一个 canvas 画布,能够将 video 以后的内容绘制到画布上,而后通过 canvas 的办法即可拿到图像的像素数据。 const ctx = canvas.getContext("2d");canvas.width = width;canvas.height = height; ctx.drawImage(video, 0, 0, width, height);const imageData = ctx.getImageData(0, 0, width, height);const data = imageData.data;// imageData 的构造是平铺的,须要本人去学习下复制代码如何在 console 里播放动静内容?视频每帧的图像内容咱们曾经能够拿到了,持续下一步,如果须要在 console 中实现播放视频,首先须要可能一帧一帧绘制内容,然而这个如同是不太事实的,console.log 只能输入文本。 ...

November 17, 2021 · 2 min · jiezi

关于console:console的隐藏知识点你get到了嘛

常见用法console.log( ) | info( ) | debug( ) | warn( ) | error( ) console.log("console log")console.info("console info")console.debug("console debug")console.warn("console warn")console.error("console error")这些控制台将依据提供给它们的事件类型,间接以适当的色彩打印原始字符串 测试Demo<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <script> console.log("console log") console.info("console info") console.debug("console debug") console.warn("console warn") console.error("console error") </script> <script> console.log("%cText color is green and increased font size", "color: green; font-size: 2rem;") </script> <script> console.log("Multiple styles: %cred %corange", "color: red", "color: orange", "Additional unformatted message"); </script> <script> let info1 = [["Suprabha"], ["Frontend Dev"], ["Javascript"]] console.table(info1) </script> <script> console.group() console.log("Test 1st message") console.group("info") console.log("Suprabha") console.log("Frontend Engineer") console.groupEnd() console.groupEnd() </script> <script> let info2 = { "name": "Suprabha", "designation": "Frontend Engineer", "social": "@suprabhasupi" } console.dir(info2) </script> <!-- console.dir --> <button>console.log打印触发对象</button> <button>console.dir打印触发对象</button> <script> console.log(document.body, 'bodyHtml'); console.dir(document.body); let oButton = document.getElementsByTagName('button'); oButton[0].onclick = function(event){ console.log(event.target, 'button1'); } oButton[1].onclick = function(event){ console.dir(event.target, 'button2'); } </script> <script> console.assert(false, "Log me!") </script> <script> let name = "supi" let msg = "Its not a number" console.assert(typeof msg === "number", {name: name, msg: msg}) </script> <script> console.count("Hey") console.count("Hey") console.count("Hey") console.count("Hey") </script> <script> for (let i = 0; i < 5; i++) { console.count() } </script> <script> console.time("Time") let l = 0; for (let i = 0; i < 5; i++) { l += i } console.log("total", l) console.timeEnd("Time") </script></body></html> ...

May 17, 2021 · 2 min · jiezi