自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (1)
  • 收藏
  • 关注

原创 redis 一主二从 三哨兵

最近项目需要,先搭建个环境,没环境就在一台服务器上折腾了。。 下载redis-3.2.8.tar.gz,由于不能直接下载,我到官网下载的,放在这个目录下。然后分出三个目录,redis1、redis2、redis3下面这个命令在redis2、redis3目录下的redis解压目录里各执行一遍,编译安装redis就完毕了。其实不用make test也一样,不过对我这样一个强迫症患者来...

2019-08-02 16:50:48 693

转载 redis常用命令总结

通用命令:keys *[pattern] --- 遍历当前reids所有的key O(n)dbsize--- 计算key的总数O(1)exists[key]--- 判断key是否存在O(1)del[key...] --- 删除一个或多个指定的keyO(1)expirekey [seconds] --- key在seconds秒后过期O(1)ttl[...

2019-08-01 13:20:33 471

原创 红黑树

可以理解成是一种特殊的二叉树/** coding-utf8* title: rb tree* auth: zwang* date:2019-07-23*/#include <string.h>#include <stdlib.h>#include <stdio.h>#include <assert.h>#define...

2019-07-23 17:29:37 162

原创 二叉树

直接撸代码!#include <string.h>#include <stdlib.h>#include <stdio.h>#include <assert.h>typedef int KEY_VALUE;#define BSTREE_ENTRY(name,type) struct name { struct type* le...

2019-07-23 17:28:45 132

原创 求链表的中间结点

 暂时空缺

2018-12-11 17:49:23 142

原创 删除链表倒数第 n 个结点

 需要补上

2018-12-11 17:48:57 115

原创 两个有序的链表合并

typedef struct Node{        int data;        struct Node* next;}Node, *PLinkList;Node* MergeList(PLinkList p1, PLinkList p2){        PLinkList newhead = NULL;        PLinkList end = newhead; ...

2018-12-11 17:47:32 148

原创 链表中环的检测

直接上代码 typedef struct node{        char data;        node* next;}Node;bool exitLoop(Node* head){        Node* fast, *slow;        slow = fast = head;        while(slow != NULL &amp;&amp; fas...

2018-12-11 17:26:24 376

翻译 单链表反转

     直接上代码typedef struct node_s{        int item;        struct node_s* next;}node_t;node_t* reverse_list(node_t* head){        node_t* n = head;        head = NULL;        while(n){      ...

2018-12-11 17:14:53 206

原创 RocketMQ

    目前项目中用到了mq,内部使用它做消息中间件。查阅了一些资料做一个简单的笔记,方便以后查阅     发布和订阅这是最基本的功能了。查看官方文档说是消息严格有序,目前工作中没有那么高的并发量暂时没遇到什么坑。      mq 考虑性能问题没有特意支持消息优先级,是可以通过变通的方式去操作,比如创建一个优先级高的主题和一个优先级低的主题     mq充分利用了linux 的cach...

2018-11-05 14:41:55 158

转载 CentOS 7从Python 2.7升级至Python3.6.1

引言: Centos是目前最为流行的Linux服务器系统,其默认的Python 2.x,但是根据python社区的规划,在不久之后,整个社区将向Python3迁移,且将不在支持Python2, 那该如何平滑迁移至Python3 呢?1.  环境介绍   Centos 7,   当前的Python版本2.7.12  &gt;&gt; uname -a    &gt;&gt; cat...

2018-10-14 16:19:37 202

原创 idea spark scala maven环境搭建

1.Windows开发环境配置与安装下载IDEA并安装,可以百度一下免费文档。2.IDEA Maven工程创建与配置1)配置maven2)新建Project项目3)选择maven骨架4)创建项目名称5)选择maven地址6)生成maven项目7)选择scala版本8)新建Java 和scala目录9)编辑pom.xml文件3.开发Spark Application程序并进行本地测试1)idea编写...

2018-04-19 00:00:22 4713

转载 source insight 主题 monokia

