结构型-代理模式

定义 代理是一个中间者的角色,如生活中的中介,出于种种考虑/限制,一个对象不能直接访问另一个对象,需要一个第三者(中间代理)牵线搭桥从而间接达到访问目的,这样的就是代理模式。 es6 中的代理 es6 的 proxy 就是上面说的代理模式的实现,es6 帮我们在语法层面提供了这个新的api,让我们可

行为型:发布订阅模式

定义 发布订阅模式是基于一个事件(主题)通道,希望接收通知的对象Subscriber (订阅者)通过自定义事件订阅主题,被激活事件的对象 Publisher (发布者)通过发布主题事件的方式通知订阅者 Subscriber (订阅者)对象。 简单说就是发布者与订阅者通过事件来通信,这里的发布者是之前

聊一聊如何截获 C# 程序产生的日志

一:背景 1.讲故事 前段时间分析了一个dump,一顿操作之后,我希望用外力来阻止程序内部对某一个com组件的调用,对,就是想借助外力实现,如果用 windbg 的话,可以说非常轻松,但现实情况比较复杂,客户机没有windbg,也不想加入任何的手工配置,希望全自动化来处理。 真的很无理哈。。。不过这

记一次 .NET 某安全生产信息系统 CPU爆高分析

一:背景 1.讲故事 今天是🐏的第四天,头终于不巨疼了,写文章已经没什么问题,赶紧爬起来写。 这个月初有位朋友找到我,说他的程序出现了CPU爆高,让我帮忙看下怎么回事,简单分析了下有两点比较有意思。 这是一个安全生产的信息管理平台,第一次听说,我的格局小了。 这是一个经典的 CPU 爆高问题,过往

记一次 .NET 某车零件MES系统 登录异常分析

一:背景 1. 讲故事 这个案例有点特殊,以前dump分析都是和软件工程师打交道,这次和非业内人士交流,隔行如隔山,从指导dump怎么抓到问题解决,需要一个强大的耐心。 前几天有位朋友在微信上找到我,说他们公司采购的MES系统登录的时候出现了异常,让我帮忙看一下,我在想解铃还须系铃人,怎么的也不应该

记一次 Visual Studio 2022 卡死分析

一:背景 1. 讲故事 最近不知道咋了,各种程序有问题都寻上我了,你说 .NET 程序有问题找我能理解,Windows 崩溃找我,我也可以试试看,毕竟对 Windows 内核也知道一丢丢,那 Visual Studio 有问题找我就说不过去了,但又不好拒绝,就让朋友发下卡死的 dump 我看一看。

浅聊一下 C#程序的 内存映射文件 玩法

## 一:背景 ### 1. 讲故事 前段时间训练营里有朋友问 `内存映射文件` 是怎么玩的?说实话这东西理论我相信很多朋友都知道,就是将文件映射到进程的虚拟地址,说起来很容易,那如何让大家眼见为实呢?可能会难倒很多人,所以这篇我以自己的认知尝试让大家眼见为实。 ## 二:如何眼见为实 ### 1.

PerfView专题 (第十三篇):洞察 .NET程序 的非托管句柄泄露

## 一:背景 ### 1. 讲故事 前几天写了一篇 `如何洞察 .NET程序 非托管句柄泄露` 的文章,文中使用 WinDbg 的 `!htrace` 命令实现了句柄泄露的洞察,在文末我也说了,WinDbg 是以侵入式的方式解决了这个问题,在生产环境中大多数情况下是不能走附加进程的模式,所以这也是

Python常见面试题008. 谈谈python中的解包

008. 谈谈python中的解包 这是个简单的知识点,但有的学员并不理解 unpacking解包 解,对应的是*或者**,也有自动解包之说 包对应的可迭代对象 自动解包 赋值的demo a,b = [1,2] print(a) # 1 print(b) # 2 将容器里面的元素逐个取出来分别赋值

项目实战:在线报价采购系统(React +SpreadJS+Echarts)

小伙伴们对采购系统肯定不陌生,小到出差路费、部门物资采购;大到生产计划、原料成本预估都会涉及到该系统。 管理人员可以通过采购系统减少管理成本,说是管理利器毫不过分,对于采购的效率提升也有极大帮助。 但是对于大多数制造业企业而言,具有企业级整体视角的管理人才仍然难得,系统化的思考方式、解决复杂业务管理

