自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jack Cheung

程序员的成长路线

  • 博客(98)
  • 资源 (2)
  • 收藏
  • 关注

原创 RAFT: 几个问题了解raft工作细节

1.raft功能结构       raft将集群中的机器用三种状态进行标示,leader、follower、candidate。是不是和paxos的proposer、acceptor、learner模型很像?不过这两个还是有很大的区别的。       raft明确了集群的功能+集群的实现细节。所有角色都可以接收用户请求,但是leader对所有的读写请求负责,也就是说

2021-08-22 21:35:17 1377 1

原创 RAFT: 分布式系统&PAXOS 理解

什么是分布式系统:        一个由多台机器在一个可以互联的网络中搭建的集群系统。为什么要分布式系统:       早在1946年,美国的宾夕法尼亚大学里,莫克利和艾克特两个人为了进行弹道计算,组装了世界上第一台计算机ENIAC,每秒钟可以进行5000次运算。这段信息我们可以得出什么?计算机起因是用于计算的,早期的技术原因使得计算机的计算能力很低。&nbsp

2021-08-08 17:12:43 250

原创 c++内存管理

c++内存分配方式在C++中,内存分成4个区,他们分别是堆/自由存储区、栈、全局/静态存储区和常量存储区。栈:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。堆/自由存储区:就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一...

2018-09-24 20:57:43 328

转载 c++编译链接过程以及相关重要工具简单介绍

##c++内存C++内存空间一个c++程序所使用的内存被分为4个区,栈、堆/自由存储区、静态存储区、常量存储区。栈 在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。由编译器自动分配释放,存放函数的参数值,局部变量的值。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用...

2018-09-24 08:40:45 400

原创 c++指针复杂应用例子

定义指针变量int *i = new int[5]; //初始化数组int *j = new int(6); //初始化指向int变量的指针int array[5] = {1, 2, 3, 4, 5}; int *a = array; //a 指向数组int *b; b = array; //b 指向数组int e[3][3] = {{1,2,3},{4,5,6},{7,8,...

2018-09-15 17:48:21 981

原创 python实现一个简单的thirft客户端和服务端

创建thrift文件service Hello { string get()}使用thrift 创建服务需要的组件thrift --gen py hello.thrift得到以恶搞gen-py文件,请将该文件放到新建的python项目下面编写服务端# coding=utf-8from thrift_server.gen.hello.Hello...

2018-09-12 08:57:18 633

原创 c++指针与集合类介绍使用

前沿 c++是一个重要的工具,涉及到性能问题的都会使用到c++,遗憾的是自己对c++相关的东西不太了解,希望借助这波学习能弄通它。c++指针首先弄懂两个符号的意思,&、*。& 每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址,它表示了在内存中的一个地址。请看下面的实例,它将输出定义的变量地址#i...

2018-09-10 08:13:00 1180

原创 NSQ消息发送机制

NSQ是Go语言编写的,开源的分布式消息队列中间件,其设计的目的是用来大规模地处理每天数以十亿计级别的消息。NSQ 具有分布式和去中心化拓扑结构,该结构具有无单点故障、故障容错、高可用性以及能够保证消息的可靠传递的特征,是一个成熟的、已在大规模生成环境下应用的产品。nsq组件nsqd单个nsqd实例可以用来树立多个数据流。topic数据流也叫topic, 一个top...

2018-09-09 08:41:34 13740

转载 Hive SQL调优的一些小建议

