摘要:公司一些早期的项目,把所有工程都放到一个解决方案下了,导致整个解决方案编译很慢,而且也不便于类库的复用和维护。因此我们决定把工程按照功能划分到不同的解决方案里头,然后定期发布dll到TFS配置库上固定的TeamProject下面,以后应用程序引用时就不添加工程,而是采用添加dll的方式。但是现在遇到一个问题,发布dll一般会发布Debug和Release两个版本,那么应用程序应该引用哪个版本呢? 理想情况下,开发测试的时候应该使用Debug版本,这样抛异常的时候调试很方便。正式部署到生产环境的时候可以使用Release版本,这样性能好一些。但是添加dll的时候VS只允许选择一个版本。 我们知道
阅读全文
摘要:以前写过一篇文章讲解如何使用正则表达式完美解决Html嵌套标签的匹配问题(使用正则表达式匹配嵌套Html标签),但是里头用到了平衡组这样的高级特性,貌似只有DotNet还有Perl正则引擎支持,因此通用性不高。有朋友留言说Java直接使用的话会报错。我后来查了一下,发现Java正则引擎支持的特性相对比较少。在1.6版本中不能使用命名组(貌似1.7的时候开始支持了),否则会报以下错误,更别说平衡组了...
阅读全文
摘要:在网上看到几个有意思的Javascript代码,和大家分享一下。1. 直接在浏览器中编辑网页内容访问任意网站,在地址栏输入以上代码,会发生当前网页已经变成编辑模式了。 2. 舞动的图片这段js代码可能很多人已经见识过了。他的作用就是让网页上的图片飞舞起来。 3. 密码框密文变明文访问一个带密码框的页面,然后地址栏输入以上代码,就会弹出当前密码框中的密码了,别干坏事哟~ ——...
阅读全文
摘要:前阵子在顾磊的博客上看到他分享自己电脑上辅助软件的文章,觉得不错,于是决定也来晒一晒自己电脑里头的常用工具,分享促进进步,如果你也是个工具控的话,欢迎你也来晒晒。Launchy——快速启动程序两年前一个同事向我推荐了这款软件,一直受用至今。每天我都会无数次的按下Alt+空格,然后输入我要启动的程序的名字(大部分情况下我只需要键入程序的前两个字母即可),直接就打开我要的程序了...
阅读全文
摘要:在代码中使用Tab作为缩进并不是一个好的习惯,因为Tab并不是一个打印字符,而是一个控制字符,也就是说它在不同文本编辑器中显示的宽度不一定是相同的,因而显示效果容易产生不一致。而空格则具有很好的适应性,因为它就是一个普通字符,因此和其他字符一样受到相同的影响,显示效果会趋于一致。那些使用Tab作为缩进的人通常是因为用Tab做缩进的话,可以一次删除一个缩进单位,非常方便。而如果按照一个Tab对应4个...
阅读全文
摘要:使用远程桌面时,默认情况下当连接成功后会自动全屏,或者当你点击最大化按钮时,也会进入全屏模式,这个时候就看不到任务栏了。这多少有点不便,这样一来任务栏上的通知就看不到了,例如邮件提醒,IM提醒等,除非你开着声音。在Win7下我们可以先将远程桌面程序窗口恢复普通大小,然后按下快捷键“Win+方向键上”,这样就会就会变成以下这样了,保持任务栏可见的同时让远程桌面最大化。 &m...
阅读全文
摘要:在编写Sql脚本时通过表别名可以大大缩减Sql代码,同时表别名也是解决同表多次引用的手段之一。在select中使用表别名大家应该都很熟悉了:但是在Update中使用表别名可能就没那么多人知道了。这些天在写Sql Update脚本的时候需要引用两次同个表对象,如果直接像下面这样引用两次TableA则会抛出“The multi-part identifier ‘TableA.I...
阅读全文
摘要:字符编码的问题看似很小,经常被技术人员忽视,但是很容易导致一些莫名其妙的问题。这里总结了一下字符编码的一些普及性的知识,希望对大家有所帮助。 还是得从ASCII码说起 说到字符编码,不得不说ASCII码的简史。计算机一开始发明的时候是用来解决数字计算的问题,后来人们发现,计算机还可以做更多的事,例如
阅读全文
摘要:症状 公司一台数据库服务器上部署了IIS网站(IIS7),利用Sql Server Analysis Services的msmdpump.dll组件,实现了通过HTTP层来访问Analysis Services(MSAS不支持HTTP远程访问,非HTTP的远程访问也一直没成功过)。运行状况一直良好,最近突然罢工。Debug发现在建立连接的时候总是抛出“The Connection either ...
阅读全文
摘要:我在IIS7配置Gzip压缩一文中介绍了IIS7对于gzip压缩的相关配置,以及默认情况下,由于IIS7将Javascript配置为动态压缩(Dynamic Compression),受CPU还有其他因素的影响,不一定会返回gzip压缩后的内容。 但是前阵子发现,尽管将Javascript配置成了静态压缩,请求Javascript脚本文件的时候偶尔还是会出现没有gzip的情况。这篇文章和大家分享一...
阅读全文
摘要:最近更新了一个Sql存储过程的实现,结果导致做ETL的SSIS(Sql Server Integration Services)包出现了问题。在调试状态下发现,SSIS在启动时对包做校验的过程中抛出了异常,显示我修改后的这个存储过程有问题。 Invalid length parameter passed to the substring or left function. 奇怪的是,这还不是调用的...
阅读全文
摘要:今天同事在投放AdWords广告的时候发现了一个诡异的现象:使用Firefox点击AdWords广告跳转到客户网站上之后,再次刷新页面或者浏览其他页面均提示“Bad Request”的HTTP错误(错误码400)。而IE、Chrome下则没有这个问题。Cookie惹的祸由于HTTP本身是无状态的,用来实现状态维持的技术一般都是Cookie。而之前我也遇到过几次因为Cooki...
阅读全文
摘要:升级到VS2010也有一段时间了。当初升级之前看了不少文章讲VS2010的新特性的,确实有挺多让人兴奋的。例如智能提示支持模糊匹配了,相比以前的前向匹配更易于使用。对并行编程调试的支持更强大,允许你更方便的调试多线程程序。Silverlight UI Designer又回来了,而且这次回来变漂亮了。我觉得完全就是按照WinForm的方式设计的。相比Blend有优势也有劣势,至少速度和响应上比Ble...
阅读全文
摘要:公司的项目管理使用的是TFS(Team Foundation Server)作为源码管理工具,本来TFS对于文档的管理是建议使用Sharepoint的,但是Sharepoint太复杂了,以致于普通的最基本的应用显得非常不顺手。因此我们的文档管理采用的是源码管理一样的模式。但是TFS并不支持对word文档进行比较和合并,因此多人协作的时候如果check out忘记加锁,经常会出现冲突问题。实际上Wo...
阅读全文
摘要:概述 正则表达式是做文本解析工作必不可少的技能。如Web服务器日志分析,网页前端开发等。很多高级文本编辑器都支持正则表达式的一个子集,熟练掌握正则表达式,经常能够使你的一些工作事半功倍。例如统计代码行数,只需一个正则就搞定。嵌套Html标签的匹配是正则表达式应用中一个比较难的话题,因为它涉及到的正则语法比较多,也比较难。因此也就更有研究的价值。 思路 任何复杂的正则表达式都是由简单的子表达式...
阅读全文
摘要:概述 做日志分析工作的经常需要跟成千上万的日志条目打交道,为了在庞大的数据量中找到特定模式的数据,常常需要编写很多复杂的正则表达式。例如枚举出日志文件中不包含某个特定字符串的条目,找出不以某个特定字符串打头的条目,等等。 使用否定式前瞻 正则表达式中有前瞻(Lookahead)和后顾(Lookbehind)的概念,这两个术语非常形象的描述了正则引擎的匹配行为。需要注意一点,正则表达式钟的前和...
阅读全文
摘要:问题描述 最近项目中遇到一个和资源文件相关的很奇怪的问题。有一个Silverlight应用会根据当前Url中的某个特定参数来决定使用什么文化的资源文件(关于资源的文件的使用见Silverlight 2 RTM 多国语言支持)。在其他机器上运行没有问题,传入zh-Hans和en-US界面都能正确显示相应语言的文字。但是在我的系统上却不管传入什么都是显示的英文文字。 问题分析 打开工程看了一下,...
阅读全文
摘要:前言Javascript是一门基于对象的动态语言,也就是说,所有东西都是对象,一个很典型的例子就是函数也被视为普通的对象。Javascript可以通过一定的设计模式来实现面向对象的编程,其中this “指针”就是实现面向对象的一个很重要的特性。但是this也是Javascript中一个非常容易理解错,进而用错的特性。特别是对于接触静态语言比较久了的同志来说更是如此。示例说明我们先来看一个最简单的示例:<script type="text/javascript"> var name = "Kevin Yang"; function sayHi(
阅读全文
摘要:在IE中,当你使用javascript的window.open方法来打开一个新的对象的时候,IE并不会自动帮你传递Referrer对象到新的窗口的,也就是说你在新窗口中使用javascript读取document.Referrer对象时只会读到空值。而且后台在HTTP请求头中也不会包含Referrer头的。例如<a href="javascript:window.open('newurl.p...
阅读全文
摘要:不知道你是否有这样的经历,在重装完windows之后呢,发现grub消失了。这时候很多人都会上baidu搜索什么“grub恢复”阿之类的关键词,然后一看,这么麻烦,还不如重装系统来得简单呢。其实恢复grub并没有那么复杂恐怖,如果你是个打算成为linux中手的话(说高手的话,估计你得吓跑了),学会处理这些问题是很必要的。下面我结合自己的实践经验来讲一下如果恢复grub,顺便说一下如果利用U盘作为启...
阅读全文