最后的作业

如何获取obs视频帧的二进制数据

前面几篇文章梳理了obs的录屏和推流流程,几条纵线整理下来,算是基本理清了obs的工作流程。 现在回到第一个目标:捕捉桌面的帧数据,用rendertarget显示并输出到UE5材质。 那么,帧数据到底存放在哪里?如何读取? ......
二进制 数据 视频 obs

无处不在的边缘网络感知

01 引子 CDN 服务了互联网的大部分场景,是互联网业务背后重要的基础组件。CDN 的访问异常有可能造成大面积的互联网业务影响,如何应对访问异常是衡量 CDN 服务质量好坏的一个重要标准。比如某某电信大楼着火事件造成了某些地区的网络不可访问,阿里云 CDN 通过技术手段,保障了客户业务的正常运转。 ......
边缘 网络

在echaerts中渲染50万条数据的优化方案

背景:项目需求中要在页面上渲染大约50万条左右的波形数据图表 那么如何解决渲染中的卡顿呢? 肯定是要从服务端和前端一起优化这是毋庸置疑的。 1.服务端: 服务端耗时最多的一定是在数据库的筛选数据的行为上,本次需求中数据的筛选是根据物理量的类型和时间来进行的。 为了提速,应当取消掉其他的筛选条件,并且 ......
万条 echaerts 方案 数据

如何自动化测试你的接口?—— Rest Assured

前言 不知道大家的项目是否都有对接口API进行自动化测试,反正像我们这种小公司是没有的。由于最近一直被吐槽项目质量糟糕,只能研发自己看看有什么接口测试方案。那么在本文中,我将探索如何使用 Rest Assured 自动化 API 测试,Rest Assured 是一个基于 Java 的流行的用于测试 ......
接口 Assured Rest

很强,我终于找到绘制E-R图的正确姿势

前言 不知道大家是不是和我一样,为了追求速度,开发时一般都是直接建表就干,哪管什么E-R图。直到xxx项目找上你,某某客户要E-R图,提供一下吧。这时候就很烦,从头绘制E-R图成本真的很高,今天我就遇到了这个糟心事。 那有什么办法快速从我们的DDL建表语句直接反向生成我们的E-R图呢?如何做到即便新 ......
姿势 E-R

如何在 Apinto 实现 HTTP 与gRPC 的协议转换 (下)

上文给大家详细介绍了在 Apinto 上实现 HTTP 与 gRPC 的协议转换的基本内容,本篇我们将继续讲解如何在 Apinto-Dashboard 中进行配置。 配置 Apinto Apinto 上我们提供了可视化界面工具 Apinto-Dashboard,以降低初学者的使用成本,以下操作均在 ......
Apinto HTTP gRPC

主流的第三方直播SDK对比(腾讯云、即构、阿里云、声网、网易云信、网宿)

直播业务概述 大家所熟知的直播平台虎牙、斗鱼、快手、抖音、B站,直播功能看似普遍,但从零到一开发却不简单。直播中运用到的技术难点非常之多,音频视频处理/编解码,前后处理,直播分发,即时通讯等技术,学好任何一项都需要比较高的成本,将它们融合到直播功能上更是难上加难。 由于公司新项目计划做直播产品,开发 ......
第三方 主流 SDK

测试的底层逻辑

写这篇文章,是希望把我的一些我认为是非常有价值的经验总结出来,能够帮助刚做测试不久的新同事,或者是测试经验丰富的老同事以共享。希望我们可爱的新同事,准备要在测试领域耕耘的伙伴,能够通过我的文章了解到测试的底层逻辑,也就是我们测试工作中可能看不到隐藏较深的点,而不只是日常所见的写用例、提bug、开发自... ......
底层 逻辑

红黑树的由来及其底层原理

title: 红黑树 date: 2022-03-31 10:41:30 sidebar: auto categories: 数据结构 二叉树 tags: 红黑树 一、树 1.1 树的定义 树是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说 ......
由来 底层 原理

一种异步延迟队列的实现方式

目前系统中有很多需要用到延时处理的功能:支付超时取消、排队超时、短信、微信等提醒延迟发送、token刷新、会员卡过期等等。通过延时处理,极大的节省系统的资源,不必轮询数据库处理任务。 目前大部分功能通过定时任务完成,定时任务还分使用quartz及xxljob两种类型轮询时间短,每秒执行一次,对数据... ......
队列 方式

