自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (5)
  • 收藏
  • 关注

原创 Kubernetes Metrics-Server安装

1.去官网下载你喜欢的metrics-server的版本官方网址  切忌先不要按它的方法来,因为它的方法是直接拉取镜像(即使你可以很顺利的拉取,但是后面有一个小坑(其实也不算,那个坑是用来保证安全的,如果你要保证安全的话,就关掉此文章吧))。那么我们首先把这个yaml文件(这里以0.6.0为例)下载下来:wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.6.0/components.yaml下载完

2022-01-21 12:23:20 4335 1

原创 ubuntu vim利用pydiction配置tensorflow自动补全

ubuntu vim 利用Pydiction实现tensorflow自动补全一.下载Pydiction直接去官网,把源码clone下来$ cd ~/.vim/plugged#我这里的是安装在plugged下了,没有按照官网的来,放在~/.vim/bundle下,因为我的.vim下没有bundle,所以我这里选择的是plugged下zailushang1@ubuntu:~/.vim$ lsautoload colors ftplugin plugged$ git clone https:/

2021-12-27 15:38:28 782 2

原创 ubuntu 18.04 安装CUDA + CUDNN + tensorflow-gpu

一. 查看tensorflow-gpu对应的python,CUDA以及CUDNN的版本通过tensorflow-gpu配置,得到如下信息:这里本人打算安装tensorflow-gpu 2.3版本的,所以采用的CUDA版本为10.1,CUDNN版本为7.6。一. 安装CUDA首先去官网地址因为我们想要下载的CUDA的版本是10.1,截止目前2021/12/22最新版本是11.5。所以需要下载历史版本。你可以点击图中的历史版本的链接,也可以点击此链接去下载:接着点击左侧的CUDA Toolk

2021-12-22 11:38:54 1995 4

原创 vim: error while loading shared libraries: libruby-2.3.so.2.3: cannot open shared object file

vim: error while loading shared libraries: libruby-2.3.so.2.3: cannot open shared object file: No such file or directory1.问题来源:我的vim是在ubuntu16.04由源码编译得到的,然后自己手动把自己的ubuntu16.04升级到了ubuntu18.04,因为环境的变化,导致了出现了如下错误:vim: error while loading shared libraries: l

2021-10-30 11:14:15 852

原创 ubuntu18.04设置引导界面

打开 /etc/default/grub,将GRUB_TIMEOUT_STYLE=hidden给注释掉,然后修改下GRUB_TIMEOUT=0为10,其实就是启动的时候,等待你多久;然后把GRUB_CMDLINE_LINUX_DEFAULT="quiet"修改为text即可。GRUB_DEFAULT=0#GRUB_TIMEOUT_STYLE=hiddenGRUB_TIMEOUT=10GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo

2021-10-09 10:34:33 582

转载 ubuntu18.04修改刚安装好得mysql 5.7.3版本的 root用户密码的方法

转载至这篇文章,亲测有效

2021-08-01 16:02:37 83

原创 关于进程的用户ID,有效ID,保存设置的用户ID以及文件的所有者,同组以及其他用户的属性之间的关系

基础知识实际用户ID(RUID)/实际组ID:标识我们究竟是谁.这两个字段在登录时取自口令文件中的登录项.通常,在一个登录会话期间这些值并不改变.但是超级用户进程有方法改变它们.有效用户ID(EUID)/有效组ID/附属组ID:决定了我们文件访问权限,定义了操作者的权限,是进程的属性,决定了该进程的访问权限.保存的设置用户ID(SUID):有效用户ID副本,既然是有效用户ID的副本,作用是为了以后恢复有效用户ID设置用户ID位:用于对外的权限的开发,它的作用是我们如何去修改有效用户ID.

2021-06-14 00:14:49 679

原创 Get http://localhost:10248/healthz: dial tcp 127.0.0.1:10248: connect: connection refused.

