负载均衡和反向代理的区别

为什么 Random.Shared 是线程安全的

在多线程环境中使用 Random 类来生成伪随机数时,很容易出现线程安全问题。例如,当多个线程同时调用 Next 方法时,可能会出现种子被意外修改的情况,导致生成的伪随机数不符合预期。 为了避免这种情况,.NET 框架引入了 Random.Shared 属性。它返回一个特殊的 Random 实例,可 ......
线程 Random Shared

实现 .Net 7 下的数据库定时检查

在软件开发过程中,有时候我们需要定时地检查数据库中的数据,并在发现新增数据时触发一个动作。为了实现这个需求,我们在 .Net 7 下进行一次简单的演示。 PeriodicTimer .Net 6 中新增了 PeriodicTimer 这个类,它可以用来创建一个定时器,以固定间隔的时间调用回调函数。使 ......
数据库 数据 Net

本地同时启停多个中间件的优雅方案

"I don’t care if it works on your machine! We are not shipping your machine!" - Vidiu Platon “我才不管它能不能在你的机器上运行捏!我们又不会给你提供机器!” —— 韦都·柏拉图 0x00 大纲 0x01 前 ......
中间件 多个 同时 方案

为什么总是应该考虑给定 List 的初始大小

在 .Net 技术中,使用 List<> 来存储数据是很常见的。List<> 是一个可以动态增长的泛型集合类型,可以存储任何类型的数据。 但是,在实际使用中,很多人并不注意给定 List<> 的初始大小,导致在数据量较大时,List<> 的性能可能不尽如人意。 代码示例 下面,我们以一个简单的代码示 ......
大小 List

Chaos 测试下的若干 NebulaGraph Raft 问题分析

作为分布式系统的基石 Raft 有非常明显的优势,但这也伴随着不小的挑战 —— Raft 算法的实现及其容易出错,同时算法的测试和调试也是一项巨大的挑战。NebulaGraph 目前使用的是自研的 Raft,鉴于 Raft 本身的复杂性我们构造了诸多 Chaos 测试来保障 NebulaGraph ... ......
NebulaGraph 问题 Chaos Raft

动态更改Spring定时任务Cron表达式的优雅方案

"Most of you are familiar with the virtues of a programmer. There are three, of course: laziness, impatience, and hubris." - Larry Wall “程序员的美德:懒惰,不耐烦 ......
表达式 任务 方案 动态 Spring

一次不太成功的内网部署视屏会议系统预研

Jitsi Meet 背景 接到一个任务,想在公司内网搭建一个视频会议系统,用于公司内部或与分公司交流,需要内网部署,最好是开源免费。 项目定位 查找了如下几个项目: tailchat-meeting - https://github.com/msgbyte/tailchat-meeting sta ......
视屏 会议系统 会议 系统

使用 System.Text.Json 时,如何处理 Dictionary 中 Key 为自定义类型的问题

在使用 System.Text.Json 进行 JSON 序列化和反序列化操作时,我们会遇到一个问题:如何处理字典中的 Key 为自定义类型的问题。 背景说明 例如,我们有如下代码: // 定义一个自定义类型 public class CustomType { public int Id { get ......
Dictionary 类型 System 问题 Json

作者推荐 | 【分布式技术专题】「架构设计方案」图解学习法总结集群模式下的各种软负载均衡策略实现及原理分析

通常来说,负载均衡分为硬件负载均衡及软件负载均衡。硬件负载均衡,顾名思义,在服务器节点之间安装专门的硬件进行负载均衡的工作,F5或者A10便为其中的佼佼者。软件负载均衡则是通过在服务器上安装的特定的负载均衡软件或是自带负载均衡模块完成对请求的分配派发。例如,平时我们使用的Nginx或者API-Gat... ......
分布式 集群 架构 原理 策略

【Java难点攻克】「NIO和内存映射性能提升系列」彻底透析NIO底层的内存映射机制原理与Direct Memory的关系

Java类库中的NIO包相对于IO包来说有一个新功能就是 【内存映射文件】,在业务层面的日常开发过程中并不是经常会使用,但是一旦在处理大文件时是比较理想的提高效率的手段,之前已经在基于API和开发实战角度介绍了相关的大文件读取以及NIO操作的实现,而本文主要想结合操作系统(OS)底层中相关方面的内容... ......
内存 难点 底层 NIO 原理

