自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 mysqlclient 1.4.3 or newer is required; you have 1.0.3

在pycharm的虚拟环境中已经配置了mysqlclient的版本为2.2.4,为什么在运行Django项目时仍会报错。

2024-09-02 17:37:11 364

原创 如何在项目中配置.gitignore文件

gitignore文件用于告诉Git哪些文件不应被跟踪或者提交到版本控制中。如果想忽略一个目录中的所有内容,但保留特定文件或目录,可以使用。使用星号*作为通配符来忽略特定类型的我呢见。在你的项目根目录下创建一个名为。使用斜杠来忽略整个目录。

2024-08-27 10:34:47 285

原创 Github配置SSH连接方式

接下来系统会提示你输入一个密码(可以为空)。这个密码是可选的,用于保护你的 SSH 密钥。使用以下命令检查是否有一个SSH密钥。如果没有,需要生成一个新的密钥。的文件,说明已经有SSH密钥了,可以直接跳转到第3步。在终端输入以下命令,测试是否能成功连接到Github。在提示输入文件保存位置时,按回车键使用默认路径(现在可以使用SSH URL来克隆仓库了。使用以下命令生成一个新的SSH密钥。如果配置正确,会看到类似如下的信息。

2024-08-27 10:23:57 430

原创 C语言 atomic相关用法

在C语言的多线程编程中,原子操作是确保的重要手段。本文中将会探讨C语言中原子操作的相关知识和应用。

2024-08-01 10:42:25 325

原创 Objective-C、C与C++的区别

【代码】Objective-C、C与C++的区别。

2024-07-31 09:40:36 408

原创 va_list、va_start、va_arg、va_end用法

是一个类型,用于表示一个可变参数列表。在C语言中,这个类型通常是一个指向参数的指针,或者是一个封装了这种指针的结构体,具体实现依赖于编译器。有两个参数,第一个参数是va_list类型的变量,第二个参数是最后一个固定参数的名称(最后一个在函数声明中有明确名称的参数)只需要一个参数,就是之前通过va_start初始化的va_list类型的变量。,用于初始化va_list类型的变量,使其指向可变参数列表的第一个参数。,用于结束对可变参数列表的处理,并清理va_list类型的变量。

2024-07-30 16:00:56 156

原创 【C语言】#if和#endif用法

在C语言中,#if和#endif是,用于条件编译。这使得我们能够根据特定的条件在编译时选择性地包含或排除代码段。

2024-07-30 09:31:12 1162

原创 虚拟文件系统VFS

Linux为了支持不同的文件系统而创造了虚拟文件系统,虚拟文件系统更像一个规范(或者说接口),真实的文件系统需要实现虚拟文件系统的规范(接口)才能接入到Linux内核中。在这种情况下,其中的每个进程都使用自己的文件对象,但只需要两个目录项对象,每个硬链接对应一个目录项对象。不同于前面的两个对象,目录项对象没有对应的磁盘数据结构,VFS 在遍历路径名的过程中现场将它们逐个地解析成目录项对象。接口来尝试读取超级块信息,因为每种文件系统的超级块都有不同的魔数,用于识别不同的文件系统,所以当调用。

2024-07-16 16:44:21 720 1

转载 redo log、undo log、bin log详解

MySQL中redo log、binlog、undo log、Buffer Pool相关内容详解

2023-09-01 10:33:51 804

原创 c++ shared_ptr和unique_ptr实现

智能指针是为了更加安全的使用动态内存,与常规指针的区别是可以自动释放所指向的对象。是RAII思想的一个很好的例子。智能指针是类模板,把普通指针交给智能指针对象来进行管理。

2023-08-23 16:11:46 474

原创 全局ID生成方式

在复杂的分布式系统中,需要对大量的数据和消息进行唯一标识,在设计的初期就要考虑到日后的数据量的级别,如果需要对数据库进行分库分表,就需要有一个全局唯一id来标识一条数据或记录。

2023-08-23 14:35:50 182

原创 C++运算符重载详解

(类和对象)运算符重载本质还是函数调用,但C++编译器做了特殊的处理,在程序中,函数的实参书写在运算符+的两边,代替了函数名和括号的传统书写方式。好处。

2023-05-11 15:33:19 2668 1

原创 C++自动推导与函数模板

生成函数定义的过程称为。

2023-05-09 15:47:32 506

原创 C++指针详解

打人犯法吗,犯法;一定会近派出所吗,不一定;

2023-05-09 15:35:08 1027

原创 跳表SkipList

跳表是可以实现二分查找的有序链表空间换时间每个元素在插入时随机生成它的levellevel 0包含所有的元素如果一个元素出现在level x,那么它肯定出现在x一下的level中跳表源码在实现的时候并没有使用向下的指针,具体可以参考源码解析跳表查询、插入和删除的时间复杂度为O(log n),与平衡二叉树接近。

2023-05-06 15:58:37 63

原创 SkipList_DB源码解析

本文是对使用跳表实现的键值对数据库项目的源码解析

2023-05-06 15:11:38 223

原创 【240中等】搜索二维矩阵

【240中等】搜索二维矩阵1. 问题描述编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例 1:输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 5输出:true输入:matrix = [[1,4,7,11,15],[

2021-10-25 11:09:42 96

原创 【中等638】 大礼包

【中等638】 大礼包 (2021.10.24)1. 问题描述在 LeetCode 商店中, 有 n 件在售的物品。每件物品都有对应的价格。然而,也有一些大礼包,每个大礼包以优惠的价格捆绑销售一组物品。给你一个整数数组 price 表示物品价格,其中 price[i] 是第 i 件物品的价格。另有一个整数数组 needs 表示购物清单,其中 needs[i] 是需要购买第 i 件物品的数量。还有一个数组 special 表示大礼包,special[i] 的长度为 n + 1 ,其中 special[

2021-10-24 21:26:44 99

原创 【229中等】求众数

【229中等】求众数(2021.10.22)1. 问题描述给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。示例 1:输入:[3,2,3]输出:[3]示例 2:输入:nums = [1]输出:[1]示例 3:输入:[1,1,1,3,3,2,2,2]输出:[1,2]提示:1 <= nums.length <= 5 * 104-109 <= nums[i] <= 1092. 思路使用map来进行计数摩尔投票

2021-10-22 10:55:02 125

原创 【66简单】加一

【66简单】加一(2021.10.21)1. 问题描述给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:输入:digits

2021-10-21 12:22:36 84

原创 【453简单】最少操作次数使数组元素相等

【453简单】最少操作次数使数组元素相等(2021.10.20)1. 问题描述给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。示例 1:输入:nums = [1,2,3]输出:3解释:只需要3次操作(注意每次操作会增加两个元素的值):[1,2,3] => [2,3,3] => [3,4,3] => [4,4,4]示例 2:输入:nums = [1,1,1]输出:0提示:n ==

2021-10-20 13:57:55 1291

原创 【476简单】数字的补数

【476简单】数字的补数(2021.10.18)1. 问题描述给你一个 正 整数 num ,输出它的补数。补数是对该数的二进制表示取反。示例 1:输入:num = 5输出:2解释:5 的二进制表示为 101(没有前导零位),其补数为 010。所以你需要输出 2 。示例 2:输入:num = 1输出:0解释:1 的二进制表示为 1(没有前导零位),其补数为 0。所以你需要输出 0 。提示:给定的整数 num 保证在 32 位带符号整数的范围内。num >= 1你可以假定

2021-10-18 11:08:49 194

原创 【38中等】 外观数列

【38中等】 外观数列(2021.10.15)1. 问题描述给定一个正整数 n ,输出外观数列的第 n 项。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(1) = "1"countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。前五项如下:1. 12. 113. 214. 12115.

2021-10-15 11:02:30 86

原创 【852简单】 山峰数组的顶部

【852简单】 山峰数组的顶部(2021.10.14)1.问题描述符合下列属性的数组 arr 称为 山峰数组(山脉数组) :arr.length >= 3存在 i(0 < i < arr.length - 1)使得:arr[0] < arr[1] < ... arr[i-1] < arr[i]arr[i] > arr[i+1] > ... > arr[arr.length - 1]给定由整数组成的山峰数组 arr ,返回任何满足

2021-10-14 09:59:28 94

原创 【412简单】FizzBuzz

12. 【412简单】(2021.10.13)1. 问题描述给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中:answer[i] == “FizzBuzz” 如果 i 同时是 3 和 5 的倍数。answer[i] == “Fizz” 如果 i 是 3 的倍数。answer[i] == “Buzz” 如果 i 是 5 的倍数。answer[i] == i 如果上述条件全不满足。示例 1:输入:n

2021-10-13 20:20:16 184

原创 29中等】两数相除

【29中等】两数相除(2021.10.12)1. 问题描述给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2示例 1:输入: dividend = 10, divisor = 3输出: 3解释: 10/3 = tr

2021-10-12 11:31:15 83

原创 【352困难】将数据流变为多个不相交区间

【352困难】将数据流变为多个不相交区间(2021.10.9)1. 问题描述给你一个由非负整数 a1, a2, ..., an 组成的数据流输入,请你将到目前为止看到的数字总结为不相交的区间列表。实现 SummaryRanges 类:SummaryRanges() 使用一个空数据流初始化对象。void addNum(int val) 向数据流中加入整数 val 。int[][] getIntervals() 以不相交区间 [starti, endi] 的列表形式返回对数据流中整数的总结。示

2021-10-09 13:04:36 73

原创 【187中等】重复的DNA序列

【187中等】重复的DNA序列(2021.10.8)1. 问题描述所有 DNA 都由一系列缩写为 'A','C','G' 和 'T' 的核苷酸组成,例如:"ACGAATTCCG"。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。编写一个函数来找出所有目标子串,目标子串的长度为 10,且在 DNA 字符串 s 中出现次数超过一次。示例1:输入:s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"输出:["AAAAACCCCC","CCCCCAAAAA"

2021-10-08 11:20:49 167

原创 【434简单】字符串中的单词数

【434简单】字符串中的单词数(2021.10.7)1. 问题描述统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。请注意,你可以假定字符串里不包括任何不可打印的字符。示例:输入: "Hello, my name is John"输出: 5解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。2. 思路在字符串末尾添加一个空格,只有当前一个字符不为空格且当前字符为空格的时候,单词数+1。3. 代码class Solution {publi

2021-10-07 10:39:18 145

原创 【414简单】第三大的数

【414简单】第三大的数(2021.10.6)1. 问题描述给你一个非空数组,返回此数组中第三大的数。如果不存在,返回数组中最大的数。示例1:输入:[3, 2, 1]输出:1解释:第三大的数是 1 。示例2:输入:[1, 2]输出:2解释:第三大的数不存在, 所以返回最大的数 2 。示例3:输入:[2, 2, 3, 1]输出:1解释:注意,要求返回第三大的数,是指在所有不同数字中排第三大的数。此例中存在两个值为 2 的数,它们都排第二。在所有不同数字中排第三大的数为 1 。

2021-10-06 11:18:01 547

原创 【284中等】顶端迭代器

【284中等】顶端迭代器(2021.10.5)1. 问题描述请你设计一个迭代器,除了支持hasNext和next操作之外,还支持peek操作。实现PeekingIterator类:PeekingIterator(int[] nums)使用指定整数数组nums初始化迭代器。int next()返回数组的下一个元素,并将指针移动到下个元素处。bool hasNext()如果数组存在下一个元素,返回true;否则,返回false。int peek()返回数组中的下一个元素,但不移动指针。示例:

2021-10-05 16:27:09 94

原创 【482简单】密钥格式化

【482简单】密钥格式化(2021.10.4)1. 问题描述有一个密钥字符串S,只包含字母,数字以及‘-’(破折号)。其中,N个‘-’将字符串分成了N+1组。给你一个数字K,请你重新格式化字符串,使每个分组恰好包含K个字符。特别的,第一个分组包含的字符个数必须小于等于K,但至少要包含1个字符。两个分组之间需要用‘-’(破折号),并且将所有的小写字母转换为大写字母。给定非空字符串S和数字K,按照上面描述的规则进行格式化。示例1:输入:S = "5F3Z-2e-9-w", K = 4输出:"5F3

2021-10-05 12:26:06 165

原创 【1436简单】终点旅行站

【1436简单】终点旅行站(2021.10.1)1. 问题描述给你一份旅游线路图,该线路图中的旅行线路用数组paths表示,其中paths[i] = [cityAi,cityBi]表示该线路将会从cityAi直接前往cityBi。请你找出这里旅行的终点站,即没有任何可以通往其他城市的线路的城市。题目数据保证线路图会形成一条不存在循环的线路,因此恰有一个旅行重点站。示例1:输入:paths = [["London","New York"],["New York","Lima"],["Lima","S

2021-10-01 18:34:23 82

原创 【223中等】矩形面积

【223中等】矩形面积(2021.9.30)1. 问题描述给你二维平面上两个由直线构成的矩形,请你计算并返回两个矩形覆盖的总面积。每个矩形由其左下顶点和右上顶点坐标表示:第一个矩形由其左下顶点(ax1,ay1)(a_{x1},a_{y1})(ax1​,ay1​)和右上顶点(ax2,ay2)(a_{x2},a_{y2})(ax2​,ay2​)定义。第二个矩形由其左下顶点(bx1,by1)(b_{x1},b_{y1})(bx1​,by1​)和右上顶点(bx2,by2)(b_{x2},b_{y2})(

2021-10-01 18:30:13 185

原创 单目ORB-SLAM流程梳理

单目ORB-SLAM刚刚完成高博《视觉SLAM十四讲》的第一遍学习,读了单目SLAM比较有代表性的ORB-SLAM的文章,结合B站泡泡机器人吴兵老师的分享,对单目ORB-SLAM的流程做了一个简单的梳理。1.流程这三部分是并行执行的。输入:摄像头(图像 + 时间码)输出:轨迹(每帧图像对应相机位姿) + 地图(关键帧 + Map point)Map point就是特征对应的三维空间点。1.1 具体输入相机内参(标定好的)相机的焦距尽量不要改变如果对采集的图像进行缩放处理,相机内参

2020-10-28 10:25:19 2547 2

原创 django.db.utils.OperationalError: (1049, “Unknown database ‘runoob‘“)

背景:在Django中创建表结构,执行如下指令的时候遇到了题目所述的问题,查阅资料以后解决了该问题,在此做下记录。python manage.py migrate报错中描述的是没有找到名字为 runoob的数据库,这里提供两种可能的解决思路。Django项目配置文件中的数据库名称与mysql中的数据库名称不对应。查看自己项目同名文件夹下的setting.py文件中的如下所示的‘NAME’属性DATABASES = { 'default': { 'ENGIN

2020-10-27 21:34:38 6612

转载 django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.0 or newer is required; you have 0.10.1

今天在跟着菜鸟教程学习Django框架的时候遇到了这个报错,在按照教程执行了以下命令以后出现了这个问题:python manage.py migrate具体的报错如题目所示,参考了其他博主的博客以后解决了这个问题,在这里记录一下方便自己回看。参考链接具体解决办法:直接指定相应的版本在setting.py所在的文件目录的__init__.py中进行如下配置:import pymysqlpymysql.version_info = (1, 4, 13, "final", 0) # 这里直接指

2020-10-27 15:53:56 308

原创 在pycharm中使用命令行创建Django项目

在pycharm中使用命令行创建Django项目最近参与了一个app开发的项目,需要了解下python的Django框架怎么使用。在这中间也遇到一些小问题,下面记录下自己创建项目的过程,方便以后回看。在使用自己之前安装的pycharm来创建Django的项目的时候,发现并没有这个选项。经过搜索之后了解到这是因为自己安装的是社区版,只有专业版才有选择项目类型的功能,那么就要使用命令行来创建Django项目。流程如下:终端进入要存放项目的路径在命令行执行如下指令,回车就创建了一个新项目:dja

2020-10-27 10:30:34 1637

原创 黑马c++笔记

4. 控制语句三目运算符返回的是一个变量,可以继续进行赋值。(a > b ? a : b) = 100;//就是把两者中比较大的那个的值赋成1004.1 switch语句[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PwfMLgHm-1600761248872)(C:\Users\15699\AppData\Roaming\Typora\typora-user-images\image-20200915115401087.png)]int main(){

2020-09-22 15:56:03 1122

原创 RuntimeError:input must have 3 dimensions, got 4

RuntimeError:input must have 3 dimensions, got 4在pytorch环境下使用RNN对CIFAR10数据集进行分析时出现了这个报错解决方法在pytorch环境下使用RNN对CIFAR10数据集进行分析时出现了这个报错描述是需要输入一个3维的向量,但是这里提供了一个4维的解决方法使用inputs = inputs.view(-1,32,32*3),...

2019-12-15 10:44:13 9987 2

空空如也

空空如也

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

TA关注的人

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