自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

翻译 【k8s】velero数据备份与恢复时的资源过滤(指定ns/资源/label)------翻译

k8s velero灵活资源备份和恢复

2022-08-14 17:14:57 493

原创 docker基础命令

镜像相关docker search 搜索镜像查找自己想要的镜像。使用方法:➜ ~ docker search --helpUsage: docker search [OPTIONS] TERMSearch the Docker Hub for imagesOptions: -f, --filter filter Filter output based on conditions provided --format string Pretty-print sea

2022-01-03 22:59:56 1133

原创 python 使用matplotlib保存图片不清晰

在使用python中的matplotlib保存图片时,一般保存为jpg/png等格式,然而这几种格式中的图插入到Word里面后,放大看还是会变模糊,即使调高dpi也没啥用。对于写论文来说,还是插入emf比较好。但是matplotlib又不能保存emf格式,这该咋办?先使用matplotlib将图片存为svg格式,然后使用在线svg转emf工具将其转换为emf即可。但是我发现使用这个工具转换后的图片,色调与原来不太一样,比如我原图中设置的alpha=0.8,但是转换后的图片感觉更像是alpha=1时画出来的

2021-04-30 21:39:44 4288 3

原创 TensorFlow Keras安装

首先按照Anaconda这里安装Anaconda3 64bit创建TensorFlow2.2的环境打开Anaconda Prompt,输入:conda create -n TF2.2 python=3.7提示选择y/n?选择y输入下面的命令进入TF2.2的环境conda activate TF2.2安装cudatoolkit10.1conda install cudatoolkit=10.1安装cudnn7.6conda install cudnn=7.6如果安装cud

2021-01-12 17:17:19 343 2

原创 sublime text3设置vim,如何在sublime中使用vim的命令

vim的插入模式感觉不太好用,如果能把sublime和vim结合一下就好了,有没有办法实现呢?有!打开sublime->Preferences->Settings将Preferences.sublime-settings–User设置里面的Vintage删除,然后保存就可以了。回到sublime,按下ESC,可以发现左下角出现:COMMAND MODE然后就可以用vim的操作了~...

2020-12-22 10:32:58 1778

原创 FUNcube卫星数据爬取

爬取页面:FUNcube-1 (AO-73) Realtime Data先看网页的源代码:<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>FUNcube-1 · AMSAT-UK Data Warehouse</title> <meta charset="utf-8"> <meta name="view

2020-12-22 09:35:12 345

原创 leetcode多线程合集

