自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 螺旋矩阵(中等)

用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。是将两个容器内的数据进行组合。

2024-04-01 21:57:04 176

原创 操作系统OS

单元,有时称作分页内存管理单元(英语:paged memory management unit,缩写为PMMU)。以及存储体切换(bank switching,尤其是在8位的系统上)。的控制,在较为简单的计算机体系结构中,负责。管理)、内存保护、中央处理器。

2024-02-28 14:52:08 74

原创 什么是SOCKET通信

一、Socket概述Socket,即套接字。就是两台主机之间逻辑连接的端点。(通俗来说:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket)。TCP/IP协议是传输层协议,主要解决数据如何在网络中传输。HTTP是应用层协议,主要解决如何包装数据。Socket是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。

2024-02-28 13:55:08 109

原创 高级软考-系统架构师------错题集

我错误选择成了A,做错的原因是没有记住概念和理解概念。

2024-02-19 00:50:25 125

原创 中央处理单元

1、CPU的组成:CPU主要是由运算器、控制器、寄存器组和内部总线等部件组成。④状态条件寄存器(PSW):保存指令运行结果的条件码内容,如溢出标志等。①算数逻辑单元(ALU):实现对数据的的算术和逻辑运算。③地址寄存器(AR):保存当前CPU所访问的 内存地址。③数据缓冲寄存器(DR):暂时存放内存的指令或数据。②累加寄存器(AC):运算结果或源操作数的存放区。①指令寄存器(IR):暂存CPU执行指令。②程序计数器(PC):存放指令执行地址。④指令译码器(ID):分析指令操作码。

2024-02-19 00:46:47 42

原创 存储管理-磁盘管理

3、扫描算法(SCAN),也叫电梯算法,是双向扫描实现的。4、循环扫描算法(CSCAN),是单向扫描实现的。2、最短寻道时间优先(SSTF)1、先来先服务(FCFS)

2024-02-18 22:43:21 27

原创 GetQueuedCompletionStatus

`lpCompletionKey`:指向 `DWORD` 指针,接收与完成通知关联的完成键(completion key),这个键可以用来识别特定的 I/O 操作。- `lpOverlapped`:指向 `OVERLAPPED` 结构的指针,如果 I/O 操作是重叠的,这个参数将指向关联的重叠结构。- `dwMilliseconds`:超时时间,如果设置为 0,函数会立即返回;- `lpNumberOfBytesTransferred`:指向 `DWORD` 指针,接收 I/O 操作转移的字节数。

2024-02-02 17:33:11 398

原创 WSARecv

这个函数是 winsock2.h 头文件中定义的,与基本的 `recv` 函数相比,`WSARecv` 提供了更多的功能和灵活性,特别是在处理复杂或大量的数据传输时。- 在使用 `WSARecv` 时,需要正确处理异步操作的完成情况,包括处理可能出现的错误和正确地管理 `lpOverlapped` 和 `lpCompletionRoutine`。- `dwBufferCount`:指定 `lpBuffers` 数组中 `WSABUF` 结构的个数。- `s`:指定要接收数据的套接字。

2024-02-02 17:30:42 194

原创 完成端口(Completion Port)

I/O操作由操作系统内核来处理,当I/O操作完成后,内核会将完成的通知放到完成端口的队列中。2. **减少线程使用**:对于每个并发I/O操作创建一个线程的传统模型,完成端口允许使用少量的线程来处理大量的I/O操作,降低了线程上下文切换的开销。4. **获取完成通知**:应用程序通过GetQueuedCompletionStatus等函数从完成端口获取完成的I/O操作的通知,并处理这些通知。- 完成端口处理的是I/O操作的完成通知,而不是I/O操作本身的结果,因此应用程序需要处理可能出现的错误。

2024-02-02 17:24:13 78

原创 IOCP(IO Completion Port)机制

在同步I/O操作中,应用程序会等待每个I/O操作完成后再进行下一操作,这通常会导致应用程序在I/O操作期间阻塞,从而浪费CPU资源。IOCP(I/O Completion Port,I/O完成端口)是微软Windows平台特有的一个高级网络编程接口,它允许应用程序高效地处理大量的并发I/O操作。完成端口是一个队列,用于存放已完成I/O操作的通知。- 减少了线程上下文切换的开销:应用程序不需要为每个连接创建一个线程,而是在一个或几个工作线程中处理所有完成的I/O操作,这样就减少了线程创建和上下文切换的开销。

2024-02-02 17:01:42 45

原创 selectedKeys方法

