译 通过自动反编译和外部源提升调试

Ubuntu18.04编译ZLMediakit支持webrtc

背景 最近在做流媒体相关的一些东西, 比较了一些开源的流媒体服务, 目前 srs 和 ZlmediaKit 项目是评价比较高的, 今天主要在 Ubuntu18.04 上编译 ZlmediaKit, 并支持 webrtc 协议. 准备 源码准备 下载 zlmediakit 源码及其依赖组件源码. gi ......
ZLMediakit Ubuntu webrtc 18.04 18

C# HttpClient使用和注意事项,.NET Framework连接池并发限制

System.Net.Http.HttpClient 类用于发送 HTTP 请求以及从 URI 所标识的资源接收 HTTP 响应。 HttpClient 实例是应用于该实例执行的所有请求的设置集合,每个实例使用自身的连接池,该池将其请求与其他请求隔离开来。 从 .NET Core 2.1 开始,So ......
HttpClient Framework 注意事项 事项 NET

【译】.NET 7 中的性能改进(一)

原文 | Stephen Toub 翻译 | 郑子铭 一年前,我发布了.NET 6 中的性能改进,紧接着是.NET 5、.NET Core 3.0、.NET Core 2.1和.NET Core 2.0的类似帖子。我喜欢写这些帖子,也喜欢阅读开发人员对它们的回复。去年的一条评论特别引起了我的共鸣。评 ......
性能 NET

【译】.NET 7 中的性能改进(二)

原文 | Stephen Toub 翻译 | 郑子铭 堆栈替换 (On-Stack Replacement) 堆栈替换 (OSR) 是 .NET 7 中最酷的 JIT 功能之一。但要真正了解 OSR,我们首先需要了解分层编译 (tiered compilation),所以快速回顾一下…… 具有 JI ......
性能 NET

【译】.NET 7 中的性能改进(三)

原文 | Stephen Toub 翻译 | 郑子铭 PGO 我在我的 .NET 6 性能改进一文中写了关于配置文件引导优化 (profile-guided optimization) (PGO) 的文章,但我将在此处再次介绍它,因为它已经看到了 .NET 7 的大量改进。 PGO 已经存在了很长时 ......
性能 NET

【译】.NET 7 中的性能改进(四)

原文 | Stephen Toub 翻译 | 郑子铭 边界检查消除 (Bounds Check Elimination) 让.NET吸引人的地方之一是它的安全性。运行时保护对数组、字符串和跨度的访问,这样你就不会因为走到任何一端而意外地破坏内存;如果你这样做,而不是读/写任意的内存,你会得到异常。当 ......
性能 NET

【译】.NET 7 中的性能改进(五)

