python入门基础(13)--类、对象、全局函数,类内部调用

面向过程的编程语言,如C语言,所使用的数据和函数之间是没有任何直接联系的,它们之间是通过函数调用提供参数的形式将数据传入函数进行处理。 但可能因为错误的传递参数、错误地修改了数据而导致程序出错,甚至是崩溃。当需要修改或维护程序时要从程序提供的一堆数据中去寻找和修改它,要扩展函数的功能,只能重新建立一

驱动开发:内核监控FileObject文件回调

本篇文章与上一篇文章`《驱动开发:内核注册并监控对象回调》`所使用的方式是一样的都是使用`ObRegisterCallbacks`注册回调事件,只不过上一篇博文中`LyShark`将回调结构体`OB_OPERATION_REGISTRATION`中的`ObjectType`填充为了`PsProcessType`和`PsThreadType`格式从而实现监控进程与线程,本章我们需要将该结构填充为`I

13.2 外部DirectX绘制实现

在前一节中我们简单介绍了D3D绘制窗体所具备的基本要素,本节将继续探索外部绘制技术的实现细节,并以此实现一些简单的图形绘制功能,首先外部绘制的核心原理是通过动态创建一个新的窗口并设置该窗口属性为透明无边框状态,通过消息循环机制实现对父窗口的动态跟随附着功能,当读者需要绘制新的图形时只需要绘制在透明窗体之上即可实现动态显示的效果。

[转帖]IOPS计算与典型的IO场景

https://blog.csdn.net/qq43748322/article/details/122344886?spm=1001.2014.3001.5502 首先需要知道I/O中读操作(Read)与写操作(Write)所占的百分比。然后通过下列公式,将主机的IOPS需求转换成硬盘实际IOPS

[转帖]一篇文章让你了解灾备指标:RPO与RTO

RTO 和 RPO 都是企业灾难恢复(Disaster Recovery, DR)需要考虑的关键指标,这两个指标可以用来指导企业来制定合适的业务系统服务或数据的恢复方案。 RPO(Recovery Point Objective):即数据恢复点目标,主要指的是业务系统所能容忍的数据丢失量。 如果以定

[转帖]Linux命令之ulimit命令

一、命令简介 ulimit是一个计算机命令,用于shell启动进程所占用的资源,可用于修改系统资源限制。使用ulimit命令用于临时修改资源限制,如果需要永久修改需要将设置写入配置文件/etc/security/limits.conf。 二、使用示例 1、查看当前资源限制设置 [root@test1

[转帖]【JVM】Java内存区域与OOM

引入 Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。 Java虚拟机运行时数据区 如图所示 1.程序计数器(线程私有) 作用 记录当前线程所执行到的字节码的行号。字节码解释器工作的时候就是通过改变这个计数器的值来选取下一条需要执行的字节

[转帖]【JVM】Java内存区域与OOM

引入 Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。 Java虚拟机运行时数据区 如图所示 1.程序计数器(线程私有) 作用 记录当前线程所执行到的字节码的行号。字节码解释器工作的时候就是通过改变这个计数器的值来选取下一条需要执行的字节

【转帖】一篇文章让你了解灾备指标:RPO与RTO

RTO 和 RPO 都是企业灾难恢复(Disaster Recovery, DR)需要考虑的关键指标,这两个指标可以用来指导企业来制定合适的业务系统服务或数据的恢复方案。 RPO(Recovery Point Objective):即数据恢复点目标,主要指的是业务系统所能容忍的数据丢失量。 如果以定

TiDB 底层存储结构 LSM 树原理介绍

随着数据量的增大,传统关系型数据库越来越不能满足对于海量数据存储的需求。对于分布式关系型数据库,我们了解其底层存储结构是非常重要的。本文将介绍下分布式关系型数据库 TiDB 所采用的底层存储结构 LSM 树的原理。

基于Java Swing和BouncyCastle的证书生成工具

"Almost no one will remember what he had just not interested." - Nobody “几乎没有人会记得他所丝毫不感兴趣的事情。” —— 佚名 0x00 大纲 目录0x00 大纲0x01 前言0x02 技术选型0x03 需求分析目标用户用户故

为什么有了 HTTP 还要 RPC

哈喽大家好,我是咸鱼 随着互联网技术的发展,分布式架构越来越被人们所采用。在分布式架构下,**为了实现复杂的业务逻辑,应用程序需要分布式通信实现远程调用** 而这时候就需要一种协议来支持远程过程调用,以便实现不同应用程序之间的数据交换和信息传递。其中常用的协议包括 HTTP 协议和 RPC 协议 H

驱动开发:文件微过滤驱动入门

MiniFilter 微过滤驱动是相对于`SFilter`传统过滤驱动而言的,传统文件过滤驱动相对来说较为复杂,且接口不清晰并不符合快速开发的需求,为了解决复杂的开发问题,微过滤驱动就此诞生,微过滤驱动在编写时更简单,多数`IRP`操作都由过滤管理器`(FilterManager或Fltmgr)`所接管,因为有了兼容层,所以在开发中不需要考虑底层`IRP`如何派发,更无需要考虑兼容性问题,用户只需

突破自我认知的壁垒

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

.NET下 支持大小写不敏感的JSON Schema验证方法

问题 有很多应用程序在验证JSON数据的时候用到了JSON Schema。 在微服务架构下,有时候各个微服务由于各种历史原因,它们所生成的数据对JSON Object属性名的大小写规则可能并不统一,它们需要消费的JSON数据的属性名可能需要大小写无关。 遗憾的是,目前的JSON Schema没有这方

Docker部署深度学习模型

Docker部署深度学习模型 基础概念 Docker Docker是一个打包、分发和运行应用程序的平台,允许将你的应用程序和应用程序所依赖的整个环境打包在一起。比如我有一个目标检测的项目,我想分享给朋友,那么他首先需要在自己的电脑上配置好显卡驱动、CUDA、CuDNN,在拿到我的项目后,还需要安装各

[转帖]【初探】java性能火焰图的生成

https://www.cnblogs.com/hama1993/p/10580581.html 一、前言 开始之前,你需要准备的环境: Linux系统机器或者虚拟机一台,里面需要安装的软件:git、jdk、perl。 二、简单介绍 java性能分析火焰图的所做的事情就是能够分析出java程序运行期

[转帖]【初探】java性能火焰图的生成

https://www.cnblogs.com/hama1993/p/10580581.html 一、前言 开始之前,你需要准备的环境: Linux系统机器或者虚拟机一台,里面需要安装的软件:git、jdk、perl。 二、简单介绍 java性能分析火焰图的所做的事情就是能够分析出java程序运行期

[转帖]软件的未来是无码

https://www.oschina.net/translate/the-future-of-software-is-no-code 早期的数字计算机不是很有用。当然,它们远比它们所取代的穿孔卡片制表机强大得多,但它们很难编程。指令需要用汇编代码编写,这很浪费时间,也很难。 John Backus

Boost程序库完全开发指南:1.1-C++基础知识点梳理

主要整理了N多年前(2010年)学习C++的时候开始总结的知识点,好长时间不写C++代码了,现在LLM量化和推理需要重新学习C++编程,看来出来混迟早要还的。 1.shared_ptr 解析:shared_ptr是一种计数指针,当引用计数变为0时,shared_ptr所指向的对象将会被删除。如下所示