如何实现云数据治理中的数据安全?

云计算被定义为计算资源的共享池,已经在不同的应用领域广泛部署和使用。在云计算中,数据治理在提高整体性能和确保数据安全方面发挥着至关重要的作用。本研究从管理和技术应用两方面探讨如何实现云数据治理中的数据 ......
数据

基于Kafka和Elasticsearch构建实时站内搜索功能的实践

目前我们在构建一个多租户多产品类网站,为了让用户更好的找到他们所需要的产品,我们需要构建站内搜索功能,并且它应该是实时更新的。本文将会讨论构建这一功能的核心基础设施,以及支持此搜索能力的技术栈。 ......
Elasticsearch 实时 功能 Kafka

存储器的校验:汉明码

前言 在计算机运行过程中,由于种种原因致使数据在存储过程中可能出现差错。为了能及时发现错误并及时纠正错误,通常使用一些编码方式。 奇偶校验 奇偶校验是一种添加一个奇偶位用来指示之前的数据中包含有奇数还是偶数个1的检验方式。 对于一个二进制数:$b_nb_{n-1}...b_2b_1$,添加一个校验位 ......
存储器

如何通过Java更改Word中的页面大小和页面方向

新建的 Word 文档,默认纸张为 A4 纸,大小为 21 厘米 × 29.7 厘米,没特殊要求的文档用 A4 纸即可,但有时文档中的内容比较宽,需要用比 A4 纸更宽的纸张,例如制作一些宽的表格,就需要选择宽的纸张;另外,如果要制作一些法律类、信封类、信纸类等的文档,需要选择相应的纸张。那么如何更 ......
页面 大小 方向 Java Word

深入理解 Python 虚拟机:集合(set)的实现原理及源码剖析

在本篇文章当中主要给大家介绍在 cpython 虚拟机当中的集合 set 的实现原理(哈希表)以及对应的源代码分析。 ......
源码 原理 Python set

能快速构建和定制网络拓扑图的WPF开源项目-NodeNetwork

大家好,我是沙漠尽头的狼,今天介绍一个WPF开源项目-NodeNetwork,它可以帮助我们快速构建和定制网络拓扑图。 一、前言 在现代软件开发中,数据可视化和可交互性越来越受到关注。为了实现这一点,通常需要使用各种图表、表格、网络拓扑图等控件。然而,对于某些特殊的场景,这些控件可能无法满足需求,此 ......
拓扑图 拓扑 NodeNetwork 项目 网络

【LeetCode贪心#09】用最少数量的箭引爆气球,无重叠区间,合并区间(涉及区间重叠情况判断与处理)

用最少数量的箭引爆气球 力扣题目链接(opens new window) 在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。 一支弓箭可以沿着 x 轴从不 ......
区间 气球 LeetCode 数量 情况

基于量子随机游走的图像加密算法

一、概述 量子随机游走是一种基于量子力学的随机游走模型,其具有良好的随机性和不可预测性,因此被广泛应用于密码学中。基于量子随机游走的图像加密算法是一种新兴的加密算法,其基本思路是将明文图像转换为量子态,通过量子随机游走对量子态进行加密,最后将加密后的量子态转换为密文图像。 二、算法流程 将明文图像转 ......
量子 算法 图像

基于Sekiro的jsRPC的使用和安装

什么是jsRPC 说实话在介绍 JSRPC 我向大家推荐一个库 Selenium-wire 感觉和JSrpc的原理很像 RPC指远程过程调用,APP里面的RPC大家比较熟悉了。 那什么是jsRPC,顾名思义,就是指利用js手段实现代码远程控制浏览器控制台的一种手段,需要借助websocket实现。 ......
Sekiro jsRPC

某大厂面试题:说一说Java、Spring、Dubbo三者SPI机制的原理和区别

大家好,我是三友~~ 今天来跟大家聊一聊Java、Spring、Dubbo三者SPI机制的原理和区别。 其实我之前写过一篇类似的文章,但是这篇文章主要是剖析dubbo的SPI机制的源码,中间只是简单地介绍了一下Java、Spring的SPI机制,并没有进行深入,所以本篇就来深入聊一聊这三者的原理和区 ......
原理 机制 Spring Dubbo Java

数据库自动收缩造成的阻塞

