自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Allen的技术天空

…… 无限创意

  • 博客(59)
  • 资源 (2)
  • 收藏
  • 关注

原创 关于#pragma pack(n)引发的一系列问题

[前提] 最近在写新系统代码的时候, 因为引用了一个包含了如下内容的头文件, 导致系统core的莫名奇妙, core在了打log的时候, std::string的析构上, 代码如下:... ...#pragma pack(1)strcut XXX {... ...}#pragma所有包含了这一头文件的cpp中的类, 打log即挂(后面实验, 要core可以很多种办法). 后来发现是因为我

2017-09-05 22:28:46 6684

原创 Linux命令提示符显示格式的配置

linux用户登录以后,命令提示符上一般有形如 [root@hostname /usr/local ] $ 这样的格式,如果要修改命令提示符的显示方式,可以通过修改环境变量PS1来实现。我自己的配置是:export PS1='[\u@\h $PWD]\$  '显示出来的结果就是[allenlinrui@HOSTNAME /data/allenlinrui]$

2016-01-27 19:51:30 7115

原创 linux下C/C++编译时系统搜索 include 和 链接库 文件路径的指定

C/C++程序在linux下被编译和连接时,GCC/G++会查找系统默认的include和link的路径,以及自己在编译命令中指定的路径。自己指定的路径就不说了,这里说明一下系统自动搜索的路径。【1】include头文件路径    除了默认的/usr/include, /usr/local/include等include路径外,还可以通过设置环境变量来添加系统inclu

2014-03-18 22:23:11 33478 1

原创 variable 'std:ofstream' has initializer but incomplete type 错误

【1】问题描述最近在写工具的时候,代码编译出现 variable 'std:ofstream’ has initializer but incomplete type 或者是 variable 'std:ifstream’ has initializer but incomplete type【2】原因因为没有包含fstream这个头文件。

2014-02-21 20:57:26 28390 1

原创 【入门篇】Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布

由于最近工作的需要,本人学习了一下利用高性能web server - Nginx,来发布C/C++编写的fastCGI程序,详细细节如下。1.介绍    Nginx - 高性能web server,这个不用多说了,大家都知道。    FastCGI程序 - 常驻型CGI程序,它是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进

2014-02-18 17:58:58 47825 6

原创 关于C/C++函数指针声明的理解

【前言】由于最近对函数指针的理解比较模糊,所有又重新学习了一把关于函数指针的知识,参考了很多书籍和网上的文章。现在本人进行一下分享和总结。本文的其实只是整理和总结别人现有的文章,作为备用参考文档。【正文】要理解一个C程序,仅仅理解组成该程序的符号是不够的。程序员还必须理解这些符号是如何组合成声明、表达式、语句和程序的。我们先来看看下面的一个语句:( *( void(*)

2013-08-23 13:21:02 1707 3

原创 Google Protobuf的安装、配置、以及简单demo编译

【准备工作】Google Protobuf安装包   https://code.google.com/p/protobuf/downloads/list文档  https://developers.google.com/protocol-buffers/docs/overview?hl=zh-CN项目首页 https://code.google.com/p/protobuf/

2013-08-20 10:39:52 19690 1

转载 Linux关于重定向的详解

1、I/O重定向详解及应用实例1、 基本概念(这是理解后面的知识的前提,请务必理解)a、 I/O重定向通常与 FD有关,shell的FD通常为10个,即 0~9;b、 常用FD有3个,为0(stdin,标准输入)、1(stdout,标准输出)、2(stderr,标准错误输出),默认与keyboard、monitor、monitor有关;c、 用 d、 用 >

2013-06-21 14:38:58 942

转载 C++中struct与class的区别

转载自 http://blog.csdn.net/swanzy/article/details/3130331原讨论链接:http://community.csdn.net/expert/topicview1.asp?id=4238054所属论坛:C++ 语言     审核组:C/C++提问者:odesseydk     解决者:steedhorse感谢:moany、Polar

2013-05-03 15:06:25 901

原创 C++中函数指针和函数对象的区别与联系

函数调用是C++中再频繁不过的一项操作了,函数可以直接调用,也可以通过函数指针来调用,也可以通过函数对象来间接调用,形式多样化。下面来看看函数指针和函数对象的区别。1.函数指针1)定义      函数指针是指向函数的指针变量。在C编译时,每一个函数都有一个入口地址,那么这个指向这个函数的函数指针便指向这个地址。函数指针主要有两个作用:用作调用函数和做函数的参数。2)声明方法

