自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(172)
  • 资源 (6)
  • 收藏
  • 关注

原创 草料二维码 批量生成二维码

title: 草料二维码 批量生成二维码date: 2021-11-08 21:43:40tags: [二维码]草料二维码 批量生成二维码背景本来想着自己使用 python 写个批量生成二维码的程序,但今天问了问同事,发现了这个神奇的网站。草料二维码 slogan我们努力把二维码技术变成简单实用的产品,让每个人和组织能轻松使用。草料二维码操作手册首页一进来,十分符合草料二维码的 slogan,首页就是各种各样的二维码生成器。使用文本生成二维码在文本框输入文字,点击【生成二维码】.

2021-11-08 22:17:06 3104

原创 Python Excel 批量生成二维码

title: Python Excel 批量生成二维码date: 2021-11-06 10:14:19tags: [python, excel, 二维码]Python Excel 批量生成二维码背景网上制作二维码的手段单一,不符合我的需求,故“自己动手丰衣足食”。运行环境通过 pipreqs 生成 requirements.txt(会有些是不需要的)pip freeze>requirements.txtrequirements.txtattrs==19.3.0Automa.

2021-11-08 21:26:11 946

原创 数据库查询

title: 数据库查询date: 2021-08-14 14:16:43tags: [SQL, 数据库]数据库查询单表查询select 列名from 表名where 条件[order by 列名 DESC/ASC]多表查询同表自连接一张表中,有两个及以上的字段,且这些字段有一定的关系,就可以在这上面进行连接操作,俗称自连接。示例车站站点表通过自连接查询上下站关系找到坐车线路SELECT a.preStation, a.nextStation, b.preSta.

2021-08-15 16:42:32 236 1

原创 Axure RP 9 动态面板嵌套中继器遇到的坑

title: Axure RP 9 动态面板嵌套中继器遇到的坑date: 2021-08-08 10:19:32tags: [Axure, 产品经理]Axure RP 9 动态面板嵌套中继器遇到的坑动态面板属性:触发内部元件鼠标交互的样式。(此项默认是勾选的)故,内部元件有不同的鼠标交互样式,需把此属性取消勾选。示例中继器矩形的交互样式未悬停时勾选触发内部元件鼠标交互的样式不勾选触发内部元件鼠标交互的样式...

2021-08-08 10:33:13 1342

原创 InstallShield 2020 基本使用教程

title: InstallShield 2020 基本使用教程date: 2021-07-24 12:16:48tags: [InstallShield]InstallShield 2020 基本使用教程本教程使用 InstallShield 2020 进行教学新建项目选择 HOME, 点击 New 进入 New Project 页面这里可以选择您需要的 Project Types,设置您的 Project Name 以及 Location,然后点击 OK 即可创建项目。这里我以默.

2021-07-24 12:23:26 8936 1

原创 5793. 迷宫中离入口最近的出口

title: 5793. 迷宫中离入口最近的出口date: 2021-07-11 00:41:16tags: [leetcode]5793. 迷宫中离入口最近的出口给你一个 m x n 的迷宫矩阵 maze (下标从 0 开始),矩阵中有空格子(用 '.' 表示)和墙(用 '+' 表示)。同时给你迷宫的入口 entrance ,用 entrance = [entrancerow, entrancecol] 表示你一开始所在格子的行和列。每一步操作,你可以往 上,下,左 或者 右 移动一个格子。.

2021-07-11 00:45:40 244

原创 5792. 统计平方和三元组的数目

title: 5792. 统计平方和三元组的数目date: 2021-07-11 00:39:00tags: [leetcode]5792. 统计平方和三元组的数目一个 平方和三元组 (a,b,c) 指的是满足 a2 + b2 = c2 的 整数 三元组 a,b 和 c 。给你一个整数 n ,请你返回满足 1 <= a, b, c <= n 的 平方和三元组 的数目。示例 1:输入:n = 5输出:2解释:平方和三元组为 (3,4,5) 和 (4,3,5) 。示例 2:.

2021-07-11 00:40:58 231

原创 面试题 17.10. 主要元素

title: 面试题 17.10. 主要元素date: 2021-07-10 17:38:57tags: [leetcode]面试题 17.10. 主要元素数组中占比超过一半的元素称之为主要元素。给你一个整数数组,找出其中的主要元素。若没有,返回 -1 。请设计时间复杂度为 O(N) 、空间复杂度为 O(1) 的解决方案。示例 1:输入:[1,2,5,9,5,9,5,5,5]输出:5示例 2:输入:[3,2]输出:-1示例 3:输入:[2,2,1,1,1,2,2]输出:2.

