自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(355)
  • 资源 (8)
  • 问答 (4)
  • 收藏
  • 关注

原创 Go-Golang学习总结笔记

资源某hub会审核不通过,自己去找吧书籍网站基础go官方中文网菜鸟教程C语言网go语言中文网golang系列视频基础安装依赖管理数据类型变量和常量流程控制函数包面向对象编程提高...

2021-04-17 10:16:20 24759 40

原创 网络安全-自学笔记

目录WEB(应用)安全前端安全xss攻击后端安全文件上传漏洞WebShell解析安全数据安全sql注入通信安全WEB(应用)安全前端安全xss攻击后端安全文件上传漏洞WebShell解析安全数据安全sql注入网络安全-sqlmap学习笔记通信安全网络-http协议学习笔记(消息结构、请求方法、状态码等)...

2020-12-01 09:28:44 29794 29

原创 【python总结】python学习框架梳理

目录基础注释与变量名等基本规则关键字操作符数字字符串条件控制序列列表元组映射集合字典函数函数基础内置函数有哪些?模块数字字符串OSlogging、argparase、cmd综合模板错误和异常面向对象提高文件操作函数式编程正则表达式网络编程多线程与多进程本专栏不适合才学python的新手,适合学过python,但总体框架不清晰的朋友。跟我一起总结提升吧!抓住三个点:操作符、、内置函数、

2020-09-23 22:46:52 22134 8

原创 OJ-OJ网站题目分类,分难度整理笔记(leetcode、牛客网)

目录前言线性表栈队列树图查找排序递归递推贪婪动态规划数论模拟简单前言目录与数据结构(严蔚敏版)与算法的实现(含全部代码)相对应,为这个专栏的实战,为了更方便,树之前使用STL进行解题,也算专栏C++ STL容器用法示例大全的实战。语言使用c++,每篇文章题目为网站-题目(难度类型),每篇文章分为题目、思路、更优题解、提升笔记、优化代码、全部代码。用于个人笔记,分享思路与代码优化。线性表栈队列树...

2020-08-28 10:07:13 21798 1

原创 SDN-自学笔记

目录书籍推荐OpenDaylight简介特点版本相关文章SDN-Opendaylight(Nitro版本)安装使用Mininet简介版本相关文章SDN-Mininet安装使用书籍推荐《OpenDaylight应用指南》《重构网络 SDN架构实现》《深入理解OSGi原理》《Maven权威指南中文版》OpenDaylight...

2020-02-22 20:11:18 22014 1

原创 数据结构(严蔚敏版)与算法的实现(含全部代码)

