• linux下的编辑器

    Forums: 

    一个强大的编辑器能帮助 us 解决很多问题,甚至影响着 us 的心情。不过编辑器也跟使用的场合有关,如果仅仅是修改一下配置文件之类的,就没有必要(当然也可以)使用 IDE 类的编辑器。算了,不多说了。这里列一下 me 使用过的。

  • linux磁盘管理

    在编译 llvm+clang 的过程中,竟然出现了磁盘不够用的情况,O__O"… 后来 me 就发现查看磁盘空间的命令 me 竟然不知道,⊙﹏⊙b 。 so ...

    查看磁盘使用情况 : $ df -h

    查看当前目录使用的磁盘情况: $ du --max-depth=1 -h。 (du : disk usage, -h : human readable)

    查看指定目录/文件的磁盘使用情况:$ du -sh /home/ant /home/dog 。(-s : summarise,每个参数只显示一条总数)

  • c++11介绍

    废话少说

    Tags: 

  • c++11程序demo

    Forums: 

    img: 

    c++11 的程序小 demo, 让 u 快速了解 c++11 的新的特性。
  • ATT汇编(gas:gnu assembly)

    前话

    汇编不用多数,就是符号化了机器指令,是一种很低级(靠近硬件)的编程。很多人接触比较多的是 windows 下的 Intel 汇编,然而 unix/linux 下 or 使用 gcc 的话,用的是 ATT 汇编。(unix 最初是 AT&T 实验室中的 Ken Thompson 发明的。)

    Intel 汇编和 ATT 汇编使用的指令基本一样,就是写法上有些差异,鉴于前者有很多人介绍,而后者相对比较少,故有了此篇文章。 (me 也曾经想在 linux 看下汇编的写法,然而搜到的基本都是 Intel 汇编,赶脚很失落,O__O"…)

    ATT 汇编格式

    ATT 汇编大体格式是: 指令 源操作数 目的操作数 ,比如将 10 移动到 eax 寄存器的写法: movl $10, %eax

    Tags: 

  • 最新技术


    编程语言

    golang

    google 是 google 推出的一门新的编程语言, 定位于现代环境下的系统开发,目标是替代 c 和 c++ 。

    nodejs

    nodejs 是开发网络应用的一种新技术,它采用了一种异步I/O、基于事件回调的处理模型,在应对现代高并发网络应用具有很好的优势。

    F#

    f# 是微软推出的一门新的编程语言, 主要采用函数式编程范式, 是为了更好滴开发现代应用。

  • websocket和nodejs

    websocket

    web 实际上只是 Internet 上的一种服务,使用的是 http 协议。 http 协议是一个 request - reponse 的无状态协议,在开发推送应用的时候很不方便,因为 web 的传统模式是浏览器发请求然后服务器响应;而推送则是服务器根据需要主动向浏览器发数据。传统的推送应用的一个主要实现方式是:浏览器间断滴发送 ajax 请求,然后服务器响应数据;这只是给 us 了一种“推送”的错觉,因为 ajax 是在背后工作的。 最近的 web 标准 html5 加入了 websocket 功能,就是浏览器和服务器建立一个长 tcp 连接,浏览器和服务器都可以主动向对方发数据;而且只是在有需要的时候发送数据。

    websocket 是一个全双工模式,开发推送程序灰常合适。(尼玛,本来就是为了开发这种应用的好不,O__O"…) 微博、 在线聊天,是推送应用典型的例子。

    websocket 是 html5 也就是前端的技术; 因为 web 是 b/s 工作模式, 还需要有服务器也就是后台的程序,推送才能正常工作。

  • ab 负载测试

    Forums: 

    ab 负载测试

    ab 负载测试程序是 Apache 的一部分,用来测试一个系统的负载能力。

    CentOS下安装 ab 程序

    为什么是 CentOS, 因为 me 装的是 CentOS ! O__O"… 下面是 centos 下使用 yum 安装 ab 的方法:

    > yum install apr-util
    > yum install httpd
    

    使用方法

    成功安装之后, 就可以运行 ab 命令了。

    > ab -n 10000 -c 400 http://127.0.0.1:3000
    

    上面的命令就是对 htt://127.0.0.1:3000/ 页面进行测试, -c 400 是并发数, -n 10000 是一共建立的连接数。对于动态页面来说, 还可以加上 -k 选项:

    > ab -k -n 10000 -c 400 http://127.0.0.1:3000

    ab 测试程序会根据参数来对网站模拟建立连接, 最后给出测试结果。

  • 换行符知多少

    Forums: 

    img: 

    在遇到困难之前, us 总会认为自己已经懂得了“宇宙的真理”。me 相信很多人分不清回车和换行,或是说对很多人来说它们都是一样的。键盘的回车键上有个 return ↵ 或是 enter ↵ 标志,在编辑器中敲击回车键显示一个换行的效果。尼玛,O__O"…

    c 语言中,或是 ascii 码中,回车符 carriage return (CR) 和换行 line feed (LF, 因为 c 的缘故有时候又写作 newline NL) 是两个不同的字符。 在 unix 系统中 LF 就是换行, 然而在 windows 系统下 CR LF 两个字符才显示一个换行, mac 下貌似是 CR 表示换行。 这没有所谓的对错一说, 不同的系统就是有这样不同的实现, 有时候这会成为一个问题。这里也简单描述一下 c 对回车符 CR 和换行符 LF 的记法:\r 和 \n ,这种转义的记法几乎为后来的所有编程语言所采纳。

    不同的换行实现

    下面是一个简单的 c 程序:

  • c++小型计算器

    下午用了两三个小时调试了一下 Bjarne Stroustrup 的一本书上的一个计算器程序。他最初的程序有些小 bug (可能是他故意设置的),me修复了一下,然后又对使用上的小细节修改了一下,最后的程序赶脚还良好。介个小程序可以计算加、减、乘、除;可以加括号计算;可以设置常量进行计算;一行可以计算多个等。

    2014-02-24 修改版:文章是将近一年前写的, 今天想起来完善完善。 用了一下午时间, 主要是重新理解了一遍程序, 修复了一个小 bug ,添加了一个阶乘的用法(为了方便,使用的是 !n 的形式,而非 n! ,也就是 !4 = 24)。本程序中还有一些不是很自然的使用方法,比如 1 + 2 + 3 - - 4 的结果是 10 (不过这种不自然, me 赶脚具有某种灵活性,故不修复), 再比如 1 2 3 4 解析成了四个表达式,而非一个。顺便说下 1!4 解析成了 1 !4 两个表达式,结果是 1 和 24 。

    先看运行效果图,体验一下这个小计算器:

    Tags: 

Pages