代码改变世界

如何有效地报告 Bug

2012-12-20 08:54 by JustRun, 688 阅读, 1 推荐, 收藏, 编辑
摘要:转自http://www.chiark.greenend.org.uk/~sgtatham/bugs-cn.html引言为公众写过软件的人,大概都收到过很拙劣的bug(计算机程序代码中的错误或程序运行时的瑕疵——译者注)报告,例如:在报告中说“不好用”;所报告内容毫无意义;在报告中用户没有提供足够的信息;在报告中提供了错误信息;所报告的问题是由于用户的过失而产生的;所报告的问题是由于其他程序的错误而产生的;所报告的问题是由于网络错误而产生的;这便是为什么“技术支持”被认为是一件可怕的工作,因为有拙劣的bug报告需要处理。然而并不是所有的bug报告都令人生厌:我在业余时间维护自由软件,有时我会收 阅读全文

用tar和split将文件分包压缩

2012-11-11 11:29 by JustRun, 1509 阅读, 0 推荐, 收藏, 编辑
摘要:出自 http://www.bytea.net/material/80-pc/312-tarsplit记得以前用3.5寸盘的时候常需要把一个文件分成几张盘来拷贝,现在的U盘越来越大,还有众多的网上存储空间,好久没用分割文件了。不过有的时候还是需要 分割文件的,比如从虚拟主机上下载一个打包的备份文件,而网速又比较慢,容易下载一半中断。又比如需要打包备份一个硬盘里的东西,不过一张dvd的容量只 有4.7G,不够用怎么办?这就需要用到split命令了。举例说明:要将目录logs打包压缩并分割成多个1M的文件,可以用下面的命令:tar cjf - logs/ |split -b 1m - logs.t 阅读全文

在Winform,Silvelight,WPF等程序中访问Asp.net MVC web api

2012-11-08 19:53 by JustRun, 1646 阅读, 1 推荐, 收藏, 编辑
摘要:Asp.net mvc 4中出现的web api是用来实现REST.关于什么是REST,可以看这里http://zh.wikipedia.org/zh/REST通过ajax等访问 web api非常方便,但是如何在Winform, Silverlight等访问web api呢?通过搜索,发现了已经有人做过这个东西了,就是RestSharp.http://restsharp.org/https://github.com/restsharp/RestSharpRestSharp不只是访问web api, 访问其他平台的Rest API也是一样。看看介绍的使用,无论是post数据,文件,格式化返回数 阅读全文

python中使用and和or来实现其它语言中的?号表达式

2012-10-28 14:59 by JustRun, 492 阅读, 0 推荐, 收藏, 编辑
摘要:python中的and和or和其它语言的区别很大其它语言中的and和or都是返回bool类型的结果,python不是。它返回的是做and和or运算的其中一个值。那个值决定了这个表达式的值,就返回那个值。>> 5 and ‘’这里结果是'', 空字符串, 因为是它导致了这个表达式为false.也就是所在and中,只有前面一个值是false的时候,才有可能成为结果。否则就是后面的值为结果。了解了and和or运行的过程,那么就可以实现?表达式了:if (expression): return truevalueelse: return falsevalue和这个等价的写法 阅读全文

cygwin下git出现ca-bundle.crt相关错误的解决办法

2012-10-26 01:55 by JustRun, 774 阅读, 0 推荐, 收藏, 编辑
摘要:在windows下使用cygwin下的git访问需要https连接的git repository(比如github)时,有时会报告错误:error: error setting certificate verify locations: CAfile: /usr/ssl/certs/ca-bundle.crt CApath: none while accessing https://github.com/username/repositoryname/info/refsfatal: HTTP request failed这是因为缺少证书所致。重新运行cygwin的setup.exe,然后安装c 阅读全文

Asp.net MVC中repository和service的区别

2012-10-21 21:12 by JustRun, 3841 阅读, 6 推荐, 收藏, 编辑
摘要:在Asp.net MVC controller的底层,常常有提到repository和service layer, 好像都是逻辑相关的层,那么它们到底是什么区别呢?简单的说:repository就是一个管理数据持久层的,它负责数据的CRUD(Create, Read, Update, Delete)service layer是业务逻辑层,它常常需要访问repository层,但是它不关心数据是如何获取和存储的。 阅读全文

分析Autofac如何实现Controller的Ioc(Inversion of Control)

