- 博客(23)
- 收藏
- 关注
原创 【进大厂必看面试题】错误和异常、CGO、fallthrough_cgo相关的面试问题(1)
当程序运行时,如果遇到引用空指针、下标越界或显式调用panic函数等情况,则先触发panic函数的执行,然后调用延迟函数。调用者继续传递panic,因此该过程一直在调用栈中重复发生:函数停止执行,调用延迟执行函数等。如果一路在延迟函数中没有recover函数的调用,则会到达该协程的起点,该协程结束,然后终止其他所有协程,包括主协程(类似于C语言中的主线程,该协程ID为1)。在一个 switch 块内,每个 case 无需声明 break 来终止,如果想顺序执行使用;
2024-09-12 17:41:30
461
1
原创 【网络编程学习记录3】bind()函数绑定套接字和connect()函数建立连接_winsock bind connect
sock 为 socket 文件描述符,addr 为 sockaddr 结构体变量的指针,addrlen 为 addr 变量的大小,可由 sizeof() 计算得出。这里我们使用 sockaddr_in 结构体,然后再强制转换为 sockaddr 类型,后边会讲解为什么这样做。
2024-09-12 17:13:15
864
原创 【数据结构】史上最好理解的红黑树讲解,让你彻底搞懂红黑树
根据上面的性质,我们来判断一下下面这课树是不是红黑树上面这棵树首先很容易就能知道是满足性质1-4条的,关键在于第5条性质,可能乍一看好像也是符合第5条的,但实际就会陷入一个误区,直接将图上的最后一层的节点看作叶子节点,这样看的话每一条从根节点到叶子结点的路径确实都经过了3个黑节点。但实际上,在红黑树中真正被定义为叶子结点的,是那些空节点,如下图。这样一来,路径1有4个黑色节点(算上空节点),路径2只有3个黑色节点,这样性质5就不满足了,所以这棵树并不是一个红黑树节点。注:下面的讲解图中将省略红黑树的null
2024-09-12 16:38:32
515
原创 【LeetCode刷题日记】[413
若数组元素的个数为n,因为满足要求的数值至少需要三个元素,因此我们需要从数组的第一个元素开始遍历 n-2 次,找到每次遍历的最长等差数组,如果找到则计数加1,否则不加。报错,上面的题解问题在于只考虑了三个数组元素组成的等差数组,因此我们应该要加入一个标志去表现其大于三个数组长度的等差数列。当数组元素小于三个时,则满足这样要求的子数组的个数为零。继续,上面的用了两层循环,好像完全没必要。
2024-09-12 15:12:09
286
原创 《算法和数据结构》排序篇_我们将所有的排列按照如下规则进行排序 如果长度不同,那么长度小的排前面;否则,
简单题 」懒得刷,「 中等题 」看题解,「 困难题 」坐一天。这是不是你目前的现状?如果是这样,那么,这很合理!额……今天这个教程,我将教会你如何重塑信心,东山再起,重夺刷题界的卷王卷中卷。那么,首先,我们做任何事情,都需要有一个目标,有目标才会有方向,有目标才会有动力,有目标才会有人生的意义。所以第一步,我们要制定目标!完整视频教程地址。
2024-09-12 12:53:16
753
原创 Visual Studio下载安装教程(非常详细)从零基础入门到精通,看完这一篇就够了_visual studio安装教程
这时我们就可以自定义选择组件进行下载因为我是需要使用C++,所以这里选择了使用C++的桌面开发和visual studio扩展开发下面会显示下载所占的空间,供参考(我这里因为已经下载过了)大家可以根据具体需求,选择自己需要下载的组件选择好后,在右下角选择安装,就会出现下载界面,等下载完毕后如图所示,点击启动就可以使用啦~最后汇总一下,visual studio安装中使用的内存情况:D盘占用6.8GC盘占用1.G。
2024-09-12 10:30:43
9291
原创 sqlmap基本使用方式(非常详细)零基础入门到精通,收藏这一篇就够了_sqlmap使用教程
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。
2024-09-12 08:16:50
490
原创 Python基础(十四) Python之禅与时间复杂度分析_快速找到最大值 时间复杂度
假设有A、B、C三个序列,任一序列内部没有重复元素,欲知晓三个序列交集是否为空。问题描述:A 中的元素是否唯一。时间复杂度为O(nlogn)不一定,试比较100000。
2024-09-12 03:40:23
289
原创 netty基础教程-3、helloworld(cs模式)_netty简单实现cs
【代码】netty基础教程-3、helloworld(cs模式)_netty简单实现cs。
2024-09-12 01:26:25
396
原创 k8s学习 — (实践)第六章 配置与存储 持久化存储(1)
PV 持久卷和普通的 Volume 一样, 也是使用卷插件来实现的,只是它们拥有独立于任何使用 PV 的 Pod 的生命周期。如果找不到对应的 PV,则需要看 PVC 是否设置 StorageClass 来决定是否动态创建 PV,若没有配置,PVC 就会一致处于未绑定状态,直到有与之匹配的 PV 后才会申领绑定关系。这些卷对象带有真实存储的细节信息, 并且对集群用户可用(可见)。当用户创建一个 PVC 对象后,主节点会监测新的 PVC 对象,并且寻找与之匹配的 PV 卷,找到 PV 卷后将二者绑定在一起。
2024-09-11 23:15:03
723
原创 Go语言面试宝典:50道必会题目与精解_golang面试必问50个问题
在准备Go语言面试时,掌握核心概念和常见问题至关重要。本文将为您提供10道精选面试题及其详细答案,帮助您在面试中脱颖而出。
2024-09-11 16:32:23
1553
原创 golang适合做什么_golang语言适合做什么
因此,Golang是构建分布式系统的理想语言,无论是构建分布式存储系统、消息队列还是分布式计算系统,都可以借助Golang的并发特性和丰富的库来实现。首先,Golang的goroutine可以轻松地创建和管理大量的并发任务。借助Golang的并发特性和丰富的库,开发者可以轻松地实现并行处理、分布式计算和高效的数据传输,提高大数据处理的速度和效率。Golang的标准库中的net/http包提供了对WebSocket的支持,开发者可以轻松地创建WebSocket服务器和客户端,实现实时通信和即时推送的功能。
2024-09-11 12:13:26
789
原创 Golang WebView2_go webview 64位
这条命令会自动从 GitHub 上下载并安装 Golang WebView2 的源代码。
2024-09-11 10:06:03
500
原创 Go Gin框架中的路由组特性及其区别解析_gin 路由组
在Go语言的Gin框架中,路由组是一种强大的功能,它允许开发者以模块化的方式组织和管理路由。本文将重点讨论两个路由组/v1和/v1/system的特性及其区别,并提供实际应用中的指导。
2024-09-11 07:50:12
538
原创 Django—信号 signal_django signal例子
print(“我已经做完了工作。现在我发送一个信号出去,给那些指定的接收器。”)# 发送信号,将请求的url地址和时间一并传递过去`自定义的信号名叫work_done。create\_signal视图内,获取请求的url,生成请求的时间,作为参数,传递到send方法。这样,我们就发送了一个信号。print(“我在%s时间收到来自%s的信号,请求url为%s” % (kwargs[‘time’], sender, kwargs[“path”]))通过装饰器注册为接收器。
2024-09-11 05:27:43
752
原创 ARM9和STM32什么关系?_arm cortex-a9和stm32
*2.处理器架构(系列)**自ARMv6架构开始,ARM根据处理器的性能和应用场景把处理器进一步划分为:Cortex-M、 Cortex-R、 Cortex-A三种不同类别的处理器系列。**大版本:**ARMv1 ~ ARMv9然后可以进一步划分,比如:ARMv8-A、 ARMv8-R、 ARMv8-M。这里的处理器型号和我们直接的处理器型号(比如:STM32F103ZET6)有区别,这里是站在ARM的角度来说。**Armv:**固定字符, 即ARM Version。-S:**可综合版本。
2024-09-11 03:00:26
1277
原创 HTTPS是如何保证安全的
HTTP存在的问题:通信使用明文(不加密),内容可能会被窃听(第三方可能获知通信内容):不验证通信方的身份,因此有可能遭遇伪装:无法证明报文的完整性,所以有可能已遭篡改HTTPSHTTPS网站可以看到 HTTPS的网站,在浏览器的地址栏内会出现一个带锁的标记。HTTPS并非是应用层一个新的协议,通常 HTTP 直接和 TCP 通信,HTTPS则先和安全层(SSL/TLS)通信,然后安全层再和 TCP 层通信。HTTPS。
2024-09-06 01:57:59
293
原创 Flink的DataSet基本算子总结_flink dateset 算子详解(1)
data2.add(new Tuple2(1,“北京”));data2.add(new Tuple2(2,“上海”));data2.add(new Tuple2(4,“重庆”));data2.add(new Tuple2(1,“北京”));data2.add(new Tuple2(2,“上海”));//实现join的多表查询:用户ID 姓名 所在的程序。//实现join的多表查询:用户ID 姓名 所在的程序。//实现join的多表查询:用户ID 姓名 所在的程序。
2024-09-05 14:38:30
337
原创 CTF刷题笔记 - misc方向 - 电子取证 内存分析_ctf 镜像恶意进程分析
首先,分析VMEM文件整体信息然后, 通过 lsadump 查看内存中密码凭据的明文缓存数据,得到flag。
2024-09-05 03:15:24
1523
原创 Chisel:一款基于HTTP的快速稳定TCPUDP隧道工具_tcp转udp隧道工具
该项目包目前由Fedora社区进行维护,如果你遇到了关于RPM使用的问题,可以使用这个问题跟踪工具【https://bugzilla.redhat.com/buglist.cgi?在内部,这是使用SSH提供的密码验证方法实现的。点击【http://blog.gopheracademy.com/go-and-ssh/】了解更多关于SSH加密的信息。这个Demo应用程序还会运行一个简单的文件服务器(端口为:3000),由于Heroku防火墙的存在,我们是无法直接访问它的。客户端使用指数回退自动重新连接;
2024-09-04 20:54:31
908
原创 Android开发谈:字节跳动Android面试凉凉经,实战解析_android 面试classloader线程安全
优点:安全缺点:费时、SSL 证书收费,加密能力还是有限的,但是比 HTTP 强多了。
2024-09-04 11:17:33
1670
原创 30个编程小技巧,提高代码性能_提升代码运行效率的方法
因为当StringBuilder达到最大容量的时候,它会将自身容量增加到当前的2倍再加2,无论何时只要StringBuilder达到它的最大容量,它就不得不创建一个新的字符数组然后将旧的字符数组内容拷贝到新字符数组中----这是十分耗费性能的一个操作。我们想,如果没有修改过的代码,万一XXX.close()抛异常了,那么就进入了catch块中了,YYY.close()不会执行,YYY这块资源就不会回收了,一直占用着,这样的代码一多,是可能引起资源句柄泄露的。这是JDK推荐给用户的。
2024-09-03 19:28:10
1181
原创 03【MyBatis参数深入】_依据员工姓名查询员工信息 @param name 员工姓名 @return 有的话返回对
dao接口映射:传递的是基本数据类型和String时,里面的内容可以随便填写,取得都是形参中的值测试:3.1.2 传递多个参数时1)MyBatis提供的方式MyBaits在传递多个参数时会特殊处理,多个参数会被封装成 一个map,key从一直到,或者使用索引一直到举例:创建dao接口,根据薪资范围查询接口映射:测试类:2)使用@param注解接口:接口映射:3.1.3 CDATA批量转译3.1.4 传递PoJo对象POJO(Plain Ordinary Ja
2024-09-02 19:31:12
387
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人