12 turkeyzhou

尚未进行身份认证

某互联网公司,从事服务器后台开发。

等级
TA的排名 328

linux常用的makefile模版编写

在linux下面,我们不得不自己写makefile,makefile的确博大精深,但是实际上对于日常的使用来说,无非就是1:编译可执行程序。2:编译lib库3:编译so库本博针对上面三种目的各自写出了makefile模版,希望对大家有所帮助。一.编译可执行程序当前目录下制定文件编译成可执行文件(连接外部库的话只需要更改INC和LIB即可)CXX = g++TARGET

2013-12-09 16:54:01

LVS体系结构分析

问题如今,无论在企业网、园区网还是在广域网如Internet上,业务量的发展都超出了过去最乐观的估计;同时,用户不断地追求更高的机器性能,而升级单一的服务器系统,往往造成过高的投入和维护成本,性价比大大低于预期。这一切,不仅对硬件,也对软件平台提出了更高的要求:可扩展性:良好可扩展性的计算机系统能够使得性能随着成本的增加而线性的增长。并且很容易对其进行精简或者扩充。全天候的

2013-11-27 09:50:27

linux下一个网卡配置多个ip【虚拟ip】

Linux下配置网卡ip别名何谓ip别名?用windows的话说,就是为一个网卡配置多个ip。什么场合增加ip别名能派上用场?布网需要、多ip访问测试、特定软件对多ip的需要...andsoon.下面通过几个例子简单介绍一下如何使用ifconfig命令给网卡配置ip别名。一、首先为服务器网卡配置静态ip地址#ifconfigeth0192.168.6.99

2013-11-26 20:16:00

struct rlimit介绍

1、rlimit介绍在Linux系统中,Resoucelimit指在一个进程的执行过程中,它所能得到的资源的限制,比如进程的corefile的最大值,虚拟内存的最大值等。 Resoucelimit的大小可以直接影响进程的执行状况。其有两个最重要的概念:softlimit 和hardlimit。structrlimit{rlim_trlim_cu

2013-11-20 17:46:23

makefile自动生成依赖性

在Makefile中,我们的依赖关系可能会需要包含一系列的头文件,比如,如果我们的main.c中有一句“#include"defs.h"”,那么我们的依赖关系应该是:main.o :main.cdefs.h但是,如果是一个比较大型的工程,你必需清楚哪些C文件包含了哪些头文件,并且,你在加入或删除头文件时,也需要小心地修改Makefile,这是一个很没有维护性的工作。为了避免这种

2013-11-20 14:55:19

性能调优攻略

关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充。在开始这篇文章之前,大家可以移步去看一下酷壳以前发表的《代码优化概要》,这篇文章基本上告诉你——要进行优化,先得找到性能瓶颈

2013-11-19 09:57:06

7个示例科普CPU Cache

CPU cache一直是理解计算机体系架构的重要知识点,也是并发编程设计中的技术难点,而且相关参考资料如同过江之鲫,浩瀚繁星,阅之如临深渊,味同嚼蜡,三言两语难以入门。正好网上有人推荐了微软大牛Igor Ostrovsky一篇博文《漫游处理器缓存效应》,文章不仅仅用7个最简单的源码示例就将CPU cache的原理娓娓道来,还附加图表量化分析做数学上的佐证,个人感觉这种案例教学的切入方式绝对是俺的菜

2013-11-18 20:47:59

linux wait与waitpid函数的深入分析

《linux wait与waitpid函数的深入分析》已有 2050 次阅读 2010-9-30 20:01 |个人分类:LINUX系统|关键词:waitpid linux 函数 wait 子进程 fork 僵尸一)系统调用wait1)概述wait函数的原型为:pid_t wait(int *status)当进程退出时,它向父进程发送一个SIGCHLD信号,默认情况下总是忽略S

2013-11-02 15:29:45

一种自动反射消息类型的 Google Protobuf 网络传输方案

原文转自:http://www.cnblogs.com/Solstice/archive/2011/04/03/2004458.html陈硕(giantchen_AT_gmail)Blog.csdn.net/Solstice  t.sina.com.cn/giantchen这篇文章要解决的问题是:在接收到protobuf数据之后,如何自动创建具体的Protobuf

2013-10-24 20:16:18

C++类循环依赖

