代码改变世界

Unix家族编年史

2012-05-30 13:30 by 轩脉刃, 3796 阅读, 1 推荐, 收藏,
摘要:Unix是多用户、多任务的操作系统,它的历史悠久,也有多种版本。在Unix接触过程中常使用到的词,BSD,Linux等。初学者,甚至是接触unix很久的用户也未必对其家谱了如指掌。这篇文章描述的是Unix的族谱和发展历史。 1969年,Unix的前身Unics出现 作者: 肯·汤普逊(左)和丹尼斯·里奇(右) Unix版本是由美国电话电报公司(AT&T)进行维护升级的。他们两位是AT&... 阅读全文

Linux IO模型漫谈(1)

2012-05-29 11:20 by 轩脉刃, 3743 阅读, 2 推荐, 收藏,
摘要:基础知识 Linux将所有外部设备都看做一个文件来进行操作。因此,linux对所有外部设备的操作都可以看做是文件的操作。文件的操作当然需要有个标示描述它,这就是文件描述符(file descriptor)。 linux的IO操作如何形象理解呢? 我们说网络socket的read()是一个IO操作命令,具体流程是这样的: 应用程序调用read命令,通知内核需要做读取数据操作 内核创建一个文件描述符 内核从物理层收到读数据的命令,从网络中获取数据包 数据包传递到TCP/IP层,解析数据包的头 内核将数据包缓存在文件描述符的读缓存区(接受缓存区)中,注意这里的读缓存区是在内核中的 ... 阅读全文

Lua的协同程序

2012-05-28 15:39 by 轩脉刃, 10657 阅读, 1 推荐, 收藏,
摘要:Lua是一种简单,可扩展,可移植及高效的脚本语言。在嵌入式系统,移动设备,web服务器,游戏等方面都能见到它的身影。lua其中最吸引人的一点事它能很方便地与C语言或者其他语言。 这里说的是lua语言中的协同程序(coroute),也有人翻译成为协作程序 基本函数和语法 coroutine就是lua的协同程序 先讲一下coroutine的语法: coroutine.create() 创建coroutine,返回coroutine, 参数是一个函数,当和resume配合使用的时候就唤醒函数调用 coroutine.resume() 重启coroutine,和create配合使用... 阅读全文

Windows Live Writer插件开发

2012-05-13 19:07 by 轩脉刃, 1944 阅读, 3 推荐, 收藏,
摘要:WLW(windows live writer)是我在博客园发博客必用的博客编写工具。它的插件编写就是WindowsLive.Writer.Api接口的使用,接口API文档在MSDN上有 。如果你有时间,可以按照文档的教程一步步学习。 这里就照着一个插件的实现步骤进行记录: 需求说明 开发准备 开发步骤 参考文章 需求说明 需求:将文章中的<h1></h1>标题自动生成目录,并插入到... 阅读全文

nginx模块_使用gdb调试nginx源码

2012-05-10 16:45 by 轩脉刃, 19385 阅读, 4 推荐, 收藏,
摘要:工欲善其事必先利其器,如何使用调试工具gdb一步步调试nginx是了解nginx的重要手段。 ps:本文的目标人群是像我这样初接触Unix编程的同学,如果有什么地方错误请指正。 熟悉gdb的使用 这里就不说了,谷歌一搜一堆,这里推荐一篇文章:GDB 命令详细解释 请重点看一下step,run,break,list,info,continue命令 下载nginx源码 这里使用nginx-1.0.14 src是源代码,auto文件夹是configure运行时候的各种命令集合 修改config并编译 由于gdb需要gcc的时候加上-g参数,这样生成的文件才能使用gdb调试,因此... 阅读全文

UltraEdit高级使用技巧

2012-05-02 17:22 by 轩脉刃, 19970 阅读, 3 推荐, 收藏,
摘要:UltraEdit是众多IDE中颇有亮点的一款,它功能强大,这里说一下它的一些很好用的功能。 列模式 很多人喜欢上UltraEdit最初就是由于它的列模式。 进入列模式: Alt + C 如何对多个行进行注释 1 进入列模式 2 选定多个行 3 增加注释符 计算列的多个数的和 1 进入列模式 2 选择统计的列 3 列 -- 列选择统计 更多列模式的操作可以参考这里 UltraEdit中的脚本 脚本只支持ASCII/ANSI files编码,UTF-8是会出错的 几个常用的命令 var str = UltraEdit.ge... 阅读全文

编码史记

2012-04-21 10:44 by 轩脉刃, 4054 阅读, 16 推荐, 收藏,
摘要:昨天听了一个同事的编码讲座,很精彩。想起了要写这个文章分享一下各种编码是如何产生的。 字符编码的故事 字符是什么 字符是什么?就是有意义的图形,比如a,中等。在不同的国家代表不同的意思。 但是在计算机世界中只有0和1,好了,如何用0和1将这些字符表示出来呢?这就是编码存在的意义。 编码一点也不高深,就是一个计算机的01和字符ab的简单映射。 于是故事开始了... 很久很久以前,计算机世界只有美国人。美国人的文字造诣很低的,他们的所有文字就只有26个字母,甚至加上大写和小写,阿拉伯数字,计算机中的控制符(回车啥的)都不超过256个(只有127个)。于是,对于他们来说,很自然,那么计... 阅读全文

一些工作中遇到的问题分享

2012-04-19 19:21 by 轩脉刃, 2070 阅读, 1 推荐, 收藏,
摘要:这些是在工作过程中遇到的问题 当bash命令中有warning,想消除warning怎么做? cat access.log 2> /dev/null 将系统error不返回到控制台 这里使用2> /dev/null 要分析一个很大(10G)的nginx日志,将最近5分钟的access.log进行分析,怎么做? 这里不能使用高级语言,把10G的日志读到内存中再进行处理是不合理的 使用ba... 阅读全文

Zookeeper简介

2012-04-19 18:57 by 轩脉刃, 16805 阅读, 1 推荐, 收藏,
摘要:更多内容请查看zookeeper官网 Zookper: 一种分布式应用的协作服务 Zookper是一种分布式的,开源的,应用于分布式应用的协作服务。它提供了一些简单的操作,使得分布式应用可以基于这些接口实现诸如同步、配置维护和分集群或者命名的服务。Zookper很容易编程接入,它使用了一个和文件树结构相似的数据模型。可以使用Java或者C来进行编程接入。 众所周知,分布式的系统协作服务很难有... 阅读全文

Munin进阶使用

2012-04-16 14:25 by 轩脉刃, 2112 阅读, 0 推荐, 收藏,
摘要:关于munin的基础理解和使用请参考munin-因为plugin而亮。下面是一些我在使用munin中遇到的问题和解答,以问答形式回答。 munin的cron文件有吗? 默认安装路径是:/usr/bin/munin-cron munin的几个命令的作用和先后顺序? 命令: munin-update: (收集数据) munin-update - A program to gather da... 阅读全文
上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 49 下一页