技术
文章平均质量分 60
karl_max
这个作者很懒,什么都没留下…
展开
-
Boost的状态机库教程(1)
介绍 Boost状态机库一个应用程序框架,你可以用它将UML状态图快速的转换为可执行的c++代码,而不需要任何的代码生成器。它支持几乎所有的UML特征,可以直接了当的转换,并且转换后的c++代码就像对状态机进行一次文本描述一样具体可读性。如何阅读这个教程 这个教程是以线性阅读的方式进行的章节设计。如果你是第一次看这个教程的话,你可以从头开始读,到你觉得了翻译 2008-09-04 11:31:00 · 7872 阅读 · 0 评论 -
Fedora15从DVD安装软件
Fedora15从DVD安装软件Fedora 15安装完成后,要想yum安装其它的软件,只能从网络安装啦。而且从GUI不能将DVD加到Software Sources里。下面的方法可以将DVD加到Software Source里去。唉,我只是想安装一下libreoffice,废了好大的功夫才搞定。Fedora还是没有ubuntu好用,但我实在是不能忍受ubuntu 11的界原创 2011-11-04 11:10:05 · 2747 阅读 · 0 评论 -
Fedora15上安装Chrome和lastpass插件
一、Fedora15上可以安装chrome,可以直接下载chrome的rpm包安装,也可以将google的资源加到rpm资源列表中,再通过yum安装。后一种方法如下:1. 安装google的repo资源$ wget https://dl-ssl.google.com/linux/google-repo-setup.sh$ sudo google-repo-setup.sh2.原创 2011-11-10 14:00:03 · 3199 阅读 · 0 评论 -
emacs的常用命令
emacs的常用命令原文链接:http://ted.is-programmer.com/posts/5431.htmlTed posted @ 2008年9月16日 22:35 in emacs with tags emacs , 1791 阅读一、emacs编辑器简介 emacs编辑器是由C语言和LISP语言编写的。LISP(链表处理语言)是由约翰·麦转载 2011-12-02 14:08:50 · 3531 阅读 · 1 评论 -
Boost.log的应用
示例代码: 1. 几个概念 1.1 日志记录:一个独立的消息包,这个消息包还不是实际写到日志里的消息,它只是一个候选的消息。 1.2 属性: 日志记录中的一个消息片。 1.3 属性值:那就是上面所说的属性的值了,可以是各种数据类型。 1.4 日志槽(LOG SINK):日志写向的目标,它要定义日志被写向什么地方,以及如何写。 1.5翻译 2011-12-02 13:08:39 · 3079 阅读 · 0 评论 -
erlang中使用public_key验证签名
假设,我用RSA(openssl)生成一对密钥,并用其中的私钥对一串字符串进行了签名,得到一个sign,将sign转换成base64的字符串。公钥保存在pub.pem文件中,其中内容如下:-----BEGIN PUBLIC KEY-----MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL/1Av2gbrOxpl8wMztvkaFVzOQa+uf4VK6MH6YX原创 2011-12-02 09:58:05 · 6814 阅读 · 0 评论 -
linux C程序中获取shell脚本输出(如获取system命令输出)
原文地址:http://hi.baidu.com/%C0%CB%C2%FE%B5%C4%D0%A1%D0%AB%D7%D3/blog/item/3e1366943d2cd941d1135ef8.html1. 前言Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作。比如实现一个ping程序转载 2011-12-02 13:06:33 · 3184 阅读 · 0 评论 -
HOWTO_CentralServerWindowsXP
http://code.google.com/p/tortoisegit/wiki/HOWTO_CentralServerWindowsXPIntroductionThis guide will show you how to set up a centralized Git repository, which offers an option similar to a conventional转载 2011-12-02 13:07:37 · 2303 阅读 · 0 评论 -
subversion提交后,如何修改log
使用subversion过程中,有时候提交后发现message写的有点问题。如何修改呢?默认情况下,subversion server是不允许客户端修改提交后的任何东西的。实在要修改的话,首先要修改一server的hook,让server允许修改才可以。1. 在windows下的subversion server,在项目hooks目录下新建一个pre-revprop-chang原创 2011-12-02 17:37:40 · 9966 阅读 · 0 评论 -
erlang的reltool使用指南
原文地址:http://erlangdisplay.iteye.com/blog/508944reltool使用指南Author:litaochengMail:litaocheng@gmail.comRevision:1Date:2009.10.28目录1 概述1.1 适用范转载 2011-12-05 15:55:55 · 3741 阅读 · 0 评论 -
erlang使用rebar generate生成发行包时,去除subversion的目录
在subversion的工作目录下用rebar generate生成发行包时,会把include目录和priv目录的.svn目录也打包到发行版本中。解决办法是在reltool.config文件,排除.svn目录。按reltool.config文档的说法试了几次,最后的结论是在app中加一个excl_app_filters选项,如: {app, cti_server, [原创 2011-12-05 16:43:44 · 3267 阅读 · 0 评论 -
ubuntu中安装配置lyx xetex
用apt-get安装lyx和texlive-xetex:sudo apt-get lyx texlive-xetex如果lyx需要支持中文,如下图配置1. 字体配置2. 语言不用配置3. LaTex Preamble中需要增加下面两项,否则中文不会自动换行。4. Export -> PDF(XeTex)原创 2011-12-08 00:00:07 · 5457 阅读 · 2 评论 -
创建Firefox扩展
创建Firefox扩展 [A] [A] 原文地址:https://developer.mozilla.org/en/Building_an_Extension翻译:Karl Maemail: karlcpp@gmail.comTable of ContentsSection: InstructionSection: Quick StartSection: Sett翻译 2011-12-18 21:50:03 · 5173 阅读 · 0 评论 -
erlang使用ODBC调用存储过程
Linux环境下,使用erlang语言,通过ODBC,访问Oracle数据库。现在需要调用Oralce的一个存储过程,此存储过程有输入参数,也有输出参数,其定义如下:CREATE OR REPLACE PROCEDURE PROC_INSERT_SYS_REC_FILE( call_id in varchar2, voice_file_name in varchar2, st原创 2011-12-15 18:39:49 · 4153 阅读 · 0 评论 -
Erlang在Redhat 5.3下使用unixODBC连接Oracle数据库的配置
个人在安装配置时遇到一些麻烦,特此记录如下:环境数据库服务器操作系统:Windows 2003数据库:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 erlang运行的服务器操作系统:Redhat 5.3erlang:Erlang R14B03 (erts-5.8.4) 注意==原创 2011-10-22 11:39:26 · 8101 阅读 · 1 评论 -
Linux下安装TexLive
搞了小半天,想在Redhat 5.3下安装latex。后来发现,latex网站现在都用TexLive啦。1. 好吧,下载一个安装脚本吧:http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz2. 解压后原创 2011-07-07 17:53:02 · 6466 阅读 · 0 评论 -
Boost的状态机库教程(3)
1.2 增加动作 此时我们将只用一种动作:transitions,我们在下面的代码中插入了黑体的部分。 #include // ... struct Stopped; struct Active : sc::simple_state {翻译 2008-10-20 10:28:00 · 5129 阅读 · 3 评论 -
《Erlang程序设计》学习笔记-第2章 入门
第二章 入门1. 用cean可以安装erlang及erlang的一些应用程序。2. %是erlang语言的注释,注释从%开始,一直到行尾。一般情况下,erlang源程序中%%做为注释,我想可能是看起来比较显眼。3. erlang的整数运算没有误差,它可以计算超大的整数,进到你的计算机内存没有了。 16#cafe 代表16进制数CAFE,2#1001 代表二进制数1001。“#”在记原创 2009-03-05 12:41:00 · 1831 阅读 · 0 评论 -
《Erlang程序设计》学习笔记-第3章 顺序型编程
第三章 顺序型编程1.一个函数以一些以分号隔开的子句组成,最后一条子句以句号结束,表示函数结束。每个子句都有一个函数头和函数体。函数头由函数名和随后的以括号括起来的模式组成,函数体则由一系列表达式(表达式以逗号分隔)组成。调用时,如果函数头中的模式与调用参数匹配成功的话,其对应的表达式就会进行运算。模式将按照它们在函数定义中的先后顺序进行匹配,匹配完一个子句后,不再匹配下一下了原创 2009-03-05 12:49:00 · 1819 阅读 · 0 评论 -
《Erlang程序设计》学习笔记-第8章 并发编程
第8章 并发编程 1. 并发原语: (1) Pid = spawn(Fun) %% 创建一个新的并发进程,用于对Fun求值。 (2) Pid ! Message %% !是发送操作符,消息发送是异步的,返回结果是消息本身,所以Pid1!Pid2!...!M可以向多个进程发送消息M。 (3) receive ... end %% 接收一个发送给当前进程的消息,是同步的。语法:原创 2009-03-10 21:52:00 · 1302 阅读 · 0 评论 -
《Erlang程序设计》学习笔记-第6章 编译并运行程序
第6章 编译并运行程序 1. erlang:halt()可以即刻停止系统运行。2. q()命令可以完成文件和数据库的一些处理后再退出。它是init:stop()的一个shell别名 3. erlang可以动态加载代码,正在运行的代码可以在重新编译后动态加裁而不用停止程序的运行。4. 模块加载相关函数: code:get_path() %% 可以获取当前加载路径的原创 2009-03-10 14:33:00 · 4498 阅读 · 0 评论 -
《Erlang程序设计》学习笔记-第7章 并发
第7章 并发 1. 世界是并行的。2. erlang程序模拟我们思考的反应的模式。3. 人就像是一个通过发送消息来进行交流的实体。4. 如果有人死了,其他人会注意到。原创 2009-03-10 14:46:00 · 1146 阅读 · 0 评论 -
《Erlang程序设计》学习笔记-第5章 顺序型编程进阶
第5章 顺序型编程进阶1. 所有的BIF都在erlang模块中,大部分常用的BIF都已被自动导入(也就是说还有一些不常用的没有自动导入)。2. 二进制数据相对于元组和列表,它更加节省内存,输入输出更加高效。3. 在书写和打印时,二进制数据用一组以>括起来的整数或字符序列的形式出现。 如:>. > 整数要在0-255之间,字符相当于其对应的ASCII码。4原创 2009-03-09 22:07:00 · 2507 阅读 · 0 评论 -
《erlang程序设计》学习笔记-第9章 并发编程中的错误处理
第9章 并发编程中的错误处理 1. 链接:链接定义了一种在两个进程之间的传播路径。如果两个进程被链接在一起,如果其中一个进程消亡,那么系统就会向另一个进程发送一个退出信号。我们把一群与某个给定的进程进行外国投资的进程集合称为该进程的链接集。 链接通过在一个进程中调用link(Pid)来完成,Pid是另一个进程的ID。2. 退出信号:当一个进程消亡时,它会产生一个叫做退出信号的东原创 2009-03-11 16:53:00 · 2333 阅读 · 0 评论 -
《Erlang程序设计》学习笔记-第11章 IRC Lite
没什么可说的,看源码。原创 2009-03-13 13:38:00 · 1034 阅读 · 0 评论 -
《erlang程序设计》学习笔记-第10章 分布式编程
第10章 分布式编程1. erlang分布式编程的基本模型 (1) 分布式erlang:这种模型可以让我们在一个紧密耦合的计算机集群上编写程序。 (2) 分布式erlang应用程序运行在一个可个这个进程的环境中。一个局域网的不同集群之间,但在同一个防火墙里面。 (3) 基于套接字的分布式应用:使用TCP/IP套接字,我们可以编写运行在非信任环境中的分布式应用程序。2. 编写分布式程序的步骤:原创 2009-03-12 21:45:00 · 2501 阅读 · 0 评论 -
boost线程的interruption
1. 创建一个boost线程对象 1.1 boost::thread(ThreadFunction); 其中,ThreadFunction是线程的启动函数。创建完成这个对象后,线程就开始运行了。 1.2 如果启动函数有参数要传递,可以调用另一个线程对象构造器,boost::thread(ThreadFunction, Arg1, Arg2, ...);也可以用绑定器原创 2009-12-01 11:19:00 · 3760 阅读 · 0 评论 -
Boost.log的编译
Boost.log现在还没有包括进正式的boost库中,只能从sourceforge下载。下载后将文件解压到boost目录下,它会在源目录的boost和libs目录下各加入一个log目录。由于有一些代码在vc2005下不支持,编译前需要修改几个源文件。需要修改的源文件都在libs/log/src目录下修改init_from_stream.cpp,将196行开始的#if !原创 2009-12-01 14:31:00 · 3980 阅读 · 0 评论 -
Boost.log的应用
本文首先介绍了boost.log的几个重要的概念,然后分析其框架结构,最后详细解析了一段示例代码,并总结了将boost.log应用到自己的程序中时的步骤。 1. 几个概念日志记录:一个独立的消息包,这个消息包还不是实际写到日志里的消息,它只是一个候选的消息。 属性:日志记录中的一个消息片。 属性值:那就是上面所说的属性的值了,可以是各种数据类型。 日志槽(LOG SIN原创 2009-12-09 05:44:00 · 11961 阅读 · 4 评论 -
freeswitch的拨号规则配置
当一个呼叫在ROUTING状态下达到命中拨号规则解析器时,相应的拨号规则就开始解析了。随着解析的进行,在xml文件中的符合条件的或标签中的指令形成一个指令表,安装到这个通道中。 你可以将拨号规则文件放到conf/dialplan/default下,这个目录下的拨号规则要比enum拨号规则优先处理。这个目录下的文件执行优先级是按其文件名开头的数字排序(由小到大),最大的那个文件是99999_enu原创 2009-12-21 04:03:00 · 14661 阅读 · 3 评论 -
Wt::Dbo教程
-------------------------------------------------------------------------------Wt::Dbo教程-------------------------------------------------------------------------------目录1. 介绍2. 映射单个类3. 第一个session4. 查询对象5. 更新对象6. 映射关系 6.1 多对1关系 6.2翻译 2011-03-20 22:48:00 · 2649 阅读 · 0 评论 -
英文rh5.3安装fcitx
英文环境下安装和使用fcitx1. 下载fcitx并安装2. 用编辑器打开/etc/profile将下面代码添加到最后即可#localeexport LC_CTYPE=zh_CN.UTF-8export XMODIFIERS=@im=fcitx3. 将/etc/X11/xinit原创 2011-07-07 11:24:16 · 2402 阅读 · 1 评论 -
Erlang ODBC 处理中文
erlang处理utf8字符集相对比较简单,因为它是用integer的list来保存所有的string的,所以处理什么字符集都没关系。话虽这么说,但我在使用erlang的ODBC处理中文时,着实费了不少劲。erlang的ODBC不好用,现在也有一些直接使用数据库驱动的erlang库,但都不怎么成熟,项目里不太敢用。还是用官方的ODBC踏实,而且换什么数据库都不用改代码,方便。开始时我以为既然数据库utf8的,我把erlang中二进制的utf8数据写到数据库表里就可以啦。后来发现,完全不是那么回事。er原创 2013-08-06 17:50:25 · 4714 阅读 · 1 评论