摘要:
Linux 中的 nofile 设置 Linux 系统通过 rlimit 来对一个进程可以使用的计算机资源进行限制,其中 nofile 表示单个进程可以打开的文件句柄数,默认值为 1024。 我们知道,Linux 系统下一切都是文件,这不仅包括了常规的文件,还包括 socket, pipe 等等,对 阅读全文
摘要:
package main func main() { var x *struct { s [][32]byte } println(len(x.s[99])) } 答题结果如下: 正确率只有 16%。 本文就讲解下为什么结果是 32。 01 解析题目 先剖析下这段代码,x 变量: var x *st 阅读全文
摘要:
k8s 1.22.12离线安装 k8s和kubeedge的cloudcore组件安装于云侧节点上首先导入需要的全部docker容器镜像:包括 k8s的组件7个(kube-images目录) 1 docker load < coredns_v1.8.4.tar 2 docker load < etcd 阅读全文
摘要:
1.拉镜像 docker pull ubuntu 2.重新制作镜像 更新镜像源 sudo cp -a /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i "s@http://.*archive.ubuntu.com@http://m 阅读全文
摘要:
关于这个数列,常规采用归纳法证明,下面采用一种运用累加和构造的思想来证明。 先考虑自然数的和,即 ∑�=1��=1+2+3+⋯+�=�(�+1)2 这个公式可以由等差数列求和得到,但此题中我们换一种方法。 我们有 (�+1)2=�2+2�+1 则 (�+1)2−�2=2�+1 连续写几项: 22−1 阅读全文
摘要:
内存泄漏 是一种即使当某块内存不再使用之后仍然没有被释放而产生的 bug。通常来说,它们是非常明显的,高度可见的,这使得它们成为学习程序调试的最佳选择。Go 是一门特别适合识别定位内存泄漏的语言,因为它有一套强大的工具链,这套工具链配备了非常强大的工具(pprof),它可以非常轻松地查明内存的使用情 阅读全文
摘要:
1. 学习不能只学皮毛,冰山一角,深入到下面去 eg: defer的本质 2.1 defer不仅仅是栈的结构 2.2 defer 是如何存放入参和返回值的,如何执行的,这些都需要了解 defer 理解 输出: 2910 var age int = 10 defer fmt.Println(age) 阅读全文
摘要:
1 属性 模式名 LDAP注入 模式ID 参考 关键词 注入,分级目录结构,数据查询 STRIDE 信息泄露,篡改,权限提升 分类 Web攻击方法 [ 回目录 ]2 概述 攻击模式介绍 LDAP(Lightweight Directory Access Protocol):轻量级目录访问协议,是一种 阅读全文
摘要:
package main import ( "fmt" "strconv" "strings" "testing" ) type testStruct1 = struct { testId int inputStr inputStruct want string } type inputStruct 阅读全文
摘要:
1 sync.Pool 的使用场景 一句话总结:保存和复用临时对象,减少内存分配,降低 GC 压力。 举个简单的例子: type Student struct { Name string Age int32 Remark [1024]byte } var buf, _ = json.Marshal( 阅读全文
摘要:
1. 背景 类型别名(type aliases)原本是要在 Go 1.8 发布时推出的。但是由于一些争议和实现上的问题,Go 团队把它推迟到了 Go 1.9。 2.目的 这一特性其实是为开发者们的代码库重构准备的。代码重构是对代码的重新组织,以及这种重组与代码包之间的关系的重新思考和修改过程。代码重 阅读全文
摘要:
因为咱的童鞋们基础不一, 有考专业级的有考工作级的, 所以就分开来说;另外虽然考纲里说动态规划的不考, 但是其实有些题目使用简单的动态规划反而更简单, 懂得动态规划得思想就得;这下面的推荐刷题不是只刷一次就行了的, 因为第一次去做一般都不会做的, 需要多刷两次提高自己对各种数据结构和算法的理解和敏感 阅读全文
摘要:
1.命令注入的概念(what) 1.1.有外部输入,外部输入校验不严格 1.2.和命令语句结合 1.3系统调用API执行 2.注入条件和防范 2.1.命令直接可控(无注入,防范:白名单) 2.2.命令参数可控(注入条件,存在shell条件) 2.3. 命令选项可控(注入条件,被执行程序存在命令注入漏 阅读全文
摘要:
1 是否有反序列化漏洞? 1.1 先看java的反序列化漏洞 来源: https://xz.aliyun.com/t/2041 简单的反序列化漏洞demo 在Java反序列化中,会调用被反序列化的readObject方法,当readObject方法书写不当时就会引发漏洞。 PS:有时也会使用read 阅读全文
摘要:
1.1.序列化反序列化是什么(what) 序列化:对象序列化的最主要的用处就是在传递和保存对象的时候,保证对象的完整性和可传递性。序列化是把对象转换成有序字节流,以便在网络上传输或者保存在本地文件中。核心作用是对象状态的保存与重建。 反序列化:客户端从文件中或网络上获得序列化后的对象字节流,根据字节 阅读全文
摘要:
摘要:go结构体方法未使用指针,结构体实例的锁失效 【问题描述】 go结构体方法未使用指针,结构体实例的锁失效 【错误代码片段】 给结构体定义一把锁 在函数中调用锁 实测锁失效,仍存在资源竞争,导致请求失败的情况 【原因分析及推荐写法】 结构体方法中未使用指针,参数传入方式是拷贝一个新实例c,因此, 阅读全文
摘要:
云服务通用表格识别图片转换 1. 题目 今天学习1105专业级第二题。题目: 题目描述 华为云推出了“通用表格识别”服务,可以将图片表格转换成文本数据。请你把文本数据进一步转换为「文本型表格」, 如下图所示: 现给出一个图片表格的文本数据: · 每行数据形如 line3 col1 A,表示第3行第1 阅读全文
摘要:
来源: blog.csdn.net/csdn_aiyang/article/details/75162134 前言 我们都经常使用一些循环耗时计算的操作,特别是for循环,它是一种重复计算的操作,如果处理不好,耗时就比较大,如果处理书写得当将大大提高效率,下面总结几条for循环的常见优化方式。 首先 阅读全文
摘要:
在第一篇文章中提到过,为了让代码可测,需要用依赖注入的方式来构建我们的对象,而通常我们会在main.go做依赖注入,这就导致main.go会越来越臃肿。为了让单元测试得以顺利进行,main.go牺牲了它本应该纤细苗条的身材。太胖的main.go可不是什么好的信号,本篇将介绍依赖注入框架(wire), 阅读全文
摘要:
在上一篇,介绍了表格驱动测试方法和gomock测试框架,大大提升了测试效率与质量。本篇将介绍在测试中引入断言(assertion),进一步提升测试效率与质量。 为什么需要断言库 我们先来看看Go标准包中为什么没有断言,官方在FAQ里面回答了这个问题。 golang.org/doc/faq#ass… 阅读全文