- 博客(105)
- 资源 (1)
- 问答 (34)
- 收藏
- 关注
原创 Hashcat从入门到入土(一)
Hashcat的官方是这么介绍自己的:Hashcat is a password recovery tool. It had a proprietary code base until 2015, but was then released as open source software. Versions are available for Linux, OS X, and Windows. Examples of hashcat-supported hashing algorithms are LM
2022-03-22 17:03:46 31959 8
原创 几种常见的集成触发器(D、T、JK)
同步RS触发器存在“空翻”现象,即触发器存在多次翻转的现象,空翻破坏了“时序电路按时钟节拍工作,每个时钟脉冲作用下电路的状态只发生一次转换”的基本原则解决方法:将电平触发改为边沿触发,使得触发器旨在时钟脉冲的上升沿或下降沿响应激励信号D触发器特点:1.触发器的时钟是CP,激励信号是D, 互补状态输出端是 Q 和Q‾\overline{Q}Q2.国标符号的Q‾\overline{Q}Q...
2020-05-07 11:43:16 24967 1
原创 看完这篇还不会化简卡诺图?你来打我
最通俗易懂的的卡诺图化简教程首先我们来介绍一下什么是卡诺图:卡诺图是逻辑函数的一种图形表示。一个逻辑函数的卡诺图就是将此函数的最小项表达式中的各最小项相应地填入一个方格图内,此方格图称为卡诺图。卡诺图的构造特点使卡诺图具有一个重要性质:可以从图形上直观地找出相邻最小项。两个相邻最小项可以合并为一个与项并消去一个变量。(摘自百度百科)卡诺图法与代数法都可以作为化简逻辑函数的依据,...
2020-04-29 21:18:15 24148 21
原创 BMCA算法简介
首先,你可以配置一个手动时钟优先顺序,这样如果一个时钟比另一个时钟更受欢迎(可能是由于与网络的物理距离较近),该时钟将被默认设置为主时钟。如果用户将两个时钟配置为具有相同的优先级,那么它们将比较类,这定义了设备在使用中的角色,以及它是被用作主要参考时间源还是其他。如果精度是共享的,那么就使用时钟差异,如果差异是共享的,那么BMCA就会查看该时钟是作为边界时钟还是普通时钟。一旦选择了最佳主时钟,它就被用作主要时间源。在你的网络上有一个冗余的主时钟,意味着在发生故障时,冗余的主时钟会接管,而不是失去时间。
2023-06-16 17:35:42 673
原创 IDEA在Maven settings.xml失效的情况下反编译代码
在我们日常的工作中有时候会遇到需要调试别人的代码的问题,这个时候别人往往会给你一个jar包,这个包里面的代码都是经过编译的,点击打开函数以后都是后缀是.class的文件,我们调试起来非常不方便,这个时候如果我们想要下载源代码,IDEA里面会有提示download source code,但是有时候往往因为公司内部的网络设置问题,我们的maven settings.xml文件里面的下载网址往往会失效,这个时候我们就只能手动来绑定jar包和源代码了。
2023-06-12 09:04:56 200
原创 常见的深度学习框架
相反,如果模型能够从训练集中学到一般性的规律,而不是简单地记住训练集的个别样本,那么它就能够具有很好的泛化能力,能够处理新的、未见过的数据。为了解决这个问题,一些改进的RNN结构被提出,如长短时记忆网络(LSTM)和门控循环单元(GRU),它们通过引入门机制,有效地控制了信息的传递和过滤,从而解决了梯度消失或爆炸的问题。神经网络需要激活函数的原因在于,如果神经网络只是简单的线性变换,则无法处理非线性问题,因为多个线性层级的组合依然是线性的,无法构造出更复杂的函数。
2023-04-26 23:01:47 905 1
原创 卷积神经网络与前馈神经网络
在CNN中,卷积操作是一种对输入数据进行特征提取的核心操作,它可以通过将卷积核与输入数据进行卷积操作,从而得到提取后的特征。前馈神经网络(Feedforward Neural Network,FNN):最简单的神经网络结构,由一个输入层、一个输出层和若干个隐藏层组成,信号只能从输入层流向输出层,不允许在网络中形成回路。卷积是一种在信号处理和图像处理中常用的数学运算,它可以对两个函数进行加权积分,其中一个函数通常是输入数据,另一个函数则是卷积核(也称为过滤器),用于从输入数据中提取特征。
2023-04-25 22:46:35 1488
原创 Router中的switch口与PHY口
路由器的PHY口(Physical Interface)和Switch口(Ethernet Interface)有以下区别:功能不同:路由器的PHY口用于连接到广域网(WAN),而Switch口用于连接到局域网(LAN)。端口数量不同:通常,路由器只有1-2个PHY口,而Switch口可以有多个。工作方式不同:路由器的PHY口工作在OSI模型的第一层物理层和第二层数据链路层,主要负责将数字信号转化为物理信号,并进行传输。而Switch口在OSI模型的第二层数据链路层工作,主要用于在局域网内交换数据包。
2023-04-25 09:55:32 915
原创 Python实现共轭梯度下降法
共轭梯度下降法(Conjugate Gradient Descent)是一种用于求解线性方程组的优化算法。它可以有效地解决大规模稀疏线性方程组的求解问题。共轭梯度下降法是一种迭代算法,它通过对一个特定的对称正定矩阵进行迭代求解,从而得到线性方程组的解。在每一步迭代中,共轭梯度下降法利用前一步迭代中的信息来计算下一步的迭代方向,从而提高迭代效率。共轭梯度下降法的优点是收敛速度快,所需迭代次数较少。此外,它可以用于求解大规模的线性方程组,因为它可以处理稀疏矩阵,从而减少计算量。
2023-04-24 22:47:29 758
原创 在Python中使用牛顿法
牛顿法(Newton’s method)是一种常用的优化算法,在机器学习中被广泛应用于求解函数的最小值。其基本思想是利用二次泰勒展开将目标函数近似为一个二次函数,并用该二次函数来指导搜索方向和步长的选择。牛顿法需要计算目标函数的一阶导数和二阶导数,因此适用于目标函数可二阶可导的情况。在每一步迭代中,牛顿法会根据当前位置的一阶导数和二阶导数,计算出目标函数的二次泰勒展开式,并利用该二次函数的极小值点作为下一步的迭代点。因此牛顿法可以更快地接近最优解,尤其是对于高维函数来说。
2023-04-22 17:10:36 1990
原创 Python中随机梯度下降法
的值,而竖轴表示算法收敛的迭代次数。可以看到,算法在不同的初始权重下都能收敛到大致相同的最优权重,这也验证了随机梯度下降算法的鲁棒性和适用性。批量梯度下降使用全部的训练样本来计算梯度,并更新模型参数,因此它的每一次迭代计算量较大,但对于凸优化问题,可以保证每次迭代都朝着全局最优解的方向前进,收敛速度较快,最终收敛到的结果也比较稳定。随机梯度下降则每次迭代仅使用一个样本来计算梯度,并更新模型参数,因此每次迭代的计算量较小,但收敛速度较慢,最终收敛结果也不够稳定,可能会陷入局部最优解。
2023-04-22 16:14:11 804
原创 Python批量梯度下降法的举例
梯度下降法有两种常用的变体:批量梯度下降法和随机梯度下降法。批量梯度下降法在每次更新参数时都要计算全部样本的梯度,因此它的计算开销比较大,但是更新方向比较稳定,收敛速度比较慢。随机梯度下降法在每次更新参数时只考虑一个样本的梯度,因此它的计算开销比较小,但是更新方向比较不稳定,收敛速度比较快。梯度下降法是一种常用的优化算法,用于求解目标函数的最小值。其基本思想是,通过不断地朝着函数梯度下降的方向更新参数,直到找到函数的最小值。,我们要求它的最小值。处的梯度,重复上述更新过程,直到找到目标函数的最小值。
2023-04-21 23:53:09 501
原创 Python中的统计学(二)
大数定律和中心极限定律都是概率论中重要的定理。它们之间的不同在于它们所涉及的随机变量和极限的不同。大数定律是指随着样本容量的增大,样本均值越来越接近于总体均值的定律。即样本均值的极限等于总体均值,也就是说,当样本量足够大时,样本均值可以很好地反映总体均值。中心极限定理是指当样本量趋近于无限大时,样本均值的分布趋近于正态分布。换句话说,对于任何一种分布,只要样本容量足够大,那么它的样本均值分布就可以近似地看作是正态分布,且这个近似程度随着样本容量的增大而增加。
2023-04-20 22:50:02 413
原创 PYTHON中的常见离散分布
伯努利分布是一种二元随机变量的概率分布,其中一个结果的概率为p,另一个结果的概率为1-p。伯努利分布通常用于模拟二项分布,其中n个独立的伯努利试验被执行,每个试验有两个可能的结果(成功或失败),且每个试验成功的概率是p。在Python中,可以使用 SciPy 库中的 binom 函数来计算二项分布的概率密度和分布函数,以及生成随机样本。3.泊松分布是指在一定时间内,某一时间发生的次数在概率图上面的分布。二项分布是一种离散概率分布,描述了在n次独立的伯努利试验中成功k次的概率,其中每次试验成功的概率为p。
2023-04-19 21:51:53 472
原创 rust的项目管理
cargocargo是rust的包管理工具创建的一个项目cargo new expr编写完代码之后记得编译一下,然后运行cargo build运行项目cargo run当我们觉得项目编译起来太慢了的时候可以将项目编辑成release版本cargo run --releasecrate在 Rust 里,一个项目也被称为一个 crate。crate 可以是可执行项目,也可以是一个库,我们可以用 cargo new <name> -- lib 来创建一个库。当 crate
2022-04-21 11:11:32 347
原创 rust中函数 变量 控制结构
变量相关不可变 let x可变 let nut x常量 const x:T= value静态变量 static x:T=T::new();可变的静态变量 static mut x:T=T::new(); 可能要使用到lazy_static()变量函数体 fn x(a1;T1…) -T{} 如果函数没有返回值 那么返回值就会为unit结构体 struct S {…} 1.元组结构体 struct每个域都是匿名的 可以通过索引访问 2.空结构体 不占用内存空间 3.普通结构体 struct每
2022-04-21 10:22:17 147
原创 rust中的堆和栈
堆和栈定义:在数据结构中,栈是一种可以实现“先进后出”(或者称为“后进先出”)的存储结构。假设给定栈 S=(a0,a1,…,an-1),则称 a0 为栈底,an-1 为栈顶。进栈则按照 a0,a1,…,an-1 的顺序进行进栈;而出栈的顺序则需要反过来,按照“后存放的先取,先存放的后取”的原则进行,则 an-1 先退出栈,然后 an-2 才能够退出,最后再退出 a0。在实际编程中,可以通过两种方式来实现:使用数组的形式来实现栈,这种栈也称为静态栈;使用链表的形式来实现栈,这种栈也称为动态栈。相对于栈的
2022-04-20 16:33:30 1237
原创 常见操作系统调度算法研究(2)
轮转策略轮转策略(Round-Robin)简称为RR,在RR里面,每个准备就绪的任务只能在有限的时间内运行,也就是说不管这个任务完成与否,都会切换任务到下一个。由于它要频繁的切换队列,我们可以把准备就绪的队列视为FIFO队列,假设任务A需要30ms,cpu的时间切片为10ms,那么它执行到10ms时,cpu便会产生一个中断信号,此时任务A来到队尾,任务B接着上去。这样做看似雨露均沾,它的平均等待时间确实比较长的。假设使用4ms的时间片,A、B、C的任务时间分别为10ms,15ms,20ms,那么它在采用
2022-04-15 16:06:34 341
原创 常见操作系统调度算法研究(1)
FIFOFIFO全称是first in first out,是操作系统里面常见的一种算法,他就好比是一堆人在排一个队伍,按照先进先出的规则,谁首先排队谁就可以第一个出去。它的缺点显而易见,如果第一个进去的家伙任务量过大,就会导致处理时间过长,以至于其他人都在他后面排队等待,这样就会导致平均处理任务时间过长。显然,当遇到任务量之间差别过大的情况下,使用FIFO不是一个机智的选择。SJFSJF的全称是shortest job first,它的理念与上面的FIFIO恰好相反,不讲究先来后到了,为了效率,先
2022-04-14 21:09:25 1859
原创 将SQL server2019数据库部署在虚拟机上
下载Windows.iso前段时间由于数据库文件丢失,导致项目再转入新的环境以后需要重新安装SQL server,但是由于win11对SQL server2019支持非常差,申请的SQL server2022的试用资格又迟迟没有批准导致我的数据库始终连不上,于是只能打算在本机上部署SQL server到虚拟机环境中,所采用的虚拟机为VMware,虚拟机安装的系统为下载Windows安装工具在官网上下载:Windows官方安装工具下载VMware在官网上下载VMware官方下载新建虚拟
2022-03-27 13:08:55 4912
原创 Hashcat从入门到入土(二)
使用hashcat破解word密码昨天的文章里给自己挖了一个坑,使用公司电脑显卡还是GT705古董级别的,显卡驱动也没设置好,导致使用hashcat的时候出现了exhausted的问题,导致密码没有算出来,今天我用自己电脑算一下,也算是给自己补上这个坑吧。具体操作还是和之前一样,首先使用john the ripper提取出你要解密的文件的哈希值,然后再使用hashcat算出来你要破解的密码的明文,这也是最关键的一步,所花费的时间的长短就要看你密码的强度以及你显卡的算力。使用john the ripp
2022-03-23 12:00:59 1869 1
原创 类 in C++
我们为什么需要类、用户在实际编程中传统数据类型往往不能够满足实际需要,我们对经常使用的对象需要自定义一种数据结构来满足调用的需求以便于提高程序运行的效率。类的组成数据抽象+封装+接口+实现这个程序的作用是读取入库书籍的ISBN编号saledata total;//保存当前交易结果变量if(read(cin,total))//读入第一笔交易{ saledata trans;//保存下一条数据的变量 while(read(cin,trans))//读取剩余的交易 {
2022-01-06 09:16:49 537
原创 C++中函数概念解析(3)
概念:如果同一作用域里几个函数的名字相同但形参列表不相同,我们称之为重载(overload)它们这些函数接受的参数不一样,但执行的操作非常类似,当调用这些函数时,编译器会根据传递的实参类型推断想要的是哪个函数,它的存在在一定上减轻了程序员记名字的负担eg:void print(const char*cp)void print(const int *beg,const int *end)void print(const int ia[],size_t size)这种思想在数据库里面都有体现
2022-01-05 19:10:41 877 1
原创 C++函数概念解析(2)
数组形参我们为函数传递一个数组时,实际传递的是这个数组的指针void print(const int*);void print(const int[]);//函数的意图是作用于一个数组void print(const int[10]);以数组作为形参的函数也必须保证这个数组不越界使用标记指定数组长度以C风格字符串为例,函数在遇到空字符时停止void print(const char*cp){ if(cp) while(*cp) cout<<*p++;}适
2022-01-04 17:18:54 338
原创 C++函数概念解析(1)
函数一个典型的函数包含以下几个部分返回类型函数名称一个或者多个形参函数体举例如下int fact(int ival){ int ret=1; while(val>1) ret*=val--;//这里先乘再减 return ret;}函数名fact形参ival实参ret返回类型int每当我们定义出一个函数,我们不能直接使用它,还得提供一个数值去调用它int main(){ int j=fact(5); cout<
2022-01-04 09:31:37 158
原创 一文带你彻底搞懂C++中一些常见指针(形如*p)的用法
提高指针效率以及程序可读性为什么要后置运算符?有C语言编程经验的人可能会感到疑问,为什么在C++里面我们推荐优先使用运算符的前置版本,就是把运算符号放在变量的前面,前置版本的递增避免了不必要的工作,它将值加一后直接返回了,而如果你后置运算符,它会把原始值存储下来以便于返回这个未修改的值。简洁可以成为一种美德cout<<*ip++<<endl;cout<<*ip<<endl;++*ip;表达的意思都是一样的,大多数C++程序追求简洁什么是
2022-01-02 21:03:48 423
原创 C++中使用cin读取一组词存入vector后将其大写打印
今天在复习C++的时候偶然看到这个题目,要求是使用C++完成大写转换然后存放到vector中去:这里也是使用了一个string库,但不知道为什么string库里并没有自带大小写转化,只得使用algorithm库的transform函数来进行大小写转化#include<iostream>#include<vector>#include<string>#include<algorithm>using namespace std;int main()
2022-01-02 15:52:15 587
原创 C++输出一句话里面第一个单词并大写
这里主要是使用了decltype()函数来方便我们对数据处理,它可以自动的帮助我们推算变量的类型,防止后面出现溢出的错误#include<iostream>#include<string>using namespace std;int main(){ string s1("juice and rice");//迭代模式 for(decltype(s1.size()) index=0;index !=s1.size() && !isspa
2022-01-01 21:05:05 572
一个关于rust日志的问题
2022-04-22
SQL server连接不上本地数据库
2022-03-24
如何接受下位机发送的字符
2022-03-17
打开公用文件夹共享的批处理文件怎样写
2022-02-15
C# combox控件向数据库里添加数据的功能
2022-02-03
前端小问题,使用react+vite写一个页面,不显示,一片空白
2022-01-29
C# winform dataview控件查询后能不能删除查询框里的内容后返回所有对象
2022-01-26
C# winform开发,状态栏最后一个不显示
2022-01-22
statestriplable不显示时间
2022-01-21
VS2022C#数据库连接不上
2022-01-19
C#中如何使得label控件在窗口扩大后依然保持居中
2022-01-18
C# 状态栏显示本机IP地址的问题
2022-01-18
C# 控制台程序,运行控制台无反应
2022-01-17
C# winform“没有找到合适的方法来重写”
2022-01-17
C#中无法将string类型隐式转换为bool类型
2022-01-16
参数传入有问题,在程序最后一句,如何解决
2022-01-07
力扣返回下标算法题,本地控制台输出后为乱码
2022-01-07
关于类中函数显示异常的问题
2022-01-07
力扣求数组重复元素,怎样把代码补满让它完整的在本地的控制台上输出?
2022-01-06
为什么要点两下运行才能得到这组数据的和?
2021-12-30
【C语言】文件读写失败,创建文件但不输出在屏幕上
2021-08-08
【C语言】“*(pscore+5+k)”如何理解?
2021-08-02
【C语言】【矩形法求积分】res=(fun)(2.00)是什么意思?
2021-07-31
【C语言】这个函数应该怎么理解?
2021-07-31
python编程函数调用没有输出
2021-07-30
clion如何添加运行环境?
2021-07-29
一个数组使用指针的方法从大到小排序
2021-07-26
方差始终为0且每个学生成绩不输出?
2021-07-24
为什么我无法实现调用函数来转置?输出的仍然是原来的矩阵
2021-07-16
调用函数求解方程在disc>0的情况下输出一直为0
2021-07-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人