背景 今天上午11点时客户打电话过来说医院的CIS系统一直有阻塞,导致系统卡慢严重,信息中心的电话都快被打爆了。赶紧要了远程登录到SQL专家云,看到了系统确实存在大量的阻塞。 点击紫色圆点进入活动会话原始数据,可以看到会话标识33是阻塞的源头,造成了大量的语句被阻塞,而且阻塞已经持续了很长的时间。 ......
数据库 数据

看看CabloyJS是如何异步加载并执行go wasm模块的

CabloyJS提供了一个内置模块a-wasmgo,将go wasm模块的异步加载运行机制进行了封装,使我们可以非常方便的在CabloyJS项目中引入go wasm,从而支持更多的业务场景开发 ......
模块 CabloyJS wasm

PyQt-Fluent-Widgets:一个 Fluent Design 风格的组件库

简介 这是一个使用 PyQt/PySide 编写的 Fluent Design 风格的组件库,包含最常用的组件,支持亮暗主题无缝切换。实际上此项目是从 Groove Music 项目剥离出来的子项目,github 仓库地址为 https://github.com/zhiyiYo/PyQt-Fluen ......

设计一款可扩展和基于windows系统的一键处理表格小工具思路

原创总结/朱季谦 设计一款可扩展和基于windows系统的一键处理表格小工具思路 日常开发当中,业务人员经常会遇到一些重复性整理表格的事情,这时候,就可以通过一些方式进行自动化程序处理,提高工作(摸鱼)效率。 例如,业务人员有这样需要,日常需要手工整理以下原始xlsx表格数据,这些数据格式都是固定死 ......
表格 思路 windows 工具 系统

从0搭建Vue3组件库(六):前端流程化控制工具gulp的使用

前言 随着前端诸如webpack,rollup,vite的发展,gulp感觉似乎好像被取代了。其实并没有,只不过它从台前退居到了幕后。我们仍然可以在很多项目中看到它的身影,比如elementplus、vant等。现在gulp更多的是做流程化的控制。 比如我们要把一个大象放进冰箱里就需要 打开冰箱门- ......
前端 组件 流程 工具 Vue3

JavaScript 中的一些奇怪问题

JavaScript 中的一些奇怪问题 JavaScript 在开发过程中可能会出现很多奇怪的问题,以下是一些示例: 1、变量提升问题 变量提升是 JavaScript 中一个常见的问题,特别是当没有充分理解变量作用域和声明提升时。以下是一个变量提升导致的问题示例: var a = 1; funct ......
JavaScript 问题

前端性能优化——采用高效的缓存策略提供静态资源

前端性能优化——采用高效的缓存策略提供静态资源 一、发现性能问题 通过 Chrome 开发者工具的 Lighthouse 工具对目标站点的某个页面进行分析,其生成的报告如图所示: 由分析报告可知,该目标站点存在多项待优化的性能问题,如减少未使用的 JavaScript 和采用高效的缓存策略提供静态资 ......
前端 缓存 静态 性能 策略

从0搭建Vue3组件库(三): 组件库的环境配置

本篇文章将在项目中引入 typescript,以及手动搭建一个用于测试组件库组件 Vue3 项目 因为我们是使用 Vite+Ts 开发的是 Vue3 组件库,所以我们需要安装 typescript、vue3,同时项目将采用 Less 进行组件库样式的管理 pnpm add vue@next type ......
组件 环境 Vue3 Vue

JavaMail 邮件发送,有意思的附件名乱码 → 客户端正常,web端乱码

开心一刻 昨晚,媳妇很感伤的看着我 媳妇:以后岁数大了,我要走你前面去了,你再找个老伴 我:我不想找 媳妇:你找一个,不用替我守着,以后你说你头疼发烧,也得有个给你端水递药的呀 媳妇抹着眼泪:到老是个伴 我:我想找个年轻的 现在我左脸还有一个掌印,火辣辣的 问题背景 基于 JavaMail 1.5. ......
乱码 客户端 JavaMail 附件 邮件

消息队列中间件的选型与比较

消息队列是一种重要的分布式系统组件,可用于异步通信、削峰填谷、解耦系统、数据缓存等多个方面。在选择消息队列时,需要考虑诸多因素,包括性能、可靠性、可用性、扩展性、可维护性、社区支持等等。 一、MQ介绍 1. Kafka Kafka 是一种高吞吐量、分布式的消息队列系统。它以日志为基础,支持高吞吐量、 ......
队列 中间件 消息