全场景流量验证系统

本文介绍了一种基于线上流量实现对重构系统进行功能和性能验证的实践方案。针对线上流量如何拦截、如何录制、如何存储、如何回放以及如何发压均作了详细说明,为具有类似需求的读者提供了一种可供参考的思路。

基于SqlSugar的开发框架循序渐进介绍(31)-- 在查询接口中实现多表联合和单表对象的统一处理

在一些复杂的业务表中间查询数据,有时候操作会比较复杂一些,不过基于SqlSugar的相关操作,处理的代码会比较简单一些,以前我在随笔《基于SqlSugar的开发框架循序渐进介绍(2)-- 基于中间表的查询处理》介绍过基于主表和中间表的联合查询,而往往实际会比这个会复杂一些。本篇随笔介绍联合多个表进行查询以及树形列表的条件展示的处理实现,系统能够给大家一些参考思路。

创建型:工厂模式-工厂方法、抽象工厂

简单工厂问题 简单工厂中我们通过参数来返回不同的产品对象,如果管理的对象过多,这个工厂函数会比较庞大,且当我们需要增加一个新的产品时,需要修改这个工厂方法,违反开闭原则(对拓展开放,对修改关闭)。 为了解决简单工厂模式的问题,出现了工厂方法模式。 解决简单工厂思路 简单工厂类图关系类似如下: 如上图

聊一聊 WPF 程序的键盘是如何被窃听的?

一:背景 1.讲故事 前几天群里很热闹,看了下在争论两个问题: 电脑里要不要装杀毒软件 ? 应该装什么杀毒软件 ? 不管杀毒软件流氓不流氓,在如今病毒肆虐的当下互联网,装一个还是能帮我们拦截很多意想不到的东西,为了眼见为实,这一篇我们就聊一个窃听 键盘事件 的恶意代码。 2. 思路 实现思路非常简单

一文帮你搞定H5、小程序、Taro长列表曝光埋点

对于各种类型的埋点来说,曝光埋点往往最为复杂、需要用到的技术也最全面、如果实现方式不合理可能造成的影响也最大,因此本文将重点介绍曝光埋点尤其是长列表(或滚动视图)内元素曝光埋点的实现思路及避坑技巧

零拷贝技术:减少数据复制和上下文切换,提高网络传输效率(上)

在本次讨论中,我们确实只是提到了DMA技术在文件传输过程中的重要作用,并对零拷贝技术进行了简要介绍。然而,网络传输中存在的问题和优化方法是一个庞大的话题,涉及到诸多方面。因此,我决定将这些问题的详细讨论留到下一篇文章中,以便更全面地探讨网络传输的优化。我希望通过这样的讨论,能够为读者提供有益的信息和思路,感谢大家的阅读和关注,期待在下一篇文章中与大家再次交流和分享关于网络传输的优化问题。

年会抽奖实现

最近接手的项目中要新增一个抽奖功能,场景类似年会上的抽奖,触发抽奖的只有一个动作,不存在多线程操作导致所抽奖品已经被抽完的情况。简单来说,就是不存在需要锁的场景,也不存在数据同步的情况。 这种场景的抽奖是最容易实现的,我这里的实现思路就是首先获取参与抽奖的总数,然后根据奖品数量生成几个随机数来确定中

突破自我认知的壁垒

从之前非常迷茫到现在慢慢变清晰,其实我发现很多时候看似难以逾越的问题下要突破自我认知的壁垒,需要你有打破了重建的自我革命精神!你所看到的世界并不一定是真实的世界,都是在自我认知固化和以你的生活为蓝本的大数据编织的信息茧房中,就如同黑客帝国中的Matix一样,现实迷茫的时候你必须要突破自己的理解误区。

使用Github Action来辅助项目管理

Github action 是一个Github官方提供的非常流行且速度集成 持续集成和持续交付(CI/CD)的工具。它允许你在GitHub仓库中自动化、定制和执行你的软件开发工作流。你可以发现、创建和分享用于执行任何你想要的工作的操作,包括CI/CD,并在完全定制的工作流中组合操作。 持续集成需要做

迷茫中翻滚

最近真的是忙疯了,面对着裁员和失业浪潮,我和别人走的是不同的路线,同事们其实已经被市场打脸到不行!什么情怀 人文关怀,企业文化,在现实面前都不值得一击。但是我总是无数次问我自己,当初入行的时候你的初心是什么?成为一个技术超群的程序猿,后来呢?我想着给自己构建了一个蓝图,我要在一家企业一直成长五年,直