【分布式技术专题】「架构设计方案」盘点和总结秒杀服务的功能设计及注意事项技术体系

分析秒杀的业务场景,最重要的有一点就是超卖问题,假如备货只有100个,但是最终超卖了200,一般来讲秒杀系统的价格都比较低,如果超卖将严重影响公司的财产利益,因此首当其冲的就是解决商品的超卖问题。 ......
技术 分布式 架构 注意事项 事项

深度剖析 | 【JVM深层系列】[HotSpotVM研究系列] JVM调优的"标准参数"的各种陷阱和坑点分析(攻克盲点及混淆点)「 1 」

相信大多数人的理解是Major GC只针对老年代,Full GC会先触发一次Minor GC,不知对否?我参考了R大的分析和介绍,总结了一下相关的说明和分析结论。 ......
盲点 quot 深层 JVM HotSpotVM

Python开发Brup插件检测SSRF漏洞和URL跳转

作者:馒头,博客地址:https://www.cnblogs.com/mantou0/ 出身: 作为一名安全人员,工具的使用是必不可少的,有时候开发一些自己用的小工具在渗透时能事半功倍。在平常的渗透测试中和SRC漏洞挖掘中Brupsuite使用的比较多的于是我有了一个小想法。 思路: 1、在服务器上 ......
漏洞 插件 Python Brup SSRF

二叉树的遍历

1.二叉树的遍历 二叉树主要有两种遍历方式: 深度优先遍历:先往深走,遇到叶子节点再往回走。 前序遍历(递归法,迭代法) 中左右 中序遍历(递归法,迭代法) 左中右 后序遍历(递归法,迭代法) 左右中 广度优先遍历:一层一层的去遍历。 层次遍历(迭代法) 对比图可以理解一下遍历的过程,前中后序遍历涉 ......

基于MATLAB的人民币识别系统

1、选图背景 随着科技的发展,图像识别技术在计算机视觉领域起着越来越重要的作用,现已被应用到金融、军事、公安刑侦、生物医学、机器视觉等各个领域; 随着国民经济的快速发展,人民币大量流通市场,商业交易都离不开人民币; 开发出一种高效率、低成本、通用性强的人民币识别系统,能够减少大量的人力资源,提升资金 ......
人民币 MATLAB 人民 系统

.net core 中 WebApiClientCore的使用