在这些上下文中,`selectedKeys`可能是一个组件的属性,用于指定在某些输入元素(如`<input type="text"/>`或`<select/>`)中应该被选中的键。`selectedKeys`方法通常是指在JavaScript编程语言中,使用Web API操纵HTML元素时,用来获取焦点的元素上绑定的键盘事件的相关属性或方法。如果你是在提到React框架中的`useSelect`钩子,那么`selectedKeys`可能是用来获取当前选中的项的键的数组。

2024-02-02 17:01:04 61

原创 Selector对象

5. **处理事件**:调用`selectedKeys`方法获取所有准备好的通道的`SelectionKey`对象,然后遍历这些键,处理对应的事件。2. **打开Channel**:对于每个需要进行非阻塞I/O操作的Channel,都需要调用其`open`方法来打开,并设置为非阻塞模式。4. **选择事件**:调用Selector的`select`方法,该方法会阻塞直到至少有一个通道的事件准备好。3. **注册Channel**:将打开的Channel注册到Selector上,并指定需要监听的事件。

2024-02-02 16:43:38 49

原创 Socket事件

在这些模型中,一个线程可以同时监听多个Socket事件,而不会因为单一事件的处理而阻塞其他事件的检测。例如,在Java中,可以通过使用`Selector`对象来监听多个Socket通道的事件,并在事件发生时进行相应的处理。5. **超时事件**:在网络编程中,超时事件是指在特定的时间内没有接收到预期的数据或事件。2. **数据到达事件**:当服务器端收到来自客户端的数据时,就会产生数据到达事件。3. **数据发送事件**:当应用程序向Socket发送数据时,会产生数据发送事件。

2024-02-02 16:19:48 78

原创 RTT ---- 往返时延

3. **排队时延**:这是指分组在经过网络中的节点缓存队列时所经历的等待时间。在有优先级算法的网络中,排队时延还取决于数据的优先级和节点的队列调度算法。例如,在自由空间中,电磁波的传播速度接近光速,而在铜线中的传播速度会略低于光速,光纤中的传播速度也略低于光速。在不同的网络环境和应用场景中,RTT的优化都是提升用户体验的关键因素。1. **发送时延**:这是指从数据分组的第一位开始发送,到最后一位发送完毕所需的时间。4. **处理时延**:这指的是网络节点处理分组的时间,包括检查、处理和转发分组等操作。

2024-02-02 16:10:05 560

原创 空测试 localhost http 的瓶颈都在CPU。

那么假设RTT 延迟 1ms。如果假设我们一个 http 的请求是 10kb,如果达到带宽上限,我们 qps 应该是 1,024,000 m/10kb = 100,024,000 /s. 天文数字。localhost的一个RTT,我们假设1ms,那么带宽上限就是20000m/1ms = 20,000,000 m/s。那么 1s 可以处理多少请求的呢, 1s/1us = 1,000,000 /s。所有我们得出,我们的带宽上限是 1,024,000 m/s。1. localhost 的带宽的上限是内存的上限。

2024-02-02 16:08:02 25

原创 explorer是什么?

当用户启动计算机时,Explorer会启动并在后台运行,它读取系统设置和用户个性化设置,以呈现熟悉的桌面环境。如果Explorer出现故障,可能会导致系统崩溃、桌面无法显示、文件夹打不开等问题,因此,确保Explorer正常运行对系统稳定性至关重要。在某些情况下,Explorer也可能指的是其他具有探索、浏览功能的软件,如Allen Explorer和SIMATIC WinCC Explorer等,这些软件可能具有特定的功能和用户界面,用于不同的应用场景,如文件管理、工业自动化系统配置等。

2024-02-02 15:45:44 1176

原创 Python用例的开发与调试,考虑性能优化和异常处理等方面的例子。

在处理用户输入或不确定的数据时,应该考虑异常处理。例如,如果列表中包含非字符串元素,我们的函数应该能够优雅地处理这种情况,而不是崩溃。我们可以使用Python的内置函数sum()和列表推导式来优化性能。通过这个例子,我们可以看到如何在Python用例中考虑性能优化和异常处理。在Python用例的开发与调试中,性能优化和异常处理是两个重要的方面。# 如果输入列表中包含非字符串元素,捕获TypeError并返回错误信息。编写一个函数,该函数接受一个字符串列表,并返回列表中所有字符串长度的总和。

2024-01-30 17:27:50 15

原创 Python用例的开发与调试