2021-07-10 17:42:29 65

转载 mmap 与 shm 的区别

title: mmap 与 shm 的区别date: 2021-07-10 16:21:47tags: [C++, liunx]mmap 与 shm 的区别mmap(memory mapping,内存映射)实现原理建立虚拟空间一段区域和磁盘上的文件的映射。当访问虚拟空间中该区域时,通过 MMU,得到该区域对应的物理地址,OS 发现该区域没有数据,故产生缺页中断。OS 从磁盘中读取相应页的数据直接 copy 到物理内存中。对于传统的 read 系统调用来说,他们需要将磁盘中的文件先 cop.

2021-07-10 16:53:21 169

原创 shm

title: shmdate: 2021-07-04 22:13:34tags: [C++, linux]shmshm 基础概念内核开辟一片内存区域,然后多个用户进程可以将这片区域映射到它们自己的地址空间中进行读写。shm 内存映射原理共享内存大概由四个操作组成:申请查询内存程序连接映射内存程序断开映射内存管理共享内存shmget 函数用来申请查询内存#include <sys/ipc.h>#include <sys/shm.h>int shm.

2021-07-10 16:20:09 119

原创 mmap

title: mmapdate: 2021-07-03 00:52:17tags: [Linux, C++]mmapmmap 基础概念mmap 是一种磁盘文件映射的方法。即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调用 read,write 等系统调用函数。相反,内核空间对这段区域的修改也直接反.

2021-07-04 22:04:26 256

原创 5802. 统计好数字的数目

title: 5802. 统计好数字的数目date: 2021-07-04 12:08:06tags: [leetcode]5802. 统计好数字的数目我们称一个数字字符串是 好数字 当它满足(下标从 0 开始)偶数 下标处的数字为 偶数 且 奇数 下标处的数字为 质数 (2,3,5 或 7)。比方说,"2582" 是好数字,因为偶数下标处的数字(2 和 8)是偶数且奇数下标处的数字(5 和 2)为质数。但 "3245" 不是 好数字,因为 3 在偶数下标处但不是偶数。给你一个整数 n .

2021-07-04 12:11:15 196

原创 CMake 模板

