- 博客(89)
- 资源 (4)
- 收藏
- 关注
原创 C++:弱智能指针(weak_ptr)
弱智能指针: 一般结合强智能指针使用,它指向一个 shared_ptr 管理的对象. 进行该对象的内存管理的是强引用的 shared_ptr. weak_ptr只是提供了对管理对象的一个访问手段;weak_ptr 设计的目的是为配合 shared_ptr 而引入的一种智能指针来协助 shared_ptr 工作, 不会引起引用记数的增加或减少。针对于强智能指针(shared_...
2019-03-29 18:11:03 2934
原创 C++:智能指针(shared_ptr)
带有引用计数的智能指针 shared_ptr 强智能指针引用计数: 有多少个智能指针对象管理这个堆内存设计类 : 引用计数管理器 智能指针图示: 赋值运算符的重载:sp1=sp2;1)sp1 sp2管理同一个内存块 delRef(); addRef();2)sp1 sp2管理不同的内存块 delRef(); ...
2019-03-27 17:09:59 571 2
原创 C++:智能指针( scope_ptr)
新智能指针的加入:C++11之前,智能指针只有 auto_ptr 一种,但是后来发现它并不能很好的保证指针的安全可靠性,随之又出现了shared_ptr unique_ptr weak_ptr scope_ptr 这几种智能指针。假如存在这样的代码int main(){ SmartPtr<int> sp1(new int); Smar...
2019-03-26 22:15:32 2195
原创 C++:智能指针(auto_ptr)
智能指针: 在C++中使用堆内存是非常频繁的操作,堆内存的申请和释放都由程序员自己管理。使用普通指针,容易造成堆内存泄露,二次释放等问题,使用智能指针能更好的管理堆内存。C++11中引入了智能指针的概念,方便管理堆内存。栈、堆区别栈:系统开辟 系统释放堆:手动开辟 手动释放设计:手动开辟 系统释放图示: 手动开...
2019-03-20 16:54:48 269
原创 C++:类模板
零构造/零初始化:把内存单元全部初始化为0int main(){ typedef char * CHAR; char *c = CHAR(); int a = int(); double b = double(); cout << a << endl; cout << b << endl; return 0;}类...
2019-03-11 17:33:27 119
原创 C++:函数模板
两个数求和:1)C语言泛型 void* [ )--------------半开半闭,易越界2)函数重载 ---------------------------类型有限制3)宏-------------------------------------不安全4)C++泛型----------------------适宜c++泛型用模板来实现、1.函数模板:自己定义的代码叫...
2019-03-11 17:33:00 211
原创 Pyhotn: Mac安装selenium没有chromedriver-114以上及chromedriver无法挪到/usr/bin目录下的问题
网上大多数是,基本到114就停了。查看chrome版本。
2023-11-04 19:13:30 838
原创 Python:一个函数可以被多个装饰器装饰
规则和规律 wrapper1 wrapper2 TARGET wrapper2 wrapper1。print('我是目标')一个函数可以被多个装饰器装饰.
2023-10-27 18:58:26 277
原创 Ubuntu 20.04.5 怎么安装微信
这是我的ubutun版本号在这个系统装桌面版微信很多功能不健全。搜索了很多方法,这个算是不错的一个法子。
2023-08-31 14:16:12 990
原创 fatal: not in a git directory Error: Command failed with exit 128: git
fatal: not in a git directory Error: Command failed with exit 128: git
2022-12-04 17:56:28 1328
原创 Python: pycharm debug调试点击结束断点报错KeyboardInterrupt
pycharm debug调试点击结束断点报错KeyboardInterrupt
2022-11-08 21:12:05 1177
原创 Jmeter 抓取 https://www.baidu.com/ 出现错误
之前听人家说,fiddler,charles中抓包会遇到下面这种情况,我没遇到过,但是今天在jmeter抓取的时候出现了这样的问题,道理都通,都可以这样解决:解决:进入该地址: chrome://net-internals/#hsts在百度页面上刷新操作fiddler可以看见抓取到 https的百度包...
2021-09-03 11:58:37 817
原创 主键、外键
目录主键(PRIMARY KEY)外键(FOREIGN KEY)主键(PRIMARY KEY)主键(PRIMARY KEY)的完整称呼是“主键约束”。MySQL主键约束是一个列或者列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可以强制表的实体完整性。主键约束即在表中定义一个主键来唯一确定表中每一行数据的标识符。主键可以是表中的某一列或者多列的组合,其中由多列组合的主键称为复合主键。主键应该遵守下面的规则:(1)每个表只能定义一个主键...
2021-08-28 20:00:06 9662
原创 Session与Token
目录Session产生session销毁cookie + session实现登录token (离线的用户状态信息)Session产生 Session 一定是服务端创建的 服务器创建的Session标识是全局唯一的,一串字符 服务器创建的Session标识一般存储在服务器内存中 Session标识被发往浏览器时,会设置过期时间为1970年1月1日 前的1秒,表示的是一个过去式 服务器创建的Session标识通过HTTP响应头中的 set-Cookie 发送...
2021-08-28 10:17:58 205
原创 Cookie
目录cookie产生具体过程cookie组成cookie类型cookie测试点cookie的安全威胁cookie产生由服务器产生--典型例子:sessionID具体过程客户端的某次请求-->发送给服务器; 服务器产生一个Cookie, 附加在HTTP响应头中(Set-Cookie:sessionid),传递给客户端浏览器-->浏览器保存cookie 客户端之后的所有请求,都会把Cookie(sessionid)附加在HTTP请求头中,传递给服务器--&
2021-08-28 10:04:00 186
原创 Http区别
一、Http和Https的区别1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。3、http和https使用的是完全不同的连接方式,用的端口也不一样。前者是80,后者是443。4、http的连接很简单,是无状态的;https协议是由ssl+http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。二、Get和Post的区别GET- 从指定.
2021-08-28 09:42:30 391
原创 Http协议、请求
目录一、Http协议特点二、Http请求报文请求头三、Http响应报文响应头四、Http状态码一、Http协议特点二、Http请求报文HTTP 请求报文主要由请求行、请求头部、空一行、请求正文(请求体)4 部分组成如下是 fiddler 某个会话的请求报文请求头请求头 描述 Host 主机 ip 地址或域名 User-Agent 客户端相关信息,如果操作系统、浏览器等信息 Accept 指定客户端接收信息..
2021-08-27 18:39:32 138
原创 Web测试
目录一、Web功能测试1.0 表单测试1.0.1 增1.0.2 删1.0.3 改1.0.4 查1.0.5 翻页1.0.6 表单1.1 超链接测试二、Web专项测试2.0 Web UI 测试2.0.1 整体页面测试2.0.2 导航测试2.0.3 图形测试2.0.4 内容测试2.0.5 Web UI典型错误小节2.1 兼容性测试2.2 Web安全性测试一、Web功能测试1.0 表单测试1.0.1 增1.0....
2021-08-27 17:34:57 114
原创 软件测试阶段及方法
目录1.0 软件测试阶段2.0 软件测试方法2.1 系统测试2.2 用例设计方法1.0 软件测试阶段2.0 软件测试方法2.1 系统测试2.2 用例设计方法
2021-08-27 16:48:29 2787
原创 Python: 表格excel操作
写操作import xlwt# 写操作plist = [['姓名', '年龄', '性别'], ['猪', '13', '男'], ['狗', '21', '女']]book = xlwt.Workbook()sheet = book.add_sheet('人员列表')# 行列去写row = 0for people in plist: # people ['姓名', '年龄', '性别'] col = 0 # 列 for one in people: # on
2021-08-20 15:44:44 133
原创 Python: 装selenium驱动
查看浏览器的版本打开谷歌浏览器——点三个点——帮助——关于google chrome 查看版本信息#下载对应驱动 http://npm.taobao.org/mirrors/chromedriver/ 找到和浏览器差不多版本 下载chromedriver_win32.zip 不用安装,解压即可注意:关闭杀毒软件放的位置1.自定义目录 放那里都可以,不要有中文或者空格 2 放到python目录里测试:# 验证from selenium impor...
2021-08-19 16:32:55 242
原创 Python: 统计不同班级的学生,参加考试的平均分
scorelog = '''2019-02-18 20:12:27 82期 liuyang 902019-02-18 11:12:27 81期 zhuheng 692019-02-18 00:15:00 84期 yanhxue 732019-02-18 11:12:37 81期 zhufeng 692019-02-18 20:12:27 82期 liang 90'''alist = [] # 用来存期数、分数、人数relist = scorelog .split('\n')# prin.
2021-08-19 12:29:09 1455
原创 虚拟机Centos 7 无法启动:Entering_emergency_mode
公司昨晚断电,早上来了虚拟机成这样:反复重启没啥鸟用,百度搜搜,解决方案:xfs_repair -v -L /dev/dm-0 等执行完毕,再次reboot 即可。
2021-07-27 14:53:22 363 1
原创 error:expected declaration or statement at end of input
C语言错误:expected declaration or statement at end of input可能错误:1. 某一个函数或者变量没有在使用之前声明。2. 某个地方少了个括号。eg:
2020-09-08 18:42:48 913
原创 STL:set的API
目录set 构造、赋值、插入、删除set 查找操作set是一种关联式容器,特性如下:set以RBTree作为底层容器 不允许出现键值重复 set容器只提供 insert()方法,因为它自动进行排序 不能通过迭代器来改变set的值,可以通过set是迭代器改变元素的值吗??不可以改变,如果非要改变,删除后再添加。 如果set中允许修改键值的话,那么首...
2019-09-06 11:36:41 324
原创 STL:swap收缩vector空间
目录size 与capacity区别resize()并不能缩容size 与capacity区别 size 表示vector中元素的个数,此方法是返回该vector对象当前有多少个元素。 capacity 表示vector可容纳的元素大小,意思是容量,此方法返回的是该vector对象最多能容纳多少个元素。 #include<iostream>#inc...
2019-09-02 12:32:07 507
原创 STL:string获取字符串元素:[]和at()
字符串中元素的访问是允许的,一般可使用两种方法访问字符串中的单一字符:下标操作符[]和成员函数at()。两者均返回指定的下标位置的字符。第 1 个字符索引(下标)为 0,最后的字符索引(下标)为 length()-1。使用 []#include<iostream>#include<string>#include<algorithm>us...
2019-09-01 19:54:48 970
原创 硬链接、软链接
目录硬链接与软链接硬链接软链接硬链接与软链接文件都有文件名与数据,在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,文件数据块 (data block),数据块是记录文件真实内容的地方;元数据,文件的附加属性,如文件大小、创建时间、所有者等信息。在 Linux 中,元数据中的 inode 号(inode 是...
2019-08-20 16:04:14 260
原创 STL:vector的基本使用
目录vector的构建vector的插入vector的排序vector的构建 vector<int> vec1; //不带参数的构造函数初始化 vector<int> vec2(10); //初始化元素个数为10,默认初始化为0 vector<int> vec3(10, 40); //开辟1...
2019-08-19 19:52:12 120
原创 设计模式:观察者模式
C++中简单的事件通知: 调用接口观察者设计模式:监听者:处理事件观察者:观察事件,当有事件到来,通知监听者处理事件假如:Listener1 感兴趣 1 2 事件Listener2 感兴趣 2 3 事件Listener3 感兴趣 1 3 事件监听者 把自己的标识,还有感兴趣的事件类型 注册到 观察者里流程:通过注册把监听者自己的标识,及感兴趣的事件注册到观察...
2019-08-18 19:59:33 130
原创 MySql:事务的ACID特性
目录一、事务概念二、事务的ACID特性一、事务概念定义:一个事务是由一条或者多条SQL语句所组成的一个不可分割的单元,只有事务中的所有操作都正常执行完,那么整个事务才能被提交到数据库。如果有部分事务处理失败,那么事务就会回退到最初的状态,因此:事务要么成功,要么全部失败,不能出现部分成功和失败。事务可以设置保存点SavePoint,当事务发生执行错误的时候,可以选择回滚到保...
2019-08-12 21:08:28 234
原创 MySql:索引的底层原理
索引的底层原理MySQL支持两种索引,一种是B-树(B树)索引,一种是哈希表索引,这两种索引的查询效率较高。MYSQL中InnoDB存储引擎是(基于B-树 ,实际MYSQL采用的是B+树) 的索引结构。B-树的特点:B-树是一种 m 阶平衡树,叶子节点都在同一层,由于每一个节点存储的数据量比较大,索引在整个B-树的层数是比较低的,基本上不超过三层。为什么将B-树的节点大小...
2019-08-12 20:55:32 842
原创 MySql:索引的执行过程
explain命令:可以查看SQL的执行计划,分析SQL是否正确使用索引。student 表如下:student 表存储的数据如下:用explain查看下面SQL语句的执行计划:explain分析SQL执行过程时:possible_key: 表示SQL执行可能会命中的索引key: 表示执行过程真正使用的索引名称rows: 表示查询数据影响的行数分析...
2019-08-12 20:48:11 2485
原创 MySql:索引的分类、创建、删除
目录一、索引的介绍二、索引的分类三、索引的创建与删除一、索引的介绍索引:是创建在数据库表中,是对数据库表中的一列或者多列的值进行排序的一种结果。作用:提高查询效率(B树 / 哈希结构)索引优点:提高查询效率索引缺点:索引并非越多越好,过多的索引会导致CPU使用率降低,由于数据的改动会引起索引文件的改动,过多的索引会引起磁盘I/O频繁,造成CPU负荷太重...
2019-08-12 20:35:21 243 1
彩色版贪吃蛇.rar
2019-12-05
MultiCalendar.c
2019-12-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人