- 博客(138)
- 资源 (1)
- 收藏
- 关注
原创 解决MSI Z690-A DDR4+win11 开机唤醒死机+随机死机问题 案例
状况描述:将系统从win10升级到win11后,系统频繁随机卡死,需要强制重启。且睡眠状态下,会随机无用方案:将win11升级到专业工作站版、更新显卡驱动、更新除了bios外的所有驱动。状况依然存在。最终方案:这个死机问题,实际是内存问题导致的。win11下 开机按delete进入bios,内存电压改成默认(这一步不知道具体是否有决定作用),有一个Memory Try It 选项,以本机3200MHz 两根32GDDR4内存为例,把Memory Try It 中的内存配置文件改成DDR4 3200 L16,
2022-07-06 08:15:59
3189
原创 使用java注解进行函数功能测试
1.项目结构:└── annotestframework ├── Calculator.java ├── Check.java └── TestCheck.java2.定义注解:Check.javapackage com.duanlianda.annotestframework;/** * @program: AnnotationTestProject * @description: Anno
2021-10-12 01:15:58
323
原创 Java使用注解变量代替配置文件
Java 使用注解代替配置文件有这样一个需求,需要在定义main方法的类的外边使用一个注解@Proannotation,我们通过向这个注解传递两个参数来实现让程序执行特定类的特定方法。传递的形式如下;@Proannotation(className="com.duanlianda.annotationPackage.Student",methodName="printStudentNumber")目标类(Student.class extends from Person.class)这里的继承关系
2021-10-09 02:54:56
398
原创 有用的git全局命令配置命令手册
1. 基本信息$ git config --global user.name "李老师"$ git config --global user.email li@youkuaiyun.com$ git config user.name李老师让 Git 显示颜色,会让命令输出看起来更醒目:$ git config --global color.ui true2. 关于.gitignore 文件# 排除所有.开头的隐藏文件:.*# 排除所有.class文件:*.class# 不排除.gitig
2021-08-17 07:47:00
367
原创 Github出了新的验证政策无法push怎么办?
最近Github出新的验证政策,在最近一次push中遇到这样的报错信息:git push origin masterOn branch masternothing to commit, working tree cleanremote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.remote: Please see ht
2021-08-16 03:41:59
1845
原创 浅尝git的小细节
#Github学习笔记最近在学习git软件和github项目托管平台的使用方法,写一篇文章作为总结,便于查阅。首先本地部分会做的事情是在father和son文件夹下弄出来两个项目。其中father项目直接建立,用于模拟github的远程项目。son中的项目从father项目克隆(clone)而来。线上部分的内容(待定)预期包含提出问题和解决问题,合并更改,研究下只有在github上才能被触发的一些有用的特性。本笔记使用到的文件在线上github仓库连接地址为:https://gith
2021-08-12 03:12:00
277
原创 Ch3_Bootstrap工作环境配置,同步远程repo
idiosyncrasy: a mode of behavior or way of thought peculiar to an individual.下载地址https://getbootstrap.com/配置解压这个压缩包,打开解压后的文件,看到里面有个conFusion拖入终端,执行npm install配置好.gitignore, 写入文件夹node_modules的名字,让git忽略这个复杂的怪物。远程仓库同步git remote add origin https://gith
2021-05-10 06:56:27
229
原创 Ch2: Nodejs 与npm
安装Node.js 和NPMhttps://nodejs.org/zh-cn/1.NPM(Node Package Manager)查看版本信息,该模块随着软件包的安装同时完成安装npm -v1.1 使用npm初始化项目:npm init1.2. 安装npm服务,这样可以直接启动一个Node.js的服务器,便于实时预览和部署网站。npm install lite-server --save-dev为了减小git的负担,由于安装了这个无误之后,文件夹下会有一个node_modules文
2021-05-10 04:14:00
279
原创 Ch1: git 命令 cheatsheet
#1.本地基础操作1.1添加所有文件到git管理范围git add .1.2附带消息提交 commitgit commit -m "消息"1.3将已经commit的内容提交到master远程仓库git push1.4查看commit记录 git log --oneline(base) ➜ git_test git:(master) ✗ git log --oneline 1.5 将文件退回到以前的版本git checkout <哈希> <文件名>1.5.
2021-05-09 23:05:37
194
原创 Diffie_Hellman_exchange_algorithm
def Diffie_Hellman_exchange_algorithm(p,g, SA_assign,SB_assign): print(f"p = {p}, g = {g}") SA = SA_assign SB = SB_assign print(f"Let SA = {SA}, SB = {SB}") TA = g**SA % p TB = g**SB % p print(f"TA = g^SA mod p = {TA} = {g}^{SA}
2021-04-04 03:16:49
219
原创 RSA 算法 python
def calculate(p,q,m): print(f"1: p: {p} q: {q} M: {m}") n = p*q print(f"2: n = p*q {p} *{q} = {n}") temp = (p-1)*(q-1) print(f"3: (p-1)*(q-1) = {p-1} *{q-1} = {temp}") e = 1 print(f"4:e should be less than n and relatively pri.
2021-04-03 22:08:00
203
原创 网络安全-ACL(Access Control List)
两种ACLstandard:Permit/Deny based on source IP address ONLY 标准ACL只考虑原地址extended:Permit/Deny based on source IP address, destination IP application type 拓展ACL考虑原地址,目的地址,应用类型type of protocol: TCP UDP…type of applicaiton: SSH, HTTP, etc标准ACL的模板acces
2021-03-21 21:31:52
403
原创 网络安全-基础渗透测试-应用安全-三种软件漏洞攻击实验-python
三种典型的软件漏洞攻击如果网站应用对用户的输入数据不加以进一步验证,就有可能遭受攻击。我们将在一下部分看到这一点。网页应用程序一般运行于远端的虚拟机上,攻击的过程一般是一个远程攻击。命令行注入 Command injection跨站脚本注入 Cross Site ScriptingSQL数据库语句注入 SQL Injection实验需要启动一个虚拟机,并在上面安装python 3。所有的网络应用将使用Flask包进行实现,这个包允许我们使用最小的代价实现一个网页应用[1]。##1: 命令行
2021-03-18 21:59:48
969
原创 网络-关于traceoute命令中的ttl
traceroute 命令可以给出从当前主机到目的主机之间的路由信息。这篇备忘录揭示了一些关于该命令输出含义的内容。比如先执行:(base) ➜ ~ traceroute www.facebook.com 会得到:traceroute to star-mini.c10r.facebook.com (157.240.241.35), 64 hops max, 52 byte packets 1 192.168.2.1 (192.168.2.1) 4.056 ms 3.758 ms 4.
2021-03-12 07:55:48
606
原创 python-链表-Linked_list_construciton-构建链表
需求构建链表,并完成一下功能:设置链表的头(head)和尾部(tail),也就是将其中的某个元素直接变成头和尾在一个节点的特定位置(前/后)插入一个node,或者在一个特定的位置插入节点,假设head节点的位置为1移除具有特定值的node搜索具有特定值的nodeSolution# 节点包括本身的值和前后关系class Node: def __init__(self, value): self.value = value self.prev = No
2021-03-11 22:07:27
223
原创 python-图论-River_size-河流大小
定义一种河流大小的方式,在一个二维数中,如下所示:样例输入[ [1, 0, 0, 1, 0], [1, 0, 1, 0, 0], [0, 0, 1, 0, 1], [1, 0, 1, 0, 1], [1, 0, 1, 1, 0]]1代表河流,0代表陆地。相邻的一团1代表一个河流,这里的相邻不包括对角线相邻。写一个函数,输入是这样的一张地图,返回一个array,里面代表了所有河流的size样例输出:[2, 1, 5, 2, 2]Solutiontest_case
2021-03-10 11:42:19
533
原创 python-数组-spiral_traverse-螺旋遍历二维数组
输入一个二维数组,并对这个数组进行螺旋遍历样例输入test_case = [ [1, 2, 3, 4], [12, 13, 14, 5], [11, 16, 15, 6], [10, 9, 8, 7]]样例输出[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]Solution考虑边界条件直观上直接按照从左到右,从上到下在从右到左然后从下往上即可但是这只是矩阵为方阵的特殊情况,如果要使用非方阵的矩阵则需要考
2021-03-10 06:04:50
732
原创 python-递归-permutation-排列组合
输入一个array,返回这个array中元素的所有排列组合情况。样例输入:[1,2,3]样例输出:[[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]]Solution首先初始化一个排列组合记录器然后写一个helper函数permutations_help(array,currentPermutaion = [],permutations),输入原始数组array,当前枚举的结果currentPermutaion和
2021-03-09 11:46:02
925
原创 python-递归-permutation-排列组合
输入一个array,返回这个array中元素的所有排列组合情况。样例输入:[1,2,3]样例输出:[[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]]Solution解释部分待续def getPermutations(array): permutations_rec =[] permutations_help(array,[],permutations_rec) return permuta
2021-03-08 11:44:57
558
原创 Python-堆栈-Min_Max_Stack_Construction-最小最大堆构建
目标,实现入栈pushing 和出站popping查看堆栈顶部的值随时能获取矩阵的最大值和最小值样例输入:见solution样例输出:见solutionSolutionclass MinMaxStack: def __init__(self): self.minMaxStack =[] self.stack = [] #返回顶部的数 #Time: O(1)| space: O(1) def peek(self):
2021-03-07 11:17:04
212
原创 python-树-right_smaller_than-比小计数问题
一个BST可以用一个array来代替。我们可以将一个array的数从左到右insert到一个BST中形成一个BST。目标:写一个函数,输入一个array。假设说这个array对应一个BST。那么输出的array应该是一个与输入array长度相同的array。其中output[i]指的是在input[i]的右侧有output[i]个数比input[i]小。复习一下BST的性质,BST的一个节点严格大于所有左侧节点,小于或等于所有右侧的节点。样例输入:[8, 5, 11, -1, 3, 4, 2]
2021-03-06 11:05:14
166
原创 python-树-Same_BST-比较相同的BST
一个BST可以用一个array来代替。我们可以将一个array的数从左到右insert到一个BST中形成一个BST。目标:写一个函数,输入两个array,并比较这两个array是不是一样的。复习一下BST的性质,BST的一个节点严格大于所有左侧节点,小于或等于所有右侧的节点。样例输入arrayOne[10, 15, 8, 12, 94, 81, 5, 2, 11]arrayTwo[10, 8, 5, 15, 2, 12, 11, 94, 81]样例输出True原因是这两个array
2021-03-05 11:47:57
166
原创 python-Reconstruct BST-使用先序遍历的结果重构BST
首先复习下先序遍历。先序遍历指的是在BST中:1:先访问根节点2:再访问左节点3:最后访问右侧节点样例输入[10, 4, 2, 1, 5, 17, 19, 18]样例输出 10 / \ 4 17 / \ \ 2 5 19 / / 1 18输入一个树的先序遍历的结果,写一个函数根据这个结果重建BST并返回这个BST的根节点。Solution# This is an input class. D
2021-03-04 11:30:06
281
2
原创 python-树-the kth Largest value in BST-找出BST中第k大的值
函数的输入是一个二叉搜索树(BST)和一个正整数k, 返回这个BST中第K大的数字。样例输入 15 / \ 5 20 / \ / \ 2 5 17 22 / \ 1 3 k = 3样例输出:17(17是第三大的数)Solution首先需要使用中序遍历对树进行处理,中序遍历(In-Order Traversal)中序遍历指先访问左(右)子树,然后访问根,最后访问右(左)子树的遍历方式,这样如果是先
2021-03-03 05:20:49
635
原创 python-树-Min_Height_BST-最矮二叉搜索树
写一个函数,输入一个非空的已排序的数组,数组的每个元素都是不一样的。根据这个数组构建一个BST。返回这个BST的根节点。样例输入:[1, 2, 5, 7, 10, 13, 14, 15, 22]此时会得到以下这个BST 10 / \ 2 14 / \ / \ 1 5 13 15 \ \ 7 22显然此时根节点为10于是,函数返回10样例输出:10Solution由于此时数组已经是
2021-03-02 11:25:37
153
原创 python-树-BST_Traversal-二叉搜索树的遍历
写一个函数,函数的输入是一个二叉搜索树BST和一个array。函数可以按照要求将便利的结果放进array中,然后进行输出。有一个树状结构: 10 / \ 5 15 / \ \ 2 5 22 / 1遍历方法中序遍历:[1,2,5,5,10,15,22] 指先访问左(右)子树,然后访问根,最后访问右(左)子树的遍历方式前序遍历:[10, 5, 2, 1, 5, 15, 22]指先访问根,然后访问子
2021-02-28 23:06:15
212
原创 python-树-validate_BST-二叉树有效性检验
一个有效的二叉搜索树(Validate Binary Search Tree)的定义是每一个节点一定大于左边的所有节点,并且小于等于右边的节点。一个模拟BST的网站:https://www.cs.usfca.edu/~galles/visualization/BST.htmlSolution基本的思路是基于有效BST的基本性质,以当前节点作为出发节点,左右进行比较。比较的退出条件是当前的子tree为空,此时认为当前比较的子tree是有效的。如果整棵树是一个有效的BST那么必须满足:向左走,数字会
2021-02-28 11:46:42
242
1
原创 python-递归-Product_sum-“乘积的和“
首先定义一个”深度“的概念,[]----深度为1[[]]----深度为2[[[]]]----深度为3…于是[x,y]的product_sum = x+y[x,[y,z]]的product_sum = x+[y+z]*2[x,[y,[z]]]的product_sum = x+2(y+3z)使用递归写一个函数,输入为包含这种深度规则的数组,返回一个product_sum。样例输入:[5, 2, [7, -1], 3, [6, [-13, 8], 4]]样例输出:12Solution使
2021-02-27 05:29:53
478
原创 Python-树-Node_Depth-节点深度
有一个二叉树,长这样 1 / \ 2 3 / \ / \ 4 5 6 7 / \ / \ / \ / \8 9 . . . . . .写一个函数,返回所有节点深度值的和。其中节点深度是一个节点到根节点的距离,在这里举个例子,根节点是1 ,那么值为2 的节点到根节点的距离是1.此时应该得到的sum的结果是16。Solution:可以使用一个堆栈结构,首先将根节点以及他的深度depth的键值
2021-02-26 10:44:34
886
原创 Python-树-图-Breadth_First_Search_广度优先搜索
广度优先搜索树:A/ | \B C. D|\ /\E. F G H |\ \ I. J K遍历结果:ABCDEFGHIJKSolution:#build treeclass Node: def __init__(self, name): self.children = [] self.name = name def addChild(self, name): self.children.appen
2021-02-24 12:12:17
246
原创 Python-Single_cycle_check-单循环检测-
得到一个数组,先打算从头到尾进行访问,但是满足一定规则。例如得到的数组是:[2, 3, 1, -4, -4, 2]先访问2,此时访问的是下标为0的元素。接下来访问的是下标为0+2也就是元素1(下标为2,第三个元素)由于此时的数字是1,接下来访问下标为2+1 = 3的元素也就是-4,依次类推。如果执行到最后,发现所有的元素都恰好被访问了一次,那么程序返回True,否则,返回false。样例输入:[2, 3, 1, -4, -4, 2]样例输出:trueSolution一个基本的想法是,如
2021-02-23 10:58:34
350
原创 网络-ipv4到ipv6-一些常见问题整理
在转换阶段使用什么策略(保留一些Ipv4设备)https://www.networkworld.com/article/2285078/ipv6-dual-stack-where-you-can-tunnel-where-you-must.html首先尝试以双栈模式运行所有内容,然后随着时间的推移删除IPv4协议会更容易。当前,针对纯IPv6的通信开发的系统并不多,但是有许多系统在双堆栈模式下工作。例如,微软的新操作系统具有双层体系结构,可以使任何一种协议无缝运行。因此,迁移计划应最大程度地利用双栈,并
2021-02-21 11:02:40
1176
原创 python-链表-remove duplicate in Linked list-除去链表中的重复项
给定一个链表,移除链表中的重复项样例链表:1->2->2->2->3->4->5->6->6->7->8输出链表:1->2->3->4->5->6->7->8Solution# This is an input class. Do not edit.class LinkedList: def __init__(self, value): self.value = value self
2021-02-20 10:26:06
196
原创 python-链表-remove duplicate in Linked list-除去链表中的重复项
给定一个链表,移除链表中的重复项样例链表:1->2->2->2->3->4->5->6->6->7->8输出链表:1->2->3->4->5->6->7->8Solution# This is an input class. Do not edit.class LinkedList: def __init__(self, value): self.value = value self
2021-02-20 10:25:34
148
1
原创 Python-递归-Nth Fibonacci-斐波那契数列(三种方法复杂度对比)
斐波那契数列:第一个数是0,第二个数是1,从此以后,每一个数都是前两个数的和。输入一个整数n,返回斐波那契数列的第n个数。样例输入:n = 2样例输出:1样例输入:n = 6样例输出:5Solution 1:def getNthFib(n): global call print(f"call = {call}") call+= 1 if n == 1: return 0 elif n == 2: return 1 else: return getNthFib
2021-02-16 08:57:55
311
1
原创 Python-贪心算法-Minimum waiting time-最小等待时间
给定一个非空数组,数组中的每个元素代表一个操作的等待时间,假设得到了一个数组为[1,4,5]表示三个任务的等待时间分别为1,4,5.如果按照[5,1,4]的顺序进行查询,那么总的等待时间将为(0)+(5)+(5+1) = 11.这是应为等待时间为5的任务第一个执行时,他的等待时间自动计算为0。第二个执行的任务不得不等待第一个执行完毕,也就是五秒之后才能执行。样例输入:[3,2,1,2,6]样例输出:17Solution想要等待时间最小,需要先执行消耗时间较短的任务。可以先将数组进行从小到大的排
2021-02-15 11:48:59
1630
原创 Python-搜索-find_three_largest找到数组中最大的三个数
找到数组中最大的三个数,并从小到大进行排列输出。样例输入:[141, 1, 17, -7, -17, -27, 18, 541, 8, 7, 7]样例输出:[18, 141, 541]Solutiontest_array = [141, 1, 17, -7, -17, -27, 18, 541, 8, 7, 7]def findThreeLargestNumbers(array): #构建用于存储最大的三个数的记录器 three_largest = [None, None,None]
2021-02-14 07:33:04
1342
1
原创 Python_搜索_Binary Search_二叉搜索
输入一个已经排好序的算法,和一个目标数值,使用二叉搜索的方法确定这个target number在这个数组中的哪个位置,这个位置是这个数对应的下标值。样例输入:[0, 1, 21, 33, 45, 45, 61, 71, 72, 73]33Solutiontest_array = [0, 1, 21, 33, 45, 45, 61, 71, 72, 73]target_num = 33def binarySearch(array, target): # Write your code
2021-02-13 11:06:21
244
1
原创 Python_排序_插入排序
输入一个数组,返回一个排好序的数组。需要使用插入排序算法样例输入:[8, 5, 2, 9, 5, 6, 3]整个过程类似于在头部开始建立一个不断增加的子数组,如果组数组后边的元素比子数组末尾的元素小,就把这个元素向前进行交换,直到这个元素比子数组中所有的元素都要小为止。样例输出:[2, 3, 5, 5, 6, 8, 9]Solution:test_array = [8, 5, 2, 9, 5, 6, 3]def insertionSort(array): # Write your
2021-02-11 07:33:05
170
原创 Python-数组-Largest Range-最大范围问题-待续
输入一个数组,输出他的最大“范围”,也就是最大的连续值的范围。这个范围的左边是最小的数字,右边是最大的数字。样例输入:[1, 11, 3, 0, 15, 5, 2, 4, 10, 7, 12, 6]样例输出:[0,7]这是因为[0,1,2,3,4,5,6,7]是在这个数组中范围最大的连续部分(类似于一个子集)有两种解题方法可以将这个数组映射到一个哈希表中。key是这个数字,value是True的话就是包含在里面(写循环判断会比较方便)从第一个数开始,比如1,然后找比他小的数,如果存在将这个数
2021-02-10 11:35:53
670
Github、git 学习笔记.pdf
2020-05-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人