WebApiClient 接口注册与选项 1 配置文件中配置HttpApiOptions选项 配置示例 "IUserApi": { "HttpHost": "http://www.webappiclient.com/", "UseParameterPropertyValidate": false, ......
WebApiClientCore core net

【秒杀购物商城业务服务】「分布式架构服务」盘点中间件服务的高可用模式及集群技术的方案分析

- 基于MySQL数据库集群技术实现服务的高可用 - 基于Tomcat的集群负载机制实现Tomcat服务器的高可用 - 基于Nginx负载均衡机制实现负载均衡(介绍和配置) - 基于Redis缓存服务实现数据缓存控制相关介绍和技术点分析 - 对未来的分布式技术架构扩展和延伸介绍(包含云原生部分) ......

工作5年的老程序员的年终总结

看了上篇的博客是2020年9月10号,已经两年多没写博客了,重新执笔开始写篇年终总结! 时间飞逝,已经毕业5年多,这一路经历太多了,这篇博客对整个经历进行复盘和总结。 经历 2017年坐着夜间绿皮硬座来到北京,运气还算不错一个多星期就找到了工作,工作第一年浑浑噩噩,然后经历了P2P暴雷,深受打击觉得 ......
程序员 程序

使用linux的ffmpeg进行B站直播推流

很久之前买了个友善的开发板R2S,一直在家吃灰。最近看到网上有用ffmpeg进行直播推流的案例,想把吃灰的的开发板利用起来,于是有了这篇教程。 第一步:安装ffmpeg sudo apt update sudo apt install ffmpeg 第二部分:创建用来存放视频的文件夹 这里我选择在/ ......
ffmpeg linux

究竟是谁负了谁,来自底层测试的2022年终总结

前言 说实话坐在椅子前,都想好了,该怎么去写,甚至感觉有好多要写的,但是当我坐在椅子上时,却不知道该怎么开头了,不知道是不是紧张?还是不舍?难道还没有跟过去挥手告别的勇气吗? 当然不是,只是在构思怎么能将自己的2022这一年完美呈现,结果越想越复杂了,所以还是不想了,不如即兴表达,写到哪算哪里,就算 ......
底层 2022

Selenium4+Python3系列(十二) - 测试框架的设计与开发

前言 自己从未没想过能使用python来做自动化测试框架的设计、开发。 可能有人会好奇说,六哥,你怎么也用python写测试框架了? 领导说: python你也没有实际工作经验,可能就是自己自学的。 听完,那一刻,我真的特别证明自己,我也行! 框架搭建 整个框架的实现,大约也就1.5天,关于框架的开 ......
Selenium4 框架 Selenium Python3 Python

微软出品自动化神器【Playwright+Java】系列(七) 之 元素的可操作性验证

前言 昨天在某平台发表了一篇这系列的文章,结果不但提示说有违禁词(java也算?),然后文章审核通过后,文章还找不到,不到去哪了,表示很郁闷,去反应未果,确实有点尴尬了。 元素的可操作性验证 关于API的命名,仅出自于我个人理解,旨在看的同学理解会用,感觉名字不好可以重写哈! 1、何为元素的可操作性 ......
可操作性 神器 Playwright 元素 Java

历时9个月重构iNeuOS工业互联网操作系统,打造工业领域的“Office”

历时9个月的时间,对iNeuOS工业互联网操作系统进行全面重构,发布内部测试版本。重构的主要目的:工程化的框架优化,更好的聚焦工业领域业务发展。重构也是保障产品能够可持续发展的重要手段,同时兼顾产品的安全性和稳定性。 ......
工业 领域 互联网 iNeuOS Office

【Spring专题】「开发指南」夯实实战基础功底之解读logback-spring.xml文件的详解实现

logback的maven配置 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>2.0.3</version> </dependency> <dependency> <grou ......

【深入浅出Spring原理及实战】「源码原理实战」从底层角度去分析研究PropertySourcesPlaceholderConfigurer的原理及实战注入机制

主要有一下xml文件占位符解析和Java的属性@Value的占位符解析配置这两种场景进行分析和实现解析,如下面两种案例。 ......

【JVM故障问题排查心得】「内存诊断系列」Docker容器经常被kill掉,k8s中该节点的pod也被驱赶,怎么分析?

我有一个在主机中运行的Docker容器(也有在同一主机中运行的其他容器)。该Docker容器中的应用程序将会计算数据和流式处理,这可能会消耗大量内存。 该容器会不时退出。我怀疑这是由于内存不足,但不是很确定。我需要找到根本原因的方法。那么有什么方法可以知道这个集装箱的死亡发生了什么? ......
节点 容器 故障 内存 心得

基于Unet+opencv实现天空对象的分割、替换和美化

传统图像处理算法进行“天空分割”存在精度问题且调参复杂,无法很好地应对云雾、阴霾等情况;本篇文章分享的“基于Unet+opencv实现天空对象的分割、替换和美化”,较好地解决了该问题,包括以下内容: 1、基于Unet语义分割的基本原理、环境构建、参数调节等 2、一种有效的天空分割数据集准备方法,并且... ......
对象 天空 opencv Unet

可视化编排的数据集成和分发开源框架Nifi轻松入门-上

如何你正在为数据采集做技术选型,今天介绍一款功能极其强大性能也高且采用可视化编排的数据集成框架nifi可以列入选型范畴,是数仓开发的强大工具之一,只要使用后就能体会到其丰富的处理器和扩展性。先了解其特性、核心概念和架构,也支持分布式集群,了解常见处理器分类,最后通过源码安装并使用两个简单的处理器演示... ......
框架 数据 Nifi

intel Pin:动态二进制插桩的安装和使用,以及如何开发一个自己的Pintool

先贴几个你可能用得上的链接 intel Pin的官方介绍Pin: Pin 3.21 User Guide (intel.com) intel Pin的API文档Pin: API Reference (intel.com) intel Pin的下载地址Pin - A Dynamic Binary In ......
二进制 Pintool 动态 intel Pin

Django框架:1、手撸web框架、Django框架简介、安装与使用和小白必会三板斧

Django框架 一、Django推导流程 1、纯手撸web框架 web框架本质 ​ web框架的本质就是socket服务端,用来连接前端(socket客户端)与数据库的中间介质 手写web框架 1.编写socket服务端代码 2.浏览器对服务端进行访问,访问响应无效>>>:HTTP协议 3.根据网 ......
框架 三板 三板斧 Django 简介