2012-10-19 00:04:45 2728

原创 Ubuntu 11.10 更新源的时候“GPG签名错误”的解决办法

最近换了源,准备apt-get update的时候,出现了一点小插曲,GPG签名验证错误W: GPG 错误:http://mirrors.163.com precise-proposed Release: 下列签名无效: BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key     上网搜索了一把,尝试了好多办法,都没搞

2012-08-24 00:34:02 10170 2

转载 EA经典教程

一、Enterprise Architect简介Enterprise Architect是一个对于软件系统开发有着极好支持的CASE软件(Computer Aided Software Engineering)。EA不同于普通的UML画图工具(如VISIO),它将支撑系统开发的全过程。在需求分析阶段,系统分析与设计阶段,系统开发 及部署等方面有着强大的支持,同时加上对10种编程语言的正反向

2012-08-01 21:57:46 1904

原创 JS,解决页面跳转的几种常用方式

相信大家一定都遇到这种场景:即有的web页面,左边是菜单列表,右边是detail显示。有的时候右边的页面里头会进行一些逻辑性的跳转。虽然大部分都会在本页面的基础上进行跳转,但有的时候,需要附加另一些属性,比如_top,_blank等。       最近在写TOP_ATS控制台的web页面的时候,我也遇到一些页面跳转细节的处理。为了查找方便,决定将其记录一下,以后备用。      OK,具体

2012-07-04 13:08:00 3741

转载 bloom filter(布隆过滤器)的算法设计与原理以及一些用例场景

Bloom Filter是1970年由Bloom提出的,最初广泛用于拼写检查和数据库系统中。近年来,随着计算机和互联网技术的发展,数据集的不断扩张使得Bloom Filter获得了新生,各种新的应用和变种不断涌现。Bloom Filter是一个空间效率很高的随机数据结构,它由一个位数组和一组hash映射函数组成。Bloom Filter可以用于检索一个元素是否在一个集合中,它的优点是空间效率和查询

2012-04-24 17:43:38 4167

原创 使用crontab,让linux定时执行shell脚本

使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行入门# crontab –e这样可以已编辑模式打开个人的crontab配置文件,然后加入一下这行:0 0 * * * /home/linrui/XXXXXXXX.sh这将会在每天凌晨运行 指定的.sh文件

2012-04-23 16:46:49 51444 2

原创 Linux下卸载vmware

今天打算删掉已经不好使的vmware,于是上网找到了段手动卸载的博文,并成功完成卸载。下面写一下过程:1.先查看安装的虚拟机vmware-installer -l然后会显示版本和产品名称Product Name           Product Version     ====================== ====================

2012-02-18 12:26:02 19619 3

原创 vi和vim的区别与联系

简单来说一下vi和vim的区别与联系        首先,它们都是多模式编辑器,但vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性。              总的来说,vim比vi更具优势的地方在于:        1)多级撤消    在vi的命令模式里,按 u只能撤消上次命令,而在vim里可以无限制的撤消,几乎等同于windows下的ctrl+

2012-02-18 01:49:34 3018

转载 使用JAVA,实现RSA加密过程

用JAVA实现RSA加密过程,有以下几个步骤:     1、甲方构建密钥对(公钥和私钥,公钥给对方,私钥留给自己)     2、甲方使用私钥加密数据,然后用私钥对加密后的数据签名,并把这些发送给乙方;乙方使用公钥、签名来验证待解密数据是否有效,如果有效使用公钥对数据解密。     3、乙方使用公钥加密数据,向甲方发送经过加密后的数据;甲方获得加密数据,通过私钥解密。  示例代码