title: CMake 模板date: 2021-06-29 18:40:15tags: [C++, CMake]CMake 模板此模板针对于小型的 C/C++ 项目使用。我们开发的 C/C++ 项目一般的文件树结构为:.|-- main.cpp`-- src |-- hello.cpp `-- hello.h添加完CMakeLists.txt后,长这样:.|-- CMakeLists.txt|-- main.cpp`-- src |-- CM.

2021-06-30 15:42:31 186

翻译 CMake 教程

title: CMake 教程date: 2021-06-28 19:11:35tags: [C++, CMake]CMake 教程本文翻译自CMake 教程。练习素材下载地址或官方github。概述CMake Tutorial提供了一个分步的指南(一步步的完善一个CMake工程),涵盖了常见的CMake能够解决的编译系统的问题。在一个示例工程中查看各个主题如何协同工作对学习CMake的使用非常有帮助。指南中使用的源码在CMake源码树的Help/guide/tutorial目录下,每个步.

2021-06-29 16:47:22 294 1

转载 数据库优化

title: 数据库优化date: 2021-06-23 21:40:05tags: [数据库]数据库优化数据库优化的路线一般为:SQL 优化、结构优化、配置优化、硬件优化。前两个方向一般是普通开发的考量点,而后两个方向一般是 DBA 的考量点。SQL 优化SQL 优化是数据库优化的最常见、最初级手段。在执行 SQL 语句,语句中字段的顺序、查询策略等都可能会影响到 SQL 的执行性能。执行计划如何检验修改后的 SQL 确实有优化效果?这就需要用到执行计划(EXPLAIN)。使用执行.

2021-06-28 13:15:19 97

原创 Linux 文件及目录管理

title: Linux 文件及目录管理date: 2021-06-26 12:53:08tags: [Linux]Linux 文件及目录管理文件管理不外乎文件或目录的创建、删除、查询、移动。创建和删除touch创建文件touch <filename>mkdir创建目录mkdir <dirname>rmrm [options] name...参数-i 删除前逐一询问确认。-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。-r 将目录.

2021-06-27 22:35:38 118

原创 Linux 学会使用命令帮助

title: Linux 学会使用命令帮助date: 2021-06-26 20:14:54tags: [Linux]Linux 学会使用命令帮助概述在 Linux 终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档。 Linux 系统内置的帮助文档很详细,通常能解决我们的问题,我们需要掌握如何正确的去使用它们。在只记得部分命令关键字的场合,我们可通过 man -k 来搜索。需要知道某个命令的简要说明,可以使用 whatis,而更详细的介绍,则可用 ma.

2021-06-26 20:35:10 139

转载 CentOS 7 使用 locate 和 updatedb 命令

CentOS 7 使用 locate 和 updatedb 命令centos7默认是没有安装 mlocate 的,所以无法使用这两个命令。下载 mlocate:yum install mlocate

2021-06-26 15:11:47 463

转载 分库分表

title: 分库分表date: 2021-06-23 12:07:31tags: [数据库]分库分表什么是分库分表分库分表的基本思想把原本完整的数据切分成多个部分,放到不同的数据库或表上。分库分表解决的问题分库分表一定是为了支撑 高并发、数据量大两个问题的。垂直切分垂直切分,是 把一个有很多字段的表给拆分成多个表,或者是多个库上去。一般来说,会 将较少的、访问频率较高的字段放到一个表里去,然后 将较多的、访问频率较低的字段放到另外一个表里去。因为数据库是有缓存的,访问频率高的行字段.

2021-06-23 14:26:39 169

转载 集群

title: 集群date: 2021-06-23 11:53:03tags: [数据库]集群这个专题需要根据熟悉哪个数据库而定,但是主流、成熟的数据库都会实现一些基本功能,只是实现方式、策略上有所差异。下面主要介绍 Mysql 系统架构问题。复制机制Mysql 支持两种复制:基于行的复制和基于语句的复制。这两种方式都是在主库上记录二进制日志(binlog),然后在从库上以异步方式更新主库上的日志记录。这意味着:复制过程存在时延,这段时间内,主从数据可能不一致(即最终一致性)。主要涉及三.

2021-06-23 12:06:21 69

转载 数据库理论

title: 数据库理论date: 2021-06-23 01:49:55tags: [数据库]数据库理论函数依赖对于 A->B 表示 A 函数决定 B,也可以说 B 函数依赖于 A。对于 A->B,如果能找到 A 的真子集 A’,使得 A’-> B,那么 A->B 就是部分函数依赖,否则就是完全函数依赖。对于 A->B,B->C,则 A->C 是一个传递依赖。如果 {A1,A2,… ,An} 是关系的一个或多个属性的集合,该集合函数决定了关系的.

2021-06-23 11:49:46 98

转载 事务

title: 事务date: 2021-06-23 00:55:54tags: [数据库]事务事务简单来说:一个 Session 中所进行所有的操作,要么同时成功,要么同时失败。具体来说,事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚。ACIDACID — 数据库事务正确执行的四个基本要素:原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability).

2021-06-23 01:48:26 69

转载 约束

title: 约束date: 2021-06-22 22:48:42tags: [数据库]约束数据库约束(CONSTRAINT)有哪些:NOT NULL:用于控制字段的内容一定不能为空(NULL)。UNIQUE:字段内容不能重复,一个表允许有多个 UNIQUE 约束。PRIMARY KEY:数据表中对储存数据对象予以唯一和完整标识的数据列或属性的组合,它在一个表中只允许有一个。主键的取值不能为空值(Null)。FOREIGN KEY:在一个表中存在的另一个表的主键称此表的外键。用于预防.

2021-06-22 23:42:35 54

原创 Git

title: gitdate: 2021-06-22 11:37:26tags: [版本控制]Git第一次学习 Git 的时候好像还是 19 年,那时候才刚上大学,才大一下学期,只会用 txt 编写,现在不一样啦,学会了 markdown,所以打算用 markdown 来重新写一篇关于 Git 的使用手册。概述Git 是用 C 语言开发的分布式版本控制系统。分布式和集中式的版本控制系统有什么区别呢?分布式版本控制系统的代表是 Git。集中式版本控制系统的代表是 Svm。集中式版本.

2021-06-22 21:49:38 425

转载

title: 宏date: 2021-06-21 14:52:01tags: [C++]宏宏中包含特殊符号分为几种:#,##,\字符串化操作符(#)在一个宏中的参数前面使用一个#,预处理器会把这个参数转换为一个字符数组,换言之就是:#是字符串化的意思,出现在宏定义中的#是把跟在后面的参数转换成一个字符串。注意:其只能用于有传入参数的宏定义中,且必须置于宏定义体中的参数名前。例如:#define exp(s) printf("test s is:%s\n",s)#define exp.

2021-06-22 01:18:26 65

转载 引用与指针

title: 引用与指针date: 2021-06-21 12:08:23tags: [C++]引用与指针引用指针必须初始化可以不初始化不能为空可以为空不能更换目标可以更换目标引用必须初始化,而指针可以不初始化。int &r; //不合法,没有初始化引用int *p; //合法,但p为野指针,使用需要小心引用不能为空,而指针可以为空。由于引用不能为空,所以我们在使用引用的时候不需要测试其合法性,而在使用指针的时候需.

2021-06-21 14:51:04 157

转载 decltype

title: decltypedate: 2021-06-21 11:53:14tags: [C++]decltype基本使用decltype的语法是:decltype (expression)这里的括号是必不可少的,decltype 的作用是查询表达式的类型,因此,上面语句的效果是,返回 expression 表达式的类型。注意,decltype 仅仅查询表达式的类型,并不会对表达式进行求值。推导出表达式类型int i = 4;decltype(i) a; //推导结果为int。.

2021-06-21 12:07:40 75

转载 enum

title: enumdate: 2021-06-21 11:25:27tags: [C++]enum传统行为枚举有如下问题:作用域不受限,,会容易引起命名冲突。例如下面无法编译通过的:#include <iostream>using namespace std;enum Color {RED,BLUE};enum Feeling {EXCITED,BLUE};int main() { return 0;}会隐式转换为 int。用来表征枚举变.

2021-06-21 11:52:24 118

转载 :: 范围解析运算符

title: ‘:: 范围解析运算符’date: 2021-06-21 11:19:45tags::: 范围解析运算符全局作用域符(::name):用于类型名称(类、类成员、成员函数、变量等)前,表示作用域为全局命名空间。类作用域符(class::name):用于表示指定类型的作用域范围是具体某个类的。命名空间作用域符(namespace::name):用于表示指定类型的作用域范围是具体某个命名空间的。...

2021-06-21 11:24:37 95

转载 struct与class区别

title: struct与class区别date: 2021-06-20 20:04:16tags: [C++]struct 与 class 区别struct 更适合看成是一个数据结构的实现体,class 更适合看成是一个对象的实现体。最本质的一个区别就是默认的访问控制,默认的继承访问权限,struct 是 public 的,class 是 private 的。struct 作为数据结构的实现体,它默认的数据访问控制是 public 的,而 class 作为对象的实现体,它默认.

2021-06-21 01:42:08 66

转载 union

title: uniondate: 2021-06-20 20:21:24tags: [C++]union联合(union)是一种节省空间的特殊的类,一个 union 可以有多个数据成员,但是在任意时刻只有一个数据成员可以有值。当某个成员被赋值后其他成员变为未定义状态。union 有如下特点:默认访问控制符为 public。可以含有构造函数、析构函数,不能含有虚函数。不能含有引用类型的成员。不能继承自其他类,不能作为基类。匿名 union 在定义所在作用域可直接访问 union 成.

2021-06-21 01:42:00 91

转载 C实现C++面向对象的特性

title: C实现C++面向对象的特性date: 2021-06-20 20:26:37tags: [C++]C实现C++面向对象的特性C++ 实现案例C++ 中的多态:在 C++ 中会维护一张虚函数表,根据赋值兼容规则,我们知道父类的指针或者引用是可以指向子类对象的。如果一个父类的指针或者引用调用父类的虚函数则该父类的指针会在自己的虚函数表中查找自己的函数地址,如果该父类对象的指针或者引用指向的是子类的对象,而且该子类已经重写了父类的虚函数,则该指针会调用子类的已经重写的虚函数。#in.

2021-06-21 01:41:36 255

转载 explicit

title: explicitdate: 2021-06-20 21:03:36tags: [C++]explicitexplicit 修饰构造函数时,可以防止隐式转换和复制初始化。explicit 修饰转换函数时,可以防止隐式转换,但按语境转换除外。cppreference指定构造函数或转换函数 (C++11起)为显式,即它不能用于隐式转换和复制初始化.explicit 指定符可以与常量表达式一同使用。当且仅当该常量表达式求值为 true 才为显式。(C++20起)Effec.

2021-06-21 01:41:28 191

转载 friend

title: frienddate: 2021-06-20 22:38:21tags:friend概述友元提供了一种普通函数或者类成员函数访问另一个类中的私有或保护成员的机制。友元函数:普通函数可以访问某个类中的 private 和 protected 成员。友元类:A 类中的成员函数可以访问 B 类中的 private 和 protected 成员。优点:提高了程序的运行效率。缺点:破坏了类的封装性和数据的透明性。总结:破坏封装性。友元关系不可传递。友元关系的单向性。.

2021-06-21 01:41:03 68

转载 using

title: usingdate: 2021-06-20 23:16:28tags: [C++]using基本使用局部与全局 using,具体操作与使用见下面案例:#include <iostream>#define isNs1 1//#define isGlobal 2using namespace std;void func(){ cout << "::func" << endl;}namespace ns1 { voi.

2021-06-21 01:40:40 56

转载 struct

title: structdate: 2021-06-20 19:39:59tags:structC 中 structC 的结构体不能继承(没有这一概念)。在 C 中定义结构体变量,如果使用了下面定义必须加 struct。在 C 结构体声明中不能使用 C++ 访问修饰符,如:public、protected、private 而在 C++ 中可以使用。在 C 中 struct 只单纯的用作数据的复合类型,也就是说,在结构体声明中只能将数据成员放在里面,而不能将函数放在里面。若结构体的名.

2021-06-20 20:03:25 95

转载 extern

title: externdate: 2021-06-20 17:07:22tags: [C++]externC++ 与 C 编译区别在 C++ 中常在头文件见到 extern “C” 修饰函数,那有什么作用呢? 是用于C++链接在C语言模块中定义的函数。C++ 虽然兼容 C,但 C++ 文件中函数编译后生成的符号与 C 语言生成的不同。因为 C++ 支持函数重载,C++ 函数编译后生成的符号带有函数参数类型的信息,而 C 则没有。例如int add(int a, int b)函数经过 C.

2021-06-20 19:39:19 50

转载 Bit field

title: Bit fielddate: 2021-06-20 15:17:46tags: [C++]Bit fieldBit field 是什么?位域或位段(Bit field)为一种数据结构,可以把数据以位的形式紧凑的储存,并允许程序员对此结构的位进行操作。位域在内存中的布局是与机器有关的。取地址运算符(&)不能作用于位域,任何指针都无法指向类的位域。位域的类型必须是整型或枚举类型,带符号类型中的位域的行为将因具体实现而定。位域的好处可以很方便的访问一个整数值的部.

2021-06-20 17:06:09 136

转载 assert

title: assertdate: 2021-06-20 15:06:13tags: [C++]assert断言案例断言,是宏,而非函数。assert 宏的原型定义在 <assert.h>(C)、<cassert>(C++)中。assert 的作用是如果它的条件返回错误,则终止程序执行。可以通过定义 NDEBUG 来关闭 assert,但是需要在源代码的开头,#include <assert.h> 之前。void assert(int expres.

2021-06-20 15:16:41 92

转载 volatile

title: volatiledate: 2021-06-19 23:43:42tags: [C++]volatilevolatile被 volatile 修饰的变量,在对其进行读写操作时,会引发一些可观测的副作用。而这些可观测的副作用,是由程序之外的因素决定的。volatile应用并行设备的硬件寄存器。假设要对一个设备进行初始化,此设备的某一个寄存器为 0xff800000。unsigned int* output = (unsigned int*)0xff800000; //定义.

2021-06-20 15:05:24 81

C++基础进阶学习资料笔记1.0.zip

C++基础进阶学习资料笔记1.0.zip

2021-06-21

二维游戏函数笔记.zip

二维游戏函数笔记.zip

2021-06-15

headfirstjava笔记.zip

headfirstjava笔记.zip

2021-06-15

ACM_算法模板集史上最完整收藏版223页全免费版.zip

ACM_算法模板集史上最完整收藏版223页全免费版

2021-06-15

python课程资料压缩包

python课程资料压缩包

2021-06-11

软考历年真题详解.zip

软件设计师

2021-05-31

空空如也

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

TA关注的人

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