通过以上步骤,我们可以开发并调试一个简单的Python用例。测试驱动开发(TDD):先编写测试,再编写代码,确保代码的健壮性。假设我们要开发一个简单的Python用例,计算两个数的和。需求分析:需要实现一个函数,接受两个参数,返回它们的和。文档:编写必要的注释和文档,说明代码的功能和使用方法。注重代码的复用性,避免复制粘贴,尽量编写函数和类。调试:如果测试失败,检查add函数的逻辑是否正确。需求分析:明确用例需要实现的功能和性能要求。系统测试:测试整个系统的功能是否符合需求。

2024-01-30 17:19:14 20

原创 lstm+crf核心代码

在这些代码示例中,num_tags是标签的数量,hidden_dim是LSTM层的隐藏层维度,embedding_dim是输入向量的维度。请注意,这些代码示例仅展示了模型的前向传播和损失计算的部分,实际使用时还需要包含数据预处理、模型训练循环、评估和测试等完整的代码。以下是使用TensorFlow和PyTorch实现LSTM+CRF模型的核心代码示例。# 假设已经有了LSTM层的输出lstm_output,它的形状是[batch_size, max_seq_len, num_tags]

2024-01-30 14:34:49 272

原创 LSTM+CRF

CRF部分: CRF是一种概率图模型,它在给定输入序列的情况下,通过考虑相邻元素之间的关系来预测序列中每个元素的标签。CRF层通常位于LSTM层的顶部,它学习标签之间的转移概率,从而确保输出的标签序列在统计上是合理的。LSTM+CRF模型在许多NLP任务中表现出色,因为它们结合了深度学习在特征表示学习方面的强大能力以及CRF在序列标注方面的优势。对于给定的序列,LSTM会为序列中的每个元素生成一个特征向量,该向量编码了该元素的上下文信息。使用带标签的数据训练LSTM,以学习序列的特征表示。

2024-01-30 14:26:34 305

原创 【无标题】神经网络(CNN)----LSTM

LSTM的一个变体是门控循环单元(Gated Recurrent Unit,GRU),它将输入门和遗忘门合并为一个更新门,并将细胞状态和隐藏状态合并为一个状态,从而简化了LSTM的结构。然后,我们将细胞状态通过tanh(得到一个介于-1到1之间的值)并将它乘以sigmoid门的输出,以决定最终的输出。LSTM的核心思想是其细胞状态(cell state),以及三个门结构:输入门(input gate)、遗忘门(forget gate)和输出门(output gate)。

2024-01-30 14:18:50 180

原创 神经网络(CNN)----池化

池化操作通常在卷积层之后使用,以减少数据的空间大小,同时保留最重要的特征信息。池化(Pooling)是深度学习中的一种常见操作,尤其是在卷积神经网络(CNNs)中。除了这两种,还有其他类型的池化,比如随机池化(Stochastic Pooling)和最小池化(Min Pooling)等。需要注意的是,虽然池化有助于减少计算量,但它也可能导致一些信息的丢失。池化的类型有很多,最常见的是最大池化(Max Pooling)和平均池化(Average Pooling)。

2024-01-30 14:08:41 272

原创 卷积----神经网络(CNN)

卷积是一种数学运算,它在不同的领域有不同的应用。在数学和信号处理中,卷积是一种将两个函数组合产生第三个函数的操作,表征一个函数如何“修改”另一个函数的形状。卷积操作通常涉及一个或多个卷积核(也称为滤波器),这些卷积核在图像上滑动,通过计算卷积核和图像局部区域的点积来产生新的特征图。权重共享:在卷积层中,同一个卷积核的权重在整个输入特征图上共享,这进一步减少了参数的数量,并使得网络具有平移不变性。卷积操作是理解CNN的基础,对于从事计算机视觉和深度学习的研究者和工程师来说,掌握卷积的概念和性质是非常重要的。

2024-01-30 13:59:34 132

原创 机器学习----CV

这包括了一系列的技术和算法,如图像处理、图像识别、机器学习、深度学习、3D建模等。在学术和工业界,尤其是在欧洲和拉丁美洲,"CV"比“resume”(简历)更常用来描述个人的教育背景、工作经验、技能、出版物、奖励等。数据集和挑战:常用的数据集有ImageNet、COCO、PASCAL VOC等,而挑战赛如ImageNet大规模视觉识别挑战赛(ILSVRC)推动了技术的快速发展。研究和社区:通过会议(如CVPR、ICCV、ECCV)、研讨会、工作坊和在线论坛,研究人员和开发者分享最新的研究成果和经验。

2024-01-30 13:54:44 178

原创 机器学习----优化理论