快速绘制流程图「GitHub 热点速览 v.22.47」

画流程图一直是研发的一个难题,如何画得通俗易懂已经够让人头疼了,还要美观大方。用 d2 的语法描述下流程,d2 会自动帮你生成一张配色极佳的流程图。说到研发的选择,本周特推的 choiceof.dev 罗列了众多开发过程中会遇到的选项,你可以自测下你同主流研发的契合度。 本周周榜呢,有监控网络流量的

是时候,升级你的 Windows 了「GitHub 热点速览」

不知道多少小伙伴用着 Windows 操作系统,可能会有一个烦恼是有时候操作系统过慢,因为众多拖慢 Windows 系统的组件。Atlas 作为一个修改版的 Windows 系统,能极大提高操作系统运行效率。说到升级,除了 Atlas 之外,还有主打内存安全的 sudo 升级版 sudo-rs,以及

算法学习笔记(3): 倍增与ST算法

倍增 目录倍增查找 洛谷P2249重点变式练习快速幂ST表扩展 - 运算扩展 - 区间变式答案倍增更多的用法优化矩形查询优化建图优化 DP作者有话说 倍增,字面意思即”成倍增长“ 他与二分十分类似,都是基于”2“的划分思想 那么具体是怎么样,我们以一个例子来看 查找 洛谷P2249 依据题面,我们知

从零做软件开发项目系列之四——数据库设计

前言 在对软件进行设计的过程中,数据库的设计是一项重要的内容,软件中主要的处理对象就是各类业务数据,通过对业务数据的处理,实现各种功能。我们经常说的,写程序,说到底就是增删改查,而增删改查的对象就是各种数据。数据都存储在数据库中,其重要性不言而喻,对于数据库的设计也是软件设计的一个重要基础。 1 数

Java多线程-线程生命周期(一)

如果要问我Java当中最难的部分是什么?最有意思的部分是什么?最多人讨论的部分是什么?那我会毫不犹豫地说:多线程。 Java多线程说它难,也不难,就是有点绕;说它简单,也不简单,需要理解的概念很多,尤其是很多底层知识,如数据结构、操作系统的部分。 Java多线程掌握得好,不仅仅只是对Java,对任何

程序员买啥游戏机,自己动手做一个体感小游戏

摘要:结合一个仿制的简易Flappy Bird游戏,ModelBox体感小游戏就这样诞生了。 本文分享自华为云社区《ModelBox开发案例 - 体感小游戏》,作者:菊厂飞戈。 前段时间,小鱼老师在AI说发布了文章 ModelBox推理真的高效吗,里面介绍了双阶段单人人体关键点检测案例,运行速度超快

ModelBox姿态匹配:抖抖手动动脚勤做深呼吸

摘要:本案例使用Windows版本的ModelBox SDK进行二次开发,主要是针对姿态匹配案例开发实践。 本文分享自华为云社区《姿态匹配:抖抖手动动脚勤做深呼吸》,作者:吴小鱼。 在之前发布的AI说ModelBox推理真的高效吗一文中,我们使用双阶段单人人体关键点检测作为案例对比测试了ModelB

详解事务模式和Lua脚本,带你吃透Redis 事务

摘要:Redis事务包含两种模式:事务模式和Lua脚本。 本文分享自华为云社区《一文讲透 Redis 事务》,作者: 勇哥java实战分享。 准确的讲,Redis事务包含两种模式:事务模式和Lua脚本。 先说结论: Redis的事务模式具备如下特点: 保证隔离性; 无法保证持久性; 具备了一定的原子

产品质量管理利器,华为云发布CodeArts Defect缺陷管理服务

摘要:近日,华为云CodeArts Defect缺陷管理服务正式上线,提供结构化缺陷跟踪流程和标准化的质量度量模型。 本文分享自华为云社区《产品质量管理利器,华为云发布CodeArts Defect缺陷管理服务》,作者:华为云头条 。 美国管理学家彼得曾经说过,“决定水桶盛水量多少的关键因素不是其最

为什么MySQL单表不能超过2000万行?

摘要:MySQL一张表最多能存多少数据? 本文分享自华为云社区《为什么MySQL单表不能超过2000万行?》,作者: GaussDB 数据库 。 最近看到一篇《我说MySQL每张表最好不要超过2000万数据,面试官让我回去等通知》的文章,非常有趣。 文中提到,他朋友在面试的过程中说,自己的工作就是把