自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

挑灯看剑的专栏

In front of CS, I am just a child who pick stones on the shore.

  • 博客(116)
  • 资源 (10)
  • 问答 (1)
  • 收藏
  • 关注

原创 NGINX 处理 HTTP 上游响应

接收上游响应头部在创建和上游连接的时候,将对应的 read_event_hander 设置为:ngx_http_upstream_process_headerstatic voidngx_http_upstream_connect(ngx_http_request_t *r, ngx_http_upstream_t *u){ // skip others... u->r...

2019-10-05 13:32:42 897

转载 netfilter/iptables全攻略

转自:http://www.opsers.org/linux-home/videos/chapter-netfilter-iptables-raiders.html内容简介防火墙的概述iptables简介iptables基础iptables语法iptables实例案例详解防火墙的简介防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合,它能

2016-05-12 00:10:48 825

转载 Python 数据分析包:pandas 基础

pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包类似于 Numpy 的核心是 ndarray,pandas 也是围绕着 Series 和 DataFrame 两个核心数据结构展开的 。Series 和 DataFrame 分别对应于一维的序列和二维的表结构。pandas 约定俗成的导入方法如下:from pandas import Series,DataFr

2016-05-09 16:46:34 13523

转载 python numpy

安装numpy:# pip install numpy1、Numpy是什么很简单,Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy、matplotlib一起使用。其实,list已经提供了类似于矩阵的表示形式,不过numpy为我们提供了更多的函数。如果接触过matlab、scilab,那么numpy很好入手。 在以下的代码示例中,总是先导入

2016-05-07 20:17:16 900

转载 ipyhon 与 ipython notebook

在 IPython 的官网(ipython.org)上,介绍其的第一句话便是:IPython 是一个加强版的交互式 Shell。另外很多介绍 IPython 的文章也常以这句话开头,但这句话实在是等于没说。让 IPython 在各种 shell(IDE) 中脱颖而出,成为科学计算标配的,并不是按 Tab 键代码补完、以 % 开头的魔术命令这些大家都有的东西,而是与 matplotlib 这个数据可

2016-05-07 19:36:04 3291 1

转载 IPsec 技术原理总结

技术点详解---IPSec VPN基本原IPSec VPN是目前VPN技术中点击率非常高的一种技术,同时提供VPN和信息加密两项技术,这一期专栏就来介绍一下IPSec VPN的原理。IPSec VPN应用场景IPSec VPN的应用场景分为3种:1.      Site-to-Site(站点到站点或者网关到网关):如弯曲评论的3个机构分布在互联网的3个不同的地方

2015-11-09 12:52:51 12361 1

原创 ubuntu14.04 LTS 配置 DPDK 2.1.0 开发环境

之前关于配置的文章dpdk的版本有些较老了,这里结合新的版本dpdk-2.1.0 记录一下安装过程,这里主要是手动安装。一 我电脑的配置是:1. 系统: ubuntu 14.04 LTS  3.13.11版本内核  x86-64位。2. 网卡: 两个10G的Intel的网卡。(用来做dpdk的收发处理)查看网卡信息:root@xxx:/# lspci | grep 'Ethe

2015-10-27 19:35:28 3891

转载 基于 OpenFlow 实现网络虚拟化

虚拟化技术一直是云计算发展的重要推动因素。作为云计算的基础构架,桌面、存储和服务器的虚拟化都已经发展的如火如荼,而 OpenFlow 和 SDN(Software Defined Network) 的提出,使得同为基础架构的网络交换设备支持网络虚拟化多租户架构,将物理网络和逻辑网络有效分离,满足了云计算的服务特性,同时提升了网络资源的利用率 。-----------------------

2015-08-20 17:17:53 1202

转载 Linux多线程技术总结

前一段时间因为开题的事情一直耽搁了我搞Linux的进度,搞的我之前学的东西都遗忘了,很烦躁的说,现在抽个时间把之前所学的做个小节。文章内容主要总结于《Linux程序设计第3版》。1.Linux进程与线程       Linux进程创建一个新线程时,线程将拥有自己的栈(因为线程有自己的局部变量),但与它的创建者共享全局变量、文件描述符、信号句柄和当前目录状态。Linux通过fork创建子

2015-08-20 11:01:45 1736

原创 ubuntu11.04 编译ffmpeg2.7 并生成 ffplay进行流媒体测试

通过编译ffmpeg生成ffplay进行流媒体测试

2015-08-12 16:23:04 1197

转载 Java分布式相关

分布式架构的演进系统架构演化历程-初始阶段架构初始阶段 的小型系统 应用程序、数据库、文件等所有的资源都在一台服务器上通俗称为LAMP特征:应用程序、数据库、文件等所有的资源都在一台服务器上。描述:通常服务器操作系统使用linux,应用程序使用PHP开发,然后部署在Apache上,数据库使用Mysql,汇集各种免费开源软件以及一台廉价服务器就可以开始系统

2015-08-06 19:58:54 1053

转载 MySQL Sharding详解

一 背景我们知道,当数据库中的数据量越来越大时,不论是读还是写,压力都会变得越来越大。采用MySQL Replication多master多slave方案,在上层做负载均衡,虽然能够一定程度上缓解压力。但是当一张表中的数据变得非常庞大时,压力还是 非常大的。试想,如果一张表中的数据量达到了千万甚至上亿级别的时候,不管是建索引,优化缓存等,都会面临巨大的性能压力。二 定义数据

2015-07-30 11:27:47 12264

转载 Ubuntu mongodb 安装 开发测试

UBuntu上安装MongoDB server获取最新版本wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.2.tgz解压缩即可执行tar zxvf mongodb-linux-x86_64-2.0.2.tgzcd /usr/mongodb-linux-x86_64-2.0.2/bin

2015-07-27 16:50:16 913

转载 Go操作mysql Memcache Mongodb

date: 2014-12-12操作mysql操作mongodb操作memcache发现go提供的操作msyql、memcache、mongodb的文档没有lua-ngx的好读,即实例不是很明确,此文列出自己操作时的实例,可让快速入手,但是优化以及错误处理等还有很多工作。操作mysqlgo-sql-driver/mysql Example 上提供了用go操作

2015-07-17 10:35:53 2373

转载 Go Web开发基础

1.Abstract在学习web开发的过程中会遇到很多困难,因此写一篇类似综述类的文章。作为路线图,从web开发要素的index出发,来介绍golang开发的学习流程以及Example代码。在描述中多是使用代码来描述使用方法不会做过多的说明。最后可以方便地copy代码来实现自己的需求。本文适应对象:对web开发有一定经验的人能够灵活使用ajax的人(至少懂得前后分离)golang

2015-07-14 16:28:52 2398

转载 Golang 工程组织

Golang里面工程的组织,需要设置GOPATH 路径,我自的设置方式是:在 ~/.bashrc中添加:vim ~/.bashrc export GOPATH="$HOME/yourpath" 之后source一下这个文件使之生效。下面是转载的内容:-------------------------------------------------------------

2015-07-13 10:51:23 2314

原创 golang语法学习(三) golang的面向对象机制-接口与方法

注:本章的主要内容来自于:http://go-tour-zh.appspot.com/methods/1方法:1. Go 没有类。然而,可以在结构体类型上定义方法。例如:package mainimport (    "fmt"    "math")type Vertex struct {    X, Y float64}func (v *Ver

2015-07-09 20:37:58 3320

原创 golang语法学习(二):控制语句,函数,以及错误处理。

在语法篇(一)中学习了go中基本的数据类型、变量、常量等组成语言的基本要素,在这一节中将会学习如何将这些元素组织起来,最终写成可以执行的代码。在这一部分包括:go中的流程控制语句;go中函数的用法;go特殊的错误处理方式;Golang中的流程控制语句在具体编程的时候免不了需要使用一些特殊的语句实现某些功能,比如使用循环语句来进行迭代,使用选择语句控制程序的执行方式等。这些语

2015-06-15 22:30:10 2598

原创 golang语法学习(一):变量,常量以及数据类型

学习一门新的语言肯定是要从他的基本语法开始,语法构成了整个程序设计的基础,从语法中我们也可以看到这门语言的一些特性,但是话说回来,语法这东西,不同的语言大同小异,所以这也对语法的记忆造成了一定的难度,其实最好的方法应该是旁边有本书,随时可以拿过来查阅或者纠正。当然golang的语法也是这样,下面的一些是我学习七牛团队许式伟等出的《Go语言编程》: http://baike.baidu.com/li

2015-06-09 12:12:35 6739 1

转载 Dynamic Time Warping 动态时间规整算法

转载自:http://www.tuicool.com/articles/Ibeuu2Dynamic Time Warping(DTW)是一种衡量两个时间序列之间的相似度的方法,主要应用在语音识别领域来识别两段语音是否表示同一个单词。1. DTW方法原理在时间序列中,需要比较相似性的两段时间序列的长度可能并不相等,在语音识别领域表现为不同人的语速不同。而且同一个单词内的不同音

2015-06-01 20:39:32 2621

原创 Starting your first golang program. 编写golang程序的"Hello World!"

下面我们开始Go的"Hello world"的编写,主要参考资料来自:https://golang.org/doc/install主要包括以下几个部分:1. Go在Linux内核操作系统下的编译环境的安装。我这里是Ubuntu 15.04, Linux 3.19.0内核。2. Go程序的编写。3. Go程序简要说明4. Go的编译,链接和运行。下面先看:Go的安

2015-05-24 13:12:05 1578

转载 memcached全面剖析

1. memcached 的介绍memcached是什么?memcached 是以LiveJournal 旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件。现在已成为 mixi、 hatena、 Facebook、 Vox、LiveJournal等众多服务中 提高Web应用扩展性的重要因素。许多Web应用都将数

2015-05-04 10:25:04 775

转载 CDN技术原理分析

1. 前言  Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因数的影响,响应速度慢还是经常抱怨和困扰。解决方案就是在网络传输上利用缓存技术使得Web服务数据流能就近访问,是优化网络数据传输非常有效的技术,从而获得高速的体验和品质保证。  网络

2015-05-04 09:37:56 1301

原创 从C10K问题来看常见的中小型服务器I/O模型

问题描述:关于C10问题的经典描述可以查看这个网页 http://www.kegel.com/c10k.html具体来说就是服务器如何处理10k个客户端的并发连接,即 concurrent 10,000 connection 。如果在很早以前互联网还不普及的时候,一个服务器很少会同时出现有10k的连接,但是现在互联网高速发展,这种规模的连接可能随处可见,所以如何来解决C10k的问题

2015-05-02 13:23:20 1845 1

原创 Go的语言特性总结

写在前面: 近来关于对Golang的讨论有很多,七牛的几个大牛们也断定Go语言在未来将会快速发展,并且很可能会取代Java成为互联网时代最受欢迎的编程语言。Go语言是google推出的编程语言,在已经成功的给世人创造了改变人们生活的操作系统之后,google似乎感觉有必要再为世人带来一款强大的编程语言,而Go语言依靠自己众多友好的特性也不负众望正在被开发者接触,我有幸在学习高性能并发编程的时候认识

2015-05-01 23:02:46 4261

转载 Golang适合高并发场景的原因分析

典型的两个现实案例:我们先看两个用Go做消息推送的案例实际处理能力。360消息推送的数据:16台机器,标配:24个硬件线程,64GB内存 Linux Kernel 2.6.32 x86_64 单机80万并发连接,load 0.2~0.4,CPU 总使用率 7%~10%,内存占用20GB (res) 目前接入的产品约1280万在线用户 2分钟一次GC,停顿2秒

2015-05-01 16:25:20 4097

原创 关于 许式伟谈Go Erlang并发编程差异

写在开头:这篇文章是ECUG2014年七牛CEO许式伟的演讲稿。这篇文章很详细的分析了Go和 Erlang在实现并发编程的差异,但是有些内容可能因为作者本人个人情感的一些原因有些出入导致了知乎上的一些讨论,http://www.zhihu.com/question/27465406,这种讨论甚至激烈的争辩是无法避免的,因为捍卫者需要站出来维护他们正在使用的兵器。关于这种争辩,在其他编程领域也有

2015-05-01 11:35:22 4020

转载 Linux 进程管理与调度剖析

主要转载于两篇文章:http://www.ibm.com/developerworks/cn/linux/l-linux-process-management/http://www.linuxidc.com/Linux/2014-08/105366p3.htmLinux 的用户空间进程的创建和管理所涉及的原理与 UNIX 有很多共同点,但也有一些特定于 Linux 的独特之处。在本文中,了解

2015-04-30 22:37:44 1079

转载 关于I/O多路复用技术 - Epoll剖析

什么是epollepoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux kernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好的多路I/O就绪通知方法。 ep

2015-04-28 10:34:44 2405 1

转载 C++实现线程池

为什么需要线程池目前的大多数网络服务器,包括Web服务器、Email服务器以及数据库服务器等都具有一个共同点,就是单位时间内必须处理数目巨大的连接请求,但处理时间却相对较短。 传统多线程方案中我们采用的服务器模型则是一旦接受到请求之后,即创建一个新的线程,由该线程执行任务。任务执行完毕后,线程退出,这就是是“即时创建,即 时销毁”的策略。尽管与创建进程相比,创建线程的时间已经大

2015-04-25 11:01:17 6692

转载 类型转换和类型安全(现代 C++)

文档标示符列出了常见类型转换问题,并描述如何在 C++ 代码中避免它们。当您编写C++程序时,务必确保它是类型安全的。 这意味着每个变量、函数参数和函数返回值存储一种可接受的数据类型,涉及不同“有意义”类型的操作数,且不导致数据丢失、不正确的位组合解释或内存损坏。 程序的类型安全的定义是从不显式或隐式的把一种类型转换成另一种类型。 但是,有时需要类型转换,即使是不安全的转换。 例如,在变量

2015-04-25 09:43:42 1948

原创 关于leetcode中游戏相关的几道题。

碰到的第一个题就是九宫格的问题,Valid Sudoku determine if a Sudoku is valid, according to: http://sudoku.com.au/TheRules.aspxThe Sudoku board could be partially filled, where empty cells are fille

2015-04-21 16:22:47 1004

原创 关于leetcode中对数组O(1)空间消耗操作的几道题

其实这几道题在leetcode中都是比较容易的,但是如果刚开始不理解题意的话可能就会进入陷阱。整数数组中的几个操作如下面所示,无非是怎样进行数组元素的的交换。Remove ElementGiven an array and a value, remove all instances of that value in place and return the new length

2015-04-21 09:05:58 1493

原创 关于leetcode中c++ STL 的几道题

1. Valid Parentheses用来判断字符串中的括号是否合法的一道题。注意输入只会有 (, ) , {, }, [, ]这么几种情况。合法的括号是以一定的顺序进行匹配的一些。比如:"()[]', 或者"([])"等,而以"([)]"这种为类型的表示是有错误的。很显然用“stack”来作为数据结构来实现这道题,每一次插入一个元素的时候都进行匹配,如果匹配成功了,那么就将栈顶元素

2015-04-20 10:47:10 2500

原创 关于leetcode中链表操作的的几道题。

记录了LeetCode OJ上的关于链表的几道题目。

2015-04-18 10:52:16 901

原创 关于leetcode中整形溢出的几道题。

题一:String to Integer (atoi) 主要是要注意这里的输入输出的特列:题目的要求是:11. 前面的空格可以忽略;2. 第一个非空格要么是整数,要么是'+','-';如过不是这些就返回0;3. 要考虑整型溢出的情况。大致就是这么三点/*------------------------------------atoi ------------

2015-04-17 09:45:55 1732

原创 C++实现线程安全的单例模式

1. 什么是单例模式?单例模式是设计模式中的一种,是设计模式中最简单,最常用的一种模式,这种模式用来保证某一个类的对象实例在应用中只有一个,或者只被创建一次。在实际的开发中,我们经常会碰到只需要创建一个实例的情况,例如: 配置文件,日志对象,线程池,缓存等。这些实例为了保证一致性,在整个应用中只需要被创建一次,例如,如果日志对象被创建多次,那么很可能日志中的内容就不一致,还有就是有时候占用资源过多的

2015-04-15 15:53:12 3362

原创 Unix网络编程(七)使用select来实现服务器的并发

在上一文中 http://blog.csdn.net/michael_kong_nju/article/details/44887411 我们讨论了I/O复用技术,即如何在一个进程里监测多个I/O, 刚开始接触还有点混论,但是现在想想,其实原理很简单,或者说内核设计者的想法很直接,就是以前我一个进程一次只能处理一个I/O,现在我通过一个fd_set结构体来实现将多个I/O的描述符放在一个类似于数组

2015-04-06 23:24:28 2982 1

原创 Unix网络编程(六)高级I/O技术之复用技术 select

本文将讨论网络编程中的高级I/O复用技术,将从下面几个方面进行展开:a. 什么是复用技术呢?b. 什么情况下需要使用复用技术呢?c. I/O的复用技术的工作原理是什么?d. select, poll and epoll的实现机制,以及他们之间的区别。

2015-04-06 20:44:45 1917

转载 如何优化服务器的性能

一、通常服务器的性能会卡在三个地方:cpu 网络IO 磁盘IO二、在优化性能的时候,首先要判断性能的瓶颈在上述的哪个地方。然后对症下药,按照下面的方法来优化:1、提高CPU性能的方法并发。利用多线程、进程。老的线程库效率太低,需要升级用nptl 。进(线)程数不要大于cpu个数 (请参考:http://www.ibm.com/developerworks/cn/linux/

2015-04-05 00:20:26 1811

深入理解Nginx 第二版

包括四大部分:Nginx能帮我做什么;如何编写一个定制的module;深入Nginx;实战。第一部分针对初级读者,介绍Nginx关于获取编译运行的基本知识。第二部分针对中级读者,以一个例子为主线,告诉读者如何开发一个模块,这部分读者不需要深入了解Nginx的细节,只需要知道如何实现一个基本的模块。第三部分针对高级读者,这是本书的重点,彻底解析Nginx架构,深入探讨Nginx各种设计的目的与意义,并对第二部分使用到的一些特性进行代码设计实现上的探索。读者读完本部分,会对整个Nginx架构有清晰的认识,可以编写各种模块(不局限于模块)插入到Nginx中,从而定制自己的Nginx。第四部分针对中高级读者,以Tengine的开源模块为例,帮助读者从实战角度理解第二、三部分描述的内容。 深入理解Nginx:模块开发与架构解析(第2版) 目录 第一部分 Nginx能帮我们做什么 第1章 研究Nginx前的准备工作 2 第2章 Nginx的配置 28第二部分 如何编写模块 第二部分 如何编写模块 第3章 开发一个简单的模块 68 第4章 配置、error日志和请求上下文 111 第5章 访问第三方服务 154 第6章 开发一个简单的过滤模块 192 第7章 Nginx提供的高级数据结构 207 第三部分 深入Nginx 第8章 Nginx基础架构 248 第9章 事件模块 285 第10章 框架的初始化 348 第11章 框架的执行流程 385 第12章 upstream机制的设计与实现 447 第13章 邮件代理模块 500 第14章 进程间的通信机制 525 第15章 变量 554 第16章 slab共享内存 590

2017-11-07

learning python 3rd中文pdf以及配套事例代码

清晰的中文pdf以及源码实例,原书第三版,orielly出版社

2013-11-24

英文词根还原和中文分词系统

本系统是基于JAVA SWing的自然语言处理系统,可进行中文分词和英文词根还原。只提供部分核心函数,和设计报告。如需要完整的设计,请留言。

2013-11-01

jigloo插件下载

jigloo的安装和使用见博客http://blog.csdn.net/michael_kong_nju/article/details/13338151

2013-10-28

K-means聚类方法的java实现

数据挖掘中,K-means方法的java实现源码。

2013-10-24

Naive Bays朴素贝叶斯算法在JAVA中的实现

NaiveBays朴素贝叶斯算法在JAVA中的实现

2013-10-11

JfreeChart的安装包

JfreeChart的完整安装包,可用于在JAVA中绘制趋势图,饼状图以及一些复杂的形状。

2013-07-23

小车循迹程序

本程序是电子设计大赛和智能车设计时,小车循迹程序的开发

2013-07-22

c#魔板游戏

本代码是课程设计的内容,专为c#课程设计准备,已通过调试,可直接使用

2013-07-22

用java写的本地文件操作

本代码已通过调试可直接使用,功能是通过一个java的UI中的按钮在本地创建一个文件,并可以写入和读取文件的内容

2013-07-22

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

TA关注的人

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