- 博客(40)
- 收藏
- 关注
原创 【无标题】
1、阿里云开端口(使用nginx转,可以不开端口)2、阿里云配置子域名3、配置nginx,注意端口4、gunicorn配置,注意端口5、Django setting.py 将debug设为false。2、Nginx(在docker中)直接将静态文件夹的路径与nginx在docker容器中映射。或者直接将静态文件夹复制到nginx在本机的的映射路径中。欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编
2024-02-16 17:47:05
1103
原创 常见得目标检测框架性能指标汇总
所示都是基于coco2017数据集,使用tf2实现,Yolo系列数据来自博主Bubbliiiing,其他系列来自tensorflow官方数据
2022-05-24 10:00:00
170
原创 web1_html基础
参考链接https://www.cnblogs.com/yuanchenqi/articles/5976755.html学习链接https://www.w3school.com.cn/tags/tag_input.asphtml部分常用总结随着后续接触到新的知识点后,继续更新此导图。1、html主要概念图:2、html常用标签(元素)拓展图:3、在2的基础上添加个标签(元素))主要使用的属性:需要xmind源文件,可吱声。...
2021-06-28 00:12:28
97
原创 python(11)面向对象
有很多函数,把这些函数按照一定的关系聚堆,叫做分类类就是一堆函数的合集类就是某样东西这个东西可能是人,有固定的属性,比如名字,生日,身份信息如果是个活的,还会做出某些行为,就是方法具体某一个人,这个人就是这个类的对象...
2021-06-03 20:16:31
97
原创 python(10)基础常用模块
bin.py #通常作为起始文件系统只会把正在执行的文件添加到搜索路径可以通过 sys.path() #查询包含哪些包路径import modulenamefrom modulename import functionfrom modulename import * #把所有的函数导入,不推荐使用from packgename import modulename #模块在执行文件的下一级目录from packge1.packge2.packge3 import modulename
2021-05-28 20:25:35
160
原创 python(9)装饰器
装饰器:本质就是函数,功能是为其他函数添加附加功能原则:1、不修改被修饰函数的源代码2、不修改被修饰函数的调用方式##########装饰器 = 高阶函数 + 函数嵌套 + 闭包高阶函数:1、函数的参数包含一个函数名2、函数的返回值包含一个函数名3、满足上面任意条件,都可称为高阶函数解压序列:a,b,c = [1,2,3] #不能多也不能少,一一对应a,b,c = "hel"a, *_, c = [1,2,3,4,5,6,7,32,43,7,9] #_接收a和c之间的元
2021-05-25 18:15:47
72
原创 python(8)迭代器、生成器
三元表达式:res = 结果1 if 条件语句 else 结果3 #条件成立返回结果1,否则返回结果2li = ["元素%s" %i for i in range(10)] #['元素0', '元素1', '元素2', '元素3', '元素4']li = ["元素%s" %i for i in range(5) if i > 3] #['元素4']迭代器协议是指:对象必须提供一个next执行方法,执行该方法要么返回迭代器中的下一项,要么就引起一个stopIteration异常,以终.
2021-05-24 23:01:15
83
原创 python(7)文件操作
f = open("xx",encoding = 'utf-8') #open函数自动检索系统编码方式,所以需要设置编码方式data = f.read()f.close()1、##########读f = open("xxx", "r",encoding = "utf-8")f.read() #读取全部,光标移至最后f.readable() #判断是否可读f.readline() #读取光标所在的行f.readlines() #读取所有行,每一行作为一个元素,放在列表里2、##
2021-05-24 14:26:59
90
原创 python(6)map、filter、reduce和内置函数
递归特性:1、必须有一个明确的结束条件2、每次进行一次递归时,问题规模相比上一次递归都应有所减少3、递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以递归调用的次数过多,会导致栈溢出) ...
2021-05-21 17:16:35
126
原创 pythpn(5)函数
def test(x): #关键字 函数名(形参): "The function definition" #函数功能描述,非必要,建议添加描述信息 x += 1 #函数体 return x #返回值s = test(a); #变量=函数(实参) m 没有返回值加过程,但是python会默认返回None·返回值数=0:返回None·返回值数=1:返回object·返回值数>1: 返回tuple返回的是内存地址,需要变量接收再打印作用:1、代码
2021-05-20 17:33:54
118
原创 python(4)格式化%、format
print("name","age","phone",sep=":")#name:age:phone msg = 'I am %s ' % "QHH" msg = "I am %s , age %d" % ("QHH", 18) msg = "I am %(name)s , age %(age)d" % {"name" : "QHH", "age": 18} msg = "percent %.2f %%" % 99.9999 msg = "\033[43;1mpercent %.2s\033[0
2021-05-20 15:40:35
115
原创 python(3)集合set、frozenset
定义:由不同元素组成的集合,集合中是一组无序排列的hash值,可以作为字典的key特性:集合的目的是将不同的值放到一起,不同的集合间用来做关系运算,无需纠结集合中的单个值不同值无序集合中的元素必须是不可变类型{} v = 可迭代类型 s = set(v)1、添加 s.add(xxx) #加一个值 s.update(xxx) #并多值 s.union(xx) #不更新2、清空 s.clear() s.pop() #随机删 s.remove(xxx) #删除指定值,不存
2021-05-20 14:13:20
135
原创 python(2)list、tuple、dict
list 列表li = [1,2,"ddsd",[1,2,3,[334,"wr"]],True,"哈哈哈"]#中括号#, 分割每个元素#列表中的元素可以使数字、字符串、列表、bool值等等任何东西#列表是有序的1、######取值方式索引取值切片,切片结果也是一个列表#列表元素可以被修改2、#####修改方式索引 li[1] = 100切片 li[3,5] = [10, 20]列表可以通过索引修改,字符串不可以3、####删除方式索引 del li[0]切片 del li
2021-05-19 19:11:14
95
原创 python(1)基本类型(int/str)
python数字类型int1、将字符串转换为数字 s = "123" print(type(s),s) n = int(s) print(type(n),n)2、将字符串以base进制转换为十进制 s = "f" n = int(s, base = 16) print(n)3、当前数字用二进制要用几位表示 num = 100 b = num.bit_length() print(b)字符串strs = "helLO"s2 = "el"num = 1001、首字母大
2021-05-19 07:47:03
298
原创 algorithm,numeric常用算法函数
常用算法: ·常用算法主要由头文件<algorthm> <functional> <numeric>组成 ·<algorithm>是所有STL头文件中最大的一个,范围涉及到比较、交换、查找、遍历操作、复制修改等等 ·<numeric>体积很小,只包括几个序列上面进行简单数学运算的模板函数 ·<functional>定义了一些模板类,用以声明函数对象常用遍历算法:for_each(iterator beg, iterator
2021-03-24 21:02:12
278
1
原创 函数对象(仿函数)| 谓词 | 内置仿函数
函数对象:概念: 重载安函数调用操作符的类,其对象常称为函数对象 函数对象使用重载的()时,行为类似函数调用,也叫仿函数本质: 函数对象(仿函数)是一个类,不是一个函数。特点: 函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值 函数对象超出普通函数的概念,函数对象可以有自己的状态 函数对象可以作为参数传递...
2021-03-01 13:56:18
186
2
原创 容器知识巩固小案例-员工分组(C++)
/*案例描述: ·公司今天招聘了10个员工(ABCDEFGHI),10名员工进入公司后,需要指派员工在哪个部门工作 ·员工信息有:姓名 工资; 部门分为:策划、美术、研发 ·随机给10名员工分配部门和工资 ·通过multimap进行信息插入key(部门编号) value(员工) ·分部门显示员工信息 实现步骤: ·创建10名员工,放到vector中 ·遍历vector容器,取出每个员工,进行随机分组 ·分组后,将员工部门编号作为key,具体员工作为value,放入到multim
2021-02-28 21:32:48
124
原创 map/multimap容器(C++)
map/multimap容器:map基本概念: map中所有元素都是pair pair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值) 所有元素都会根据元素的键值排序本质: map/multimap属于关联式容器,底层结构是二叉树实现优点: 可以根据key快速找到value值map和multimap的区别: map不容许容器中有重复key值元素 multimap允许容器中有重复的key值元素map构造函数和赋值:map<T1, T2> mp;
2021-02-25 23:35:36
116
1
原创 set/multiset容器(C++)
set/multiset容器:set基本概念: 所有元素都会在插入时自动排序本质: set/multiset属于关联式容器,底层结构是用二叉树实现。set和multiset区别: set不允许容器中有重复元素 multiset允许容器中有重复元素 set构造和赋值:set<T> st; //默认构造函数set(const set &st); //拷贝构造函数set & operator=(const set &st); //重载等
2021-02-24 23:25:18
86
原创 list容器(C++)
/*list的赋值和交换:assign(begin, end); //将[begin, end)区间中的数据拷贝赋值给本身assign(n, ele); //将n个elem拷贝赋值给本身list& operator=(const list &lst); //重载等号操作符 swap(lst); //将lst与本身元素互换list大小操作:size(); //返回容器中元素的个数empty(); //判断容器是否为空resize(nu
2021-02-23 19:24:51
146
1
原创 泛型编程和STL基础学习(C++)(未完待续)
一往情深深几许,深山夕照深秋雨。 泛型编程:函数模板和类模板函数模板: template<typename T> //typename也可使用class void func(T &a){}两种方式使用模板: 1、自动类型推导 func(a) 2、显式指定类型 func<int>(a)模板的目的是为了提高代码的复用性,将类型参数化注意事项: ·自动类型推导,必须推导出一致数据类型T,才可以使用 ·模板必须要确定出T的数据类型,才可以使用
2021-02-09 15:51:03
136
原创 stack、queue容器学习(C++)
stack容器:概念:stack是一种先进后出(First in Last out, FILO)的数据结构,它只有一个出口常用接口:构造函数:stack<T> stk; //stack采用模板实现,stack对象默认构造形式stack(const stack &stk); //拷贝构造函数赋值操作:stack & operator=(const stack &stk); //重载=操作符数据存取:push(elem); //向栈顶添
2021-02-09 15:44:44
85
原创 stl案例练习—评委打分(vector,deque)
#include <iostream>using namespace std;#include <string>#include <vector>#include <deque>#include <algorithm>#include <ctime>/*有5名选手:选手ABCDE,10个评委分别对每一名选手打分,去除最高分和最低分,取平均分 ,要求使用vector、deque、string容器*///创建选手类cl
2021-02-08 10:19:15
126
原创 deque容器学习(C++)
deque容器: ·双端队列。可以对头端和尾部进行插入删除操作deque与vector的区别: ·vector对于头部插入删除效率低,数据量越大,效率越低 ·deque相对而言,对头部的插入删除速度比vector快 ·vector访问元素的速度会比deque快,这和两者的内部实现有关deque内部工作原理: deque内部有个中控器,维护每段缓冲区中的内容,缓冲区中存放真实数据 中控器维护的是每个缓冲区的地址,使得使用deque时像一片连续的内存空间·deque容器的迭代器也是支持随机
2021-02-04 20:12:26
94
原创 vector容器学习(C++)
vector容器:vector构造函数:vector<T> v; //采用模板实现类实现,默认构造函数vector(v.begin(), v.end()); //将v[begin(), end())区间中的元素拷贝给本身vector(n, elem); //构造函数将n个elem拷贝给本身vector(const vector & vec); //拷贝构造函数vector赋值操作:vector & operator=(const vector &
2021-02-04 15:41:34
136
1
原创 string容器学习(c++)
string容器string容器本质: ·string是C++风格的字符串,而string本质上是一个类string和char*的区别: ·char*是一个指针 ·string是一个类,类内 不封装了char*,管理这个字符串,是一个char*型的容器。特点: string类内部封装了很多成员方法 例如:查找find,拷贝copy,删除delete,替换replace, 插入insert string 管理char* 所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责构造
2021-02-03 17:21:18
111
3
原创 数组类封装案例C++模板
/*泛型编程:函数模板和类模板函数模板:template //typename也可使用classvoid func(T &a){}两种方式使用模板:1、自动类型推导func(a)2、显式指定类型func(a)模板的目的是为了提高代码的复用性,将类型参数化注意事项:·自动类型推导,必须推导出一致数据类型T,才可以使用·模板必须要确定出T的数据类型,才可以使用普通函数和模板的区别:自动类型推导 不会发生隐式类型转换显式制定类型 会发生隐式类型转换普通函数和模板函数的调
2021-02-03 09:44:08
201
3
原创 C++模板的简易学习
泛型编程:函数模板和类模板函数模板:template //typename也可使用classvoid func(T &a){}两种方式使用模板:1、自动类型推导func(a)2、显式指定类型func(a)模板的目的是为了提高代码的复用性,将类型参数化注意事项:·自动类型推导,必须推导出一致数据类型T,才可以使用·模板必须要确定出T的数据类型,才可以使用普通函数和模板的区别:自动类型推导 不会发生隐式类型转换显式制定类型 会发生隐式类型转换普通函数和模板函数的调用规则
2021-02-02 09:08:34
101
1
原创 C++面向对象部分基础学习随笔
/*内存分区模型c++程序在执行时,将内存大方向划分为4个区域 ·代码区:存放函数体和二进制代码,由操作系统进行管理 程序运行前: 存放CPU执行的机器指令 代码区是共享的,共享的目的是对于频繁执行的程序,只需要在内中有一份代码即可。 代码区是只读的,使其只读的原因是防止程序意外地修改它的指令。 ·全局区:存放全局变量和静态变量 程序运行前: 全局变量和静态变量存放在此 全局区还包含了常量区: 字符串常量和const修饰的全局常量 该区域的数据.
2021-02-01 09:50:11
117
原创 实现简易通讯录--C语言\C++
使用c基础语法,编写一个简易的通讯录。主要捋顺编写程序的逻辑思维,练习结构体,数组,指针,枚举等等的运用。#include <iostream>#include <string>using namespace std;#define MAX 1000 void showMenu();void inputInfo(struct AddressBooks* abs, int index);void addPeople(struct AddressBooks* abs);
2021-01-07 16:38:00
201
3
原创 C++,C语言语法基础学习随笔
/*常量的定义方式 1、#define 宏常量 2、const 修饰的变量*//*关键字标识符命名规则 1、标识符不能是关键字 2、标识符只能由字母、数字和下划线组成 3、标识符第一个字符只能是字母或下划线 4、标识符是区分大小写的建议:给变量起名的时候,最好能见名知意*//*sizeof 关键字 语法: sizeof(数据类型/变量)*//*创建变量语法: 数据类型 变量名 = 变量初始值数据类型存在的意义: 给变量分配合适的内存空间整型short 2
2021-01-06 19:34:32
101
原创 排序算法实现--C语言
选择排序时间/空间复杂度:O(n^2) / O(1)特点:逐个对比,简易,但是速度慢描述:选择排序的基本算法是从待排序的区间中经过选择和交换后选出最小的数值存放到 a[0] 中,再从剩余的未排序区间中经过选择和交换后选出最小的数值存放到 a[1] 中,a[1] 中的数字仅大于 a[0],依此类推,即可实现排序。/*********************************************************************************************
2021-01-06 10:38:42
107
转载 C语言实现多字符串搜索
一、问题来源用C语言编程实现在文本文件Android.log中搜索字符串,搜索“CameraService::connect”与“logicalCameraId: 5, cameraId: 5”,并打印出来包含字符串的那一行内容。字符串搜索是我们经常会遇到的问题,特别是在log中某些信息定位中起着重要作用。如何在海量的文本数据中,找到我们想要的信息,对搜索算法的速度和精度都有着较高的要求。二、算法选择字符串搜索算法有很多种,例如:KMP算法、正则匹配、暴力查找、Rabin-Karp算法、Sunday
2021-01-06 10:23:25
1058
原创 寻找具有树特征无向图的最小高度树---C语言
== 一、问题来源==对于一个具有树特征的无向图,我们可选择任何一个节点作为根。图因此可以成为树,在所有可能的树中,具有最小高度的树被称为最小高度树。给出这样的一个图,写出一个函数找到所有的最小高度树并返回他们的根节点。该图包含n个节点,标记为0到n-1。给定数字n和一个无向边edges列表(每一个边都是一对标签)你可以假设没有重复的边会出现在edges 中。由于所有的边都是无向边,[0,1] 和[1,0]是相同的,因此不会同时出现在edges 里。示例1:输入: n=4, edges =[[1, 0
2021-01-06 10:04:47
395
原创 makefile基础命令学习随笔
makefile学习随笔所有命令要以tab键开头一、显示命令@字符在命令行之前,那么,这条命令在被执行的时候将不被显示出来make -nmake --just-print 只显示命令但不执行命令make -smake --slient 全面禁止命令的显示二、命令执行后一条命令在前一条命令的基础上执行时,需下载同一行,用“;"分隔三、命令出错局部方法:在makefile的命令行前添加”-“ 意为不管命令是否出错都认为是成功全局方法:给make添加-i或–ignore-errors参
2021-01-06 09:45:30
177
原创 adb基础命令学习随笔
adb学习随笔|grep 不可用? 在adb shell以后可用[] 可选项<> 表示一段内容 匹配符 指所有对象$ 则表示没有 root 权限则表示已 root。adb reboot 重启手机adb命令的基本语法(多设备):adb [-d|-e|-s ] 单设备:adb -d 制定当前唯一通过USB连接的Android设备为命令目标-e 制定当前唯一运行的模拟器为命令目标-s 指定相应serialNumber号的设备模拟器为命令目标**a
2021-01-06 09:39:13
253
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人