优化理论是数学的一个分支,它涉及寻找使得函数在某些约束下达到最大值或最小值的方法。在机器学习和深度学习中,优化理论用于训练模型,即找到一组参数,使得模型的损失函数最小化。在机器学习中,理解优化理论对于调整和改进模型至关重要。选择合适的优化算法和调整超参数可以显著提高模型的性能和训练效率。

2024-01-30 13:41:19 277

原创 标准差(std)

它是方差的算术平方根,而方差则是各个数据值与平均值偏差的平方的平均数。标准差和方差都是衡量数据离散程度的重要指标,它们在数据分析、质量控制、科学研究等多个领域都有着广泛的应用。在时间测量领域,科研团队通过高精度原子钟等技术,可以将时间的测量精确到极为微小的时间单位,如72亿年仅有1秒的偏差,这样的精确度对于科学研究和技术应用具有重要意义。如果两个班级的平均成绩相同,但标准差不同,那么标准差较大的班级成绩的波动性更大,即成绩分布更分散;相反,标准差越小,数据的波动性或离散程度越小。

2024-01-30 12:00:12 1634

原创 标准分数(Z-score)

Z-score标准化是一种常用的数据预处理方法,它有助于数据的标准化,使得数据在不同的分布或条件下可以进行比较。Z-score,又称标准分数,是一种统计学上的概念,用于描述一个数值相对于整个数据集的平均值的位置。Z-score的意义在于,它可以将原始分数标准化,即将其转换为一种相对于平均值的相对位置,这样就可以在不同的数据分布之间进行比较。统计学和机器学习:在标准化数据时,通过Z-score标准化,将数据转换为具有平均值为0和标准差为1的正态分布,以便于模型训练和计算。

2024-01-30 11:46:00 4017

原创 数据预处理----数据清洗

请注意,这些代码示例仅用于说明 pandas 在数据清洗方面的核心功能。在实际应用中,数据清洗的过程可能需要更复杂的逻辑和多种方法的组合,以确保数据的质量和准确性。数据清洗是数据预处理过程中的一个重要步骤,它涉及到识别和纠正(或去除)数据集中的错误或不一致。

2024-01-30 11:19:47 183

原创 pandas

DataFrame:这是 pandas中最核心的数据结构,类似于Excel中的工作表或者SQL中的表。它是一个二维标签化数据结构,可以看作是一个表格,其中可以存储不同类型的数据(数值、字符串、布尔值等)。它同样可以存储不同类型的数据,并且可以进行各种运算和操作。Index:索引是用来标识DataFrame和Series中数据的位置的,它们是数据轴的标签。数据透视表和交叉表的创建与应用:可以使用 pivot_table 函数创建数据透视表,而 crosstab 函数可以用来创建交叉表。

2024-01-30 11:00:33 204

原创 机器学习有哪些模型?

降维技术(Dimensionality Reduction Techniques):如主成分分析(PCA)、t-SNE、自编码器(Autoencoders)等,用于减少数据的维度。异常检测(Anomaly Detection):如孤立森林(Isolation Forest)、LOF(Local Outlier Factor)等,用于识别数据中的异常值。在实际应用中,选择合适的模型需要考虑问题的性质、数据的特点和计算资源等因素。感知机(Perceptron):是最早的神经网络模型,用于线性可分数据的二分类。

2024-01-26 17:39:40 712

原创 nlp中文数据的预处理是如何完成的?

中文数据的预处理是一个不断迭代和优化的过程,需要根据具体的应用场景和业务需求来调整预处理的步骤和参数。此外,随着深度学习技术的发展,更多的预处理步骤可以通过模型自动学习完成,如使用BERT、RoBERTa等预训练模型进行预处理。在自然语言处理(NLP)中,中文数据的预处理是一个复杂且重要的步骤,因为它直接影响到后续算法模型的性能。格式统一:将不同格式的文本转换为统一的格式,如全部转换为简体中文或规范的繁体中文。数据集构建:将预处理后的数据存储在合适的格式,如CSV、JSON或数据库中。

2024-01-26 17:20:58 275

原创 找不到“在左侧导航栏中选择 Project:您的项目名称 -> Node.js。”该如何解决?

4. **IDE更新或插件问题**:如果您最近更新了IDE或者安装了新的插件,这可能是导致问题的原因。2. **文件未打开**:确保您已经打开了一个包含Node.js代码的文件。1. **项目未创建或未正确设置**:确保您已经创建了项目,并且项目文件夹已经设置正确。3. **视图配置问题**:某些IDE允许自定义视图和导航栏的项目显示。5. **权限问题**:在某些情况下,文件或文件夹的权限设置可能会影响到它们在IDE中的显示。6. **错误或者Bug**:也有可能是IDE的bug或者错误。