因为标题放不下完整的k8s初始化的错误信息,所以在文章内容中写一下完整的错误信息,可以给读者一个很好的错误信息对照参考[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get http://localhost:10248/healthz: dial tcp 127.0.0.1:10248: connect: connection refused..这里

2021-06-06 20:13:16 37499 13

转载 mysql8.0.25 修改root密码

转载大佬的文章

2021-06-02 16:52:02 1085

转载 ubuntu关于arm64跟x86架构的apt-get源的更换的区别

关于ubuntu更换apt-get的源的方法,转载自大佬的文章ubuntu apt-get中关于arm64跟x86之间的区别

2021-05-31 11:15:35 1605

原创 UNIX网络编程的hello world(daytime server)

#include <stdio.h>#include <unpv13e/unp.h>#include <unpv13e/apueerror.h>int main(int argc,char **argv){ int sockfd,n; char recvline[MAXLINE+1]; struct sockaddr_in servaddr;//描述IP地址的 if(argc != 2)//运行程序的格式必须是./a.out IP地

2021-04-13 21:04:07 206

原创 openstack user list: Missing value auth-url required for auth plugin password

$ openstack user list Missing value auth-url required for auth plugin password出现这个错误,主要是因为环境变量的问题。你只需要进入到/opt/stack/devstack/accrc/admin下。然后source 一下 admin这个文件即可: source admin#或者 .admin这里主要是说一下source的作用,即使你文件的环境配置立刻生效的。source也可以利用点(.)替代,即: .

2021-03-04 10:30:55 2010 1

原创 ubuntu删除内核,安装内核方法

删除内核: 1.dpkg --get-selections | grep linux #查看自己已经安装的内核有那些比如我想卸载linux-headers-4.15.0-128-lowlatency,那么接下来用这个命令卸载: 2.sudo apt-get purge linux-headers-4.15.0-128-lowlatency linux-image-4.15.0-128-lowlatency #其实就是把与那个lowtatency相关的内核都删除掉 3.sudo update-

2021-01-04 15:50:56 3725

转载 UserWarning: Matplotlib is currently using agg, which is a non-GUI backend

首先安装一些东西: sudo apt-get install python3-tk sudo pip3 install PyQt5==5.9.2#这个是最关键的,上面的那个可以不用安装!!!

2020-12-25 14:53:06 455 1

原创 ubuntu 源码安装Python3.6.11,并且pip安装tensorflow-gpu 2.3.0

首先去Python官网下载Python3.6.11的源码官方下载传送门这里我选择的是3.6.11(这个你根据自己的需求来选择,我就不过分讲解)提前准备做的事情: 1. sudo apt-get install libssl-dev #安装相应的openssl。 #这一步是有必要的。因为要 #是不安装这个的话,会在编译Python的时候,会出现这个Error: #fatal error: openssl/ssl.h: No such file or directory centos .

2020-12-25 11:37:52 340 2

原创 ubuntu docker-compose设置开机自启动一些容器

基础知识 一些Linux发行版使用一个表来管理在系统开机时要自动启动的进程。在 Linux系上,这个表通常位于专门文件/etc/inittab中。另外一些系统 (比如现在流行的Ubuntu Linux发行版)则采用/etc/init.d目录,将开机时 启动或停止某个应用的脚本放在这个目录下。这些脚本通过/etc/rcX.d目录 下的入口(entry)启动,这里的X代表运行级(run level)。 Linux操作系统的init系统采用了运行级。运行级决定了init进程运行 /etc

2020-12-15 20:19:28 2228

原创 Harbor安装

下载相应的压缩包:Harbor这里我下载的是1.9.3解压:tar xvf harbor-offline-installer-v1.9.3.tgz配置相应的信息:在harbor.yml文件中,找到hostname,然后将其后边的数据改成你的机器的IP地址:hostname: 192.168.10.1安装:sudo ./install.sh如果在这一步出现error:ERROR: for proxy Cannot start service proxy: driver failed ..

2020-12-07 16:32:01 712

原创 tensorflow 2.0+ 如何读写TFRecord

前缀知识,TFRecord其实就是Protocol Buffer,所以你想从本质上理解TFRecord,那么就可以先看我写的一篇关于Protocol Buffer的文章(其实就是从其官网上翻译过来的,但是可以让你了解下什么是Protocol Buffer)Protocol Buffer。如果你了解到了什么是Protocol Buffer,那么我接下来分下下TFRecord是何种格式的。FeatureExample上面这两个链接就是TFRecord中相关的.proto的定义了。这里单独摘出来 te.

2020-12-05 12:01:08 399

原创 Protocol---python安装及使用(官网代码的翻译)

安装:首先去官网查看相应的安装教程:protocol我是这样做的,首先安装C++版本的(我的平台是ubuntu): C++版本的protocol安装 1. 安装相应的依赖环境 sudo apt-get install autoconf automake libtool curl make g++ unzip 2. 因为我用的是python3,所以我不确定python2按照我的步骤能不能成功。如果你想跟我一样,那么就先切换下python版本: echo alias python=py.

2020-12-04 16:30:40 1026

原创 failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: “cgroupfs“

failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"那么第一步: 1./etc/systemd/system/kubelet.service.d/10-kubeadm.conf查看这个10-kubeadm.conf存不存在,如果不存在,那么直接创建一个:内容

2020-11-27 22:43:23 1455

原创 Failed to connect to API Server “192.168.31.197:6443“: Get https://192.168.31.197:6443/api/v1/namesp

node加入的时候出现这个错误Failed to connect to API Server "192.168.31.197:6443": Get https://192.168.31.197:6443/api/v1/namespaces/kube-public/configmaps/cluster-info?timeout=10s: dial tcp 192.168.31.197:6443: connect: no route to host是因为telnet的问题(首先排除下是不是因为token过期

2020-11-26 20:49:22 12387

原创 /proc/sys/net/bridge/bridge-nf-call-iptables does not exist k8s

出现错误:ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables does not exist解决方法:modprobe br_netfilterecho 1 > /proc/sys/net/bridge/bridge-nf-call-iptables

2020-11-04 23:19:56 2653 2

转载 docker容器中不能上网的一种解决方法

After A LOT of time trying to solve this issue I think I finallyfound a solution in an ebook I found on the internet.Here's the steps I took to solve the issue:$ sudo service docker stop$ sudo nano /etc/default/dockerEdit the file and uncomment the

2020-10-06 23:10:12 990

原创 K8s替换成指定版本的版本

首先卸载所有的kube插件: sudo apt-get remove -y kubelet kubeadm kubectl接着,搜索一下你想要的版本是多少: sudo apt-cache madison kubeadm然后接着就是安装,比如我想安装的是1.17.3.00 sudo apt-get install -y kubelet=1.17.3-00 kubeadm=1.17.3-00 kubectl=1.17.3-00这样就好了,有可能这样的话获得不了node,你就先 sudo swapo

2020-09-17 23:37:22 1200

原创 C++类的成员函数的名字查找与继承

摘抄自C++ Primer 5: 理解函数调用的解析过程对于理解C++继承至关重要,假定我们调用p->mem()(或者obj.mem()),则依次执行以下四个步骤: (1) 首先确定p(或obj)的静态类型,因为我们调用的是一个成员,所以该类型必须是类类型的。 (2) 在p(或obj)的静态类型对应的类中查找mem。如果找不到,则依次在直接基类中不断查找直到到达继承的顶端。如果找遍了该类及其基类仍然找不到,则编译器将报错。 (3) 一旦找到了mem,就执行常规的类型检查,以确认对于当前找到

2020-09-17 21:51:49 323

原创 ubuntu ssh 连接 腾讯云

首先根据下面这个文章中的前边的下载那个秘钥,也就是.pem文件https://www.jianshu.com/p/711eab05268f然后把这个pem文件放到~/.ssh文件中去然后利用ssh-add +刚才那个下载的.pem文件如果此时出现 Could not open a connection to your authentication agent.那么,就利用: ssh-agent bash解决。如果还遇到什么告诉你权限的问题,那么你就改变这个pem文件的权限,如我下图所示

2020-09-02 22:23:12 626

原创 C++释放用new创建的二维数组

使用new创建二维数组的时候,首先我们是创建一个指针数组,然后给每一个指针赋予一个内存空间即可: T ** p = new T* [numberOfRows]; for(int i = 0; i < numberOfRows;++i){ p[i] = new T [numberOfColumns];//注意,这个numberOfColumns是可以改变的,不一定是单单这么一个值,也就是说二维数组可以不一定是列数是一样的,可以列数不一样 }那么同理,在删除的时候,我们首先把每

2020-08-29 19:19:34 1059

原创 Weave 分配的IP的MTU值修改的方法

首先,如果你没有安装weave的话,可以在安装的时候直接执行如下语句WEAVE_MTU=1500 weave launch如果已经安装好了weave的话,那么需要把weave reset以下: //先执行下weave reset weave reset //再重新执行如下这句话 WEAVE_MTU=1500 weave launch这样就可以把MTU改成1500了,如果想改成别的,就把1500改成你需要的值...

2020-08-24 14:24:04 264

原创 C++中关于std::pair<const K,V>的初始化问题

如题所见,在类中如果有一个成员是std::pair<const K,V>这种类型的话,那么在初始化这个成员的时候,一定要注意在构造函数中使用初始化的方式去给它初始化,而不是在大括号中进行赋值!!template<typename T>struct binaryTreeNode{ T element; binaryTreeNode<T> *leftChild, //左子树 *rightChild;

2020-08-22 10:19:42 2405 1

原创 详解胜者树(最小赢者树)

最后附上源码: winnerTree.h    buffers 1 #pragma once 2 #ifndef __WINNER_TREE__H 3 #define __WINNER_TREE__H 4 5 template<typena...

2020-08-09 11:04:28 831

原创 I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this Tensor

其实这个也不是错误,这个只是一个tensorflow的warning而已,如果你不想去看到这个warning,其实就是给它创建一个环境变量就好了: export TF_CPP_MIN_LOG_LEVEL=2这样就好了,但是因为这个只是临时创建的,所以我们需要创建一个永久性的环境变量的话,只需要这样做: #第一种方法: sudo vim ~/.bashrc #在最后面加上一行 export TF_CPP_MIN_LOG_LEVEL=2 #然后source一下就好了

2020-08-04 16:29:40 5736

原创 QObject::moveToThread: Current thread is not the object`s thread. Cannot move to target thread

如果遇到这种情况,那么说明你的ubuntu环境下已经安装了QT了。其实这个只是一个warning,我们完全可以忽略掉。但是如果你有强迫症的话,而且不需要QT的话,那么可以继续往下看了,但是如果你平时需要QT,那么就不要看下去了,就继续忍受python-opencv报的warning错了,其实也没啥。或者是自己使用QT去配置opencv,而不是去使用python-opencv。如果你像我一样,只是傻逼一样的安装了QT,但是不用QT的话(只是单纯的装了QT而已),然后你也想用python-opencv,并且还

2020-08-04 16:02:00 6101 1

原创 C++中关于静态成员/函数的问题

-:静态成员 静态成员函数或者是静态成员,其都是属于类的;而不是属于类的对象的。然后因为静态成员是不与任何对象绑定在一块的,所以静态成员函数不包括this指针的。因此静态成员函数是不能声明成const的,而且我们也不能在static函数体内使用this指针。这一限制既适用于this的显示使用,也对调用非静态成员的隐式使用有效。(也就是说,静态成员函数是不可以调用普通的成员函数的,也不可以调用普通的成员的。只能调用静态的成员或者静态成员函数)。 我们使用作用域运算符直接访问静态成员: class

2020-07-29 23:28:13 416

原创 计算二叉树的深度和元素个数---C++实现

1.计算二叉树的深度。可以这样理解,我们可以去查找根节点的左子树的深度和其右子树的深度,然后比较这两个谁大。如果左子树的深度大于右子树,那么我们可以把左子树的深度加1就是整个树的深度,相反如果右子树的深度大于左子树的深度,那么可以把右子树的深度加1表示是整个树的深度。按照这个思想,我们可以再把如何求左子树的深度也分成求左子树的左子树的深度和其右子树的深度,然后比较出那个深度大,让其加1就是左子树的深度了。所以这个求其深度的问题就是一个递归的算法了。下面是C++算法: 166 template.

2020-07-26 16:15:59 658

原创 关于二叉树的遍历问题

二叉树表示的是一个节点最多有两个子树,叫做左子树和右子树。那么我们遍历的情况,一共有四种情况了:根左右,左根右,左右根,以及层次遍历。主要说一下

2020-07-25 20:52:48 290

原创 有m个叶子的完全二叉树最多有多少个节点?

这里说一下自己的答案,如果有m个叶子的完全二叉树最多有2m个节点。推导如下: 1 / \ 2 3 / \ / \ 4 5 6 7 / \ / \ / \ /\ 8 9 10 如上图所述,假设m=8,也就是叶子节点是8个完全的二叉树,那么它最大有2*8个节点。现在用数学方法推导: (1)因为第一层最多有2^(1-1) = 1个叶子节点,那么第h层最多有2^(h-1)个叶子节点。所以我们首先可以

2020-07-24 22:26:20 4638

原创 LZW解压缩C++实现

压缩方法:#include "hashChain.h"#include <fstream>#include <sstream>//包含一些c语言字符串处理的函数#include <cstring>#include <string>//定义一些全局变量const int DIVISOR = 4099, //hash表的取余的那个数 MAX_CODES = 4096, //2^12,用来表示前缀的编码的,用1

2020-07-24 14:59:43 285

原创 C++跳表实现

#pragma once#ifndef __SKIPLIST__H#define __SKIPLIST__H#include "skipNode.h"#include <vector>#include <math.h>#include <sstream>#include "dictionary.h"#include "illegalValue.h"/* * * * []------------->[]-------------

2020-07-18 15:53:59 400

原创 一堆n组卡片,每张卡片有三个域:卡片的组号,样式以及面值。对其进行排序------数据结构与算法应用C++描述第三版

#pragma once#ifndef __BINSORT_H#define __BINSORT_H#include <iostream>#include <math.h>#include <string>#include <list>using namespace std;struct card{ // int element[3]; /* int deck; int suit; int fa

2020-07-01 11:05:43 205

原创 箱子排序(桶排序),基数排序

#include <iostream>#include <list>#include <time.h>//#include "circularListWithHeader.h"#include "extendedChain.h"#include <math.h>/*本算法为箱子排序的算法 * Author: zailushang * Data: 2020-06-27 * *目的为了熟悉C++的双向链表 * * */#defi

2020-06-29 16:38:18 474

ESP8266 做的天气预报

ESP8266 做的天气预报

2018-12-27

ESP8266 SDK开发 天气预报

ESP8266 SDK开发 天气预报

2018-04-28

FSTM32F1门禁系统

FSTM32F1门禁系统

2017-12-14

ESP8266的 TCP通信(server)

ESP8266的 TCP通信(server)

2017-07-04

ESP8266的 TCP通信

ESP8266的 TCP通信

2017-06-16

空空如也

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

TA关注的人

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