2012-10-19 21:33 by JustRun, 7344 阅读, 15 推荐, 收藏, 编辑
摘要:Autofac是一个Ioc框架,最大的特点应该是可以不用配置文件,直接用C#代码来注册。Autofac同时也提供了对于Asp.net MVC的扩展。这里是Autofac的文档,介绍如何在MVC项目中集成使用:protected void Application_Start(){ var builder = new ContainerBuilder(); builder.RegisterControllers(typeof(MvcApplication).Assembly); var container = builder.Build(); DependencyResol... 阅读全文

Orchard CMS前台页面为什么没有Edit链接?

2012-10-19 01:13 by JustRun, 683 阅读, 1 推荐, 收藏, 编辑
摘要:开始看Orchard的文档,文档中提到当以管理员身份登陆后,应该是在每个部分都会出现Edit的链接,点击就能跳转到编辑这个部分的页面。但是实际部署却发现没有。其实,只需要在后台Module上Eanble这2个Modules就可以了:Content Control WrapperWidget Control WrapperOrchard在1.4之后,就改变了,默认没有开启这个功能 阅读全文

在Autofac中如何获取注册组件的类型

2012-10-17 22:11 by JustRun, 1186 阅读, 2 推荐, 收藏, 编辑
摘要:假如这里我注册component:builder.RegisterType<DeleteOrganization>().As<IDeleteOrganization>();后面我们想获取类型,可以这样container.Resolve<IDeleteOrganization>().GetType()但是这样是先实例化了DeleteOrganization对象,然后再获取Type, 但是我们并不需要实例。如何做才能更有效率呢?合理的做法是:var registration = container.ComponentRegistry .Registrations 阅读全文

适合.net程序员的.gitignore文件

2012-10-16 08:36 by JustRun, 672 阅读, 0 推荐, 收藏, 编辑
摘要:#OS junk files[Tt]humbs.db*.DS_Store#Visual Studio files*.[Oo]bj*.user*.aps*.pch*.vspscc*.vssscc*_i.c*_p.c*.ncb*.suo*.tlb*.tlh*.bak*.[Cc]ache*.ilk*.log*.lib*.sbr*.sdf*.opensdf*.unsuccessfulbuildipch/obj/[Bb]in[Dd]ebug*/[Rr]elease*/Ankh.NoLoad#MonoDevelop*.pidb*.userprefs#Tooling_ReSharper*/*.resharp 阅读全文

smplayer中使用srt字幕乱码问题

2012-10-15 06:48 by JustRun, 565 阅读, 0 推荐, 收藏, 编辑
摘要:选择菜单选项->首选项->字幕选择默认字幕编码cp936(简体中文)和正确的中文字体 阅读全文

什么是域(domain)

2012-10-11 08:43 by JustRun, 3199 阅读, 3 推荐, 收藏, 编辑
摘要:转自: http://www.cnblogs.com/jfzhu/archive/2012/10/11/2719285.html在今天很多人都有意识或无意识的跟域这个东西打过交道。如果你在公司里使用电脑,并且你的电脑接入了公司的局域网,那你的电脑很可能就在一个域中。如何查看你的电脑是否连接到一个域中,以Windows为例,右击我的电脑 –>属性,可以看到,我现在使用的这台电脑就加入了一个域。域已经成为绝大多数公司组织、连接电脑的一种方式。那么我们究竟为什么要使用域?它能给我们带来什么好处呢?假设你是公司的系统管理员,你们公司有一千台电脑。如果你要为每台电脑设置登录帐户,设置权限(比如是否 阅读全文

理解为什么要使用Ioc

2012-10-11 06:34 by JustRun, 5657 阅读, 2 推荐, 收藏, 编辑
摘要:转自 http://www.cnblogs.com/shanyou/archive/2010/05/28/1746711.html较复杂的应用程序都是由多个项目组织成的,项目可以划分成程序集(Assemblies)和宿主(Hosts),也就是应用程序的入口。Assemblies 通常是常见的类库项目,包括可以重用的功能和方便测试,通常包括下面的组件:Views, Controllers 和 Models服务持久类 和 repositoriesDecoratorsReusable user controls规则库业务逻辑这些项目通常不应该直接依赖于下面的组件:IoC 容器程序集;日志记录框架 ; 阅读全文

如何处理Entity Framework中的DbUpdateConcurrencyException异常

