- 博客(236)
- 问答 (1)
- 收藏
- 关注
原创 Django-1 项目创建
文章目录一、创建一个名为BookStore的Django项目二、配置Pycharm三、创建应用一、创建一个名为BookStore的Django项目django-admin startproject BookStore配置文件详解manage.py文件一级子目录中的 manage.py 文件是管理 Django 项目的重要命令行工具,它主要用于启动项目、创建应用和完成数据库的迁移等init.py文件二级子目录中的 init.py 文件用于标识当前所在的目录是一个 Python 包,如
2022-03-20 19:53:29 557
原创 Typora+PicGo+GitHub
@[搭建床图]下载PicGo加载获取Github tokensetting -> Developer settins -> New GitHub App保存token打开PicGo打开Typora[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
2022-03-20 17:20:29 515
原创 pip了解
文章目录一、pip是什么二、pip的使用一、pip是什么pip是Python的包安装程序也可以说pip是Python标准库的一个包,只不过这个包可以管理Python标准库之中其它的包pip 是一个命令行程序。 安装 pip 后,会向系统添加一个 pip 命令,该命令可以从命令提示符运行二、pip的使用命令行输入pip + 回车,出现使用说明[ych@2ec71362f5e6 ~/Python-3.6.4]$ pipUsage: pip <command> [opti
2022-02-28 19:22:09 3984
原创 ubuntu创建新用户发生的问题
文章目录无法创建家目录切换成普通用户后不显示$前面的路径无法创建家目录更改/home家目录权限为 755,并且添加对应的家目录即可切换成普通用户后不显示$前面的路径进入 etc/passwd 找到对应的用户,将bin/sh改成bin/bash即可...
2022-02-24 12:07:16 910
原创 python深浅拷贝
文章目录一、浅拷贝二、深拷贝三、深拷贝带来的问题一、浅拷贝概念浅拷贝,指的是重新分配一块内存,创建一个新的对象,但里面的元素尽可能是原对象中各个子对象的引用# -*- coding: utf-8 -*list1 = [[1,2,3],(4,5,6)]list2=list(list1)print("list1 is list2 ?",list1 is list2,id(list1),id(list2)) # 判断是否是同一个元素print(list1)print(list2)pr
2022-02-22 21:47:22 504
原创 Go语言数据I/O对象操作
文章目录为什么需要ReadWriter对象Reader对象基础概念创建Reader对象操作 Reader 对象Writer 对象基础概念创建Writer对象操作Writer对象为什么需要在Go语言中,几乎所有的数据结构都围绕接口展开,接口是Go语言中所有数据结构的核心。在实际开发过程中,无论是实现 web 应用程序,还是控制台输入输出,又或者是网络操作,都不可避免的会遇到 I/O 操作Go语言标准库的 bufio 包中,实现了对数据 I/O 接口的缓冲功能。这些功能封装于接口 io.ReadWrit
2022-02-10 00:27:29 237
原创 Go语言结构体
文章目录一、Go语言结构体二、结构体的实例化三、初始化结构体成员方法四、模拟构造函数五、Go语言方法和接收器5.1基础概念5.2为结构体添加方法六、为任意类型添加方法七、Go语言使用事件系统实现事件的响应和处理7.1 基础概念7.2 方法和函数的同一调用7.3 事件系统的基本原理7.4事件的注册、调用、使用事件系统八、类型内嵌和结构体内嵌8.1 概念8.2 内嵌结构体8.3 使用内嵌结构体解析JSON格式的数据九、Go语言垃圾回收和SetFinalizer9.1 垃圾回收机制(GC)基础概念9.2 fina
2022-02-09 22:47:44 1228
原创 Go语言函数语法下篇
文章目录一、延迟执行语句defer1.1defer概念1.2 使用演示二、递归函数三、Go语言处理运行时错误3.1错误处理思想3.2错误接口的定义四、Go语言宕机五、Go语言宕机恢复recover5.1基础概念5.2让程序在崩溃时继续执行5.3panic和recover的关系六、计算函数执行时间七、Go语言哈希函数八、test功能测试函数8.1测试规则8.2提供的功能一、延迟执行语句defer1.1defer概念Go语言的 defer 语句会将其后面跟随的语句进行延迟处理,在 defer 归属的函数
2022-01-28 17:40:01 610
原创 Go语言函数语法上篇
文章目录一、Go语言函数声明1.1Go语言里面拥三种类型的函数1.2普通函数声明(定义)1.3函数的返回值二、函数变量三、Go语言字符串的链式处理四、匿名函数五、把函数作为接口来调用六、Go语言闭包,引用外部变量的匿名函数七、Go语言变参函数一、Go语言函数声明1.1Go语言里面拥三种类型的函数普通的带有名字的函数匿名函数或者 lambda 函数方法1.2普通函数声明(定义)函数声明包括函数名、形式参数列表、返回值列表(如果函数返回一个无名变量或者没有返回值,返回值列表的括号是可以省略
2022-01-27 23:37:04 949
原创 Go语言流程控制
文章目录一、for二、for range(键值循环)三、switch case语句四、使用goto退出多层循环一、forGo语言中的循环语句只支持 for 关键字,而不支持 while 和 do-while 结构,关键字 for 的基本使用方法与C语言和C++ 中非常接近for 后面的条件表达式不需要用圆括号()括起来,Go语言还进一步考虑到无限循环的场景,让开发者不用写无聊的 for(;;){}和do{} while(1);,而直接简化为如下的写法sum := 0for { su
2022-01-25 23:50:27 420
原创 Go语言容器—list
一、list概念列表是一种非连续的存储容器,由多个节点组成,节点通过一些变量记录彼此之间的关系,列表有多种实现方法,如单链表、双链表等在Go语言中,列表使用 container/list 包来实现,内部的实现原理是双链表,列表能够高效地进行任意位置的元素插入和删除操作初始化列表list 的初始化有两种方法:分别是使用 New() 函数和 var 关键字声明,两种方法的初始化效果都是一致的列表与切片和 map 不同的是,列表并没有具体元素类型的限制,因此,列表的元素可以是任意类
2022-01-24 20:11:26 858
原创 Go语言容器—Map
Map的概念map 是引用类型,可以使用如下方式声明var mapname map[keytype]valuetype提示:[keytype] 和 valuetype 之间允许有空格在声明的时候不需要知道 map 的长度,因为 map 是可以动态增长的,未初始化的 map 的值是 nil,使用函数 len() 可以获取 map 中 pair 的数目Map需要注意的一些点map的创建方式之中,map[string]int{} 等价于 make(map[string]int):=
2022-01-24 18:22:01 630
原创 Go语言容器—数组、切片
Go语言的容器一、Go语言数组1.1数组的概念语法说明var 数组变量名 [元素数量]Type元素数量:必须在编译器就能够确定Type:可以是任意类型,类型为数组本身时,可以实现多维数组func main() { var arr [3][3]int arr[0][0]=100 fmt.Println(len(arr)) //内置函数,返回数组中元素的个数 for _,v:=range arr{ fmt.Println(v) }}/* [100 0 0][0
2022-01-24 15:54:52 405 1
原创 libconfig初识
文章目录一、是什么二、为什么需要三、使用说明3.1功能说明3.2配置文件构成3.2C++版本常见API接口说明一、是什么是一个解析配置文件的C/C++库二、为什么需要通常业务代码的代码量是非常大的,如果没有配置文件,那么所有的东西都是写死的,在后续的维护过程之中,进行修改就是非常麻烦的一件事如果有配置文件,我们可以通过读取配置文件来完成某些动作,这样就提高了代码的可迭代和可维护性libconfig就是提供操控配置文件的一个库。如果我们不适用库来对配置文件进行读取,那么是非常麻烦的一件事。比
2021-12-14 09:57:45 1454
原创 Kafka入门了解
消息队列的优点异步解耦允许你独立扩展或者修改两边的处理过程,只要确保它们遵守同样的约束即可可恢复性系统一部分组件失效时,不会影响整个系统。消息队列降低了进程之间的耦合性,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理缓冲有助于控制和优化数据流经过系统的速度,解决生产消息和消费消息的处理速度不一致的情况削峰操作由于不是与服务器直连,而是将数据写入在队列之中,因此当大量数据来临的时候,可以在一定程度上缓解服务器的压力,通过消息队列控制速度,相当
2021-12-10 10:01:53 1383
原创 CMake入门学习
一、CMakeLists.txt简单编写add_executable在这个函数之之中,填充elf可执行文件名称,以及依赖的.c文件即可cmake_minimum_required (VERSION 2.8) //cmake最低版本要求为2.8 project (demo) //工程名demo add_executable(main main.c testFunc.c) //最终生成的elf文件是main,使用的源文件是main.c和testFunc.caux_source_dir
2021-11-23 21:17:59 881
原创 Linux下用户的创建
一、用户的创建useradd testuser 创建用户testuserpasswd testuser 给已创建的用户testuser设置密码userdel testuser 删除用户testuser二、用户sudo权限的添加vim /etc/sudoers //打开sudo的配置文件
2021-11-17 14:57:05 445
原创 google gflags 库的下载和使用
一、作用gflags 是用来处理命令行参数的库假如我们有个程序,需要知道服务器的 ip 和端口,我们在程序中有默认的指定参数,同时希望可以通过命令行来指定不同的值二、安装wget https://github.com/gflags/gflags/archive/v2.1.1.tar.gz //下载源码cd gflagsmkdir build && cd build // 建立编译文件夹,用于存放临时文件cmake .. -DCMAKE_INSTALL_PREFIX=/
2021-11-15 16:07:13 1696
原创 工厂模式—C++代码demo解释
工厂模式一、是什么工厂模式解决的主要问题是,将原来分布在各个地方的对象创建的过程单独抽离出来,交付给工厂来处理,其它地方想要使用直接调用工厂方法获取对象即可我们可以抽象出一些类的公共接口来形成抽象父类或者接口,这样就可以通过声明一个指向父类的指针,来指向子类的实际实现,达到多态的目的二、优缺点优点定义创建对象的接口,封装了对象创建的过程使具体化类的工作延迟到了子类之中缺点程序员必须知道子类的名字,当子类非常多的时候命名是一件非常麻烦的事情在父类之中并不知道具体要实例化哪一个
2021-11-02 13:30:20 652
原创 实现 Trie (前缀树
实现 Trie (前缀树)方法1利用哈希进行实现插入单词时,将单词添加至set之中,达到去重的目的查找单词是否存在时,直接从set中进行查找即可查找部分单词时,遍历整个set,进行比较查找 void insert(string word) {//向前缀树中插入字符串 st.insert(word); } /** Returns if the word is in the trie. */ bool search(string wo
2021-09-16 22:05:08 109
原创 通过删除字母匹配到字典里最长单词
通过删除字母匹配到字典里最长单词题意:字典是一个string数组,从数组中寻找元素与s的子串进行匹配,要求匹配的字符串尽可能的长,当匹配的字符串长度相等时,选择字典序小的题解:将string数组进行排序,按照长度排升序,按照字典序排降序从前往后进行匹配,越匹配后面的越符合要求,因为后面的长度越长,字典序越小匹配方法,给定两个指针,一个指针begin1指向s,一个指针begin2指向数组的元素,当begin2指向的位置超过当前元素,表示全部匹配class Solution {publi
2021-09-14 20:57:38 95
原创 MySQL用户管理
文章目录1.为什么需要用户管理2.用户管理2.1查看用户信息2.2创建用户2.3删除用户2.4修改用户密码3.数据库的权限3.1给用户授权3.2回收权限1.为什么需要用户管理如果只使用root用户,就可以操控所有的库,是存在安全隐患的,因此需要设置一些权限。比如张三只能操控库1,李四只能操控库22.用户管理2.1查看用户信息MySQL中的用户信息,都存储在系统数据库mysql的user表中mysql> +------------------------+------------
2021-08-26 18:52:41 173
原创 MySQL视图
文章目录1.是什么2.基本使用3.视图的一些规则1.是什么视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图主要作用是,将表的内容,常用需要的部分创建一个部分,这样使用视图的时候,可以减少查询的数据量比如用户资料,有的用户是长期在线,有的用户基本不上线,那么就可以为长期用户创建视图,减少查询2.基本使用创建视图create view 视图名 as select语句mysql> se
2021-08-26 15:12:32 125
原创 记忆搜索法
出界的路径数普通dfs搜索法传入起始位置的坐标向四个方向进行搜索,如果出界了,计数器增加但是,这种方法因为许多重复搜索,会超时class Solution {public: void _findPaths(int m,int n,int x,int y,int maxMove,int &count,int sub,int num) { if(sub>maxMove)//步伐数超过了 return; if(
2021-08-18 18:00:28 542
原创 MySQL事务
1.什么是事务事务就是由一组DML(数据操控语言,比如insert、update…)语句组成,这些语句在逻辑上存在相关性,这一组DML语句要么全部成功,要么全部失败,是一个整体事务就是需要做的事情,这个事情数据量比较大,处理比较复杂。比如,新来了一个员工,需要给这个员工增加他的基本信息,家庭住址等等信息,这些操作需要多条sql语句构成,这就是一个事物2.为什么需要事物事务事务本质是为应用层服务的当我们使用事务的时候,是原子性的,要么结束,要么提交成功,没有中间的状态,这样在应用层就不需要考虑
2021-08-17 21:31:50 264
原创 MySQL索引
1.索引带来的价值索引带来的价值,是提高查找的效率,如果有大量的插入、更新、删除则不建议使用索引2.mysql与磁盘2.1mysql与磁盘交互的基本单位MySQL 作为一款应用软件,可以想象成一种特殊的文件系统。它有着更高的IO场景,所以,为了提高基本的IO效率, MySQL 进行IO的基本单位是 16KB (InnoDB 存储引擎)这个基本单位在mysql之中叫做page,即只要发生了数据的交互,哪怕只有1bit,也是需要进行16KB的数据进行交互mysql在服务器启动的时候,会预先加载一大
2021-08-15 23:08:40 710
原创 表的增删查改
文章目录1.表的删除1.1删除整张表和表中的某一行数据1.2截断表2.表的更新和替换2.1表的更新2.2表的替换3.表的查询3.1查询当前表中列的所有行的数据3.2查找列的某些行3.3结果排序3.4分页查询4.数据更新5.插入查询结果6.聚合函数1.表的删除1.1删除整张表和表中的某一行数据删除整个表的结构 : drop table [表名称];清空表的数据,不删除结构:delete from [表名称];//创建表MariaDB [test1]> create table t(nam
2021-08-08 22:05:43 215
原创 B+、B*树
文章目录1.什么是B+树2.B+树的特性3.B+树的插入过程4.B+树查找的优点5.B*树6.小结7.数据库和B+树的关系8.Mysql两种引擎8.1MyISAM8.2InnoDB1.什么是B+树B树是对B-树的优化和变形,也是一种多路搜索树,其定义和B-树基本相同,差别如下:每个节点中关键字的数量和孩子数量相等根节点的关键字数量为[1,M]非根节点关键字数量为[M/2,M]所有的值都会出现在叶子节点上,并且所有的叶子节点都会用一个指针链接起来(方便遍历),因此只需要遍历叶子节点即可
2021-07-17 20:10:39 350
原创 探索B-树
文章目录1.什么是B-树2.B-树的性质3.B-树插入过程4.B-树的效率6.B-树是怎么做到减少与内存交互的次数的1.什么是B-树B树,是一棵适用于外查找(硬盘查找)的树。 我们常见的查找树有AVL树、红黑树,但是这些都是用于内查找(内存之中),这些树的查找效率为树的高度,即O(lgN)如果在外查找中,也是用这种结构,每一层都需要访问一次硬盘,而访问硬盘的速度是比较慢的,为了提高外查找的效率,提出了一种平衡的多叉树由于二叉搜索树,每多一层,就需要多访问一次硬盘,所以B树就是压缩了高度的二叉搜索树
2021-07-17 20:07:01 270
原创 并查集原理分析
文章目录1.并查集是什么2.并查集性质3.并查集可以解决的问题4.并查集模板5.并查集的应用1.并查集是什么在一些应用问题中,需要将n个不同的元素划分成一些不相交的集合。开始时**,每个元素自成一个单元素集合**,然后按一定的规律将归于同一组元素的集合合并。在此过程中要反复用到查询某一个元素归属于那个集合的运算。适合于描述这类问题的抽象数据类型称为并查集2.并查集性质由上图可知,并查集有如下几点性质数组下标对应集合中元素的编号根下标对应的内容为负数子元素下标对应的内容为根的下标(子元
2021-07-14 21:25:34 243 1
原创 C++经典面试题打卡
文章目录传递信息大餐计数和相同的二元子数组基于时间的键值存储传递信息小朋友 A 在和 ta 的小伙伴们玩传信息游戏,游戏规则如下:有 n 名玩家,所有玩家编号分别为 0 ~ n-1,其中小朋友 A 的编号为 0每个玩家都有固定的若干个可传信息的其他玩家(也可能没有)。传信息的关系是单向的(比如 A 可以向 B 传信息,但 B 不能向 A 传信息)。每轮信息必须需要传递给另一个人,且信息可重复经过同一个人给定总玩家数 n,以及按 [玩家编号,对应可传递玩家编号] 关系组成的二维数组 relatio
2021-07-10 21:55:34 183
原创 高并发内存池设计
设计框架thread cache:解决锁竞争的问题central cache:会发生锁竞争,但是不会很激烈 -> 使得内存在多个线程情况下分配更均衡page cache:存储的内存是以页为单位存储及分配的。central cache没有内存对象时,从page cache分配出一定数量的page,并切割成定长大小的小块内存,分配给central cache。page cache会回收central cache满足条件的span对象,并且合并相邻的页,组成更大的页,缓解内存碎片的问题。 -&g
2021-07-10 19:09:17 239 3
原创 了解基数树
基数树形态性质基数树其实就是多层哈希映射,解决整形与指针之间的映射关系当某一层的位置有映射时,才选择多扩建一层哈希映射可以根据需要开辟空间,而不是直接将空间开辟好优点提高访问的效率,不需要像哈希表一样进行内存如果想要产生可以在一定 消耗比如,有范围 1~200万范围的数据需要进行映射,如果用普通的一维数组进行哈希映射,那么在一开始,就需要开辟巨大的空间,如果采用基数树,则可以先开辟一段小的空间,当发生了冲突的时候,再选择开辟空间,进行二次映射...
2021-07-10 08:40:31 481
原创 内存池介绍
文章目录1.什么是内存池1.1池化技术1.2内存池2.为什么需要内存池3.内存池的发展3.1早期内存池3.2定长内存池分配器3.3哈希映射的FreeList内存池4.实现一个定长内存池1.什么是内存池1.1池化技术池是计算机中常用的一种设计模式,其特点是将资源提前申请好,放在’‘资源池’'之中由程序自己控制资源的使用,这样减少了与内核的交互因为资源的申请是需要通过内核来完成的,与内核交互的频率越高, 程序的效率就越低,提前将资源申请出来,使用资源的时候不需要再向内核申请,直接就可以使用,在一定程度上
2021-07-02 11:09:33 907
原创 最长递增子序列——系列题
文章目录最长子序列求解基础题堆箱子马戏团人塔俄罗斯套娃信封问题最长子序列求解基础题堆箱子堆箱子。给你一堆n个箱子,箱子宽 wi、深 di、高 hi。箱子不能翻转,将箱子堆起来时,下面箱子的宽度、高度和深度必须大于上面的箱子。实现一种方法,搭出最高的一堆箱子。箱堆的高度为每个箱子高度的总和。输入使用数组[wi, di, hi]表示每个箱子。题解:本题本质上就是一个求最长递增子序列的问题,按照任意一维排序之后,进行"最长递增子序列求解"排序帮助我们固定了位置,然后从中挑选,如果不排序直接采用当前位置
2021-06-30 20:55:34 265 1
原创 BFS经典面试题——C++版
文章目录1.[蛇梯棋](https://leetcode-cn.com/problems/snakes-and-ladders/)2.[单词接龙](https://leetcode-cn.com/problems/word-ladder/)3.[青蛙过河](https://leetcode-cn.com/problems/frog-jump/)1.蛇梯棋N x N 的棋盘 board 上,按从 1 到 N*N 的数字给方格编号,编号 从左下角开始,每一行交替方向。例如,一块 6 x 6 大小的棋盘,
2021-06-30 18:34:08 460 3
原创 MySQL表的约束
文章目录1.为什么需要表的约束1.空属性2.默认值3.列描述4.zerofill5.主键6.自增长7.外键1.为什么需要表的约束定义字段的时候,需要有一个类型,这样一个类型,有时候并不能满足我们对一个表的约束比如:表字段是否可以为NULL,有没有默认值,表字段的解释能不能加上对于数字类型的字段可不可以指定默认表示的位数可不可以将这个字段设置称为唯一标识该行的数据这些都不是数据的类型能够约束的1.空属性NULL:表示当前字段可以为空NOT NULL:表示当前字段不可以为空,在插入数据的时候
2021-06-29 22:31:59 331 4
原创 MySQL数据类型
文章目录1.数据类型总体介绍2.tinyint2.BIT类型3.小数类型4.字符类型5.日期和时间类型6.enum、set1.数据类型总体介绍所谓的数据类型:对数据进行统一的分类。从系统的角度出发,是为了使用统一的方式进行管理,更好的利用有限的空间。SQL中将数据类型分了三大类:数值类型、字符串类型和时间日期类型2.tinyint1.tinyint -> 中文意思,非常小的整数,这个整数占一个字节,表示的范围为 -128~1272.一般插入数据时,即是超过了范围,也不会报错,只是会发生截断
2021-06-29 20:04:22 300 1
原创 MySQL基础操作
文章目录1.校对规则对数据库的影响1.1查看数据库支持的字符集校验规则show collation1.2校对规则1.3验证2.数据备份2.1数据库的备份2.2数据表备份3.对数据表的操作3.1创建表3.2查看表字段3.3查看表的创建过程3.4修改表的字段3.5对表数据的操作3.5.1增加数据3.5.2查询数据1.校对规则对数据库的影响1.1查看数据库支持的字符集校验规则show collation1.2校对规则1.校对规则影响了用户对数据查询的排序以及是否对大小写敏感2.校对规则的特征不同字符
2021-06-28 20:30:22 337 1
空空如也
如何在容器中启动mysql
2022-05-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人