2007-12-29

A simple inter-process lock

关键字: ruby
Linux程序员通常喜欢用文件锁来做进程间的同步,或简单地用文件锁指示程序进程是否还健在。在ruby里面可以很简单的实现文件锁: =begin file lock for inter-process sync. usage: FSLock('mylock') do # protected by lock, # do your job here ... end =end class FSLock def initialize(name=nil) name ||= 'global' @fname = name + '.lo ...
2007-12-24

A Simple pseudo keyboard driver for Linux

关键字: linux driver c
如果你想把从串口或者其他地方接收到的数据当作是从键盘输入,该如何实现? 我最近写了个简单的Pseudo Keyboard (称之为:伪键盘)内核模块来实现这个功能,很简单但很有趣 :) 把以下代码存成pkbd.c,编译成模块pkbd.ko,然后用insmod pkbd.ko插入内核。 模块插入成功后,会在/proc下建立pkbd文件,以及在/dev下自动建立输入设备(如果你用udev的话)。 用法: 比如我想让从/dev/ttyS1来的数据模拟成键盘输入,最简单的方法是运行: cp /dev/ttyS1 /proc/pkbd & 当然,更正式点的用法是按需要 ...
2007-12-24

OO Programing in C (3)

关键字: c oo
OO Programing in C is not only POSSIBLE but also PRACTICAL -------------------------------------------------------------------------------- OO的一个亮点是类的"继承",通过"继承",可以重用许多代码。而且"继承"也是现实生活中非常自然的一种关系。但是很不幸,C没有class,更没有提供"继承"的表达方式。既然能用C的struct来仿真class, 那能不能继续来仿真"继承"呢?答案是:possible。就像<<Inside the C++ ...
2007-12-24

OO Programing in C (2)

关键字: c oo
OO Programing in C is not only POSSIBLE, but also PRACTICAL. -------------------------------------------------------------------------------- “class“是很多OO编程语言里的关键字,它来源于OO鼻祖Smalltalk。class(类),是对一群有相同特性的对象的抽象概括,对象称为类的实例。在class里面可以存放有状态(变量),行为(函数/方法)....有关OO概念、方法的文章太多了,不再啰嗦。在C里面,唯一可以实现自定义类型的是struct,st ...
2007-12-24

OO Programing in C (1)

关键字: c oo
OO Programing in C is not only POSSIBLE but also PRACTICAL. -------------------------------------------------------------------------------- 经常看到关于OO编程的讨论,C++, Java, C#...还有最近很流行的动态语言Python,Ruby等,但很少看到有C的份。 在我看来,OO编程的核心是OO的思想,用什么语言倒是其次。但是,不可否认,那些专门为OO编程设计的语言可以比较方便和自然地表达OO思想,有些语言甚至强制使用OO特性。 C, ...
2007-12-14

Ruby: GUI编程的利器

关键字: ruby gtk gui closure
ruby语言由于其灵活优雅的表达方式和优秀的OO的特性,是GUI编程语言的有力竞争者。特别是其Closure特性,能够使GUI编程时遇到的很多头痛的问题迎刃而解。 最近手上的一个项目刚好需要做一个Windows平台的GUI程序,以前是用VB,虽然VB是Windows GUI的经典工具,能够快速进行GUI原型开发,但是一旦GUI元素多起来,且UI元素存在复杂关系,就很难维护....特别在后期,一旦需求有什么变化,再去调整UI,那个叫痛苦啊。因此就想用ruby试试,加上此次项目设计很多网络通讯方面的需求,因此更加坚定了使用ruby的决心。现在项目基本完工,再回过头看,以前用VB开发时碰到的种种 ...
rubynroll
搜索本博客
存档
最新评论