本人是一个十分爱折腾的编程爱好者,自己花了很长时间DIY出来的主题,颜色基本完全按照sublime默认的monokia主题来弄得,有点儿小小的优化,有图有真相,看起来对比之前默认的,完全是一个天上一个地下的感觉,有木有。。。颜色上有讲究,自己去研究哈~我就不一一说明了。下载地址:http://download.csdn.net/download/u013

2018-01-31 13:19:13 6314

原创 storm 中 work executor task关系

先来一个图,看看storm的架构   这个架构很明显能看出来,有主有从,中间靠着zk进行一些联系和调度,然后主它主要的工作就是用一个资源分配进行任务的调度,然后从呢就是接收nimbus分配的任务,当接收到任务以后supervisor在它内部会启动和暂停属于自己管理的进程,这个进程在整个storm架构里面叫做worker,然后nimbus和supervisor分别代表不同的机器。

2018-01-10 18:31:06 712

原创 strom--理论

为啥需要storm,主要是mapreduce这个东西只有跑完才能给你传出结果。而且数据是你启动那一刻的数据,如果想着边算边传文件,mapreduce表示臣妾做不到。流式处理具有时效性高,可以逐条处理数据,处理的快延时也低,类似pipe之类。在storm中一个topology的概念,英文说法就是网络拓扑。也就是说一个网络里面包含了很多个节点,这节点和节点之间室友一个相互的依赖关系和互助数据传

2018-01-10 18:09:59 246

原创 hdfs---理论

首先说明:       HDFS就是一个分布式文件系统一般讲集群都是主从结构,不管你是hdfs还是mapreduce集群框架,都是有一个主多个从。在hdfs里面,namenode就是主,datanode就是从,hdfs还有一个secondarynamenode,这个就是一个镜像文件可以做数据的备份。     缕缕流程     client提交了一个任务,首先呢namenod

2018-01-09 21:28:01 156

原创 mapreduce---实践

搞一个简单的wordcountmap.pyreduce.py

2018-01-09 14:23:25 222

原创 mapreduce--理论

mapreduce的思想:分治思想    通过字母就可以很清晰的看出来,分成了两部分,map和reduce,也就是两个阶段:第一个阶段:把一个大数据拆解成多个小文件;第二个阶段:对拆解后的数据进行求解然后再合并。       来一个经典的图。数据流转一目了然。  大概的流程是这样: 数据存在hdfs中,通过inputformat接口,会吧hdfs里面的大数据切分成若干个split,

2018-01-08 17:21:54 221

转载 centos6.7 升级vim8

参考网址1、https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source源码编译安装Python-2.7.14、Python-3.3.7wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgzhttps://www.py

2017-12-27 17:03:33 2993

原创 hadoop2.x --- yarn 概念 笔记

hadoop的由来,发展历程就不bbbbbb啦。网上随便一下,比较多。hadoop2.x 为什么会有yarn?要追溯到hadoop1.0时代。可以做一个总结: 下面给出hadoop1.0和hadoop2.x之间的一个形象图 可以看出,hadoop2.x 发生了比较大的变化,hadoop通过一个zookeeper的方式对namenode做了一个故障转移,可以规避namenode挂掉之后导致的数据

2017-12-21 09:25:53 265

原创 python yield

先上一个简单的demo 这个demo里面最主要的就是yield 你能想到结果吗 这个例子很好的说明的yield的用法,我们可以知道createNum()生成的是一个生成器。核心:当调用这个函数的时候,其实这个函数里面的代码是么有真正的去运行的,只是返回一个生成器对象。然后呢只有当你代码for使用生成器的时候run跑起来的时候才会真正的去调用。高级语言。。。。。66666 可以这样理解

2017-12-20 15:51:51 172

原创 hadoop 环境集群安装

版本:centos7  hadoop2.6.1设备: 三台虚拟机单机版本的和伪集群方式就不搭建了。直接在本机上面搭载集群。       由于是新弄得centos7系统,上面是空的,gcc也没有。需要yum安装一些常用的东西。

2017-12-17 15:12:57 215

原创 nginx lua

