自定义博客皮肤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)
  • 收藏
  • 关注

原创 rabbit

#include  #include   #include   using namespace std;     struct Rabbit  {      int age;      int maxAge;  };    void Age(vector &res) {      for (vector::iterator it = res.begi

2017-08-20 17:36:03 320

原创 Git从本地添加项目到远程仓库

1.创建初始化本地仓库:创建本地仓库进入显示本地仓库路径初始化2.创建远程仓库:登陆GitHub后,在右上角找到“Create a new repo”按钮,创建一个新的仓库,添加仓库名。3.将远程仓库与本地仓库关联:其中MrString是注册的用户名,ThreadPool是远程仓库名。4.将项目添加到本地仓库之后添加到暂存区:

2017-04-26 14:24:44 368

原创 cin和scanf

前几天做头条的笔试题,几千万条数据去重问题。在输入阶段,cin相比于scanf而言,耗时更长。在方便性上,cin具有一定的优势。但是在循环中最好用scanf来节省时间。

2017-04-22 12:05:46 556

原创 Redis源码解析【SDS】

SDS是redis最基本的数据类型,/src/sds.h和/src/sds.c源码如下,过几天传到git上/* SDSLib, A C dynamic strings library * * Copyright (c) 2006-2010, Salvatore Sanfilippo * All rights reserved. * * Redistribution and

2017-04-12 21:31:10 348

原创 Linux高级IO

dup和dup2函数:用于标准输入输出的重定向实例:基本的CGI服务器/* 主要部分:从建立连接之后开始 @connfd 服务器开启监听之后接受连接的描述符 服务器输出到标准输出的内容直接被客户端获得。*/if( connfd < 0 ) //错误描述{ printf( "errno is : %d\n", errno); }else{ clo

2017-04-11 10:11:31 279

转载 指针一定是4个字节吗?!

答案是否。原因如下,转载自通过汇编代码理解成员函数指针并不是指针前言:在CSDN论坛经常会看到一些关于类成员函数指针的问题,起初我并不在意,以为成员函数指针和普通的函数指针是一样的,没有什么太多需要讨论的。当我找来相关书籍查阅了一番以后,突然意识到我以前对成员函数指针的理解太过于幼稚和肤浅了,它即不像我以前认为的那样简单,它也不像我以前认为的那样"默默无闻"。强烈的求知欲促使我对成员函数进行进

2017-04-07 21:04:32 3587

原创 Linux高性能服务器编程(一)

1.TCP/IP协议族:数据链路层:实现了网卡接口的网络驱动程序,以处理数据在物理媒介上的传输。不同物理网络具有不同的电气特性,网络驱动程序隐藏了这些细节,为上层协议提供一个统一的接口。ARP,RARP网络层:实现数据包的选路和转发。通信的两台主机一般不是直接相连的,网络层选择这些中间节点,以确定两台主机之间的通信路径,隐藏了网络拓扑结构,使得在传输层和网络应用程序看来,通信双方是直接相连

2017-04-07 11:24:59 1958

原创 【TeamTalk】login_server之自定义网络库netlib

TeamTalk/server/src/base/netlib.hTeamTalk/server/src/base/netlib.cppnetlib_init()初始化网络连接intLinux系统无操作,返回NETLIB_OK;netlib_destroy()清除网络连接int

2017-04-06 14:19:50 682

原创 【TeamTalk】login_server分析

TeamTalk/server/src/base/util.cppTeamTalk/server/src/base/util.h主要是读取配置文件信息。CConfigFileReader构造函数传入文件名,执行_loadFile(filename)_loadFile():按行读取file中数据,过滤掉#注释后的部分和\0,再通过_ParseLine和_TrimSpace解析“=

2017-04-05 22:47:52 557

原创 论文的新想法

移动群智感知的任务分配目前是从多目标考虑,时间和能源消耗。或结合成同一个目标,根据什么规则也可以从时间效率和稳定性两方面考虑。因为移动群智感知的环境下:每个用户的连接时间都是不确定的,所以是否可以完整的完成一整个流程(接受任务→完成任务→传回结果)是一个概率性的问题,既然是有概率的,那么就有不稳定性存在。(可以利用现有的移动模型或是自己提出一个)如果考虑最短完成时间,那么就假设所有

2017-04-05 22:25:36 582

原创 Redis学习总结

最近看了《Redis设计与实现》,从开始的基础数据类型到对象、事件、持久化、复制、sentinel。有一个大概的了解,利用回忆写一点作为复习增强记忆。一.基础数据类型1.SDS(simple dynamic string)简单动态字符串,结构体内包括:已使用长度len,空闲长度free和一个字符数组buf[]。具有以下的优点:可以在常量O(1)时间内获取字符长度,len的值。str

2017-04-05 22:07:43 246

转载 【TeamTalk】源码分析之服务端描述

