03-20
Available AI middleware
A useful list of AI middleware. Please provide URL, free/open-source or licenced, and brief description of abilites. 继续阅读
Read More >A useful list of AI middleware. Please provide URL, free/open-source or licenced, and brief description of abilites. 继续阅读
Read More >扩大硬盘的方法有二:
1 新增一个虚拟硬盘
2 扩大原有硬盘
第一: 新增硬盘并将其格式化为lvm格式
第二: 扩大硬盘并利用分区工具,将扩大的部分添加到原有的分区中,再将该分区转为lvm格式
第三: 建立lvm卷组,并最终将文件系统挂载上去。
继续阅读
能熟练掌握以上命令以及部分参数含义,管理日常的rpm软件包就不成问题了。然而随着Linux风靡全球,越来越多的开发者喜欢采用RPM格式来发布自己的软件包。那么RPM软件包是怎样制作的呢?对大多数Linux开发工程师来说是比较陌生的。
继续阅读
随着互联网应用广泛推广,出现了越来越多的网络应用,其中基于p2p思想的各种网络技术的产品也越来越多的出现在我们的视野当中。从最早闻名的Napster到现在的Bittorrent、eMule、skype等产品,P2P这种网络应用模式已经从各个方面深入人心。这些产品在各自的网络实现技术上,都以各自的方法解决着同样面临的一个问题,如何让他们的软件产品在各异的网络拓扑结构中顺利的进行P2P通信。
众所周知,在当今的网络拓扑结构中,普遍存在使用NAT设备来进行网络地址转换,而让应用程序能跨越这些NAT设备进行全双工的通信,就成为非常重要的一个问题。对于实现跨越NAT通信可以采取很多种办法(对于能够直接连接、反向连接的情况不在此列):首先是通过服务器进行转发,这是比较粗暴的方法,而且在用户量大的时候,转发服务器需要付出相当大的代价;第二,可以使用NAT穿透技术。而大家知道关于NAT穿透中,UDP穿透的成功率比起TCP穿透要高出许多,这一点这里将不做多述,可以参考Bryan Ford的文章《Peer-to-Peer Communication Across Network Address Translators》(http://www.brynosaurus.com/pub/net/p2pnat/)。因此在UDP协议上构建一些大型的网络应用程序可能会成为很多人的需求。 继续阅读
在为Linux开发应用程序时,绝大多数情况下使用的都是C语言,因此几乎每一位Linux程序员面临的首要问题都是如何灵活运用C编译器.目前Linux下最常用的C语言编译器是GCC(GNU Compiler Collection),它是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序.GCC不仅功能非常强大,结构也异常灵活.最值得称道的一点就是它可以通过不同的前端模块来支持各种语言,如Java、Fortran、Pascal、Modula-3和Ada等. 开放、自由和灵活是Linux的魅力所在,而这一点在GCC上的体现就是程序员通过它能够更好地控制整个编译过程. 继续阅读
Read More >gyp(generate your project)是chromium的构建系统,地址在http://code.google.com/p/gyp/。
关于GYP和CMake的对比在http://code.google.com/p/gyp/wiki/GypVsCMake。
文档建设还是比较差的,并且个人使用一个很简单的例子都没有work成功。虽然wiki有UserDocumentation但是里面介绍非常粗略,基本上可以认为是一个没有成熟产品。
虽然没有比较好的使用文档,主页wiki里面还有有一些关于gyp本身比较好的描述,以及设计的初衷。 通过学习这些内容,可以对构建系统有更加深入的认识。 继续阅读
Read More >在Linux下有时候需要给一个网卡绑定多个IP,本文介绍在Redhat系列(redhat,Fedora Core,Centos)中的实现方法和一种在Gentoo等其他Linux中普遍适用的方法。 继续阅读
Read More >vi命令是unix下常用而重要命令,可在全屏幕方式下编辑一个或多个文件。若在vi执行时没有指定一个文件,那么vi命令会自动产生一个无名的空的工作文件。若指定的文件不存在,那么就按指定的文件名创建一个新的文件。若对文件的修改不保存的话,v i命令并不改变原来文件的 继续阅读
Read More >