1114. 按序打印与1116题类似,使用condition_variable.class Foo {public: Foo() { } mutex mtx; atomic<int> g{1}; condition_variable cv; void first(function<void()> printFirst) { unique_lock<mutex> lck(mtx);

2020-10-04 19:50:00 369

原创 wget批量下载

学习linux内核完全注释,需要下载源码,位于网站linux-0.12源码。使用wget命令批量下载所有的源代码:wget -x -r -l0 --no-parent http://www.oldlinux.org/Book-Lite/linux-0.12/-x 表示强制建立目录;-r 表示递归下载;最大递归深度 (inf 或 0 代表无限制,即全部下载)。-l0 表示递归的等级,0表示递归到所有子目录;--no-parent 表示不追溯至父目录,即不下载父目录中的文件;另外:-nd,

2020-09-25 11:02:33 318

原创 《剑指Offer》字符流中第一个不重复的字符

实现下面两个函数,Insert函数插入一个字符,FirstAppearingOnce函数返回数据流中第一个出现的字符。class Solution{public: //Insert one char from stringstream void Insert(char ch) { } //return the first appearence once char in current stringstream char FirstAppear.

2020-06-06 16:43:35 157

原创 LeetCode716:最大栈

这是一道被锁住的题,需要LeetCode会员才能做。还好lintcode上也有。最大栈分析:前4个操作比较简单,最难处理的是第5个操作。思路:1.可以使用两个栈,但是这样的复杂度为O(n),不太好。2.使用list+map,list中存放数据,map中存放值以及值对应的所有迭代器的集合,迭代器的集合使用vector存储,vector尾部的迭代器为当前值对应的最靠近栈顶的迭代器,那么我们在删除栈中最靠近栈顶的最大元素时,只需要获得最大值对应vector的最后一个元素(迭代器),然后在list和ve

2020-05-13 11:55:07 786

原创 groupcache源码分析一:LRU

1.LRU简介LRU(Least Recently Used)是一种缓存淘汰策略.受内存大小的限制,不能将所有的数据都缓存在内存中,当缓存超过规定的容量时,再往里面加数据就要考虑将谁先换出去,即淘汰掉.LRU的做法是:淘汰最近最少使用的数据.LRU可以通过哈希表+双向链表实现,双向链表的每个结点中存储{key,value},哈希表中存储{key,key所在的结点}.具体实现可参考:leetcode146——LRU 缓存机制内存结构示意图LRU最主要的两个操作为get和put(或add),其中g

2020-05-12 10:26:19 196

原创 go中的list

1.结点Element1.1 结点结构// Element is an element of a linked list.type Element struct { // Next and previous pointers in the doubly-linked list of elements. // To simplify the implementation, internally a list l is implemented // as a ring, such that &amp

2020-05-11 15:11:16 517

原创 C++的构造函数和赋值运算符们/移动构造函数

C++都有哪些构造函数?普通的构造函数、拷贝构造函数、移动构造函数、委托构造函数。#include <iostream>using namespace std;class A{public: int x, y; //默认构造函数 A() {} //带参数的构造函数 A(int x) : x(x) { cout << "constructor" &l...

2020-04-20 20:47:22 182

原创 shared_ptr的实现

自己实现一个shared_ptr,比较简洁,只是有个样子罢了。template<typename T>class shared_ptr{private: T* _ptr; int* _pcnt;public: shared_ptr(T* p) : _ptr(p), _pcnt(new int(1)) {} //拷贝构造函数 shared_ptr(co...

2020-04-20 19:04:47 171

原创 redis源码注释七:数据库db.c

0. 本文要点主要讲和Redis 数据库的构造和实现。1)数据库如何存储对象?redisDb数据库结构体2)数据库中键的操作3)键的过期时间4)过期键的处理5)过期键与AOF和RDB1. 数据库结构体typedef struct redisDb { dict *dict; /* The keyspace for this DB */ //数据...

2020-04-17 09:10:39 262

原创 redis源码注释六:对象系统

1. 对象类型和内部编码我们之前分析了几种redis底层的数据结构,包括简单字符串、双端链表、字典、跳表、整数集合、压缩列表等,这些还不是redis的对象类型,redis的对象类型总共包含5种,分别是字符串、列表、集合、有序集合、哈希,在server.h中定义。/* The actual Redis Object */#define OBJ_STRING 0 /* String obj...

2020-04-16 15:03:58 239 3

原创 redis源码注释五:整数集合intset.c intset.h

0. 源码注释位置1. 何为整数集合整数集合,顾名思义,是整数的集合,用于实现redis中的set,redis中的set也可以通过哈希表实现,为什么要有整数集合呢?这里考虑的是省内存,整数集合在数据量较小的情况下会占用更少的内存。内存映射数据结构是一系列经过特殊编码的字节序列,创建它们所消耗的内存通常比作用类似的内部数据结构要少得多,如果使用得当,内存映射数据结构可以为用户节省大量的内存...

2020-04-15 16:48:31 209

原创 redis源码注释四:跳表

0. 跳表0.1 简介跳跃表(skiplist)是一种随机化的数据,由William Pugh 在论文《Skip lists: a probabilisticalternative to balanced trees》中提出,这种数据结构以有序的方式在层次化的链表中保存元素,它的效率可以和平衡树媲美——查找、删除、添加等操作都可以在对数期望时间下完成,并且比起平衡树来说,跳跃表的实现要...

2020-04-15 12:01:30 245

原创 redis源码注释三:字典dict.c dict.h

1. dict简介redis的字典是使用哈希表实现的,存储key-value,每个字典有两个哈希表,0号哈希表(ht[0])是字典主要使用的哈希表,而1号哈希表(ht[1])则只有在程序对0号哈希表进行rehash时才使用。哈希表采用拉链式,当链比较长(或者比较短)的时候就要进行rehash,尽量使得大小和保存的结点数比例维持在1:1左右。如果不满足就要进行rehash,即哈希表的扩容和缩容。...

2020-04-14 15:05:37 294

原创 redis源码注释二:简单字符串sds.c sds.h

1. sds(Simple Dynamic String)简介sds(Simple Dynamic String)简单动态字符串。redis没有直接用char*,而是使用sds替代char*。为什么不用char*呢,只要有以下考虑:因为char* 类型的功能单一,抽象层次低,并且不能高效地支持一些Redis 常用的操作(比如追加操作和长度计算操作),所以在Redis 程序内部,绝大部分情况...

2020-04-11 11:51:33 300

原创 redis源码注释一:双端链表adlist.c adlist.h

1. 链表结构1.1 结点结构链表中每个结点的结构在adlist.h中:typedef struct listNode { struct listNode *prev; //指向前驱结点的指针 struct listNode *next; //指向后继结点的指针 void *value; //指向结点值的指针} listNode;结点的...

2020-04-09 13:59:54 175

原创 leetcode 5379. 石子游戏 III

题目链接:5379. 石子游戏 III动态规划:状态定义:dp[i]表示从i往后能多拿多少。状态转移:解释:如果先手选择拿1堆,即nums[i],则后手将会多拿dp[i+1],先手比后手多拿nums[i] - dp[i+1];如果先手选择拿2堆,即nums[i]+nums[i+1],则后手将会多拿dp[i+2];如果先手选择拿3堆,即nums[i]+nums[i+1]+nu...

2020-04-05 12:46:16 108

原创 LeetCode460:LFU缓存-hard

1.题目参考题解:2. 数据结构数据结构:哈希表,链表+链表,cnt2key是一个频次链表,其内部每个结点包含一个频次值与另一个链表(相同频次的key,尾部为最久没有被访问过的)。list<pair<int, list>> cnt2key;struct node{int value;int cnt;list<pair<int, list>...

2020-04-05 10:23:07 107

原创 C++菱形继承问题

1. 什么是菱形继承基类A,B继承A,C继承A,D继承BC。D中的B对象有A,D中的C对象还有A,重复了,如果调用函数,则不知道是B中的函数还是C中的函数。#include <iostream>using namespace std;class A {public: A() { a = 1; } ~A() {} void fun() { cout << ...

2020-04-04 22:38:05 231

原创 蓄水池抽样

1. 问题描述给定一个长度很长的数据流,在处理完成之前不知道其具体长度,如何在遍历一遍数据流的情况下,随机地抽出m个不重复的数据。key words:长度很长,遍历完之前不可知;O(N)复杂度;等概率地抽出m个数,每个数被抽中的概率为m/N。2. 蓄水池抽样算法步骤如果接收的数据量小于m,直接放入蓄水池reservoir如果接收的数量大于m,假设是第i个数据,i>=m,...

2020-04-04 16:48:56 179

原创 LeetCode42:接雨水,C++/Go

单调栈。从栈底到栈顶依次减小,如果入栈的元素大于等于栈顶元素,则将栈顶弹出并进行结算。每次结算时,雨水的高度为让他弹出的元素与弹出他之后的栈顶元素中的较小值与他的差,长度就是让他弹出的元素的位置与弹出他之后的栈顶元素位置之差减1.如:[1, 0, 2],栈顶为0,此时2要入栈,但是2比0大,则将0弹出,并结算,高度为min(1,2)-0,长度为2的下标 - 1的下标 - 1.C++c...

2020-04-04 09:25:19 114

原创 LeetCode289. 生命游戏

1.题目根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机。给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态:1 即为活细胞(live),或 0 即为死细胞(dead)。每个细胞与其八个相邻位置(水平,垂直,对角线)的细胞都遵循以下四条生存定律:如果活细胞周围八个位置的活细胞数少于两...

2020-04-02 09:58:43 86

原创 C语言如何实现封装继承和多态

1. 封装成员变量比较好说,关键是成员函数怎么办?C中的结构体如何放一个成员函数呢?答:可以使用函数指针。typedef struct Base{ int a; void (*print)(struct Base* this);}Base;//模仿基类构造Base* baseCtor(int a) { Base* this = (Base*)malloc(sizeof(Base...

2020-03-25 16:48:11 497

转载 位运算实现加减乘除

转载自:————————————————版权声明:本文为CSDN博主「刘小小小小刘」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_39478237/article/details/830395620.background数据在计算机内存中是以二进制存储的。 几种常用的位运算:与运算&am...

2020-03-19 18:31:50 211

原创 new/delete/array new/array delete/placement new/重载new delete

new当使用new的时候,实际上调用的是operator new,operator new在<new>头文件中://@{/** These are replaceable signatures: * - normal single new and delete (no arguments, throw @c bad_alloc on error) * - normal ...

2020-03-19 11:10:52 148

转载 c++优先队列(priority_queue)用法详解

参考博客:c++优先队列(priority_queue)用法详解版权声明:本文为CSDN博主「吕白_」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/weixin_36888577/article/details/799378861.构造和队列基本操作相同:top 访问队头元素empty 队列...

2020-03-02 10:50:36 111

原创 STL——stringstream

参考:STL之Stringstream字符串流使用总结1.stringstream头文件<sstream>继承关系:使用示例:// swapping ostringstream objects#include <string> // std::string#include <iostream> // std::cout#in...

2020-02-29 12:54:42 219

原创 约瑟夫环问题

本文中递推关系部分参考文章如下:参考文章:约瑟夫环问题的两种解法(详解)1.递推关系2.code#include <iostream>using namespace std;int main(){ int n,m; cin >> n >> m; if(n < 1 || m < 1){ retu...

2020-02-28 12:39:18 126

原创 完美洗牌

参考:版权声明:本文为CSDN博主「lyz_cs」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_26399665/article/details/798314901. Fisher-Yates Shuffle算法 最早提出这个洗牌方法的是 Ronald A. Fisher 和 Frank...

2020-02-28 10:53:53 669

原创 leetcode146——LRU 缓存机制

1.数据结构为了满足O(1)的复杂度,需要哈希表。另外还需要双向链表存放(key,value).哈希表中存放(key, key在链表中的位置)。2.算法2.1 get操作if key不存在: 直接返回-1else 在原链表中删除(key,value) 将(key,value)重新放回链表的头部 更新哈希表 返回value2.2 put操作if key存在: 在原链...

2020-02-25 17:18:24 176

原创 Django入门——MTV开发模式

1.何为MTVMTV开发模式整体结构图:每一部分对应到工程的文件分别是:文件对应部分models.py某个app的模型views.py某个app的视图urls.py路由部分M(models)和V(views)都有了,T(templates)呢?templates就是一些HTML,js,css文件。2.修改之前例子,添加templates...

2020-02-16 18:38:20 569

原创 Django入门1——第一个例子及修改

1.创建工程$ django-admin startproject mysite2.目录结构运行:$ python manage.py runserver在浏览器中输入:127.0.0.1:8000看到如下界面,说明成功3.django-admin工具使用:django-admin help查看命令:$ django-admin helpType 'django-a...

2020-02-16 17:21:43 280

原创 python -m pip install --upgrade pip报错

python -m pip install --upgrade pip 错误类型:C:\WINDOWS\system32>pip install --user --upgrade pipRetrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken...

2020-02-16 15:24:20 369

转载 MapReduce的通俗理解与入门

转载自:MapReduce的通俗理解与入门

2020-02-16 15:17:12 116

原创 设计模式——单例模式Singleton

参考:C++ 单例模式总结与剖析——这篇文章写得很好。单例模式——这篇文章的代码很详细。1.单例模式简介单例 Singleton 是设计模式的一种,其特点是只提供唯一一个类的实例,具有全局变量的特点,在任何位置都可以通过接口获取到那个唯一实例;要点:1)全局只有一个实例:static 特性,同时禁止用户自己声明并定义实例(把构造函数设为 private)2)线程安全3)禁止赋值...

2020-02-12 16:28:25 126 1

空空如也

空空如也

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

TA关注的人

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