最近開始久違的寫C++程式,然後因為物件上的關係,所以某個A類別會擁有B類別,同時B類別會需要知道A類別為了能夠壤兩個類別都能夠看到,所以依照直覺的想法,會使兩方的標頭檔(Headerfile)都會Include彼此,但是此時編譯器卻會發生問題,究竟是為什麼呢? 這樣的想法不是很合理嗎? 但其實編譯器在解讀時是會出現問題的,究竟哪裡有問題?經過朋友的解說後,解決了

2013-10-24 10:53:21

sendfile

在apache,nginx,lighttpd等web服务器当中,都有一项sendfile相关的配置,在一些网上的资料都有谈到sendfile会提升文件传输性能,那sendfile到底是什么呢?它的原理又是如何呢? 在传统的文件传输里面(read/write方式),在实现上其实是比较复杂的,需要经过多次上下文的切换,我们看一下如下两行代码:     read(file, 

2013-10-12 09:55:17

通过gdb定位内核宕机

内核宕机不要panic,我们有gdb,通过dump出来信息可以快速定位出出错的地方。下面就以一个实际遇到的例子描述一下怎么通过gdb找到实际出错的代码行。 Unabletohandlekernelpagingrequestfordataataddress 0x000001d0 Faultinginstructionaddress: 0xc0220820

2013-09-30 10:40:50

Linux 汇编语言开发指南

一、简介作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能。就拿 Linux 内核来讲,虽然绝大部分代码是用 C 语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码,其中主要是在 Linux 的启动部分。由于这部分代码与硬件的关系非常密切,即使是 C 语言也会有些力不从心,而汇编语言则能够很好扬长避短,最大限度地发

2013-09-29 14:53:19

LINUX系统调用

以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数。这可能是你在互联网上所能看到的唯一一篇中文注释的Linux系统调用列表,即使是简单的字母序英文列表,能做到这么完全也是很罕见的。按照惯例,这个列表以manpages第2节,即系统调用节为蓝本。按照笔者的理解,对其作了大致的分类,同时也作了一些小小的修改,删去了几个仅供内核使用,不允许用户调用的系统调用

2013-09-24 17:40:39

使用 GNU Libtool 创建库

介绍在不同的系统中建立动态链接库的方法有很大的差别,这主要是因为每个系统对动态链接库的看法和实现并不相同,以及编译器对动态链接库支持的选项也不太一样。对于开发人员,如果尝试将使用动态库的软件在这些系统之间移植,需要参考枯涩难懂的系统手册,以及修改相应的 Makefile,这一工作是乏味的,并且具有一定的难度。使用 GNU Libtool 可以容易的在不同的系统中建立动态链接库。它通

2013-09-16 14:17:44

How to Use Buffers in Node.js

by Josh Holbrook jesusabdullah on Friday, Aug 26 2011articlesadvancedbuffershow-to-use-buffersWhy Buffers?Pure javascript, while great with unicode-encoded strings, does not handle straight bi

2013-08-12 17:46:14

Node.js HTTP requests with gzip/deflate compression

Oneofmyrecentprojectsinvolvedscrapingsomewebdataforofflineprocessing.Istartedusingtheexcellent request library byMikealRogers,whichhasanumberofniceandconvenientimprovemen

2013-08-12 17:43:53

Nodejs exports与module exports

你肯定非常熟悉nodejs模块中的exports对象,你可以用它创建你的模块。例如:(假设这是rocker.js文件)exports.name = function() { console.log('My name is Lemmy Kilmister');};在另一个文件中你这样引用var rocker = require('./rocker.js');r

2013-08-07 10:58:38

NodeJS 常用模块

目录(?)[-]clusterforeverclusterforeverGithub地址GeddyGeddy主要功能Github地址node-devnode-dev使用方法Github地址node_redisnode_redis使用方法Github地址html2jadehtml

2013-08-06 14:54:28

NodeJS入门

作者: ManuelKiessling翻译: goddyzhao & GrayZhang & MondayChen作者: ManuelKiessling翻译: goddyzhao & GrayZhang & MondayChen作者: ManuelKiessling翻译: goddyzhao & GrayZhang & MondayChen关于本书致力

2013-08-06 09:48:10

查看更多

勋章 我的勋章
    暂无奖章