原文 | Stephen Toub 翻译 | 郑子铭 循环提升和克隆 (Loop Hoisting and Cloning) 我们之前看到PGO是如何与循环提升和克隆互动的,这些优化也有其他改进。 从历史上看,JIT对提升的支持仅限于将一个不变量提升到一个层级。 考虑一下这个例子: [Benchma ......
性能 NET

【译】.NET 7 中的性能改进(六)

原文 | Stephen Toub 翻译 | 郑子铭 矢量化 (Vectorization) SIMD,即单指令多数据 (Single Instruction Multiple Data),是一种处理方式,其中一条指令同时适用于多条数据。你有一个数字列表,你想找到一个特定值的索引?你可以在列表中一次 ......
性能 NET

【译】.NET 7 中的性能改进(七)

原文 | Stephen Toub 翻译 | 郑子铭 Arm64 在.NET 7中,大量的努力用于使Arm64的代码生成与x64的代码生成一样好或更好。我已经讨论了一些与架构无关的PR,还有一些是专门针对Arm的,但还有很多。我们来列举其中的一些。 寻址模式 (Addressing modes) " ......
性能 NET

【译】使用 ML.NET 进行机器学习 - 集群完整指南

原文 | Nikola M. Zivkovic 翻译 | 郑子铭 在之前的几篇文章中,我们探索了一些基本的机器学习算法。到目前为止,我们介绍了一些简单的回归算法,分类 算法。我们使用 ML.NET 实现和应用这些算法。到目前为止,我们探索了使用监督学习的算法。这意味着我们始终拥有用于训练机器学习模型 ......
集群 机器 指南 NET ML

Windows下x86和x64平台的Inline Hook介绍

Windows下Inline Hook技术可以用来拦截一个指定的函数,并使其跳转到指定的地址执行相应的程序,从而实现某种想要的效果,本文介绍了x86和x64平台下Inline Hook的原理和基本使用方法,着重于x64下可行的方案,以及适用于多线程的方法。 ......
Windows Inline 平台 Hook x86

高复用性自动化脚本设计实践

作者:京东物流 刘红妍 导读: 在自动化测试实践中,为了更好的契合被测业务场景,需要不断优化框架分层结构。本文结合产品模块化思路,意在介绍通过策略模式改造原本复杂分支语句代码,通过理论讲解、思路分析、方案设计、及代码演示,提供自动化脚本重构的落地方案。 在今年的敏捷团队建设中,我通过Suite执行器 ......
脚本

国际财务系统基于ShardingSphere的数据分片和一主多从实践

作者:京东物流 张广治 1 背景 传统的将数据集中存储至单一数据节点的解决方案,在性能和可用性方面已经难于满足海量数据的场景,系统最大的瓶颈在于单个节点读写性能,许多的资源受到单机的限制,例如连接数、网络IO、磁盘IO等,从而导致它的并发能力不高,对于高并发的要求不满足。 每到月初国际财务系统压力巨 ......

vue原理:diff、模板编译、渲染过程等

一、虚拟DOM: 因为DOM操作非常消耗性能,在操作DOM时,会出现DOM的回流(Reflow:元素大小或者位置发生改变)与重绘(元素样式的改变)使DOM重新渲染。 现在的框架Vue和React很少直接操作DOM,因为两者都是数据驱动视图,只会对数据进行增删改的操作 因此,二者使用虚拟DOM(vdo ......
原理 模板 过程 diff vue

C# 委托原理、事件原理刨析和对比

C# 委托原理刨析,和事件原理刨析,外加两者对比,应该是目前全网讲的最细的帖子了吧。从委托介绍=》基本使用=》框架应用=》原理分析=》事件原理分析=》两者对比 ......
原理 事件

OPENMP FOR CONSTRUCT GUIDED 调度方式实现原理和源码分析

OPENMP FOR CONSTRUCT GUIDED 调度方式实现原理和源码分析 前言 在本篇文章当中主要给大家介绍在 OpenMP 当中 guided 调度方式的实现原理。这个调度方式其实和 dynamic 调度方式非常相似的,从编译器角度来说基本上是一样的,在本篇文章当中就不介绍一些相关的必备 ......
CONSTRUCT 源码 原理 方式 OPENMP

Android 分区和内存监控

Android 分区和内存监控 Andorid之所以是分区,是因为各自有对应的功能和用途的考量,可以进行单独读写和格式化。 Android 设备包含两类分区: 一类是启动分区,对启动过程至关重要。 一类是用户分区,用于存储与启动无关的信息。 启动分区 boot 分区 一般的嵌入式Linux的设备中. ......
内存 Android

关于低代码和无代码---喧嚣背后的致命问题

前言 2021年的时候,刮起了一阵”低代码”和”无代码”的风,结果猪没见吹起来,风却早早停了。 在我的职业生涯中遇到了很多的低代码的构想和实现,通常他们的想法非常朴素:写代码写烦了!或者是觉得增删改查代码太没有价值,又太有规律,于是就想着用工具解决劳动重复的问题。 如果你也是这样觉得,首先还是要表扬 ......
代码 背后 问题

javaWeb03-请求转发和请求重定向【包含编码格式与路径问题】

本文主要讲述javaWeb的请求转发和请求重定向的区别 一. 请求转发 1. 图解 2. 代码示例 Servlet1的代码示例如下 public class Servlet1 extends HttpServlet { @Override protected void doGet(HttpServl ......
路径 编码 javaWeb 格式 问题

多个仓库源配置及repositories和mirrors的配置

在实际项目中会存在多个仓库,包括我们自建的Nexus私有仓库和阿里仓,这里就需要设置多仓的顺序,防止jar包不在其中一个仓库时会自动从另外一个仓库中拉取。 Maven的Setting配置中有mirror和repository,它们的作用都是配置远程maven仓库的地址。repository就是直接配 ......
repositories 仓库 多个 mirrors

Vue3 企业级优雅实战 - 组件库框架 - 11 组件库的打包构建和发布

回顾第一篇文章中谈到的组件库的几个方面,只剩下最后的、也是最重要的组件库的打包构建、本地发布、远程发布了。 1 组件库构建 组件库的入口是 packages/yyg-demo-ui,构建组件库有两个步骤: 添加 TypeScript 的配置文件: tsconfig.json 添加 vite.conf ......
组件 实战 框架 企业 Vue3

数据库系列:MySQL慢查询分析和性能优化

1 背景 我们的业务服务随着功能规模扩大,用户量扩增,流量的不断的增长,经常会遇到一个问题,就是数据存储服务响应变慢。 导致数据库服务变慢的诱因很多,而RD最重要的工作之一就是找到问题并解决问题。 下面以MySQL为例子,我们从几个角度分析可能产生原因,并讨论解决的方案。 2 定位慢查询的原因并优化 ......
性能 数据库 数据 MySQL

Java线程池中的execute和submit

一、概述 execute和submit都是线程池中执行任务的方法。 execute是Executor接口中的方法 public interface Executor { void execute(Runnable command); } submit是ExecuteService接口中的方法。 pu ......
线程 execute submit Java

Spring异步Async和事务Transactional注解

Spring开发中我们我们常常用到@Transaction和@Async,但这2个注解加在一起很多的开发者不敢用,担心事务不生效。下面我们就仔细讲解一下这2个注解同时运用,文章用3个场景讲述它们之间的运用,相信看完本篇文章你就能灵活运用这2个注解了。 场景一:@Async + @Transactio ......
注解 Transactional 事务 Spring Async

和ChatGPT聊了一会天它的学习反映能力惊呆了我

我:用java写一段玫瑰花 ChatGPT:您可以使用 Java 绘制玫瑰花。以下是一段代码: import java.awt.*; import javax.swing.*; public class Rose extends JFrame { private int n = 8; public ......
ChatGPT 能力

不用Blazor WebAssembly,开发在浏览器端编译和运行C#代码的网站

本文中,我将会为大家分享一个如何用.NET技术开发“在浏览器端编译和运行C#代码的工具”,核心的技术就是用C#编写不依赖于Blazor框架的WebAssembly以及Roslyn技术。 一、 为什么要开发这样的工具? 对于编程初学者来讲,开发环境的安装配置是一个令人头疼的事情,如果能让初学者不用做任 ......
WebAssembly 浏览器 不用 代码 Blazor

通过一个示例形象地理解C# async await异步

前言 相信大家看过不少讲C# async await的文章,博客园就能搜到很多,但还是有很多C#程序员不明白。 如果搞不明白,其实也不影响使用。但有人就会疑惑,为什么要用异步?我感觉它更慢了,跟同步有啥区别? 有的人研究深入,比如去研究状态机,可能会明白其中的原理。但深入研究的毕竟少数。有的人写一些 ......
示例 形象 async await

通过一个示例形象地理解C# async await 非并行异步、并行异步、并行异步的并发量控制

前言 接上一篇 通过一个示例形象地理解C# async await异步 我在 .NET与大数据 中吐槽前同事在双层循环体中(肯定是单线程了)频繁请求es,导致接口的总耗时很长。这不能怪前同事,确实难写,会使代码复杂度增加。 评论区有人说他的理解是使用异步增加了系统吞吐能力,这个理解是正确的,但对于单 ......
示例 形象 async await

python实战-基于正交实验(工具:allpairs)自动生成接口异常测试用例

#代码以上传github,欢迎使用 https://github.com/qtclm/allpairs_interface_test_case_generate_abnormity_utils 有啥问题建议或者bug啥的可以加我qq一起交流学习,248313385 #更新日志 2023.2.7:修复 ......
正交 自动生成 实战 allpairs 接口

关于微服务的一些总结和经验之谈,来看看你都了解吗

一 谈谈对微服务的理解 1. 什么微服务? 微服务是一种软件开发技术- 面向服务的体系结构(SOA)架构样式的一种变体,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。 每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP ......
经验