2012-02-17 15:01:47 5713

原创 让ubuntu下的eclipse支持GBK编码

把windows下的工程导入到了Linux下eclipse中,如果以前的工程代码是GBK编码的话势必造成中文显示乱码的,因为Ubuntu默认是不支持GBK编码的。我们要让Ubuntu支持GBK的话,可以尝试如下方法:1)修改/var/lib/locales/supported.d/local文件,在文件中添加zh_CN.GBK GBKzh_CN.GB2312 GB2312

2011-11-02 10:40:18 798

原创 禁止iPod Touch在连接电脑后iTunes自动运行

在 iTunes 升级到 10 之后,每当电脑上连接了touch,iTunes便会自动打开,有的时候会使电脑有点卡。根据在网上找到的方法,还有各种综合实践,我总结的做法如下:1)在 iTunes 界面的左侧导航栏点击“DEVICES”2)选中自己的iPod

2011-09-26 01:18:04 2535

原创 Hadoop 中JobClient 里 submitJob(JobConf) 和 runJob(JobConf) 的区别

Hadoop提交 Job到JobTracker的时候,需要通过JobClient.runJob(JobConf) 或者 JobClient.submitJob(JobConf) 这两个静态方法来提交。但是这两个方法,前者和后者是有区别的。查看API中的文档解释:1)runJobrunJobpublic static RunningJob runJob(JobConf job)

2011-08-24 16:08:31 7994 1

原创 关于Apache/Tomcat/JBOSS/Neginx/lighttpd/Jetty等一些常见服务器的区别比较和理解

今天是个很丰富的日子,早上一上班,第一个听到的惊爆消息就是楷子得了肠胃炎,一大早去医院挂水了…… 随后风胜和笑虎也没来,后来得知他们俩去去华星现代产业园参加培训,内容是关于Apache与Nginx的。于是乎,我非常感兴趣地查了一下培训用的PPT,并跟旁边的俊牧了解了一下关于服务器

2011-08-11 17:07:12 23759 4

原创 Hadoop快速入门里头单机模式操作方法运行错误的解决办法

今天尝试了一下Hadoop,没想到按照教程来,第一个例子就报错了……错误如下:$ bin/hadoop jar hadoop-mapred-examples-0.21.0.jar grep input output 'dfs[a-z.]+'Except

2011-08-09 15:21:54 1148

原创 ibatis中的order by 参数配置问题

<br /><br />    今天在写项目的时候,碰到了这个问题,调试了半天都没搞定。最后把问题锁定到xml配置文件上:<br /> <br />一般配置文件都这么写<br /><select ...><br />select * from table where XXX = #valule# order by #value#<br /></select><br /> <br />但是由于ibatis在将参数值映射到statement里面时,所以对于 #value# 会解释成 字符串 'value' ,于

2011-05-18 01:54:00 7098 1

原创 Servlet中response.sendRedirect()跳转时不能设置target的解决办法

      一般使用Struts2的拦截器(或者是filter)验证是否登录的时候,如果用户没有登录则会跳转到登录的页面。这时候一般可以在拦截器或者filter中用response.sendRedirect()。     但当在页面上使用了iframe后,发现跳转的只是页面中iframe内的区域,而父页面却没有跳转。拦截器或者过滤器中发送重定向请求时,是在iframe页面发送的。原来的代码是这样的: public String intercept(ActionInvocation invocation) t

2011-05-15 20:11:00 15025 4

转载 Jquery版本选择与Google Ajax库

<br /> <br />在网络程序中使用ajax库已经是很普遍的事情了。特别是wordpress等博客主题(theme)使用ajax以提升用户体验更是屡见不鲜了。 jquery应该选择什么样的版本,对于那些只是代码爱好者(非专家)来说,速度是关键。常用而稳定的jquery版本有:1.2.3、1.2.6、 1.3.0、1.3.1、1.3.2等。Google AJAX 库 API提供jquery库调用服务。<br />Google AJAX 库 API是一种内容分布网络,可载入jquery库。<br />通过

