自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 资源 (7)
  • 收藏
  • 关注

原创 Hadoop HA(High Availability)介绍及集群的搭建

Hadoop HA(High Availability)介绍在 Hadoop 1.0 时代,Hadoop 的两大核心组件 HDFS NameNode 和 JobTracker 都存在着单点问题,这其中以 NameNode 的单点问题尤为严重。因为 NameNode 保存了整个 HDFS 的元数据信息,一旦 NameNode 挂掉,整个 HDFS 就无法访问,同时 Hadoop 生态系统中依赖于 HD

2017-10-29 20:00:29 697

原创 gcc编译步骤 动态库、静态库的使用、gdb调试、Makefile编写

gcc编译过程(ESc)1.预处理器:cpp 头文件展开,宏替换,注释去掉 gcc -E hello.c -o hello.i (-o 指定编译后文件名) 2.编译器:gcc C文件变成汇编文件 gcc -S hello.c -o hello.s3.汇编器:as 汇编文件变成二进制文件 gcc -c hello.s -o hello.o 4.链接器:ld 将库函数相应代码组合到目标文件

2017-09-07 10:20:25 1171

原创 Vim常见命令及实用配置

http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.htmlhttp://pizn.github.io/2012/03/03/vim-commonly-used-command.htmlhttp://blog.csdn.net/ithomer/article/details/5929428

2017-05-10 17:42:48 846 1

原创 centos7升级gcc版本

安装 devtoolsetyum install devtoolset-7-gcc.x86_64 devtoolset-7-gcc-c++.x86_64切换到devtoolset-gccsource /opt/rh/devtoolset-7/enable版本查看gcc -v注:此方法只能临时有效,重启后失效需要重新切换,可将切换命令添加到centos开机启动方法:修改/etc/rc.d/rc.local,在末行添加切换命令参考:gcc版本升级https://www.cnblogs.

2021-11-17 17:43:12 273

原创 MySQL的字符集和校对规则

