2009年06月16日
许多Visual C++的使用者都碰到过LNK2005:symbol already defined和LNK1169:one or more multiply defined symbols found这样的链接错误,而且通常是在使用第三方库时遇到的。对于这个问题,有的朋友可能不知其然,而有的朋友可能知其然却不知其所以然,那么本文就试图为大家彻底解开关于它的种种疑惑。
大家都知道,从C/C++源程序到可执行文件要经历两个阶段:(1)编译器将源文件编译成汇编代码,然后由汇编器(assembler)翻译成机器指令(再加上其它相关信息)后输出到一个个目标文件(object file,VC的编译器编译出的目标文件默认的后缀名是.obj)中;(2)链接器(linker)将一个个的目标文件(或许还会有若干程序库)链接在一起生成一个完整的可执行文件。
编译器编译源文件时会把源文件的全局符号(global symbol)分成强(strong)和弱(weak)两类传给汇编器,而随后汇编器则将强弱信息编码并保存在目标文件的符号表中。那么何谓强弱呢?编译器认为函数与阅读全文>
发表于 @ 2009年06月16日 10:35:00|评论(loading...)|举报|收藏
2009年04月02日
解决方法:
可以使用mysql以外的服务名,比如mysql11,等.但这不是最好的解决方法,我们可以使用windows的sc程序删除mysql服务.
C:>sc delete mysql
[SC] DeleteService SUCCESS
再重新使用MySQL Configuration Wizard,就不会有此错误了。阅读全文>
发表于 @ 2009年04月02日 15:35:00|评论(loading...)|举报|收藏
2008年12月15日
在ETL过程中,对于渐变维度的处理,一直是大家比较关注的问题。关于渐变维度的概念,我们在2007年8月的“渐变维度转换及其实现”一文中有所介绍。本文将在实际应用的对比中,提供三种处理渐变维度的方法,并比较其效率。
第一代:SSIS控件时代
对于一些会在原业务系统中进行修改/添加维度,不需要记录记录历史属性的维度,我们通常会选择SSIS中控件“渐变维度”来完成这项工作。应对这种情况我们选用Type2。
Type2:变化的属性
说明:如果更改后的值应当覆盖现有值,则选择该类型。
解析:既需要更改又不用记录历史属性的类型。
选择好数据源,设置好“业务键”和“非键列”之后(如图1),我们再对需要进行更新的“非键列”设置“更改类型”即可,如图2。
图1
图2
之后SSIS会帮我们生成数据流。简单快捷,3分钟完成一张表格,如图3。
图3
第二代:SQL语句时代
阅读全文>
发表于 @ 2008年12月15日 10:12:00|评论(loading...)|举报|收藏
2009年03月24日
这里需要注意的就是BooleanClause.Occur[]数组,它表示多个条件之间的关系,BooleanClause.Occur.MUST表示and,BooleanClause.Occur.MUST_NOT表示not,BooleanClause.Occur.SHOULD表示or. 阅读全文>
发表于 @ 2009年03月24日 15:15:00|评论(loading...)|举报|收藏
import java.io.IOException;import org.apache.lucene.analysis.standard.StandardAnalyzer;import org.apache.lucene.document.Document;import org.apache.lucene.document.Field;import org.apache.lucene.index.CorruptIndexException;import org.apache.lucene.index.IndexWriter;import org.apache.lucene.index.Term;import org.apache.lucene.queryParser.MultiFieldQueryParser;import org.apache.lucene.search.BooleanClause;import org.apache.lucene.search.BooleanQuery;import org.apache.lucene.s阅读全文>
发表于 @ 2009年03月24日 14:36:00|评论(loading...)|举报|收藏
2009年03月20日
There are many ways to create a complete URL Mapping solution. But most of the serious URL Mapping code, utilizes something a little more advanced than the urlMapping node in Web.Config.
The next level up from my previous post, needs to take you into the world of HTTP Handlers. I did not have all the time in the world on this post, so I have decided to put some simple elements of the solution, rather than a complete tutorial. I trust using any keywords from here, you will find lots of阅读全文>
发表于 @ 2009年03月20日 16:28:00|评论(loading...)|举报|收藏
2007年有幸参加了OCT创意节的设计论坛,听取了日本著名设计师深泽直人的《意识的核心》讲座,深有体会,感概良多,尤对其“设计来源生活中”这一观点感同身受,非常欣赏他敏锐的观察视角 关注生活细节的心,再一次说明:好的设计师一定是一个热爱生活的人。
今日再搜索于网络,也找到了当日他演讲的一些文字稿,特与大家共同分享。同时,也摘录一句所谓“核心”箴言与大家共勉之:
我自己觉得与其说是设计新的东西,倒不如说是找一个实际上已经存在,但是你还没有真正发现的东西。——深泽直人 我对于此言的理解是,“实际存在”应当为对于生活认知一个提炼后产生的很成熟的想法和观点,而非随意生活化。那就需要我们“真正发现”。属于设计中的“超现实主义”,其真正始祖,便是画家达利。 上图为深泽直人(Naoto Fukasawa)的 ±0 的2.5R系列新产品,钟和温度湿度计。(关于R2.5,不仅仅是2.5R系列产品是2.5的圆角,Naoto Fukasawa 的很多作品都用R2.5,R2.5按 Naoto Fukasawa 介绍,这是一种人们很熟悉的弧度,是木材自然的弧度。阅读全文>
发表于 @ 2009年03月20日 16:17:00|评论(loading...)|举报|收藏
可能和我一样,很多Asp.Net开发人员都有过Asp的背景,以至于我们在开发程序的时候,通常都是在“页面级”上思考,也就是说我们现在正在做的这个页面应该有什么样的功能,是进行一个问卷调查还是一个数据库查询等等。而很少在“请求级”思考,考虑有没有办法来通过编码的方式来操控一个Http请求。
实际上,Framework提供了一系列的接口和类,允许你对于Http请求进行编程,而实现这一操作的一个主要的接口,就是 IHttpHandler(另一个是IHttpModule)。
应该还记得第一节中我们提到过 ISAPI,它根据文件名后缀把不同的请求转交给不同的处理程序。但是仔细看看就会发现:几乎一大半的文件都交给 aspnet_isapi.dll 去处理了。很明显,aspnet_isapi.dll 不可能对每种文件采用同一种方式处理,那么 aspnet_isapi.dll 是如何更进一步处理不同的文件,交由谁去处理呢?为了搞清楚这个问题,我们需要打开机器上C:\WINDOWS\Microsoft.NET\ Framew阅读全文>
发表于 @ 2009年03月20日 16:14:00|评论(loading...)|举报|收藏
2009年03月19日
权限管理一直是比较麻烦处理的问题,每个页面都需要写权限代码,增加了重复的工作量,因此想做一个权限控制的模块,在请求处理的时候截获请求的页面是否允许当前用户访问,如果允许则访问该页面,不允许则调转到错误页面。在运行的时候,出现问题,总是在不断的请求错误页面,不知如何解决。探索中,希望高手走过留言,多支招。using System;using System.Collections.Generic;using System.Text;using System.Web;using BusinessLogic.UserRightManager;using System.Configuration;namespace BusinessLogic.UserRightManagerModule{ public class RightModule:System.Web.IHttpModule { private Dictionary阅读全文>
发表于 @ 2009年03月19日 23:59:00|评论(loading...)|举报|收藏
2009年03月18日
1 Application_Start(程序启动)
2.Application_BeginRequest(开始请求)
3.Application_AuthenticateRequest(验证鉴别身份,身份通过后授权)
4.Application_AuthorizeRequest(授权)
5.Application_ResolveRequestCache(授权后读取缓存服务)
6.Application_AcquireRequestState(获得请求状态)
7.Application_PreRequestHandlerExecute(请求执行)
8.Application_PostRequestHandlerExecute(事件执行后触发)
9.Application_ReleaseRequestState(执行完所有事件后触发)
10.Application_UpdateRequestCache(更新程序请求的缓存数据)
11.Application_EndRequest阅读全文>
发表于 @ 2009年03月18日 17:38:00|评论(loading...)|举报|收藏