I hate dotnet and ms
最近在看Unix 编程艺术,其实也是当休闲书籍看来着。
不过有很多感触,对于书里提出的很多原则和方法。
比如线程的问题。
linux 里没有等同于windows下的源生线程的东西,使用的是轻量级用户进程。线程的问题在于,多线程之间共享了过多的东西,这种共享是硬性的,默认的,容易引发问题,典型的就是C库的全局变量冲突问题,所以win下有包装...
Getting started --Python
python.org
Books:
diveintopython.org (quick dive)
corepython.com (deep dive)
cp4k.blogspot.com (kids dive)
Videos:
showmedo.com/videotutorials/python
Community:
c...
基于JSON的权限树与角色树设计
最近在考虑设计比较完整可扩展的权限控制机制,希望能够通过这种机制来集中进行权限控制,并借助AOP将权限控制与功能模块分离。
原始的做法来源于操作系统的ACL表,建立一张角色与权限的二维表格,角色与权限相交处的值就表示该角色是否具有该权限(或者用数值、集合代表拥有该权限的“程度”),使用查表的方式已经可以达成AOP控制的前提条件。不过,缺陷在于AC...
迪杰特斯拉算法求最短路径
#ifndef GUIDE_H_INCLUDED
#define GUIDE_H_INCLUDED
#define MX 1000 //最大值 无穷
#define NUM 6 //最大顶点个数
typedef int adjmatrix[NUM][NUM];
typedef int path[NUM][N...
vim colorscheme: galaxy1.0 发布~
都是英文,改天再翻译,总之,就是个根据色彩自动生成主题的插件。支持Terminal(8/16/256)
Terminal curosr 部分感谢 依云同学的 改变终端下的光标颜色,包括 screen 和 tmux!
galaxy 在 http://www.vim.org/scripts/script.php?script_id=3729 下载
...
File input element can not work well in IE with Watir 1.8.0 and Ruby187
最近一段时间一直在和同事张逸做项目(Web)相关的regression test,使用的是cucumber(0.10.2)与watir (1.8.0)。总体来讲还算是不错(Ruby开发效率高),但昨天在做文件上传(file upload)相关的测试时,发现了watir的一个问题。代码如下:
def file index
@browser.file_field(:index ...
当opengl 制造商是Mesa Project的时候……
各种想到的方法都试过了,google了不知道多少网页,最后才意外发现原来是用户组的问题。
流泪满面……
终于搞定了驱动和opengl 3d加速的问题。
刚才发现网上有一个用户说他可以使用root用户运行glxinfo得到硬件加速的结果;但使用非root用户则是opengl vender string是mesa prject,我一检查发现...
ubuntu 文件管理器Nautilus 使用技巧
在使用 Nautilus(也就是ubuntu那个默认的文件管理器) 的过程中,发现一个非常有用的技巧。利用该技巧,我们可以迅速打开一些特殊的目录。在操作之前,需要使用“Ctrl+L”呼出地址栏。接下来请看:
* burn:/// - 可以打开一个目录,只要往里面添加好东西,就可以直接烧录光盘了。
* computer:/// - 包括装载的文件系统...
Ubuntu 11.04中清除历史和文档记录 clear recent history
Ubuntu升级到11.04,在使用Unity后,发现了一个小问题,那就是使用计算机时访问的历史和使用的文档记录都会如实的记录下来,而且很轻易的就会访问到,这对个人隐私的保护是有着极大影响的。而且就算利用Ubuntu Tweak中的不记录历史和文档选项,也无济于事。按照老方法去删除一些文件或是文件夹也不行。这是因为,在Ubuntu 11.04中保存历史的文件和方式发生了变化。几经实验,...
Office 2010 宏安全性设置问题
口口问题:初次使用者在每次关闭Microsoft Office 2010 Beta时,一定会出现的宏安全性设置的警告框,这真是让人感到十分不爽,“你正试图运行的函数包含有宏或需要宏语言支持的内容。而在安装此软件时,您(或您的管理员)选择了不安装宏或控件的支持功能。”这主要是由于安装的时候没有安装"office 共享功能"中的"vis...
The Official GNOME 2 Developer's Guide GLib (六)
1.4.7 调试功能
GLib有几个东西让你在你的程序中找到bug。其中有两个宏定义是返回普通的声明。除了中断退出程序以外,能还记录在G_LOG_LEVEL_CRITICAL中的消息。因此你可以在你程序有可能出现问题的地方使用他们:
g_return_if_reached() 记录一个重要的信息,用于没有返回值的函数。
g_return_v...
二叉树层序遍历
#include <stdio.h>
#include <stdlib.h>
//树节点的定义
struct TNode{
int value;
struct TNode *left;
struct TNode *right;
};
//队列节点的定义
...
Linux下用g++编译共享库的一个问题
最近在使用linux下的共享库so的时候遇到一个奇怪的问题,做个记录,方便备查。
一般来说,如果用gcc编译的时候加上-shared和-fPIC选项,可以把源文件编译成一个so文件,可以在其他源程序连接阶段把这个链接上去,从而可以调用so文件提供的函数接口,这样可以多文件共用一个so文件提供的函数,即节省内存空间,也便于更新,所有的接口只需要更新so文件就行。
其实除了...