[转帖]思科、华为、H3C交换机巡检命令大全

https://zhuanlan.zhihu.com/p/590598096 思科交换机巡检命令 1、show interface stats:查看交换机所有接口当前接口流量 2、show running-config:查看当前设备配置 3、show version:查看IOS版本信息及设备正常运行

#AI 1分钟学会,利用AI制作思维导图 (NewBing&X-Mind )

思维导图是一种有效的思考和学习工具,它可以帮助你整理和呈现信息,激发你的创造力和记忆力。但是,传统的思维导图软件往往需要你花费大量的时间和精力来设计和绘制,而且难以修改和分享。有没有一种更简单和智能的方式来制作思维导图呢? 答案是肯定的,那就是利用newbing。newbing是微软推出的一款基于G

go defer简介

思考 开始之前,先考虑下下面的代码的执行结果: package main import "fmt" func test() int { i := 0 defer func() { fmt.Println("defer1") }() defer func() { i += 1 fmt.Println(

用【游乐场】说清楚“硬件、操作系统、跨平台、应用软件、开发语言、代码”的关系

经常有小伙伴对一些计算机技术和概念不太清楚,产生很多误区,甚至张冠李戴,在一起聊天时又很难给对方解释清楚,经过苦思冥想,终于想到一些比喻,能够很好地阐述了“硬件、操作系统、跨平台、应用软件、开发语言、代码”之间的关系。 硬件 陆地(Intel)与海洋(AMD):硬件就像是一个广阔的自然环境,其中In

Redis 分布式锁

Redis 分布式锁 分布式锁的演变 本地锁(单机用) 利用redis进行分布式锁 使用 set 防止死锁 加过期时间 使用 setnx 防止A请求未执行完 锁过期删除 B请求加锁后 A完成后误删该锁 使用 Hash结构, 规定每个请求只能删除自己的锁 保证并发安全,申请锁和加过期时间需要 原子性,

将设计思维应用于人工智能

选择正确的项目管理方法对于您的项目开发至关重要。它将帮助您避免错误,加速整个过程,并支持发现目标群体的问题。只有在深入了解目标群体的需求后,您才能制定解决他们问题的解决方案。人工智能正在成为我们生活中更大、更重要的一部分。基于人工智能的产品和服务将无处不在,从 自动驾驶汽车到Siri等语音助手。设计

固定型思维 VS 成长型思维

回顾进入职场工作以来,对比曾经的学生时代,如果让我讲一个对自己影响最大的改变,那就是思维模式的一个转变。 具体来说,就是从一个典型的固定型思维转变成一个具备有成长型思维的人。 当然,我不敢妄称自己已经是全面的成长型思维,但我的的确确已经意识到成长型思维的好处。 最起码,我可以不再像曾经学生时代的那个

#Powerbi 1分钟学会,RANK函数,多字段排名函数.

一:思维导图&数据源示例 1.1思维导图 1.2示例数据源 二:参数构成 三:案例度量值 基础度量值 总销量 = CALCULATE(SUM('数据源'[销量])) 总销售额 = CALCULATE(SUM('数据源'[销售额])) RANK度量值 RANK排名 = RANK( MAKE BY SI

架构与思维:熔断限流的一些使用场景

1 前言 在《微服务系列》中,我们讲过很多限流,熔断相关的知识。 老生长谈的一个话题,服务的能力终归是有限的,无论是内存、CPU、线程数都是,如果遇到突如其来的峰量请求,我们怎么友好的使用限流来进行落地,避免整个服务集群的雪崩。 峰量请求主要有两种场景: 1.1 突发高峰照成的服务雪崩 如果你的服务

架构与思维:再聊缓存击穿,面试是一场博弈

1 介绍 在之前的一篇文章《一次缓存雪崩的灾难复盘》中,我们比较清晰的描述了缓存雪崩、穿透、击穿的各自特征和解决方案,想详细了解的可以移步。 最近在配合HR筛选候选人,作为大厂的业务方向负责人,招人主要也是我们自己团队在用,而缓存是必不可少的面试选项之一。下面我们就来聊一聊在特定业务场景下缓存击穿和