最近有点跟nginx 杠上了。遇到了一些线上问题,苦逼的乙方,帝都出差半个月。回来还要做监控。不想吐槽公司的架构了,监控完全零基础,需要自己定方案,弄架构。看了一些,根据现状,选用了嵌入lua脚本去做这个流量统计。网上zb 之类比较大。我们只需监控nginx 的部分功能。在配置文件里面需要配置:lua_shared_dict 是共享字典,定义一个字典项对象语法:lua_shared

2017-09-29 09:38:12 339

转载 tbnet 源码分析

今天下午看了看tbnet的框架,封装的很好,使用起来也比较方便。这个队列本质上是一个消费者生产者模型,两线程去工作,一个是网络读写,一个是用来进行超时检查的。顾名思义 网络读写执行事件循环,当服务器端有可读事件时,调用回调函数读取请求数据,生产请求任务,并加入到任务队列里面去。工作线程从任务队列中获取任务,处理完成以后呢就要出发可读可写事件,,然后这个读写线程就会将处理的结果再返回给客户端。

2017-07-05 17:59:16 848

翻译 tair用ldb做分布式存储

最近的日子就像外面的阴雨绵绵的天气一样。总监让搞tair,搜索了一下,这个东西是tb 开源了小十年的一个东西,是tb早期大神写的一个KV结构的分布式存储引擎。(真想吐槽下国内开源的,文档简直。。。。)      tair的安装就自行百度吧    项目中用的是ldb这种nosql存储模式。leveldb的基本特性:提供key/value支持,key和value是任意的字节数组

2017-06-20 14:31:55 684

原创 尝鲜 vim8 centos

centos 6和7通过yum安装的vim版本仍为7.4,若想尝鲜,可获取源码包编译安装。准备工作 1.检查vim旧版本,若已存在,将其卸载。$ vim$ yum remove vim* -y2.安装终端字符处理库nucrses$ yum install ncurses-devel -y编译安装$ cd /usr/local/src/$ wget htt

2017-05-27 13:19:46 5397 2

原创 观察者模式

今天看设计模式读到了这里,记录下。解释下什么是观察者模式: 俗话就是一个对象发生了事情,依赖于它的对象都会被通知到并且自动更新。就是pub-sub这样子。这个目标pub,它只管负责发出通知,这个sub就是它的观察者。md 图片还传不上 就直接上代码了#include <iostream>#include <list>using namespace std;class obServer{pu

2017-05-24 13:32:54 287

原创 epoll et lt

在libevent中,用到了epoll,看了epoll的LT和ET的不一样。 在linux2.6以后。内核就支持了epoll这种模式。相对雨select和poll,在高连接的时候,还是有优势的。 epoll 内置了两种工作模式,默认的是LT。但是相对来说ET是更高效的一种工作方式。 对于二者的区别,可以这么理解,LT模式状态时,主线程在epoll_wait等待事件时,当接收到请求的时候,ep...

2017-05-17 15:29:44 250

原创 libevent 中用到的epoll

在libevent中,用到了epoll,看了epoll的LT和ET的不一样。在linux2.6以后。内核就支持了epoll这种模式。相对雨select和poll,在高连接的时候,还是有优势的。epoll 内置了两种工作模式,默认的是LT。但是相对来说ET是更高效的一种工作方式。对于二者的区别,可以这么理解,LT模式状态时,主线程在epoll_wait等待事件时,当接收到请求的时候,ep

2017-05-17 15:19:20 2418

原创 unix 3

一般在项目中,很少直接是用ip地址的。大部分都是域名,然后调用api,通过解析器读取配置文件,找到名字服务器所在的位置。这些对于程序员来说是透明的。只需要调用gethostbyname,把域名转换成ipv4地址。或者gethostbyaddr。目前有了升级版本的api getaddrinfo 能够同时处理ipv4和ipv6。获取在posix某一个版本gethostbyname就要撤销了。在这要

2017-05-11 17:32:39 377

原创 unix2

