自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (4)
  • 收藏
  • 关注

原创 OPC 客户端接连服务器发生 0x80070721问题

原因是安全设置,在代码中增加如下代码解决:HRESULT hr = CoInitializeSecurity(NULL, -1, NULL, NULL,RPC_C_AUTHN_LEVEL_NONE, RPC_C_IMP_LEVEL_IDENTIFY, NULL, EOAC_NONE, NULL);if (FAILED(hr)){TRACE(_T("CoInitializ

2012-07-28 11:17:17 2583

翻译 Activity的onCreateDialog方法及示例

一个Dialog一直被创建及作为Activity的一部分显示的时候,一般情况下,你应该使用回调方法onCreateDialog(int)创建Dialog,当你使用这个方法的时候,Android系统会自动的管理每一个Dialog的状态,并有效的控制着每个Dialog,同样的,每个Dialog也会继承Activity中的某些特性。就像当一个Dialog显示的时候,按下菜单键显示Activity定义的选

2012-07-25 22:30:39 1361

原创 android.view.View 中获取 android.app.Activity

Context context = getContext();if (context instanceof android.app.Activity){android.app.Activity activity = (android.app.Activity)context;}

2012-07-19 00:28:27 1017

转载 Eclipse常用快捷键分类总结

1几个最重要的快捷键代码助手:Ctrl+Space(简体中文操作系统是Alt+/)快速修正:Ctrl+1单词补全:Alt+/打开外部Java文档:Shift+F2显示搜索对话框:Ctrl+H快速Outline:Ctrl+O打开资源:Ctrl+Shift+R打开类型:Ctrl+Shift+T显示重构菜单:Alt+Shift+T上一个/下一个光标的位

2012-07-17 22:01:55 2997

转载 android中The connection to adb is down,问题和解决

自己总结的在android中常会出现的不好解决的问题和方法 (其中第三个方法经过了四天的折磨。。。。。哎) 1.报错: BUILD FAILED D:\workspace\ganji\build.xml:144: The following error occurred while executing this line: D:\workspace\ganji\build.

2012-07-15 09:11:59 540

原创 简介:google ctemplate:简单易用的文字模板

CTemplate 是一个简单实用、功能强大的文字模板(template language),适用于使用C++语言开发的应用程序。 其解决的主要问题是将文字表达和逻辑分离开来:文字模板解决如何用合适的文字和形式来表达的问题,而逻辑问题则由文字模板的调用者在源代码中完成。 下面有一

2011-07-11 17:26:11 787

原创 fork和exec

1、fork()     一个程序一调用fork函数,系统就为一个新的进程准备了前述三个段,首先,系统让新的进程与旧的进程使用同一个代码段,因为它们的程序还是相同的,对于数据段和堆栈段,系统则复制一份给新的进程,这样,父进程的所有数据都可以留给子进程,但是,子进程一旦开始运行,虽

2011-07-11 15:27:58 4639

原创 创业编程七个错误认识

多少年来,人们普遍有一种看法,认为软件工程应该和其它种类的工程一样:仔细的设计,精确的规划,然后进行开发——严格按照设计说明书。就像修建一座桥梁,不是吗?这种开发方式的问题在于:软件,它是“软”的。它可以无限的延展。任何需要的时候你都可以大幅度的修改你的软件,

2011-07-06 08:53:01 643

原创 革命性媒体:推荐十款优秀开源免费微博建站程序

微博客,提供用户一个信息分享、传播以及获取的平台。自两年前推出以来,微博在中国掀起了一场社会网络沟通的浪潮。据有关资料显示,截止到今年2月份,国内的微博已拥有每月2,000万独立访问者和60亿的网页浏览量,与半年前相比增长了两倍。微博的影响力,日益膨胀。而关于互联网上众多的微博客建站程序,则多少存在些参差不齐。因此,IDC评述网根据资料整理,与大家一起分享十款颇受好评的开源免费博客建站程序。

2011-06-28 15:47:00 1138

原创 Paul Graham:未来的互联网创业(上)

作者: 阮一峰日期: 2008年1月24日根据Paul Graham的简历,他是一个计算机博士,一个程序员,一个风险投资家。但是,在我眼里,他其实是一个思想家。他的很多观点深刻地启发了我。比如,他说,程序员就是当今时代的手工艺人,其他行业的人都必须依附于流水线的工业化生产才能谋生,只有程序员可以靠个人的手艺谋生。再比如,他说,互联网公司就像蚊子,唯一

2011-06-24 14:31:00 673

原创 Paul Graham:未来的互联网创业(下)

作者: 阮一峰日期: 2008年1月29日(接上半部分)(译者按:此文的翻译难度比我想象的大,所以拖了好几天。加之最近我的状态不好,因此译文质量可能不太高。如果译文中有费解之处,请自行参照英语原文。)4. Riskier Strategies are Possible4. 必须使用风险更大的策略Risk is always p

2011-06-24 14:31:00 958

原创 Linux如何处理共享中断

Linux可以让多个设备共享一个中断号,而且共享同一中断的中断处理程序形成一个链表,内核对每个中断处理程序都要执行,那么,没有产生中断的设备本该靠边站的,它的中断处理程序也被执行了?到底是怎么会事?实际上:    共享的处理程序与非共享的处理程序在注册和运行方式上比较相似,但差异主要有以下三处:* request_irq()的参数flags必须设置SA_SHIRQ标志。*

2011-06-23 10:28:00 1285

原创 Python模块包中__init__.py文件的作用

模块包:包通常总是一个目录,目录下为首的一个文件便是 __init__.py。然后是一些模块文件和子目录,假如子目录中也有 __init__.py 那么它就是这个包的子包了。差不多就像这样吧:Package1/ __init__.py Module1.py Module2.py Package2/ __init__.py

2011-06-03 11:42:00 1388

转载 高性能WEB开发 - HTTP服务器篇

<br />新产品为了效果,做的比较炫,用了很多的图片和JS,所以前端的性能是很大的问题,分篇记录前端性能优化的一些小经验。<br /> <br />第一篇:HTTP服务器<br /> <br />    因tomcat处理静态资源的速度比较慢,所以首先想到的就是把所有静态资源(JS,CSS,image,swf)<br /> <br />提到单独的服务器,用更加快速的HTTP服务器,这里选择了nginx了,nginx相比apache,更加轻量级,<br /> <br />配置更加简单,而且nginx不仅

2011-05-23 08:50:00 599

原创 确保非局部静态对象在使用前被初始化

<br /> <br />大家都是成年人了,所以用不着我来告诉你们:使用未被初始化的对象无异于蛮干。事实上,关于这个问题的整个想法会让你觉得可笑;构造函数可以确保对象在创建时被初始化,难道不是这样吗?<br />唔,是,也不是。在某个特定的被编译单元(即,源文件)中,可能一切都不成问题;但如果在某个被编译单元中,一个对象的初始化要依赖于另一个被编译单元中的另一个对象的值,并且这第二个对象本身也需要初始化,事情就会变得更复杂。<br />例如,假设你已经写了这样一个程序库,它提供一个文件系统的抽象,其中可能包

2011-04-08 16:14:00 846

转载 由类名创建对象

#pragma once#include #include using namespace std;// 用于声明具有动态创建功能的基类 #define DECLARE_DYNCRT_BASE(base) /public: / typedef base* (*ClassGen)(); / static void Register(const char* class_name, ClassGen class_gen) / { /  m_class_set.insert(map::value_type(clas

2011-04-06 17:24:00 1005

原创 sqlite 例子

<br />编译 gcc  -lsqlite3 -o sample sample.c<br /> <br />//// sample.c<br /> <br /> <br />#include <stdio.h><br />#include <sqlite3.h><br />int main( int argc, char **argv ) <br />{ <br />        sqlite3 *db; <br />        sqlite3_stmt * stmt; <br />        

2010-12-31 13:45:00 3595 2

原创 门户网站负载均衡技术的六大新挑战

<br /><br />记得上大学时,我和好友老郭讨论最多的话题便是:“像新浪这样的网站是如何支撑如此巨大的访问量?”也曾通过各种手段,猜测新浪服务器的数量、操作系统和应用软件的版本……一切都是那么神秘。毕业那年,有幸加入新浪,终于一点点地揭开了这层神秘的面纱。2004年某厂商设备介绍会上,我初次接触到了负载均衡技术。之后的几年时间,可以说是负载均衡设备在网站推广的黄金爆发期。<br /> <br />发展到今天,一方面硬件设备依然保持了强劲的实力,另一方面以LVS、Haproxy为代表的软件负载均衡也异军

2010-11-26 09:33:00 974

转载 linux配置odbc

下载unixODBC, mysql-connector-odbc安装unixODBC:tar xzvf unixODBC-2.2.14.tar.gzcd tar unixODBC-2.2.14./configure --prefix=/code/unixODBC --enable-gui=nomakemake install安装mysql-connector-odbc (libltdl required, )tar xzvf mysql-connector-odbc-5.1.5r1144.tar.gzcd

2010-11-16 17:03:00 22969

原创 Linux下几种加锁方法的比较

<br /><br />在linux2.6.20内核下, 分别执行1000000次的加锁解锁操作, 记录锁: real    0m3.280s user    0m1.943s sys     0m1.216s 信号量锁 real    0m31.255s user    0m8.996s sys     0m21.111s pthread_mutex_t real    0m0.018s user    0m0.015s sys     0m0.003s 与stevens在APUE里记述的结果恰好相反。

2010-11-11 13:49:00 2838

原创 string中含有 '/0'的使用

<br />#include <iostream><br />#include <cstring><br />#include <string><br />using namespace std;<br /><br />int main ()<br />{<br />    char * cstr, *p;<br /><br />    string str ("I love/0 you!",12);<br /><br />    cout<<str<<":"<<str.size()<<endl

2010-11-05 11:34:00 1669

原创 linux动态链接库的使用

<br /><br />一、引言<br /> <br />通常情况下,对函数库的链接是放在编译时期(compile time)完成的。所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(executable file)。程序在运行时,与函数库再无瓜葛,因为所有需要的函数已拷贝到自己门下。所以这些函数库被成为静态库(static libaray),通常文件名为“libxxx.a”的形式。<br /> <br />其实,我们也可以把对一些库函数的链接载入推迟到

2010-10-27 16:25:00 580

转载 火星人与金星人

<br /><br />我的一位客户曾向我说到,在陪同妻子购买新上网本时,他对妻子的行为感到迷惑不解。“亲爱的,看看这台上网本”,他对妻子说到,“它有双核处理器。怎样做到将双核处理器放置在这样一台小小的上网本中呢?哇塞,散热片简直太棒了!”<br />“确实不错,亲爱的”,她说到,“但它能使用 Facebook 吗?这才是我想要的。”<br />“我一直向她介绍磁盘和内存,而这样一台超炫的上网本才卖这个价钱,简直物超所值”,我的朋友向我说到,“但她不断问我的却是:<br />‘它能使用 Facebook

2010-10-12 14:39:00 1103

转载 Howto Setup yum repositories to update or install package from ISO CDROM Image

<br /><br />yum (Yellow dog Updater Modified) is a package manager for RPM compatible Linux systems such as CentOS, Fedora core and latest Redhat Enterprise Linux.<br />So how do you use yum to update / install packages from an ISO of CentOS / FC / RHEL CD

2010-09-15 17:10:00 769

原创 在Linux下自制虚拟光驱

步骤如下:     1.把 /dev/cdrom 删除,然后在Shell中运行:ln -s /dev/loop7 /dev/cdrom      2.这里假设你的iso文件放在/root目录,运行:      losetup /dev/loop7 /root/cd1.iso     最后再运行mount /mnt/cdrom,现在看看,ISO文件是不是也变成了虚拟光驱了?      怎样换盘或者取消这个虚拟光驱呢?在Shell中运行:     “losetup -d /dev/loop7”,就可以取消这个设

2010-09-15 10:32:00 939

原创 内核 jiffies

<br />内核 jiffies<br /><br />Linux 内核具有一个名为 jiffies 的全局变量,它代表从机器启动时算起的时间滴答数。这个变量最初被初始化为 0,每次时钟中断时都会加 1。您可以使用 get_jiffies_64 函数来读取 jiffies 的值,然后使用 jiffies_to_msecs 将其换算成毫秒或使用 jiffies_to_usecs 将其换算成微秒。jiffies 的全局定义和相关函数是在 ./linux/include/linux/jiffies.h 中提供的。

2010-08-26 11:26:00 1570

原创 windows/ linux 下 C++ 精确到微秒的时间差

#include int gettimeofday(struct timeval *tv, struct timezone *tz);   功能:将目前的时间以tv所指的结构返回。   struct timeval{            long tv_sec;         //秒            long tv_usec;        //微秒   };============================================================#inc

2010-08-23 16:39:00 4215

原创 linux ko 导出函数 出现unknown symbols

<br />这是linux kernel 2.6.26 之后版本的bug (详细描述, 请看http://bugzilla.kernel.org/show_bug.cgi?id=12446)并且这个bug不会被fix解决办法是把mod_a的Module.symvers放到mod_b的当前路径,从而编译mod_b,符号信息会自动连接进去.或者在mod_b的makefile中使用KBUILD_EXTRA_SYMBOLS指定mod_a的Module.symvers, 如:KBUILD_EXTRA_

2010-08-09 17:16:00 1897

原创 linux 内核指定 中断绑定至0号cpu

<br /><br />另一种方法:修改init_irq_default_affinity的实现方法,init_irq_default_affinity所属文件为kernel/irq/handle.c  line:45<br /> <br />将如下代码:<br /> alloc_bootmem_cpumask_var(&irq_default_affinity);<br /> cpumask_setall(irq_default_affinity);<br />修改为:<br /> alloc_bootm

2010-08-04 18:11:00 2889 1

原创 linux 双网卡在同一网段的解决办法

eth0: ip 192.168.0.1 ; eth1: ip 192.168.0.2   gateway:192.168.0.254/sbin/route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.0.254 dev eth0/sbin/route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.0.254 dev eth1/sbin/ip route add to 0.0.0.0/0 via 192.168.0.254

2010-07-30 18:29:00 10295 1

原创 TESLA C2050 CUDA开发 centos5.3

开发环境:centos 5.3 cuda环境:cudatoolkit_3.0_linux_32_rhel5.3.run安装下载显卡驱动http://www.nvidia.cn/Download/index.aspx?lang=cn选择与显卡一至的驱动下载cuda toolkithttp://developer.nvidia.com/object/cuda_3_0_downloads.html这里选择的是CUDA Toolkit for RedHat Enterprise Linux 5.3 64位的,因为系

2010-07-23 15:22:00 2258

原创 杭州到厦门自助游

杭州至厦门自助游 行程流水账

2010-06-07 14:03:00 5530

原创 开发心的

1.  对于非常活跃的线程, 线程函数内调用的函数,尽量使用内联函数(或者直接把被调函数实现体写在线程函数内), 以提高性能; 其他不需要争分夺秒, 反复调用的函数, 禁止使用内联

2010-05-31 15:07:00 517

原创 GDB多线程调试基本命令

info threads 显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程。thread ID 切换当前调试的线程为指定ID的线程。thread apply ID1 ID2 command 让一个或者多个线程执行GDB命令command。thread apply all command 让所有被调试线程执行G

2010-03-22 15:33:00 903

原创 AGP、PCI-E总线带宽的计算方法

总线是一组进行互连和传输信息(指令、数据和地址)的信号线。主要参数有总线位宽、总线时钟频率和总线传输速率。※总线位宽决定输入/输出设备之间一次数据传输的信息量,用位(bit)表示,如总线宽度为8位、16位、32位和64位。※总线时钟频率是总线的工作频率,以 MHz 表示。※总线传输速率是总线上每秒钟所能传输的最大字节数。通过总线宽度和总线时钟频率来计算总线传输速率。一. 并行总线。并行总线带宽(M

2010-03-17 16:31:00 1227

原创 多处理器系统下的伪共享(false sharing)问题

1. 背景介绍首先简单说一下计算机中处理器-内存体系结构。由于CPU速度远大于内存访问速度,现代CPU设计中都引入了缓存(cache)作为CPU和内存两者之间交流的缓冲中介。缓存的速度也介于两者之间。缓存中存放了最经常被访问的内存数据,CPU在很大程度上只需要访问高速缓存,大大提高了系统性能。系统对缓存进行读写的单位被称作缓存行(cache line)。大家知道系统对内存的操作单位一般是wor

2010-03-10 14:06:00 648

转载 基于CentOS下Nagios的安装

 1.确定Centos系统中是否安装如下软件包:ApacheGCC compilerGD development libraries2.如果没有安装,则按如下方式进行安装:yum -y install PHP(nagios3.2.0将页面从之前的html换成了php,首次安装需要先决条件php,如果不安装php,则有可能在输入完成nagios的登陆用户后,出现permissio

2010-03-10 10:28:00 1657

原创 像Google一样开会

原文:http://9b2d1d45.linkbucks.com/ 翻译:http://www.isweetriver.com/2010/google-meetings “开会”,在现在的商业运转中,这两个字的名声非常不好,因为真正能通过会议这个形式取得什么成果的很少。我记得Dilbert(美国漫画家)曾经有一幅漫画这样画的:几个人围着桌子坐着,会议组织者说“今天会议没什么特别的议程。像往常一样,

2010-03-08 16:33:00 548

原创 TCP基于窗口的端到端的拥塞控制机制

1988年Van Jacobson指出了TCP在控制网络拥塞方面的不足,并提出了“慢启动”(Slow Start)、“拥塞避免”(Congestion Avoidance)的算法。1990年出现的TCP Reno版本增加了“快速重传 ”(Fast Retransmit)、“快速恢复”(Fast Recovery)算法,避免了网络拥塞不严重时采用“慢启动”算法而造成过大的减小发送窗口尺寸的现象。这样

2010-03-04 21:47:00 2171

原创 关于SSH你必须知道的5个窍门

1. X11 转发应用ssh可以开启一个从本地X服务器到远程应用程序的安全连接。首先在/etc/ssh/sshd_config中将X11Forwarding 和 AllowTcpForwarding 两个条目设置成 yes。然后在本地主机启动X服务器。最后运行 ssh 建立一个到远程站点的连接。localname@localhost:~$ ssh -q -X -l loginname remote

2010-03-02 11:04:00 1052

GE智能平台 工业大数据云-方案应用

GE智能平台 工业大数据云-方案应用 云应用

2013-06-07

ARC 策略 - 作为云应用的工厂历史数据库

云应用 流程工业 工厂历史数据库 ABB PI honywell

2013-06-07

企业应用架构模式 martin fowler

企业应用架构模式 martin fowler 著 王怀民 周斌译, UML.china审校

2011-06-13

Protocol Buffers

google Protocol Buffers

2008-07-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除