2012-10-10 10:29 by JustRun, 4798 阅读, 1 推荐, 收藏, 编辑
摘要:1. Concurrency的作用场景有个修改用户的页面功能,我们有一条数据User, ID是1的这个User的年龄是20, 性别是female(数据库中的原始数据)正确的该User的年龄是25, 性别是male这个时候A发现User的年龄不对, 就给改成25, 那么在Entity Framework中,我们会这样做。var user = dbConext.User.Find(1);//B用户在这里完成修改了User的性别user.age = 25;dbContext.SaveChanges();但是加入在上面注释处,有个B用户发现性别不对,完成了对用户性别的修改,改成male. 会出现什么结 阅读全文

Entity Framework练习题

2012-10-09 15:16 by JustRun, 1003 阅读, 0 推荐, 收藏, 编辑
摘要:1. 问题: 变量id2的值是1,还是2? 假如如下面的注释操作,movies2有几条记录?里面会包含ID = 1的记录吗?var id1 = db.Movies.First().ID;var movies1 = db.Movies.ToList();var movie = from m in db.Movieswhere m.ID.Equals(1)select m;movie.First().ID = 2;var id2 = db.Movies.First().ID;//下面设置断点,运行到断点处后,手动向数据库中再添加一条记录var movies2 = db.Movies.ToList( 阅读全文

Html.Partial和Html.RenderPartial, Html.Action和Html.RenderAction的区别

2012-09-28 16:14 by JustRun, 1005 阅读, 1 推荐, 收藏, 编辑
摘要:Html.Partial返回的是一个字符串, Html.RenderPartial会将内容写入到response中, 返回void在Razor中,下面2中写法是等价的:@Html.Partial("ViewName")@{Html.RenderPartial("ViewName"); }你可以使用 Html.Partial, 把Partial View的输出保存到变量中, 但是Html.RenderPartial不行.Html.RenderPartial会在执行的时候,直接把输出写进Response.Html.Action和Html.RenderActi 阅读全文

如何为Asp.net MVC web api生成Url?

2012-09-28 13:59 by JustRun, 1271 阅读, 0 推荐, 收藏, 编辑
摘要:为某个Action生成Url, 可以使用Url.Action方法,就能得到针对某个Action的Url.但是web API呢? 好像没有Url.Api方法的。这里如果我们的web api的route是这样设置的: config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } )... 阅读全文

一个免费开源的pdf合并和分割工具

2012-09-28 09:32 by JustRun, 3090 阅读, 0 推荐, 收藏, 编辑
摘要:今天遇到一个问题,需要对一个PDF分割和合并的工作,但是装Adobe Acrobat有太庞大了,以后也不经常用这里推荐一个发现的免费开源的PDF工具,几乎不用任何学习就可以很快的完成PDF页面分割与合并,可以直接解压就能使用PDF Split and Merge:http://sourceforge.net/projects/pdfsam/PDF Split and Merge的操作非常简单,在(merge)标签中可以PDF文件的合并,只要将你想要合并的文件通过(Add)來加入,然后调整合并的顺序在(Split)标签,先指定一個需要分割的pdf文件,设置一下分割方式 阅读全文

认证 (authentication) 和授权 (authorization) 的区别

2012-09-27 09:04 by JustRun, 721 阅读, 1 推荐, 收藏, 编辑
摘要:转自 http://www.cnblogs.com/joooy/archive/2010/08/08/1795257.html以前一直分不清 authentication 和 authorization,其实很简单,举个例子来说:你要登机,你需要出示你的 passport 和 ticket,passport 是为了证明你张三确实是你张三,这就是 authentication;而机票是为了证明你张三确实买了票可以上飞机,这就是 authorization。在 computer science 领域再举个例子:你要登陆论坛,输入用户名张三,密码1234,密码正确,证明你张三确实是张三,这就是 au 阅读全文

Entity Framework中的DataAnnotations

2012-09-26 00:16 by JustRun, 1316 阅读, 0 推荐, 收藏, 编辑
摘要:Model使用DataAnnotations定义数据库和验证using System.ComponentModel.DataAnnotations;using System.ComponentModel.DataAnnotations.Schema注意这里的验证会在web客户端和EF端同时验证。[Key] 数据库: 定义主键[Required] 数据库: 会把字段设置成not null验证: 会要求必须输入是否可以为null [Required(AllowEmptyStrings = false)] 不能为null和空字符串[MaxStringLegth]数据库: 字段长度验证: 验证是否超出 阅读全文