TTServer(TeamTalk服务器端)主要包含了以下几种服务器:LoginServer (C++): 登录服务器,分配一个负载小的MsgServer给客户端使用MsgServer (C++): 消息服务器,提供客户端大部分信令处理功能,包括私人聊天、群组聊天等RouteServer (C++): 路由服务器,为登录在不同MsgServer的用户提供消息转发功能FileServer (

2017-04-05 14:50:25 351

原创 线程同步 进程通信

线程间的同步方式有四种临界区临界区对应着一个CcriticalSection对象,当线程需要访问保护数据时,调用EnterCriticalSection函数;当对保护数据的操作完成之后,调用LeaveCriticalSection函数释放对临界区对象的拥有权,以使另一个线程可以夺取临界区对象并访问受保护的数据。PS:关键段对象会记录拥有该对象的线程句柄即其具有“线程所有权”概念,即

2017-03-29 16:06:41 239

转载 Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)

本文主要解决一个问题,如何实现二叉树的前中后序遍历,有两个要求:1. O(1)空间复杂度,即只能使用常数空间;2. 二叉树的形状不能被破坏(中间过程允许改变其形状)。通常,实现二叉树的前序(preorder)、中序(inorder)、后序(postorder)遍历有两个常用的方法:一是递归(recursive),二是使用栈实现的迭代版本(stack+iterative)。这两种方法都是

2017-03-24 17:10:23 172

转载 c++中static和const的应用

链接:https://www.nowcoder.com/ta/review-c/review?page=17来源:牛客网static关键字至少有下列n个作用: (1)函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值; (2)在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外

2017-02-27 16:09:18 322

转载 linux几种创建进程的方法

在Linux中主要提供了fork、vfork、clone三个进程创建方法。 在linux源码中这三个调用的执行过程是执行fork(),vfork(),clone()时,通过一个系统调用表映射到sys_fork(),sys_vfork(),sys_clone(),再在这三个函数中去调用do_fork()去做具体的创建进程工作。 fork     fork创建一个进程时,子进程只是完全

2017-02-20 17:44:44 397

转载 什么是网关及网关作用

网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对

2017-02-20 17:42:50 780 1

转载 Linux多线程编程

1、进程与线程:进程——资源分配的最小单位,线程——程序执行的最小单位。进程有自己独立的地址空间,一个进程崩溃后,在保护模式下不会对其他进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程没有独立的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某

2017-02-17 16:35:30 189

原创 linux中stat()函数与st_mode用法

头文件:#include   #include 定义函数:int stat(const char * file_name, struct stat *buf);函数说明:stat()用来将参数file_name 所指的文件状态, 复制到参数buf 所指的结构中。下面是struct stat 内各参数的说明:struct stat{    dev_t st_de

2017-01-10 23:01:01 5777

原创 【webbench】socket中close()和shutdown()区别

最近看webbench和Tinyhttpd源码的一点学习:在fork()或create()一个新的进程时,关闭socket连接总是用close()而不是shutdown(),百度了一下区别:首先介绍一下close()和shutdown():函数:int shutdown(int s, int how);函数说明:shutdown()用来终止参数s 所指定的socket 连线. 参数

2017-01-10 17:37:24 340

原创 【webbench】源码剖析

