Ionic.Utils.Zip大全

项目开发中用到了Koogra,处理excel2007时遇到Invalid header magic number的问题。不得不吐嘈一下关于Koogra的资源是真的少,不过好再找到了问题的根源:Koogra读取2003和2007是不一样的,需要写两个不同的配置类。代码稍后贴出来(也是网上找的)。

但是在使用过程中,编译项目时new Net.SourceForge.Koogra.Excel2007.Workbook报错,提示缺少Ionic.Utils.Zip.dll的引用。于是到网上down了一个引用进来,编译通过了,但在运行时又报黄页了,看了一下错误提示,Koogra引用了个1.3.0版本的Ionic.Utils.Zip。 找半天终于找着了1.3.0版本的dll,整理了一下,有需要的自行下载吧。 继续阅读

.Net 高效开发之不可错过的实用工具

工欲善其事,必先利其器,没有好的工具,怎么能高效的开发出高质量的代码呢?本文为各ASP.NET 开发者介绍一些高效实用的工具,涉及SQL 管理,VS插件,内存管理,诊断工具等,涉及开发过程的各个环节,让开发效率翻倍。

Visual Studio
Visual Studio Productivity Power tool: VS 专业版的效率工具。 继续阅读

依赖反转Ioc和unity,autofac,castle框架差异及教程汇总

1、依赖倒置的相关概念

http://www.cnblogs.com/fuchongjundream/p/3873073.html

IoC模式(依赖、依赖倒置、依赖注入、控制反转)

2、依赖倒置的方式

http://www.cnblogs.com/muzinian/p/3357741.html

于依赖反转原则、控制反转和依赖注入的抽象的初学者指南

3、主流ioc框架

http://www.cnblogs.com/bchp/articles/1527693.html

http://www.cnblogs.com/liping13599168/archive/2011/07/17/2108734.html
继续阅读

mongodb数据去重

又是好久不更新了,至于为什么没更的原因,就是懒了。扯淡完,入正题。
因业务需要对mongodb中一亿八千多万的数据,针对其中一个字段进行去重处理。一把辛酸泪,分享一下踩过的坑。

第一种方式(网上扒的,然并卵的那种),使用mongodb游标dbcursor和while循环。看起来长成下面这样。 继续阅读

sql server质疑模式解决方式

开发过程中sqlserver莫名其妙变成质疑模式了,查资料解决了,记录一下。
1.设置数据库状态,脚本:EXEC sp_resetstatus ‘dbName’
2.设置数据库为紧急模式,脚本:ALTER DATABASE dbName SET EMERGENCY
3.设置数据库为单用户模式(对数据库检查修复只能在单用户模式下),脚本:ALTER DATABASE dbName SET SINGLE_USER
4.检查并修复数据库,会提示你修复数据库可能丢失数据。脚本:DBCC CheckDB (dbName, REPAIR_ALLOW_DATA_LOSS),这个操作正常应该不会丢失数据库数据,但是数据库日志的完整性将受到破坏。
5.恢复数据库为多用户模式,脚本:ALTER DATABASE dbName SET MULTI_USER
6.恢复数据库状态,脚本:ALTER DATABASE dbName SET ONLINE

在武汉应该如何浪

摘自乐玩武汉,小编整理的挺全面的。分享一下~

1月,大概是武汉最冷的一段时间,不妨选一个非周末日,带上一家人去泡个温泉,整个人都感觉暖暖的。
1月,一定要去吃一顿火锅,可以去南京路附近,那里藏着武汉各大火爆的火锅店。
1月底,武汉的梅花渐渐进入花期,如果不想走远,可以拿上相机去解放公园,近百株梅花在其他绿叶的衬托下争相斗艳。

2月,过完年的武汉伢开始回到了学校和工作岗位上,但是没关系,下班后你可以约上仨俩好友,去看看中山大道的夜景,重回民众乐园回忆你的青葱岁月。
2月,找个周末坐一次地铁6号线,沿着这条浓缩了武汉老汉口风情的地铁线,仔细的游览一遍我们没有认真看过的武汉。
2月,起个大早去重新开业的吉庆街,尝尝好久没吃过的老通城的豆皮,据说还是那个味道。 继续阅读

作个linux下vim的笔记

接触linux后不可避免的会用到vim,小白一枚,加之上了年纪记性不好,时常忘记各种命令。作个笔记以备来时查询吧。

:1 跳到文件头
:$ 跳到文件尾

/helloworld 从文件上面到下面查找helloworld
?helloworld 从文件下面到上面查找helloworld

一、用/和?的区别:
/后跟查找的字符串。vim会显示文本中第一个出现的字符串。
?后跟查找的字符串。vim会显示文本中最后一个出现的字符串。
二、注意事项:
不管用/还是?查找到第一个字符串后,按回车,vim会高亮所有的匹配文

ubuntu下默认的是incsearch模式,就是输完命令后,会自动显示第一个(或最后一个)匹配。
如果输入:set noincsearch 会转到普通模式,不会自动显示第一个匹配,回车后显示所有匹配。
高亮所有的匹配后,按n键转到下一个匹配,按N键转到上一个匹配。

校验ip是否白名单

近期接到一个开发任务,MQ代理模块增加支持ip端配置白名单逻辑,比如配置10.96.*.* 10.*.*.* 等规则中发过来的消息队列可以正常转发,否则一律不处理。关于匹配验证这种事情一般来说第一反应就是正则了,无奈小弟才疏学浅,每次看完正则后不用很快就忘了。最后借鉴同事指点换了个实现方式。 思路是把配置的ip规则计算出一个range,然后比对被验证的ip是否在这个区间即可。 老规矩,贴代码凑篇幅~ 继续阅读

分享一首不错的指弹曲

美国堪萨斯州的指弹大师,也曾多次到国内演出过。Andy McKee最初受到摇滚乐影响,16岁时开始转向指弹领域,20岁就发行了自己的唱片。这首原声吉他作品堪称过耳难忘,非常喜欢,推荐! Andy McKee 的指弹吉他里的经典之作。 继续阅读