- 博客(57)
- 收藏
- 关注
原创 C++实现urlencode编码
检查给定字符是否为当前 C 本地环境分类为字母数字字符。减少错误风险:直接使用 snprintf 减少了自己实现十六进制转换逻辑的错误风险。提高效率:在处理字符串格式化时,使用标准库函数通常比自定义实现更优化和更高效。X代表十六进制,按照2位十六进制数格式化,并且如果不足两位会在前面补0。小写字母( abcdefghijklmnopqrstuvwxyz ),包括十六进制表示。这样可以避免额外的函数定义和可能的错误。snprintf 是一个标准库函数,可以直接。数字( 0123456789 )
2024-08-11 19:54:21
182
原创 Linux|ubuntu22.04安装CUDA最新完整教程
流程:安装前检查->安装->安装后配置版本: CUDA12.5系统: Ubuntu22.04内核: 6.5.0-35-generic本文参考官方指南。
2024-05-23 09:44:23
4784
原创 UBUNTU22.04无法安装nvidia-driver-550 依赖于 nvidia-dkms-550 (<= 550.54.15-1)
类似的报错信息,就是卡在了nvidia-dkms-550无法安装Error!
2024-05-20 18:51:36
2022
原创 红黑树高度上限2log2(N+1)简洁证明【通俗易懂且正确!】
首先阅读这篇文章 https://fanlv.fun/2018/08/12/binary-tree/根据2-3树的构造规则,可知2-3树是一个满树,若全为2-的节点,即为满二叉树。转化过程中,红连接展平,黑链接不动。始终不变的是黑连接,什么是2-3树,红黑树如何转换成2-3树。由红黑树转化为2-3树可知,
2024-05-14 00:54:47
931
1
原创 fuckingAlgorithm【双指针】19.删除链表的倒数第N个结点
倒数第k个是正数第n-k+1个,即(n+1) - k个。倒数第2个是正数第n-1个,即(n+1) - 2个。倒数第3个是正数第n-2个,即(n+1) - 3个。倒数第1个是 正数第n个,即(n+1) - 1个。要寻找倒数k个节点,
2024-01-16 00:07:44
397
原创 1分钟确定什么是软中断!
在硬件中断运行时,会触发中断服务程序ISR(Interrupt service routine), ISR需要立即处理中断事件并完成相关任务。将中断过程分成了两个阶段,分别是「上半部和下半部分」,上半部分立即响应硬件中断程序,下半部分由内核触发处理。软中断softirqs(soft interrupt requests),根据定义可以清晰的分辨出,softirqs并不属于中断!,同时处理其它重要不紧急的任务。为了解决中断处理程序。
2024-01-15 12:36:57
462
原创 代码随想录60天总结
不可能每次训练都比上一次强,有状态好的时候,有状态差的时候!没想到自己也已经写了2w3k多字的笔记,小小成就,记录一下!健身的人都知道,如果放弃训练,那么就不可能有进步,如果每次能都比上次突破一点点🤏坚持下来,回头再看!当你啰嗦的时候,说明你之前的表达并不清晰,应该去修正表达(重构),而不应该继续啰嗦,在屎山上堆屎,容易把人绕(臭)晕。从一开始1个小时甚至2小时解一道题、找bug,随着不断的练习,我感到自己越写越熟练、越来越能轻松的理解解题思路!你不必完美要求自己,只要比之前的自己有进步就很棒了!
2024-01-08 11:12:25
1266
原创 ERROR 1698 (28000): Access denied for user ‘root‘@‘localhost‘
注意密码要求8位以上,需要包含大写、小写、数字、特殊字符。
2024-01-06 18:45:09
511
原创 3分钟了解syscall系统调用|详细易懂的流程
系统调用(syscall)是操作系统提供给程序以请求内核服务的一种机制。和int 0x80提供相同的服务。系统调用是操作系统提供给应用程序的一种重要接口,它使得程序能够安全、有效地执行需要操作系统干预的操作,如文件处理、进程管理等。尽管系统调用引入了一定的性能开销,但它的安全性和易用性使得它成为操作系统设计中不可或缺的一部分。SYSCALL减少了上下文切换和简化了指令执行流程,性能更高,但对旧机器的兼容性不如int 80h.
2024-01-04 17:38:42
3383
原创 1分钟了解INT 80h中断
是Linux操作系统中的一个系统调用中断,它提供了一种用户空间程序与内核交互的方式。int 80h是Linux中实现系统调用的一种方式,是系统调用的入口,是用户态到内核态的入口点。它提供了一个安全、可控的机制让用户程序可以请求内核服务。虽然存在一些性能和编程复杂度上的问题,但其优点使得它成为了操作系统设计中不可或缺的部分。
2024-01-04 14:53:12
1285
原创 2分钟了解什么是socket?
数据报Socket(Datagram Sockets):也称为 UDP Sockets,它们允许程序发送或接收独立的消息(数据报)。你可以将 Socket 看作是一辆车,而 TCP 和 UDP 则是驾驶这辆车的两种不同驾驶风格:一种是稳重可靠但相对较慢(TCP),另一种是快速但可能不那么可靠的(UDP)。就像打电话一样,你先建立连接,然后开始通信,直到通话结束。TCP 是一种面向连接的协议,提供可靠的、有序的和错误检测机制的数据传输。UDP 是一种无连接的协议,它不保证消息的可靠传递,没有建立连接的过程。
2024-01-03 10:08:25
1035
原创 信号量机制:原语PV操作的实现|源代码和解释
P-V原语操作P = plantinga = Probeer(’try’)=尝试V= Verhoog = increment = 增加1wait(S)原语:P操作,检查+上锁,避免了异步并发导致的死锁的问题。signal(S)原语:V操作。
2024-01-01 20:50:36
1554
原创 2分钟快速了解Redis核心内容
Redis 是一种高性能的键值对数据库。Redis是一款功能强大的键值对存储系统,通过将数据存放在内存中,可以实现快速的读写访问速度。虽然它的内存存储方式带来了一些限制和挑战,但是其优越的性能和丰富的数据结构支持使其在需要高速缓存和快速响应的场景中变得非常受欢迎。
2023-12-29 15:42:40
503
原创 2分钟快速了解Nginx
Nginx(发音为 “engine x”)是一个高性能的HTTP和反向代理服务器,也用作邮件代理服务器。它以其稳定性、丰富的功能集、简单的配置和低资源消耗而闻名。Nginx是一个现代、高效且广泛应用的Web服务器和反向代理服务器,特别适用于处理静态内容、实现负载均衡以及处理高并发场景。其易于配置与维护的特性,使得它成为了许多大型网站和云服务的首选基础设施。虽然它在某些方面(如动态模块安装和在Windows上的使用)可能受限,但这些缺点并不妨碍其在互联网基础设施构建中的重要角色。
2023-12-29 15:40:17
704
原创 代码随想录:动态规划|子序列问题全集
前一个状态到当前状态,自然的从前向后遍历。根据递推公式的原理可以找到答案,我们记录的是最大值,跟顺序无关。类比背包问题 物品:序列中的元素,背包容量:序列的长度。求最长子序列,这个物品必须得装,如果不装,不能从当前位置转化到下一个位置。递推中求最大值,我们就去找最小值。最小长度递增子序列只包含自己1个元素,长度为1。dp[0]包含一个元素已经初始化为1了。:dp[i][j] 记录以nums[i]结尾最长递增子序列的长度。], 保存最长序列的长度dp[5]=4。比如:[1, 4, 2, 3, 4,
2023-12-29 10:14:23
506
原创 代码随想录:动态规划|309.最佳买卖股票时机含冷冻期&714. 买卖股票的最佳时机含手续费
而后还可以合并为3个状态,将dp[1]和dp[2]合并为一个状态。即:不持有 = 没过冷冻期+过了冷冻期。怎么好理解怎么去想。而且你完全可以把持有状态换成买入状态。vscode编辑器,doxygen document插件自动生成的doxygen注释语法。代码风格clang-format格式based Google。dp存储状态:持有和不持有的两个状态,细分为4个状态。股票问题的核心:分清楚状态和状态如何转化的。使用的doctest.h单元测试库。clangd语言服务器。
2023-12-28 14:53:52
407
原创 代码随想录day50:动态规划|买卖股票的最佳时机III&IV
看第二行代码,左侧dp[1]是当前第i天的第一次不持有状态, max函数中最右侧dp[1]是历史数据,dp[0] 而是第 i 天的最新的数据,因为dp[0]在第一行代码中先更新了。如果num[i]是历史最低,第一次持有dp[0]才会更新,但dp[0]+price[i]==0, 对dp[1]第一次卖出求最大值无影响。对dp[1]第一次卖出没影响的,因为第一次卖出dp[1]的全局最小值就是0,即当天买当天卖,其他时候我们所执行的操作都收益大于0的。从后向前遍历,同理。因为dp[0]存储的是历史最低价,
2023-12-27 10:23:30
436
原创 安装Qt6.2 在Ubuntu 22.04系统
1. 下载对应系统的下载器-->2.为下载器指定镜像源 --> 3.下载长期支持版本(比较稳定) --> 4.添加到系统环境变量 --> 5.验证 --> 6.项目中使用
2023-11-29 21:57:43
763
原创 【小白推荐】安装OpenCV4.8 系统 Ubuntu 22.04LST Linux.
2023年13月安装OpenCV最简洁,最有效、最适合小白的方法!
2023-11-28 14:03:27
693
原创 不是默认进入Linux|总是自动进入windows系统
开机狂按Del键,进入BIOS系统,左侧Settings 设置,修改boot启动的顺序,把Ubuntu发在前边。系统装在了在同一个磁盘中,引导先加载了windows的引导。
2023-11-24 09:07:12
258
原创 stable diffusion webui安装与使用(官方超简单教程)
ai绘画,stable diffusion webui下载安装与使用
2023-02-21 03:07:57
15586
5
原创 Yolov5使用TensorRT加速(python篇)/win10/linux
文章目录前言〇、准备工作:1.安装TensorRT2.更新项目3.检查依赖二、导出权重文件三、使用tensorRT加速前言使用的是最新的项目,因为新的项目都把代码写好了,直接调用就行了。。。意思操作更无脑了。前提需要安装TensorRT,使用操作只需要两步。。。麻烦在于环境的安装。加速流程:导出.engine格式权重文件,加载engine文件自动调用tensorRT。〇、准备工作:1.安装TensorRT参考我另一篇博客超简单安装TensorRT(仅限python)2.更新项目使用的最新版
2022-04-21 00:22:02
7328
40
原创 win10/linux超简单安装TensorRT 在python使用
超简单安装TensorRT,仅需一行代码,仅python食用,愉快yolov5加速
2022-04-17 04:07:22
4579
29
原创 Windows10 安装TensorRT使用python加速yolov5
Windows10 安装tensorRT 在python下使用,加速yolov5
2022-04-17 03:56:41
5151
5
原创 Zotero如何在word中引用跳转到参考文献/建立超链接
Zotero在word中使用不支持引用和参考文献的跳转关联。创建一个word宏,即可完美解决!!!
2022-04-16 02:08:45
27215
76
原创 ERROR: Could not find a version that satisfies the requirement win32gui
安装win32gui报错
2022-04-01 23:29:51
4559
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人