在字节操纵函数中:         bcopy和memcpy 参数顺序是不一样的。当源字节串与目标字节重叠时,bcopy能够正确处理,但是memcpy结果却不可知。     read函数的升级版本readn、readline。在工程代码中是可以参考的。但是readline这样的会很慢。需要改良。主要思路是去操作缓冲区而不是去操作文本行。AF_XXX 表示地址族 PF_xxx表示协议

2017-05-09 18:17:22 296

原创 unix网络编程1

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-05-08 19:08:07 213

原创 github 本地代码上传到github上

一: 安装git和配置就不说了。二:进入到等下要push的代码的目录文件夹,打开bash进入到等下要push的代码的目录文件夹,打开bash初始化 git init初始化后在本地代码库会自动创建一个.git隐藏文件,这个就是本地代码库三: 加载文件 git add .. 是把文件夹里面的所有文件都加载进来还可以单

2017-04-18 19:41:17 322 1

原创 数据结构之hash

#1.Hash表  哈希表(Hash table,也叫散列表),是根据key而直接进行访问的数据结构。也就是说,它通过把key映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。  以数据中每个元素的关键字K为自变量,通过散列函数H(k)计算出函数值,以该函数值作为一块连续存储空间的的单元地址,将该元素存储到函数值对应的单元中。

2017-03-28 08:49:15 314

原创 ACE 架构学习笔记

1 ACE[ 功能]ACE[ ADAPTIVE Cmmunication Environment,自适通信环境 ]是一种为通信软件实现核心并发性和分布性的面向对象架构。ACE为那些需要开发高性能、实时服务及跨操作系统平台等程序的开发者提供了丰富的可复用[是可在不同平台用的意思么?可重用组件:能被自定义去满足新软件、新平台的的性能需求]的C++包,所可跨的平台

2017-02-15 15:08:27 848

原创 ACE 的ACE_Acceptor类

最近在看一个腾讯开源的框架, c++ 的, 网上的资料少之又少,开源word写的那个,说实话按照word上都不如自行百度。折腾了两天才跑起来了。   在看代码的过程中,对于 这个typedef ACE_Acceptor ISGW_ACCEPTOR 可以说是ACE的一个很重要的类。是Acceptor参与者的实现体。     Acceptor参与者位于网络连接的服务端,它有两个主要的功能,一是

2017-02-15 10:19:28 1033

原创 libevent 笔记

libevent 轻量级开源网络库 是基于事件类型的 (1)事件驱动(event-driven),高性能; (2)轻量级,专注于网络,不如 ACE 那么臃肿庞大; (3)源代码相当精炼、易读; (4)跨平台,支持 Windows、Linux、*BSD和 Mac Os; (5)支持多种 I/O多路复用技术, epoll、poll、dev/poll、select 和kqueue 等

2016-07-12 12:00:28 312

转载 linux 配置成路由器

设备:x86主机双网卡pc机子 win7配置:一:      echo 1 > /proc/sys/net/ipv4/ip_forward 启动时失效或是修改/etc/sysctl.conf把net.ipv4.ip_forward = 0改为= 1二:如果eth0为192.168.10.123/255.255.255.

2016-02-22 17:45:22 493

原创 libevent 读书笔记

libevent 一个很好的底层网路库   事件库      libevent 就是reactor :事件处理程序、事件源、reactor 框架、多路复用机制 1 事件源: Linux上是文件描述符,Windows上就是Socket或者Handle了,这里统一称为“句柄集”;程序在指定的句柄上注册关心的事件,比如I/O事件。2 event demultiplexer——事件多路

2016-01-04 17:00:19 466

转载 liburl 的编译和安装问题

2016年第一天上班 因为一个静态库的编译安装,鼓捣到现在。也是醉了。   libcurl   是一个跨平台的网络协议库 安装 #x86./configure --disable-shared --enable-static --disable-ftp --disable-ipv6 --disable-rtsp --disable-tftp --disable-telnet --d

2016-01-04 16:32:52 440

source insight 3.5 monokia 主题

颜色基本完全按照sublime默认的monokia主题 效果很不错

2018-01-31

空空如也

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

TA关注的人

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