2011-04-25 18:37:00 1811

转载 vi / vim使用教程

<br />vi/vim 基本使用方法<br />本文介绍了vi (vim)的基本使用方法,但对于普通用户来说基本上够了!<br /><br />vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。<br /><br />1、

2011-04-20 09:57:00 769

转载 费波纳切(Fibonacci)数列的前N项和公式(PHP版)三种算法的比较

<br /><br />大家都知道费波纳切数列1,1,2,3,5,8,13(第三项是前两项的和),它的通项公式为:f(x)=f(x-1)+f(x-2),f(0)=0,f(1)=1<br />我们用PHP来求f(40)吧<br /> <br />方式一:<br />递归。最单纯的递归。function f($i){if ($i==0) return 0;if ($i==1) return 1;return f($i-1) + f($i-2);}$start = microtime(true

2011-04-19 15:08:00 3163

转载 各种排序算法总结

<br /><br />排序<br /><br />Sorting<br />排序问题的输入是一个线性表,该线性表的元素属于一个偏序集;要求对该线性表的元素做某种重排,使得线性表中除表尾外的每个元素都小于等于(或大于等于)它的后继。<br />设R为非空集合A上的二元关系,如果R满足自反性(对于每一个x∈A,(x,x)∈R ),反对称性((x,y)∈R∧(y,x)∈R→x=y )和传递性((x,y)∈R∧(y,x)∈R→(x,z)∈R),则称R为A上的偏序关系,记作≤。如果(x,y)∈R,则记作x≤y,读作

2011-04-07 19:53:00 2657

原创 struts2中,解决property标签原样输出HTML代码的问题

<br /><br />有时候用<s:property 输出一些带有html字符的控制字符串,本意是想让它可以解析成一些功能文字,比如超链接。可是,struts2会把HTML原样输出,因为struts标签会对html进行自动的编码。<br /> <br />解决办法:<br />此标签有内置属性escape,默认值是true。把escape设置为"false"就行了……<br /><br />example:<br />        <s:property value="存有HTML的变量或表达式" es

2011-03-31 00:16:00 5682

转载 mysql中,写limit得记得排序……

<br />用mysql的limit进行分页。。发现竟然有些数据没显示在页面上。。总共才24条数据。楞找不到。。 <br />后来把语句弄到mysql上查了一下才知道。这条语句中的limit有问题。。有些数据在第二页被重复显示了。。 <br />非常郁闷。。下面给截图 <br />查第一页的语句 <br /><br /> <br /> SQL codeSELECT*FROM article a where a.type in (1,2,4) limit 0,20;<br />第一页的结果 <br />(注意

2011-03-30 13:36:00 9345

原创 MySQL中,not in子查询

<br />今天写sql语句的时候,希望通过not in子查询来限制查询结果,实际SQL语句如下:<br /><br /> <br />select  ID as id, TYPE_CODE as typeCode , TYPE_NAME as typeName ,<br />PARENT_ID as parentsId , STYLE as style , LEVELS as levels<br /> from type_code<br />where PARENT_ID = '30119a0e-2f57

2011-03-29 19:14:00 35149

原创 用MyEclips写网页文件时,光标不会乱跳了

<br />在myeclipse里头,选 window->Preferences->MyEclipse->Files and Editors->HTML->Visual Designer  <br />把 Manually refresh design view when not synchronized 选项勾上,这样以后光标就不会乱跳了!<br /> <br />Allen<br />2011-03-28<br /> 

2011-03-28 13:57:00 1208

转载 MySQL的分页优化 (转)

MySQL中一般的分页作法大多利用Limit限制回传的资料笔数来达成分页效果 例如下面的代码 Select * From news limit 0, 100第一页 Select * From news limit 100,100第二页 Select * From news limit 200,100第三页 今天突然来了一个思路 和前作上下页查询优化 的思路略同 定位到id值后再用id值作条件 优化的作法 第一页 Select * From news Where id >=( Select id From n

2011-03-09 21:58:00 667

转载 实战 Lucene,第 1 部分: 初识 Lucene (转载)

<br /><br />Lucene 简介<br />Lucene 是一个基于 Java 的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta 家族中的一个开源项目。也是目前最为流行的基于 Java 开源全文检索工具包。<br />目前已经有很多应用程序的搜索功能是基于 Lucene 的,比如 Eclipse 的帮助系统的搜索功能。Lucene 能够为文本类型的数据建立索引,所以你只要能把你要索引的数据格式转化的文本的,

2011-02-26 17:26:00 664

原创 Struts2.1.8 验证框架(validation)的使用中遇到的一些问题(直接访问jsp遇到的错误)

今天要写struts2.1.8中的validation的练习,于是乎凭着以前看过的记忆,边查文档边写……但是随后遇到的问题,令我很恼火,上网一查,原来遇到的人也不少…… 问题描述:按照struts2.1.8的文档,我贴一下应有的代码struts.xml    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"    "http://struts.apache.org/dtds/struts-2.0.dtd">

2011-02-19 11:55:00 4356 2

转载 PreparedStatement比较Statement

<br /><br />关于PreparedStatement与Statement的比较,网络上已经有许多文章告诉我们要使用PreparedStatement来代替Statement。<br />大致的原因是:<br /> 1、预编译语句有可能被重复调用.所以语句在被DB的编译器编译后的执行代码被缓存下来,那么下次调用时只要是相同的预编译语句就不需要编译,只要将参数直接传入编译过的语句执行代码中(相当于一个函数)就会得到执行.这并不是说只有一个Connection中多次执行的预编译语句被缓存,而是对于

2010-12-28 10:12:00 1035

原创 Struts 2.1 的bug 之一

<br /><br />   今天部署Struts2.1的项目的时候,遇到了这个错误:<br />com.opensymphony.xwork2.util.FileManager$FileRevision.needsReloading 。 个人感觉比较莫名其妙~然后检查了一番以后,没发现有任何错误……<br />  在更换服务器以后,发现好了…… 然后最后想了想,查了查,发现这个是一个bug~<br />      注:我用的是tomcat6 <br />     结论:如果TOMCAT的安装目录存在空格或

2010-12-24 20:46:00 755

原创 2010.11 Linux内核分析第三次作业

<br />Linux的页框管理采用什么算法?简述该算法。Linux的页框管理采用buddy算法(伙伴算法)<br />把所有空闲页框分组为10(Linux2.6.26为11)个块链表,每个块链表分别包含大小为1,2,4,8,16,32,64,128,256和512个连续的页框<br />每个块的第一个页框的物理地址是该块大小的整数倍<br />例如:大小为16个页框的块,其起址是16×4KB的倍数<br />例如:0和1是伙伴,1和2不是伙伴<br />两个伙伴的大小必须相同,物理地址必须连续<br />

2010-12-08 21:05:00 1099

原创 JSP在使用URL传递中文参数的时候遇到的乱码问题

<br />今天在写作业的时候,又遇到了这个问题……几年前学JSP的时候就曾经遇到过,那时候不知道上网查的什么办法,就给解决了。但再次碰到的时候,总是又忘记,然后又是一顿google…… 这次我索性把这个问题及其解决办法写出来吧,免得以后再忘记……<br />这个问题描述如下:<br />在我的web project中,有那么几个JSP。其中有index.jsp,里头定义了form(发送到middle.jsp),然后form有文本框的输入项。其次是response.jsp,它用于获取index.jsp发过来

2010-11-08 17:31:00 1467

BT3 破解无线 WEP WPA 教程

BT3破解无线,WEP WPA 教程 可以在linux下破解局域网的密码

2009-04-18

Delphi 6程序员开发指南CHM版

Delphi 6程序员开发指南CHM版 教程 我有时候会查一查

2008-12-19

空空如也

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

TA关注的人

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