hive SQL调优1.尽量尽早地过滤数据,减少每个阶段的数据量,对于分区表要加分区,同时只选择需要使用到的字段2.尽量原子化操作,尽量避免一个SQL包含复杂逻辑, 可以使用中间表来完成复杂的逻辑3.小表要注意放在join的左边(目前TCL里面很多都小表放在join的右边。否则会引起磁盘和内存的大量消耗4.如果union all的部分个数大于2,或者每个union部...

2018-08-26 16:52:56 1579

原创 c++调用matlab函数 - dll方式

项目中遇到一个问题,需要用c++调用matlab程序,这里记录下整个过程。准备环境matlab 2014a visual studio 2010 PS:版本问题要注意,之前是visual studio 2017,这个就一直报错(笑cry),matlab比较难安装,所以一般来说调节visual studio版本就好了。matlab设置visual studio的c++编译...

2018-06-09 13:46:57 9182 3

转载 python的发展与相关内容

    慢慢的python开始用的多了起来,以前觉得只是偶尔作为一个工具在用,不过慢慢的发现,似乎有些离不开python了(笑cry)。      在不断使用过程中,一些问题越越来越清晰的询问着自己的内心,python的发展是怎样的历史,

2018-05-11 10:36:49 286

转载 Python标准库11 多进程探索 (multiprocessing包)

在初步了解Python多进程之后,我们可以继续探索multiprocessing包中更加高级的工具。这些工具可以让我们更加便利地实现多进程。进程池进程池 (Process Pool)可以创建多个进程。这些进程就像是随时待命的士兵,准备执行任务(程序)。一个进程池中可以容纳多个待命的士兵。 “三个进程的进程池” 比如下面的程序:import multiproces...

2018-05-04 20:43:44 247

原创 生活小结

在时间支配上稍微可控的时候,希望自己能在各个方面都有所成长,因此制定了一些计划。到目前为之,已经过了两个月了,目前的成长值也是可以看到的。最大的感受是,每遇见一个熟人的时候就会受到不一样的眼光看待,当然是好的那种啦。想分享一下这段期间的成长历程。减脂这是个比较难熬的过程,然而熬过了就是一片晴空!        首先介绍一下体重基本情况,18年前体重是85KG左右,过了一个年,增长到了88KG,那时

2018-05-03 15:43:29 315

原创 geo_teaser代码阅读

geo_teaser是论文Geo-Teaser: Geo-Temporal Sequential Embedding Rank for Point-of-interest Recommendation中的代码。该论文研究的是基于时空序列的POI推荐方式,论文具体内容不做介绍,这里研读下geo_teaser的相关代码。数据格式以gowalla为例:http://snap.stanfor...

2018-05-01 19:39:43 939 3

原创 以文件行数的统计方法来看看linux的shell脚本使用方法

方法一awk,awk是一个非常好用的数据处理工具。相较于sed常常一整行处理,awk则比较倾向于一行当中分成数个“字段”处理,awk处理方式如下:awk '条件类型1{动作1} 条件类型2{动作2} ...' filename 0代表整行,0代表整行,0代表整行, 1代表第一个数据,$2代表第二个数据,依次类推 NF 每一行($0)拥有字段总数 NR 目...

2018-04-28 10:06:12 698

原创 python中的multiprocessing真的是多进程运行?

问题 近日来在着手python的多进程训练数据的时候,出现了一个问题。在1台有着8核64G内存的机器,开启8个进程,结果是各进程各占用一个CPU且每个CPU的占用量都可达到100%。而为了加快速度,在一台15核24G内存的机器,开启10个进程,结果发现只有一个进程的占用了CPU,且CPU利用率达到100%,而看不到其它9个进程!WHY!!! 跑满CPU的机器 ...

2018-04-25 15:45:16 19112 20

原创 hadoop中的RPC应用示例

hadoop中的RPC意义       前面有讲到RPC的基础内容,还给出了一个小的示例来说明,这篇文章讲讲hadoop中的RPC是怎样使用的。       RPC在Hadoop中是基础组件,提供分布式环境下的对象调用功能。可以把它理解成胶水,由于它的存在,分布式系...

2018-04-18 13:28:04 361

原创 linux 进程的处理相关

linux的进程定义进程是一个独立的可调度的活动;进程是一个抽象实体,当它执行某个任务时,要分配和释放各种资源;进程是可以并行执行的计算单位;进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动; 以上定义中我们可以抽取出几个关键词:独立、调度、资源、活动、数据、并行、任务。一个进程就是一次活动,活动具有独立特性,它有自己独有的资源和数据,它的任务是根据拥有资源对数...

2018-04-17 16:32:29 322 2

原创 what is RPC?

为什么要了解RPC         在机器价格越来越便宜的时候,分布式环境的搭建显得异常容易。而随着互联网热度的暴涨,许多热门的服务无法在单机情况下完成任务,分布式的服务便是首选了。简单点来说,我们可以使用10台机器,然后上层搭建一个nginx负载均衡 or lvs负载均衡,这样就可以做到分流了。 &...

2018-04-04 19:48:58 233

原创 2018,你好

2018,狂躁干2018即将由一个职场小白进入真正的职场生活,心里有些不安。虽然已经有过三个公司的实习经历,但是所做的东西始终没有在自己的手上真正的上线开始运营使用,并且获得一定的利用价值,心里是有一些不快的。在这篇博文中书写一下此刻对新年的期盼,make a plan and take a note。剩下几个月的科研工作 其实有些感觉导师去年走的很不顺利,自己一个人走总喜欢走...

2018-02-20 21:28:35 216

原创 最近遇到的几个python问题汇总

1.查看matplot等一些命令的版本方式 python中的版本是一个很重要的东西,因为低版本向高版本几乎完全不兼容,高版本向低版本也几乎是不兼容的样子。不知道python开发团队在想什么,哈哈。在网上查找的第一个方式如下python -c "import matplotlib; print matplotlib.version"Traceback (most recen

2018-02-01 17:29:40 2645

原创 slim的batch_norm出现的问题

python代码有一个好处,就是容易编写。但它的坏处也是大大的,好难读啊!!!以下代码来自FastMaskRCNN(https://github.com/CharlesShang/FastMaskRCNN),在实际运行过程中,把is_training由True改为False后,测试结果大不一样!折腾了几天时间。后来找到了一个解决方法。锁定目标在resnet_v1函数上。代码内容总揽(Res

2018-01-31 13:19:26 8485 11

转载 Linux下的网络安全(服务器入侵和网络攻防)

背景这个背景部分我改一改。主要是我发生了真实的被入侵的经历,让我开始有了linux系统网络攻防的一点点意识。因此找网络上的一些内容来学习,这篇文章讲述的经历,跟我的经历有些类似,所以转载来记录下,同时学习学习。事件原因晚上看到有台服务器流量跑的很高,明显和平常不一样,流量达到了800Mbps,第一感觉应该是中木马了,被人当做肉鸡了,在大量发包。我们的服务器为了最好性能,防火墙(

2018-01-30 14:46:58 22573 2

原创 Vim相关基础命令

引言很多情况下需要在linux系统下面执行代码,但是通常我们习惯于windows的界面,这样有一种解决方案是在windows下开发,然后将代码push到linux上面执行。可是这有个问题,windows和linux需要具有同样的环境,比较麻烦。如果直接在linux下开发会不会方便很多呢。因此决定学习并熟练vim,用vim编程。vim是什么vi: Visual Interface 可视化接口 vim

2018-01-24 17:24:02 185

原创 读coco数据集的代码接口了解segmentation的处理方法

读coco数据集的代码接口了解segmentation的处理方法COCO数据集是微软团队制作的一个数据集,通过这个数据集我们可以训练到神经网络对图像进行detection,classification,segmentation,captioning。具体介绍请祥见官网。 annotation格式介绍mask存储处理方式简单介绍相关代码分析一个实例annotation格

2018-01-18 18:30:18 21052

原创 centos7下编译hadoop

1.首先源码下载咯,请移步https://github.com/apache/hadoop 可以看到hadoop是java代码,是一个maven项目;然后hadoop有很多模块,目前还没看代码,不清楚具体细节。2.其次依赖包安装 protobuf (这个要下载安装包,自行百度下载咯) yum install gcc gcc-c++ yum install make, cmak

2017-12-31 16:07:58 1356

原创 python 命令行输入参数介绍

1.python内置方式import sysprint "script is ", sys.argv[0]for i in range(1, len(sys.argv)): print "parameter is ", i, sys.argv[i]运行结果为:[machine@localhost zj]$ python parametertest.py nihao mascript i

2017-12-26 13:20:12 1826

原创 深度学习部分概念解析 - 1

1.优化方法介绍 这里说的优化问题指的是,给定目标函数f(x),我们需要找到一组参数x,使得f(x)的值最小。SGD SGD是stochastic gradient descent的简称,即随机梯度下降,是梯度下降的batch版本。此外还有BGD,B指的是batch,意思为批量梯度下降。对于训练数据集,我们先将其分为n个batch,每个batch包含m个样本, xt+1

2017-12-25 16:15:20 696

翻译 这是只鸟... 这是个飞机... 这... 取决于你的分类器阈值

信息检索系统(例如搜索引擎)的评估主要关注于两件事情: 1.获取到的数据的相关程度?(准确率) 2系统是不是到底获取到了多少真实的相关文档(召回率)对于不熟悉的朋友,我将会解释到底什么是准确率和召回率;对于已经很熟悉的朋友,在比较precision-recall曲线时,我将解释文献中的一些混淆点。鹅和飞机假设你有一个包含飞机和鹅的图片集合 你想要系统可以获取到所有飞机图片,并且不包

2017-12-21 17:34:22 486

转载 深度学习-卷积理解

一.深度卷积神经网络学习笔记(一):1.这篇文章以贾清扬的ppt说明了卷积的实质,更说明了卷积输出图像大小应该为: 假设输入图像尺寸为W,卷积核尺寸为F,步幅(stride)为S(卷积核移动的步幅),Padding使用P(用于填充输入图像的边界,一般填充0),那么经过该卷积层后输出的图像尺寸为(W-F+2P)/S+1。2.它写出为什么会用padding?卷积核大小该如何确定?stride该如何

2017-12-06 19:58:20 759

原创 FastMaskRCNN运行错误排查

其git地址为:https://github.com/CharlesShang/FastMaskRCNN,按照其步骤描述进行环境配置,在最后一步运行的时候,出现Restored 267(640) vars from ./data/pretrained_models/resnet_v1_50.ckpt2017-12-03 20:46:12.688523: W tensorflow/core/fram

2017-12-04 15:11:17 3264

原创 python图片简易像素修改

首先,我们需要的工具有scipy, numpy, Image, matplotlib.pyplot。具体安装方式为pip install numpypip install scipypip install matplotlibpip install Image进行图片处理时我们需要,导入python lib,如下from PIL import Imageimport numpy as np

2017-12-01 19:25:36 29356 6

转载 爱情转移歌词赏析

看过《爱情呼叫转移》很喜欢《爱情呼叫转移》这个电影,它的剧本蛮有趣的,说一个男人离婚以后,经过很多不同类型的女人……可当他经历了,才发现原来最平凡的才是最值得珍惜。电影需要主题曲,当时找到了林夕来写词,因为这部电影是一个感触片,林夕不能再写一些多愁善感的东西,结果他找到另一个角度,就是尽量多用一些比喻,来比喻爱情。 “徘徊过多少橱窗 住过多少旅馆 才会觉得分离也并不冤枉 ” “感情是

2017-11-28 10:41:00 29025 1

原创 python基本语法练习

之前自学过python的相关语法内容,知识点过了一遍,发现印象不深刻,写个博文加深印象。1.一维字符串的截取操作 初始化一个个字符串,如下>>> a = list((1,2,3,4,5,6,7,8,9,10,11,12,13,14))>>> a[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]>>> a[:][1, 2, 3, 4, 5, 6,

2017-11-27 12:50:12 1088

原创 ZookeeperServer详解

首先zookeeper server的位置在代码中org/apache/zookeeper/server这个package下面。之前有说过,zookeeper的启动类是ZookeeperServerMain.java这个类,在这个类中使用了final ZooKeeperServer zkServer = new ZooKeeperServer(txnLog, config.tickTime, con

2017-11-21 20:14:55 3981

转载 URL中的保留和不安全字符

书写URL时要使用US-ASCII字符集可以显示的字符。如果需要在URL中使用不属于此字符集的字符,就要使用特殊的符号对该字符进行编码。如:最常使用的空格用%20来表示,例如:http://www.google.com/new%20123.html。除了那些无法显示的字符外,还需要在URL中对那些保留(reserved)字符和不安全(unsafe)字符进行编码。所谓保留字符就是那些在URL中具有特定

2017-11-19 13:08:08 2739

原创 centos7编译openjdk1.7过程及报错解决

1.准备工作 a. 下载openjdk 7 源代码 http://www.java.net/download/openjdk/jdk7u6/promoted/b24/openjdk-7u6-fcs-src-b24-28_aug_2012.zip (粘贴链接,迅雷可下)b. 安装依赖项 我比较懒,没有去找相关内容,参考了https://www.cnblogs.com/zxfdream/p/5411

2017-11-14 11:28:24 906

原创 jmx学习示例

1.jmx是什么 JMX是Java Management Extensioins的缩写,功能是对java程序的管理。不太好理解,下面给出一个例子来说明。2.实例package swim;public interface UserMBean { public void changeName(String name); public void printName();}package

2017-11-13 11:15:00 258

原创 zookeeper数据工具类介绍及编译安装过程

1.ACL 传统的文件系统中,ACL分为两个维度,一个是所属组,一个是权限,子目录/文件默认继承父目录的ACL。在zookeeper中,它利用一个三元组来定义客户端的访问权限:(scheme:expression, perms) 。Perms:标识了操作权限, scheme:定义了expression的含义。如:(host:host1.corp.com,READ),标识了一个名为host1.cor

2017-11-10 20:08:45 574

原创 zookeeper代码阅读-数据存储部分

承接上一篇博文,本应该介绍follower、observer和looking状态的处理过程。当阅读完代码后,感觉follower和observer整个过程比较简单,而且looking只是临时状态,所以就不用粘贴代码去介绍了,感兴趣的可以自己去阅读。这一部分讲解zookeeper的数据存储部分。 首先我们先说说我对zookeeper的感觉。我认为zookeeper本身就是一个很出色的分布式存储平台

2017-10-29 11:49:26 684

空空如也

空空如也

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

TA关注的人

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