MySQL字符集及校对规则的理解Mysql中的校对规则究竟是怎么一回事字符集:对文字的编码方式校对规则:判断一段文字是否相等的比较方式字符集特点:  ①字符编码方式是用一个或多个字节表示字符集中的一个字符  ②每种字符集都有自己特有的编码方式,因此同一个字符,在不同字符集的编码方式下,会产生不同的二进制校对规则特征:  ①两个不同的字符集不能有相同的校对规则;  ②每个字符集有一个默认校对规则;  ③存在校对规则命名约定:以其相关的字符集名开始,中间包括一个语言名,并且以_ci(大小写不

2021-05-28 18:00:12 600

原创 virtualbox虚拟机配置------解决桥接网卡界面名称未指定问题

重点:在相应网卡设置中安装Microsoft网络客户端,选服务–>添加–>Microsoft -->Mircrosoft MAC Bridge–>从磁盘安装选择VBOX安装的目录,找到VirtualBox\drivers\network\netlwf\VBoxNetLwf.inf 添加然后就正常了。https://blog.csdn.net/py_method/article/details/104794949虚拟机推荐配置网卡一:Nat映射网卡二:桥接网络https

2021-04-09 15:19:21 1041

原创 mysql数据同步

使用mysqldumpmysqldump -hremote_ip -uuser -p database | mysql -uuser -p database使用条件 remoteip(要复制的数据库) 和本机必须能够互通mysql 8.0的坑权限分开,需要先创建用户再授予权限解决:https://blog.csdn.net/qq_34416331/article/details/104198487mysqldump 导出提示Couldn’t execute SELECT COLUMN_NAME

2021-04-06 22:48:59 104

原创 mysql查询相关

MySQL中查询表的总行数命令select count() from t;select count(id) from t;(id为主键)select count(1) from t;select count(某普通字段) from t;show table status的rows字段总结来说,四种常用查询方式的速度顺序为:count(字段)<count(id)<count(1)<count()...

2021-03-26 16:34:41 80

原创 python3 操作mysql踩坑

python3提示错误“ImportError: No module named ‘MySQLdb’”解决:python2和python3在数据库模块支持这里存在区别,python2是mysqldb,而到了python3就变成pymysql,安装pymysql :pip3 install PyMySQLpymysql 报错:from . import connections # noqa: E402原因:PyMySQL的最新版,不支持Python 2.7 和 3.5版本了解决:不使用 Flask-M

2021-03-25 18:54:26 275 1

原创 Linux下程序cpu占用高排查思路

1、ps -e找到进程号2、top -H -p 进程号,显示的列表的左侧PID为该进程的线程号。看哪个线程号对应的cup占用较高,记下线程号。3、用pstack 线程号看系统调用信息。确定出对应的是哪个线程。4、回到代码查找线程处理函数是不是没有sleep或者有死循环等。另可通过starce命令:https://www.jianshu.com/p/d6686cb72f68...

2020-11-23 20:40:07 201

转载 服务端高并发分布式架构演进之路

https://segmentfault.com/a/1190000018626163

2020-11-23 20:26:40 122

原创 内网穿透+ssh登录打造私人云服务器

本地linux服务器natapp 将 服务器ip:22 映射到公网使用公网 ssh远程登录 即可远程访问服务器

2020-11-22 21:08:00 300

原创 gitbook使用记录

使用GitBook 使用教程常用命令gitbook init 创建gitbook serve 浏览器地址栏中输入 http://localhost:4000 便可预览书籍。gitbook build 生成本地网页不开启服务器不在支持本地跳转原因由于点击事件被js代码禁用,所以点击没有反应,但是如果右键,在新窗口/新标签页打开的话是可以跳转的解决办法找到js代码,并修改找到项目目录gitbook找到目录下的theme.js文件找到下面的代码将if(m)改成if(false)M

2020-11-16 22:39:16 92

原创 linux 内核 - ioctl 函数

用于字符设备用户空间与内核空间消息的传递。ioctl 是设备驱动程序中设备控制接口函数,一个字符设备驱动通常会实现设备打开、关闭、读、写等功能_IO: 定义不带参数的 ioctl 命令_IOW: 定义带写参数的 ioctl 命令(copy_from_user)_IOR: 定义带读参数的ioctl命令(copy_to_user)_IOWR: 定义带读写参数的 ioctl 命令使用该函数一般需要3块:包含 ioctl 命令及相关宏定义,可以理解为一份 “协

2020-10-20 16:58:21 212

原创 linux 内核 module_init 机制

linux moudle并不仅仅用于支持驱动的加载和卸载。模块代码有两种运行方式,一是静态编译连接进内核,在系统启动过程中进行初始化;一是编译成可动态加载的module,通过insmod动态加载重定位到内核。这两种方式可以在Makefile中通过obj -y 或 obj -m 选项选择。一旦可动态加载的模块目标(.ko)被加载重定位到内核,其作用域和静态链接的代码是完全等价的。这种运行方式有如下优点:1. 可根据系统需要动态加载模块,以扩充内核功能。不需要时将其卸载,以释放内存空间。2. 当需

2020-07-29 17:26:46 258

原创 C/C++ 计算函数运行时间

clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t; 头文件:time.h/ctime在C/C++中,还定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元,其定义如下: #define CLOCKS_PER_SEC ((clock_t)1000)#include “stdio.h” #include “stdlib.h” #include “time.h” int main( void )

2020-06-24 19:47:12 776

原创 缺少xxx.so.5解决办法

建立软件链接ln -s 源文件 目标文件ln -s /lib/libncurses.so.5 /usr/lib/libtinfo.so.5也可能缺少对应平台的库,如程序是32位机编译,在64位机运行会报错,这时可以下载对应的32位库文件并建立软连接参考文章:https://blog.csdn.net/smile_shaco/article/details/53693957...

2020-06-24 19:37:50 774

原创 uint64_t 兼容64位、32位编译器

#include <inttypes.h> printf("%" PRId64 "\n", value); 这是一种跨平台的书写方式,主要是为了同时支持32位和64位操作系统。PRId64表示64位整数,在32位系统中表示long long int,在64位系统中表示long int。相当于:printf("%" "ld" "\n", value); //64bit OSprintf("%" "lld" "\n", value); //32bit OS或者printf("

2020-06-24 18:48:20 1469

原创 相互引用的结构体定义

样例1(正确样例):typedef struct tagTest_B TEST_B_S;typedef struct tagTest_A{TEST_B_S *pstB;} TEST_A_S;struct tagTest_B{TEST_A_S *pstA;};样例二:struct B;typedef struct A{ struct B *p; int a; int b;}AAA;typedef struct B{ struct A

2020-06-19 15:28:30 296

原创 关于虚拟内存、驻留内存与共享内存——virt res shr之间的关系 - linux

剖析top命令显示的VIRT RES SHR值:https://www.cnblogs.com/xuxm2007/archive/2012/06/05/2536294.html理解virt res shr之间的关系 - linux:https://www.orchome.com/298Linux 执行top命令各个参数VIRT,RES,SHR,DATA含义理解:https://blog.yoo...

2019-10-11 10:40:05 2063

原创 Interface ('VirtualBox Host-Only Ethernet Adapter') is not a Host-Only

https://blog.csdn.net/u013480675/article/details/80402662

2019-10-10 10:18:49 703

原创 Linux C 程序执行 shell 命令并获取返回结果

#include <stdio.h>#include <string.h>#include <errno.h>int main(int argc,char*argv[]){ FILE *fstream = NULL; char buff[1024], command_buf[1024]; memset(buff, 0, size...

2019-10-08 18:45:33 318

原创 循环链表

#include <stdio.h>#include <string.h>#include <malloc.h>#include <stdbool.h>typedef struct DuLNode { int data; struct DuLNode *prior; struct DuLNode *next;} D...

2019-09-14 19:00:24 236

原创 二叉树前序中序输出后序

#include <stdio.h>#include <string.h>#include <malloc.h>typedef struct BNodeTree { char data; struct BNodeTree* left; struct BNodeTree* right;}BNodeTree;BNodeTree*...

2019-09-13 17:58:07 291

原创 中缀表达式转后缀表达式

#include <stdio.h>int main() { char c; char arr[200]; int i = -1, n = 0; while ((c = getchar()) != '\n' && n < 200) { n++; if(c == '+' || c == '-' |...

2019-09-12 16:50:37 135

原创 KMP

#include <stdio.h>#include <string.h>void get_next(char T[], int next[]) { int i = 1, j = 3, k; next[1] = 0; next[2] = 1; while(j <= T[0]) { k = next[j-1]; ...

2019-09-12 14:41:10 107

原创 数字转人民币

数字转换人民币大写形式:银行、单位和个人填写的各种票据和结算凭证需要将数字金额写成人民币大写形式,它的规则主要有以下几条:1、数字和单位使用壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿、元、角、分、零、整等字样,不能使用其他汉字;2、中文大写金额数字到"元"为止的,在"元"之后、应写"整"字;在"角"之后,可以不写"整"字;大写金额数字有"分"的,"分"后面不写"整"字;3、数字...

2019-09-12 14:09:02 381

原创 C语言输出汉字

int main() { setlocale(LC_ALL, "chs"); wchar_t arr[] = L"以为可以输出汉字"; wchar_t arr0[] = {L'零', L'壹'}; wchar_t *arr1[] = {L"零啊啊", L"壹啊啊"}; wprintf(L"%s\n", arr); wprintf(L"%c\n", arr[0]); wprintf(...

2019-09-05 15:16:21 10543

原创 VSCode安装与调试(cannot open source file "stdio.h")

主要步骤安装VSCode在VSCode内安装c++插件(安装第一个c/c++的插件(微软的官方插件))安装g++编译、调试环境(目前windows下调试仅支持 Cygwin 和 MinGW。这里使用的是MinGW. )MinGW安装教程——著名C/C++编译器GCC的Windows版本修改VSCode调试配置文件includepath配置:加入MinGW安装路径/bin(需要添加环...

2019-08-06 11:10:52 7743

转载 【转】四层、七层负载均衡的区别

原文:https://www.jianshu.com/p/fa937b8e6712一、简介** 所谓四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡;**同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。 换句换说,二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;三层负载均衡会通过一个虚拟IP地址接收请求,...

2019-02-16 10:37:16 278

转载 Hbase在Scrapy中的应用

网上很多教程都是使用Scrapy存数据到MongoDB,Mysql或者直接存入Excel中的,很少有存入到Hbase里面的前言为什么没有像大多数网上那样将数据存入到MongoDB,Mysql中呢,因为项目中使用到Hbase加上阿里云的推荐引擎系统,Hbase是Hadoop的一个子项目,要想用到Hbase软件的服务,需要进行Hadoop跟zoop...

2018-11-27 12:48:40 274

转载 Vm虚拟机扩展Ubuntu系统磁盘空间

Vm虚拟机扩展Ubuntu系统磁盘空间前言一般我们在安装虚拟机时都会选择默认的20G磁盘空间,但是一旦需要搭建一两个交叉编译环境后,20G的空间就无法满足了,我就是出现了这样的情况,所以也在这里建议大家,如果需要在虚拟机上搭建比较复杂的环境的话,一般给虚拟机50G的内存空间较合适。这里是我的Ubuntu系统下现在的空间大小:&amp;amp;nbsp;一旦达到97%左右...

2018-11-01 17:26:14 651

原创 面向对象编程风格与基于对象编程风格

使用面向对象风格对线程类封装#ifndef _THREAD_H_#define _THREAD_H_#include &amp;lt;pthread.h&amp;gt;class Thread{public: Thread(); virtual ~Thread(); void Start(); void Join(); void SetAutoDe...

2018-06-05 10:58:05 875

原创 C++11 std::function和std::bind

#include &amp;amp;lt;iostream&amp;amp;gt;#include &amp;amp;lt;functional&amp;amp;gt;using namespace std; class Foo { public: void memberFunc(double d, int i, int j) { co...

2018-06-04 22:27:31 250

原创 C++无名命名空间详解

namespace { int a; void f(){/*...*/} int g() {/*...*/} } 相当于namespace $$$ { int a; void f(){/*...*/} int g() {/*...*/} } using namespace $$$; 同一...

2018-06-02 15:50:08 743

转载 C语言变长数组data[0]【总结】

发现在linux内核中,结构体中经常用到data[0]。这样设计的目的是让数组长度是可变的,根据需要进行分配。方便操作,节省空间。struct buffer{ int data_len; //长度 char data[0]; //起始地址};在这个结构中,data是一个数组名;但该数组没有元素;该数组的真实地址紧随结构体buffer之后,而这个地址就是结构体后...

2018-05-29 19:21:43 321

转载 关于Linux下s、t、i、a权限

文件权限除了r、w、x外还有s、t、i、a权限:s:文件属主和组设置SUID和GUID,文件在被设置了s权限后将以root身份执行。在设置s权限时文件属主、属组必须先设置相应的x权限,否则s权限并不能正真生效(c h m o d命令不进行必要的完整性检查,即使不设置x权限就设置s权限,chmod也不会报错,当我们ls -l时看到rwS,大写S说明s权限未生效)。Linux修改密码的passwd...

2018-05-19 17:00:16 4352

原创 结构体中的冒号

连接位域名(变量名)与位域大小(变量占位大小,按位计算)struct 位域结构名 { 位域列表 }; 其中位域列表的形式为: 类型说明符 位域名:位域长度 例如: struct bs { int a:8; int b:2; int c:6; }; https://blog.csdn.net/cyhleo/article/details/6845462...

2018-05-14 09:49:50 404

转载 C/C++中基本数据类型在不同系统中所占空间大小

关于这个基本的问题,很早以前就很清楚了,C标准中并没有具体给出规定那个基本类型应该是多少字节数,而且这个也与机器、OS、编译器有关,比如同样是在32bits的操作系统系,VC++的编译器下int类型为占4个字节;而tuborC下则是2个字节。所以int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):sizeof(short int)<=s

2018-04-14 14:37:40 376

原创 static inline

http://www.cnblogs.com/cnmaizi/archive/2011/01/19/1939686.html http://www.cnblogs.com/pengyingh/articles/2405718.html

2018-04-12 19:28:41 222

后台服务器开发进阶必读源码书籍pdf

libevent源码深度剖析 redis设计与实现(第二版) 深入理解Nginx模块开发及架构解析

2018-05-20

Unix/Linux网络编程必看经典书籍完整高清pdf打包下载

UNIX网络编程卷1:套接字联网API(第3版) UNIX网络编程 卷2 进程间通信(第2版) UNIX环境高级编程(中文第三版)_扫描版_22.2M

2018-05-20

操作系统联考复习指导_王道论坛组编

操作系统联考复习指导_王道论坛组编 完整版操作系统联考复习指导pdf

2018-05-20

BAT经典面试题100道.pdf

BAT经典面试题 100道 BAT经典面试题 100道 BAT经典面试题 100道

2018-04-17

空空如也

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

TA关注的人

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