目录基础c/c++ 代码优化及常见错误 c语言位运算的妙用-程序优化c/c++进制转换方法汇总(含全部代码) 二进制数-北邮2012研究生复试质因子分解除树和图外的数据结构可以使用STL: C++ STL的使用数据结构线性表顺序表 循环左移(2010联考真题)单链表 单链表相邻结点逆置(2019北邮考研真...

2018-09-13 22:18:14 80817 46

原创 C++ STL容器用法示例大全

目录基础篇:C++ STL之vector的简单使用C++ STL之string的简单使用C++ STL之list的简单使用C++ STL之map的简单使用 动态规划-最长平衡子串(2018北邮机试真题)C++ STL之multimap的简单使用C++ STL之set的简单使用 最值问题-北邮oj88C++ STL之multis...

2018-07-23 22:06:36 23996 1

原创 设计模式-工厂方法模式(Go实现)

目录工厂方法模式需求修改前简单工厂设计代码修改后工厂方法设计代码测试测试代码结果总结适用场景优点缺点参考工厂方法模式定义一个用于创建对象的接口,让子类决定将哪一个类实例化。不再提供一个统一的工厂类来创建所有的产品对象,而是针对不同的产品提供不同的工厂,系统提供一个与产品等级结构对应的工厂等级结构。工厂方法模式四要素:工厂接口。工厂接口是工厂方法模式的核心,与调用者直接交互用来提供产品。在实际编程中,有时候也会使用一个抽象类来作为与调用者交互的接口,其本质上是一样的。工厂实现。在编程中,工厂实现决

2021-08-01 17:48:29 142

原创 设计模式-简单工厂模式(Go实现)

目录简单工厂模式需求修改前错误设计代码修改后正确设计代码实现测试测试代码测试结果总结适用场景优点缺点简单工厂模式简单工厂模式并不属于GoF的23个经典设计模式,但通常将它作为学习其他工厂模式的基础,它的设计思想很简单,其基本流程如下:首先将需要创建的各种不同对象(例如各种不同的Food对象)的相关代码封装到不同的类中,这些类称为具体产品类,而将它们公共的代码进行抽象和提取后封装在一个抽象产品类中,每一个具体产品类都是抽象产品类的子类;然后提供一个工厂类用于创建各种产品,在工厂类中提供一个创建产品的工

2021-07-31 13:54:35 96

原创 数据结构与算法-面试题汇总

什么是哈希表,哈希表的实现是怎么样的,哈希冲突是什么,怎么解决哈希冲突?红黑树是什么,红黑树和AVL树有什么区别?红黑树的优点红黑是用非严格的平衡来换取增删节点时候旋转次数的降低,任何不平衡都会在三次旋转之内解决,而AVL是严格平衡树,因此在增加或者删除节点的时候,根据不同情况,旋转的次数比红黑树要多。所以红黑树的插入效率更高!!!与AVL树的比较 红黑树要求从根节点到叶子节点的最长路径不大于最短路径的两倍 AVL 树要求每一个子树的左右孩子节点高度差不超过1保持平衡的要...

2021-07-25 11:46:38 217 1

原创 计算机网络-面试题汇总

分层OSI,TCP/IP,五层协议的体系结构?OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。五层协议(5层):物理层、数据链路层、网络层、运输层、 应用层。传输层TCP三次握手过程?为什么三次握手?TCP四次挥手过程?为什么四次挥手?四次挥手为什么等待2MSL?TCP和UDP的区别?TCP如何保证可靠传输?应用层浏览器中输入url到显示的过程?.

2021-07-24 21:51:54 2101 10

原创 算法-贪心算法详解

顾名思义,贪心算法或贪心思想采用贪心的策略,保证每次操作都是局部最优的,从而使最后得到的结果是全局最优的。钞票支付问题 有1元、5元、10元、20元、100元、200元的钞票无穷多张。现使用这些钞票支付x元,最少需要多少张? 例如,X=628面额为1元、5元、10元、20元、100元、200元,任意面额是比自己小的面额的倍数关系。添加7元就不成立了。局部最优不满足了:X=14时,选7+7比选10+5+1+1要好。或者说,X=14时的第一个选择,不是X=13时的第一个...

2021-07-18 21:45:45 885 2

原创 Go-单元测试详解与代码

_test.go结尾文件包含TestXxx函数形参必须为*test.Tgo testgo test -vgo test 测试文件 被测试文件go test -v -test.run 测试函数参考Go标准库-testing

2021-07-17 21:36:53 1729 4

原创 现代密码学-CA与数字证书详解

目录概述内容安全性证书生命周期生成存储验证状态查询撤销更新PKI信任模型单一模型CA树状模型CA参考概述证书类似现实生活中的个人身份证。身份证将个人的身份信息(姓名、出生年月日、地址和其他信息)同个人的可识别特征(照片)绑定在一起。个人身份证是由国家权威机关(公安部)签发的,该证件的有效性和合法性是由权威机关的签名或签章保障的,因此身份证可以用来验证持有者的合法身份的信息,称为身份鉴定。数字证书也称为公钥证书,是将证书持有者的身份信息和其所拥有的公钥进行绑定的文件。证书文件还包含签发该证书的权威机构

2021-07-11 16:47:49 2995 2

原创 现代密码学-密钥管理技术

目录简介含义目的原则密钥生命周期总览生成存储建立(分配和协商)使用备份/恢复更新撤销/存档/销毁密钥安全审计密钥建立分配协商参考简介含义密钥管理就是在授权各方之间实现密钥关系的建立和维护的一整套技术和程序。密钥管理是密码学的一个重要分支,也是密码学最重要、最困难的部分,在一定的安全策略指导下完成密钥从产生到最终销毁的整个过程,包括密钥的生成、存储、分配和协商、使用、备份/恢复、更新、撤销、存档和销毁等。目的对密钥实施有效的管理,保证密钥的**”绝对”安全或实际**安全(安全性);保证密码系统

2021-07-10 17:30:29 2390 2

原创 Go-ecc数字签名详解与代码

目录Ecc签名的Go实现crypto/ecdsa包签名验证签名截图参考在Go-数字签名详解与Rsa数字签名代码中已经讲了数字签名的原理,就不重复了Ecc签名的Go实现crypto/ecdsa包func Sign(rand io.Reader, priv *PrivateKey, hash []byte) (r, s *big.Int, err error)使用私钥对任意长度的hash值(必须是较大信息的hash结果)进行签名,返回签名结果(一对大整数)。私钥的安全性取决于密码读取器的熵度(随机程

2021-07-03 21:02:09 959 3

原创 Go-ecc加密解密详解与代码

参考《现代密码学教程 谷利泽,杨义先等》Go标准库-crypto/desGo标准库-crypto/cipher更多Go相关内容:Go-Golang学习总结笔记有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。如果您感觉有所收获,自愿打赏,可选择支付宝18833895206(小于),您的支持是我不断更新的动力。...

2021-07-03 20:05:49 942 1

原创 Go-哈希函数与消息认证详解(含代码)

Go-哈希函数与消息认证详解(含代码)哈希函数简介历史特性安全性MD族md4md5SHA系列SHA-1SHA-2消息认证消息认证的目的消息认证码认证码与检错码HMAC的Go实现crypto/hmac包hash包crypto/sha1包代码实现截图参考哈希函数简介哈希函数也称散列函数、杂凑函数等,是一种单向密码体制,即它是一个从明文到密文的不可逆映射,即只有“加密”过程,不存在“解密”过程。同时,Hash函数可以将“任意”长度的输入经过变换以后得到固定长度的输出。Hash函数的这种单向特征和输出数据长度

2021-06-27 18:01:02 807 4

原创 Go-数字签名详解与Rsa数字签名代码

数字签名概述手写签名是一种传统的确认方式,如写信、签订协议、支付确认等。在数字系统中同样有签名应用的需求,如假定A发送一个认证的信息给B,如果没有签名确认的措施,B可能伪造一个不同的消息,但声称是从A收到的;或者为了某种目的,A也可能否认发送过该消息。很显然,数字系统的特点决定了不可能沿用原先的手写签名方法来实现防伪造或抵赖,这就是提出了如何实现数字签名的问题。数字签名(Digital Signature)是电子信息技术发展的产物,是针对电子信息 的一种签名确认方法,它是利用 数学方法和密码算法对该

2021-06-26 20:55:09 1764 2

原创 操作系统-面试题汇总

进程管理进程和线程有什么区别?进程(Process)是系统进行资源分配和调度的基本单位,线程(Thread)是CPU调度和分派的基本单位; 线程依赖于进程而存在,一个进程至少有一个线程; 进程有自己的独立地址空间,线程共享所属进程的地址空间; 进程是拥有系统资源的一个独立单位,而线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),和其他线程共享本进程的相关资源如内存、I/O、cpu等; 在进程切换时,涉及到整个当前进程CPU环境的保存环境的设置以及

2021-06-20 20:55:51 311 3

原创 Go-RSA加密解密详解与代码

Rsa的Go实现x509func ParsePKIXPublicKey(derBytes []byte) (pub interface{}, err error)

2021-06-20 20:55:09 1175

原创 Go-AES算法详解与代码

AES发展史概述AES的Go实现func NewCipher(key []byte) (cipher.Block, error)

2021-06-11 14:45:01 7960 3

原创 Go-Des和3Des算法详解与代码

Des发展史 1973年5月美国联邦政府提出征求在传输和存储数据中保护计算机数据的密码算法的建议;1975年3月,美国国家标准局(NBS)首次公布IBM公司提出的算法Lucifer中选;1977年1月NBS正式向社会公布,采纳IBM公司设计的方案作为非机密数据的数据加密标准(Data Encryption Standard).DES正式成为美国联邦政府信息处理标准,即FIPS-46标准,同年7月开始生效。 此后,每隔5年美国国家保密局(NSA)对DES作新的评估,并重新审定它是否继续作...

2021-06-08 21:29:49 11074 7

原创 现代密码学-传统密码技术(置换、代换密码)

置换密码/huanweim 置换密码(Permutation Cipher)又叫换位密码(Transposi-tionCipher),它根据一定的规则重新排列明文,以便打破明文的结构特性。置换密码的特点是保持明文的所有字符不变,只是利用置换打乱了明文字符的位置和次序。 最常见的置换密码有二种: 列置换密码(明文遵照密钥的规程按列换位并且按列读出序列得到密文);周期置换密码(将明文P按固定长度m分组,然后对每组按1,2…,m的某个置换重排位置从而得到密文C)。...

2021-06-03 20:58:46 16166 3

原创 操作系统-处理机调度详解(调度层次及FCFS、SPF、RR等算法)

调度层次1.高级调度(High Level Scheduling)高级调度又称长程调度或作业调度,它的调度对象是作业。主要功能是根据某种算法,决定将外存上处于后备队列中的哪几个作业调入内存,为它们创建进程、分配必要的资源,并将它们放入就绪队列。高级调度主要用于多道批处理系统中,而在分时和实时系统中不设置高级调度。2.低级调度(Low Level Scheduling)低级调度又称为进程调度或短程调度,其所调度的对象是进程(或内核级线程)。其主要功能是,根据某种算法,决定就绪队列中的哪个进程应获得处理机

2021-06-03 20:56:44 15638 8

原创 现代密码学-密码学概论与基本知识

密码学发展简史1949年,Shannon发表了“保密系统的通信理论(Communication Theory of Secrecy Systems)”一文,为密码学的发展奠定了坚实的理论基础,于是,密码技术的研究迈上了科学的轨道,因而从严格的意义上讲,此后的密码技术才真正称得上密码学。...

2021-05-30 15:43:45 16695 2

原创 Go-输入输出总结及oj的输入输出

目录输入无换行接口控制台字符串有换行接口控制台字符串有格式接口控制台字符串操作系统参数输出无换行接口控制台字符串有换行控制台接口字符串有格式控制台接口字符串返回错误对象fmt部分输入输出函数调用图oj的输入输出全部代码参考输入无换行接口func Fscan(r io.Reader, a ...interface{}) (n int, err error).

2021-05-29 17:57:31 17728 2

原创 Go-错误、异常处理详解

panic终止程序,类似Python的exit()deferrecover自定义错误error.New()

2021-05-20 21:11:17 20887 2

原创 Go-保留关键字和预定义标识符

保留关键字下面列举了 Go 代码中会使用到的 25 个关键字或保留字:break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return

2021-05-19 21:37:37 21393 2

原创 Go-文件目录操作分类详解(创建、打开、关闭、读取、写入、判断等)

创建创建文件(可读写)存在清空func Create(name string) (file *File, err error)Create采用模式0666(任何人都可读写,不可执行)创建一个名为name的文件,如果文件已存在会截断它(为空文件)。如果成功,返回的文件对象可用于I/O;对应的文件描述符具有O_RDWR模式。如果出错,错误底层类型是*PathError。func CreateFile(filePath string) error { _,err := os.Creat

2021-05-17 21:43:58 23885 2

原创 Go-编码规范(注释,变量名等基本规则)

格式化使用gofmt进行格式化注释推荐使用行注释行注释// 行注释块注释/*块注释*/命名规范包名小写单词文件名小写单词,下划线分隔变量名包引入缩进不同层级一个Table(四个空格)...

2021-05-04 11:19:29 20569

原创 Go-解决低版本Goland调试问题:Version of Delve is too old for this version...

目录问题解决下载dlv配置dlv结果参考问题解决下载dlv配置好代理,使用go get命令下载go get -u github.com/go-delve/delve/cmd/dlv在你的GOPATH即安装目录的bin下面就有了dlv配置dlvGoLand Help->Edit Cusom Properties...调试仍不起作用的话,就直接复制到GoLand的jbr的bin下面,并重命名为Gobindlv.exe结

2021-05-04 10:14:01 21996 1

原创 Go-常用命令go的使用(build、env、run、fmt等)

简介目前,go语言的命令有一下几个:名称 简介 go go 程序管理 Go 源码以及运行其它在此列出的命令。用法详述见命令文档。 cgo Cgo 使 Go 包的创建能够调用 C 代码。 cover Cover 用于创建并优化由 "go test -coverprofile" 生成的规模评估。 fix Fix 发现使用旧语言与库特性的 Go 程序,并使用较新的特性来重写它们。 fmt Fmt 格式化 Go 包,它作为独立的gofm...

2021-05-04 09:00:29 21452 1

原创 Go-如何优雅的实现单链表?(含全部代码)

目录简介思路节点结构体属性方法单链表结构体属性方法InitNewClearLenFrontBackinsertInsertAfterPushBackPushFrontremoveRemoveAfterRemoveFront测试常见问题怎么遍历呀?全部代码简介单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成是元素加指针。思路

2021-05-03 10:03:27 20162 1

原创 Go-包管理(管理工具对比及go mod的使用)

go path代码开发必须在go path的src目录下 手动管理依赖 依赖包没有版本全是缺点go vendor解决了包依赖,一个配置文件即可管理 依赖包全都下载到项目vendor下,每个项目都有一份。go mod一个包可以由多个文件组成 同一包内不需要导入配置GO111MODULE介绍有三个值:off, on和auto(默认值)。GO111MODULE=off,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者

2021-05-02 10:12:35 20144 1

原创 Go-关键字defer、panic、recover详解

目录defer调用时机多次调用时的执行顺序传参问题源代码panic执行defer跨协程问题源代码recover使用源代码总结deferpanicrecover全部源代码参考deferGo 语言的 defer 会在当前函数返回前执行传入的函数,它会经常被用于关闭文件描述符、关闭数据库连接以及解锁资源。在文章Go-函数详解(参数、返回值、init函数、匿名函数、defer)中进行了简单的使用,但是还不够深入,于是在知乎提了问题,

2021-05-01 22:13:01 20074 1

原创 Go-面向对象编程详解(封装、继承、多态等)

封装小写隐藏细节通过方法验证继承匿名结构体有名结构体内嵌结构体内嵌结构体的所有方法和属性都能使用,无所谓大小写多态参考

2021-05-01 17:37:19 19974

原创 Go-动态类型与类型断言详解(含type-switch及全部代码)

目录动态类型类型断言与type-switch全部代码截图参考动态类型我们知道Go不像Python,变量可以没有类型。那么如果一个函数的参数需要兼容多个类型或是需要判断变量类型该如何做呢?我们可以使用接口,上一篇文章介绍了接口及接口的使用,知道了接口变量可以接收实现了它的类型的变量。我们就可以用接口做参数。结构体、接口与实现代码 type Cat struct { Name string}type Mouse struct { Name string}

2021-05-01 16:13:44 20058

原创 Go-接口类型详解(定义、实现、接口继承比较等)

简介Go 语言中的接口是一种内置的类型,它定义了一组方法的签名,本节会介绍 Go 语言接口的几个基本概念以及常见问题,为后面的实现原理做铺垫。声明/定义/* 定义接口 */type interface_name interface { method_name1([parameter list]) (return_type) method_name2 ([parameter list]) (return_type) ... method_namen([parameter...

2021-05-01 16:07:46 21145 2

原创 Go-结构体类型详解(声明、初始化、结构体指针、方法、序列化等)

结构体类型(struct)去除了继承、方法重载、构造函数、析构函数、隐藏的this指针type 变量名 struct{属性方法}属性变量 类型声明声明并初始化结构体指针使用连续分布方法func (reciver type) methodName([parameter list]) ([return list]){bodyreturn value}方法和函数的区别1)调用方式不一样函数的调用方式:函数名...

2021-04-22 22:12:47 20011 1

OpenGL编程指南(第8版)中文版清晰扫描及源代码

OpenGL编程指南(第8版)中文版清晰扫描及源代码,包含第八版书籍的清晰pdf及随书代码,利于学习现代OpenGL。

2019-04-28

OpenGL使用Assimp库加载3d模型

现代OpenGL,利用Assimp进行3d模型加载的一个Demo,提供了两个3d模型,能很好的加载含纹理的.obj格式的3d模型。博客地址:https://blog.csdn.net/lady_killer9/article/details/89458246

2019-04-23

OpenGL实现3d场景漫游

OpenGL的一个小Demo,通过摄像机实现3D场景的漫游。鼠标控制包括滑动鼠标进行视角转动,使用滚轮进行缩放。键盘通过WSAD进行前后左右的移动。

2019-04-18

Jsp购物网站-TdSnacks

Jsp编写的购物类网站,有注册,登录功能,购物车功能,翻页功能,Excel下载功能。使用Eclipse编写,sqlserver 2012数据库。

2018-07-06

OpenGL天空盒

使用立方体贴图技术,实现天空盒功能,提供了两套天空盒图片。本人博客:https://blog.csdn.net/lady_killer9/article/details/89468950

2019-04-23

3D天空迷宫.zip

3D天空迷宫游戏。 使用C++ OpenGL 3.3,编辑器采用Qt 5.9.1及VS2015。使用天空盒、纹理贴图、摄像机等技术。适合学习了C++,并学习一段时间OpenGL的童鞋食用。

2019-07-01

OpenGL超级宝典(中文第五版清晰扫描版)及代码

OpenGL超级宝典(中文第五版清晰扫描版)还有随书所有代码。

2019-01-18

19北邮计算机院考研心得及建议

北京邮电大学计算机学院考研心得与体会,包括初试与复试的经验。

2019-04-02

空空如也

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

TA关注的人 TA的粉丝

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