socket.c/* $Id: socket.c 1.1 1995/01/01 07:11:14 cthuang Exp $ * * This module has been modified by Radim Kolar for OS/2 emx *//*****************************************************************

2017-01-09 18:44:27 398

原创 常用socket函数

常用socket函数详解主要介绍:socket、connect、bind、listen、accept、send、sendto、recv、recvfrom、close、shutdown其在linux和windows环境下的头文件主要是:#include和#include1.  socketint socket(int family, int type, int protoco

2017-01-09 10:47:06 462

转载 Linux网络编程--struct hostent结构体

使用这个东西,首先要包含2个头文件:#include #include struct hostent *gethostbyname(const char *name);这个函数的传入值是域名或者主机名,例如" www.google.com.tw","wpc "等等。传出值,是一个hostent的结构(如下)。如果函数调用失败,将返回NULL。[cpp]

2017-01-09 10:18:03 432

转载 【Shell】常用招式大全之入门篇

本教程分为入门篇,命令篇和实战篇,结合平时工作中使用Shell的经验编写。以实例为主,侧重于应用,总结了一些实用的技巧。以下为本教程的《入门篇》,适于初学者快速入门以及老手查缺补漏。第一招 HelloWorld第一式echo第二招 判断第一式if判断原理第二式test 和文件测试字符串比较整数比较第三式第三招循环第一式for第二式whileu

2017-01-06 20:56:45 329

原创 vim跳转

跳转到函数、变量定义处:[+ctrl+i 跳转到函数、变量和#define[+ctrl+d 跳转到#define处ctrl+i 向前跳到前几次光标位置ctrl+o 向后跳到后几次光标位置

2017-01-06 19:20:45 204

原创 sqoop从mysql导入数据到hive中

首先安装sqoop(zookeeper等已经成功启动),配置好;1.下载安装包及解压tar -zxvf  sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tarmv sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar sqoop 2.配置环境变量和配置文件cd %SQOOP_HOME%cp conf/sqoop

2016-12-28 13:20:25 412

转载 vim配置

http://blog.csdn.net/namecyf/article/details/7787479晚上照着做了一下,初步如下:

2016-12-26 21:00:10 157

原创 ubuntu下搭建深度学习平台Anaconda

Anaconda+Theano

2016-12-15 13:57:10 954

转载 python添加模块搜索路径

看了廖大的python教程,自己记录一下:如果我们要添加自己的搜索目录,有两种方法:一是直接修改sys.path,添加要搜索的目录:>>> import sys>>> sys.path.append('/Users/michael/my_py_scripts')这种方法是在运行时修改,运行结束后失效。第二种方法是设置环境变量PYTHONPATH,该环境变量的内容会被自动添

2016-12-13 13:25:14 1159

转载 Hadoop常用命令汇总

启动Hadoop进入HADOOP_HOME目录。执行sh bin/start-all.sh关闭Hadoop进入HADOOP_HOME目录。 执行sh bin/stop-all.sh1、查看指定目录下内容Hadoop dfs –ls [文件目录]eg: hadoop dfs –ls /user/wangkai.pt2、打

2016-12-12 14:41:29 286

原创 pig初探

安装了三个节点的hadoop之后又安装了pig,安装教程随便百度一下就可以,加一下环境变量就可以直接pig了,这里注意需要在配置中中加上HADOOP_HOME。原因是:pig在mapreduce模式中,Pig将查询转换为MapReduce作业提交给Hadoop,Pig会用到HADOOP_HOME环境变量。如果该变量没有设置,Pig也可以利用自带的Hadoop库,但是这样就无法保证其自带肯定库和

2016-12-12 14:09:43 384

原创 PyScript启动出错:python could not be properly initialize

python和pythonScript必须搭配相同的64位或32位。检查发现python是64位,而安装的pythonScript是32位,于是重新安装了64位的pythonScript。如有其它问题,可以参考一下这个PyScripter启动出错:Python could not be properl在启动pythonScript后F9启动发现如下问题:UnicodeEncodeErr

2016-12-12 09:33:03 1363

原创 python高级特性(1)切片,迭代

切片:L = list(range(100))L[n1:n2:n3] #n1:开始元素下标,n2:结束元素下标,n3:切片间隔及方向L[-2:]切片是从倒数第二个元素开始到结束;L[-2:-1]只切出倒数第二个元素;不知道理解的对不对,应该是相当于一个左闭右开区间,和C++容器的begin,end一样,end是指向容器最后一个元素的下一个位置,L[-2:]相当于从倒数第二个元素

2016-12-09 18:45:33 282

原创 python函数

可以把函数名赋给一个变量:>>>a = abs>>>a(-1) #相当于abs(-1)自定义函数保存为文件可以from 文件名 import 自定义函数空函数:(意义:现在没想好怎么写,可以用pass先让代码运行起来)def nop() pass通过raise Error来抛出异常,后面继续学习函数返回多个值,return x,y其实是返回一个tuple,按位置

2016-12-09 18:43:52 201

原创 python条件判断与循环

if elif elsewhile a>0for num:numbersbreakcontinue需要注意格式,循环判断语句后要有冒号(:)循环体或判断语句下的执行片段要缩进。

2016-12-09 13:41:14 285

原创 python数据类型

整型%d 浮点型%f 字符串%s  布尔值  空值变量和常量:常量大写,只是一种表示方法,但是其值还是可以改变,要自己注意。list []:len,append,insert,pop,通过下标访问修改,其中的值可以是不同类型。a=['a',1,3.1415]tuple ():len,通过下标访问,其中的值不能改变。例外:tup = (1,[2,3,4])  tup[1][2] = 5

2016-12-09 13:31:39 180

原创 hadoop中datanode无法启动

在配置过程中,从原来的一个主节点,一个从节点的hadoop集群,增加了一个从节点。但是在启动过程中总是有一个节点的datanode可以启动而另一个节点的无法启动,而且每次在主节点start-all.sh时,从节点的jps都可以看到datanode之后,datanode又瞬间被关闭。网上找了一点资料之后总结如下:首先需要关闭所有节点的防火墙:sudo ufw disable然后,删除

2016-12-08 12:46:30 1069

原创 Hive初探

CREATE DATABASE mydb;CREATE DATABASE IF NOT EXIST mydb;SHOW DATABASES;SHOW DATABASES LIKE 'm.*';CREATE DATABASE mydb LOCATION 'my/directory';CREATE DATABASE mydb COMMENT 'hello';DESCRIBE DATA

2016-11-20 14:33:02 300

原创 const

char greeting[] = "hello";char* p = greeting;const char* p = greeting;char* const p = greeting;const char* const p = greeting;const出现在*左边,表示被指物是常量;const出现在*右边,表示指针自身是常量。左右 右左  在*左边,=右边是const

2016-11-05 15:50:36 184

原创 nginx模块

Wiki(http://wiki.nginx.org/Moudles)http://wiki.nginx.org/3rdPartyMoudles

2016-10-26 15:57:37 219

空空如也

空空如也

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

TA关注的人

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