摘要: - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行 阅读全文
posted @ 2017-11-28 13:51 Histring 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 问题来源: 创建一个游戏系统,其将运行在互联网的环境中。客户端通过WWW服务或特定的客户端软件连接到游戏服务器,随着流量的增加,系统不断的膨胀,最终后台数据、业务逻辑被分布式的部署。然而相比中心化的系统,复杂度被无可避免的增大了,该如何降低各个组件之间的耦合度。 挑战: 需要保证可伸缩性、可维护性、 阅读全文
posted @ 2017-11-28 13:47 Histring 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 一、算法原理 基于字的文本相似度余弦定理算法的原理是: (1)分别统计两个比较文本中所有字出现的频率,从而得出两个文本对应的向量(2)利用余弦定理计算这两个向量的夹角余弦值 (3)根据自设置的阈值判断两个文本是否相似 二、算法的C++实现 这里引用的StringUtil.hpp文件引自: https 阅读全文
posted @ 2017-11-28 13:46 Histring 阅读(1371) 评论(0) 推荐(0) 编辑
摘要: 一、算法原理 基于字的文本相似度Jacard 算法的原理是:(1)计算两个文本中字的交集(2)计算两个文本中字的并集(3)交集内的字的个数除以并集内的字的个数即为文本相似度值(4)根据设置的阈值判断是否相似 二、算法的C++实现 这里引用的StringUtil.hpp文件引自: https://gi 阅读全文
posted @ 2017-11-28 13:45 Histring 阅读(347) 评论(0) 推荐(0) 编辑
摘要: (1)启动kafka-zookeeper命令 #!/bin/sh nohup bin/zookeeper-server-start.sh config/zookeeper.properties >/dev/null 2>&1 & (2)启动kafka-broker命令 #!/bin/sh nohup 阅读全文
posted @ 2017-11-28 13:30 Histring 阅读(134) 评论(0) 推荐(0) 编辑
摘要: CentOS下可以用netstat或者lsof查看端口是被哪个应用/进程占用 netstat -nap #会列出所有正在使用的端口及关联的进程/应用 lsof -i :portnumber #portnumber要用具体的端口号代替,可以直接列出该端口听使用进程/应用 netstat -lnp|gr 阅读全文
posted @ 2017-11-28 13:29 Histring 阅读(470) 评论(0) 推荐(0) 编辑
摘要: CentOS6与CentOS7添加防火墙例外端口的命令不用,需单独来说: (1)CentOS6下添加防火墙例外端口 #vim/ets/sysconfig/iptables 在 -A INPUT -m state--state NEW -m tcp -p tcp --dport 22 -j ACCEP 阅读全文
posted @ 2017-11-28 13:28 Histring 阅读(1972) 评论(0) 推荐(0) 编辑
摘要: redis的安装#pwd/home/ybtang/#wget http://download.redis.io/releases/redis-2.8.12.tar.gz#tar zxvf redis-2.8.12.tar.gz#cd redis-2.8.12#makeredis的配置#vim red 阅读全文
posted @ 2017-11-28 13:27 Histring 阅读(863) 评论(0) 推荐(0) 编辑
摘要: $exists关键字 mongo中查找存在comments字段的文档记录 db.app_doc.find({"comments":{$exists:true}}) $unset关键字 Mongo中删除comments字段,使用$unset关键字db.app_doc.update({"comments 阅读全文
posted @ 2017-11-28 13:26 Histring 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 1、Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1、永久的:需要修改配置文件,变量永久生效。 2、临时的:使用export命令声明即可,变量在关闭shell时失效。 2、设置变量的三种方法 1、在/etc/profile文件中添加变量【对所有用户生效(永久的)】 用VI 阅读全文
posted @ 2017-11-28 13:25 Histring 阅读(166) 评论(0) 推荐(0) 编辑
摘要: Nutch 是一个开源Java 实现的基于Lucene的搜索引擎,Lucene为Nutch提供了文本索引和搜索的API。Nutch 提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。 组成 (1)爬虫crawler Crawler主要用于从网络上抓取网页并为这些网页建立索引。 ( 阅读全文
posted @ 2017-11-28 13:24 Histring 阅读(392) 评论(0) 推荐(0) 编辑
摘要: /*********** *服务端程序* ************/ #include <Winsock2.h> #include <stdio.h> void main(){ WORD wVersionRequested; WSADATA wsaData; int err; wVersionReq 阅读全文
posted @ 2017-11-28 13:23 Histring 阅读(5315) 评论(1) 推荐(1) 编辑
摘要: sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 一、采用sizeof来求结构体的大小 1、 sizeof应用在结构上的情况 请 阅读全文
posted @ 2017-11-28 13:22 Histring 阅读(248) 评论(0) 推荐(0) 编辑
摘要: #include <stdio.h> #include <Winsock2.h> void main() { WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD( 1, 1 ); err = W 阅读全文
posted @ 2017-11-28 13:21 Histring 阅读(2169) 评论(0) 推荐(0) 编辑
摘要: 问题:求斐波那契数列的递归方法与非递归方法 栈是一种应用范围广泛的数据结构,适用于各种具有"后进先出"特性的问题。 递归函数是指在一个函数、过程或数据结构的定义中又应用了它自身的函数。 #include <iostream> #include <stack> using std::cout; usi 阅读全文
posted @ 2017-11-28 13:20 Histring 阅读(152) 评论(0) 推荐(0) 编辑
摘要: #ifndef _MATRIX_H_ #define _MATRIX_H_ #include <vector> using std::vector; /*类功能:矩阵类 *原理:采用数组的数组来实现 */ template<typename T> class SeqMatrix { public: 阅读全文
posted @ 2017-11-28 13:20 Histring 阅读(4010) 评论(0) 推荐(0) 编辑
摘要: 一、线程的创建与管理 不同的操作系统下用c++进行过多线程编程时,不同操作系统API提供了相同或是相似的功能,但是它们的API的差别却极为悬殊。ACE_Thread提供了对不同OS的线程调用的简单包装,通过一个通用的接口进行处理线程创建、挂起、取消和删除等问题,为跨平台开发提供了支持。 1.1、线程 阅读全文
posted @ 2017-11-28 13:19 Histring 阅读(1461) 评论(0) 推荐(1) 编辑
摘要: 1、基础概念 1.1 链接库的概述 动态链接库DLL(DynamicLinkable Library),你可以简单的把它看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在库的发展史上经历了“无库-静态链接库-动态链接库”的时代。静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库 阅读全文
posted @ 2017-11-28 13:18 Histring 阅读(4405) 评论(0) 推荐(0) 编辑
摘要: 后台服务进程不属于任何一个终端会话,当然也就不用和任何用户交互,许多系统服务由后台服务进程实施;如网络服务,打印等。Windows和LINUX在实现后台服务进程上并不统一,Windows定义的名称为SERVICE而Linux上的名称为Daemon。对应到ACE上,对于Linux平台ACE提供了一个名 阅读全文
posted @ 2017-11-28 13:18 Histring 阅读(1306) 评论(0) 推荐(0) 编辑
摘要: 1、链接库概述 Linux下得库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀。面对比一下两者: 静态链接库:当要使用时,连接器会找出程序所需的函数,然后将它们拷贝到执行文件,由于这种拷贝是完整的,所以一旦连接成功,静态程序库也就不再需要了。 动态库而言:某个程序在运行中要调用某个动态链 阅读全文
posted @ 2017-11-28 13:16 Histring 阅读(10964) 评论(0) 推荐(1) 编辑