2024-01-26 17:19:43 232 1

原创 在 PyCharm 中使用 JavaScript(JS)主要涉及以下几个步骤:

如果你需要更多的 JavaScript 工具,可以在 PyCharm 的插件市场中搜索并安装,例如,一个 Vue.js 插件可以帮助你更容易地创建和管理 Vue.js 项目。在你的 PyCharm 项目中,右键点击项目目录,选择“新建”(New)> “JavaScript 文件”(JavaScript File)。在左侧选择“Vue.js”或其他 JavaScript 框架(如果你使用的是 Vue.js,需要先安装 Vue.js 的插件)。给你的 JavaScript 文件命名,然后点击“确定”(OK)。

2024-01-26 11:42:11 2123 1

原创 python中Flask框架面试题

即使使用的是线程,WSGI应用也无法保证每个http请求使用的都是不同的线程,因为后一个http请求可能使用的是之前的 http请求的线程,这样的话存储于thread local中的数据可能是之前残留的数据。session:用来记录请求会话中的信息,针对的是用户信息。在项目开发过程中,需要把项目根据相关的功能划分为对应的模块,通过模块的划分可以更好的组织项目的目录结构,使项目的整个框架更加清晰。它的作用是描述数据库表的结构,表中的字段在类中被描述成属性,将来就可以实现把表中的记录映射成为该类的对象。

2024-01-25 01:34:55 388

原创 详解python之协程gevent模块(python协程模型)

在任何一个时刻,操作系统都只能执行一个进程代码,当操作系统决定把控制权从当前进程转移到某个新进程时,就会进行上下文切换,即保存当前进程的上下文,恢复新进程的上下文,然后将控制权传递到新进程,新进程就会从它上次停止的地方开始。在下面的例子中,5个waiter协程都会等待事件evt,当setter协程在3秒后设置evt事件,所有的waiter协程即被唤醒。执行流的调度者不同,进程是内核调度,而协程是在用户态调度,也就是说进程的上下文是在内核态保存恢复的,而协程是在用户态保存恢复的,很显然用户态的代价更低。

2024-01-24 13:51:45 132

原创 “猴子补丁”(monkey patching)指的是什么?

之前做的一个游戏server,非常多地方用的import json,后来发现ujson比自带json快了N倍,于是问题来了,难道几十个文件要一个个把import json改成import ujson as json吗?把标准库中的thread/socket等给替换掉,这样我们在后面使用socket的时候能够跟寻常一样使用,无需改动不论什么代码,可是它变成非堵塞的了。执行main.py,能够看到都是输出'ujson',说明后面import的json是被patch了的。

2024-01-23 18:25:56 88 1

原创 python面试题集

解析:切片[start:stop:step],当step为负值时,表示从右往左,索引start=-1的元素是6,索引stop=1的元素是2,但是不会取到该索引,因此从右往左,间隔为1取到的结果就是D选项。解析:在Python3中break语句用来终止循环语句,因此当 i == ‘h’ 时就会跳出 for 循环,因此打印出的结果依次是 'p','y','t',不包含 'h'。根据题意:11赋值给了a,22赋值给了b,(33, 44, 55, 66, 77, 88, 99)赋值给了args。

2024-01-23 18:19:42 65 1

原创 Python学习随记-列表方法

reverse-- 可选参数,是否反向排序,默认为False。以上就是我对11种python列表方法的学习和总结,希望可以帮助到大家。key-- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。value —— 要查找的元素。star —— 索引的起始位置。stop —— 索引的结束位置。

2024-01-23 17:58:15 63 1

原创 请列举出几种文本特征提取算法

具体做的时候常常先假设两个变量确实是独立的(行话就叫做“原假设”),然后观察实际值(也可以叫做观察值)与理论值(这个理论值是指“如果两者确实独立”的情况下应该有的值)的偏差程度,如果偏差足够小,我们就认为误差是很自然的样本误差,是测量手段不够精确导致或者偶然发生的,两者确确实实是独立的,此时就接受原假设;信息增益计算公式的基本原理是:在给定的特征集合中,选择一个特征,使得类别的熵减少最多,从而获得最大的信息增益。类别的熵是指类别的不确定性,它可以用来衡量类别的多样性,即类别的熵越大,类别的多样性越大。

2024-01-22 11:36:40 466

原创 常见的概率图模型中,哪些是生成式模型?哪些是判别式模型?

假设可观测的变量集合为X,需要预测的变量集合为Y,其他的变量集合为Z。

2024-01-21 21:57:51 372 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除