摘要:
前段时间在项目里遇到了一个比较头疼的问题,就是高版本的Safari中默认会阻止第三方cookie,这使得使用Safari浏览器的用户无法按照正常的业务逻辑进行操作。问题展现知识点什么是第三方cookie呢?在访问一个网站A时,网站A算作第一方,如果网站A中引用了另一个网站B(网站B的域名与网站A的域... 阅读全文
摘要:
原理通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。相信大家都打过扑克牌,很好理解。例子将数组[5,6,3,1,8... 阅读全文
摘要:
原理首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。一种简单直观的排序算法。例子将数组[3,6,4,2,5,1]进行从大到小排序排序步骤:第一趟找到最小数1,放到最前边(与首... 阅读全文
摘要:
原理快速排序(Quicksort)是对冒泡排序的一种改进。从数列中挑出一个元素,称为"基准"(pivot);排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在本次排序退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作... 阅读全文
摘要:
原理将相邻的数据两两进行比较,按照从小到大或者从大到小的顺序进行位置交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后从头开始再次进行两两比较交换,直到倒数第二位时结束。按照此规则,若干趟数据便按照了从小到大或者从大到小完成了排序。例子将数组[3,6,4,2,5,1]进行从大到小排序第一... 阅读全文
摘要:
日常工作中,处理数据难免会遇到遍历,for循环可能是我们用的比较多的了。本节就来探讨下for语句嵌套循环的性能,猜想下面两个语句的性能。语句1for ( i= 0; i < 1000000; i++){ for (j =0; j < 100; j++) { ... 阅读全文
摘要:
悄悄的,2014离开了,带走了我的青春中的一年。这一年,我才毕业,这一年,我又混掉了......总想写点什么,可真正到写的时候,却发现自己文笔是这样的不堪,也许是缺少锻炼的缘故,也许自己天生就不善言谈。但是,这些都不应该成为借口,人,总该要往前一步。2014年:毕业——>正式工作从实习到毕业,我都在... 阅读全文
摘要:
反射是一个运行库类型发现的过程。通过反射可以得到一个给定程序集所包含的所有类型的列表,这个列表包括给定类型中定义的方法、字段、属性和事件。此外,通过反射也可以动态的发现一组给定类支持的接口、方法的参数和其他相关信息,例如基类、命名空间、数据清单等。一、System.Reflection命名空间内的各... 阅读全文
摘要:
由于IIS版本的升级,造成了文件名中含有“+”的特殊字符的文件(多数是图片)在网页中不能被访问,于是必须查找当前目录下含有多少这样的文件,从而制定最佳的解决方案。废话少说,直接上核心代码: public void GetAllFilesInDirectory(string strDir... 阅读全文
摘要:
我们通常使用IE条件判断语言来处理IE的CSS问题,但其实还是有其他的一些方法来处理IE的CSS bug的。一、IE条件判断语句IE条件判断语句也许是用的最多的区分IE版本(IE6, IE7, IE8)的办法了。看看下面用来区分IE不同版本的代码: * = IE8版本 * = IE7版本以低版本... 阅读全文
摘要:
在这部分中,我们将查看自动生成的Detail方法和Delete方法。打开Movie控制器,查看Detail方法 // // GET: /Movies/Details/5 public ActionResult Details(int id = 0) { Movie movie = db.Movies.Find(id); if (movie == null) { return HttpNotFound(); } re... 阅读全文
摘要:
本节我们将为Movie类型增加逻辑验证,以确保任何用户试图使用该应用程序创建或编辑影片时执行验证规则。DryASP.NET MVC的核心原则之一是干爽(“不需要自己重复”)。ASP.NET MVC鼓励我们只指定一次功能或行为,然后在应用程序中到处使用。这种做法减少了需要编写的代码量,使你的代码编写不容易出错,且更容易维护。ASP.NET MVC和Entity Framework代码先行为验证提供支持,是干爽原则应用的一个很好的例子。在一个模型的类中以声明方式指定验证规则,在整个应用程序中执行验证规则。让我们来看看如何在电影程序中利用验证支持。向Movie模型中添加验证规则 ... 阅读全文
摘要:
在本节中,我们将使用实体框架代码先行迁移功能对模型类进行修改,并使修改应用带数据库中。默认情况下,当我们使用实体框架代码先行自动创建一个数据库,像我们在本系列前面做的那样,代码首先添加一张表到数据库中,以帮助跟踪数据库架构是否是同步的模型类是产生的。如果它们不同步,实体框架抛出一个错误。这使得它更容易在早期开发时跟踪发现问题,否则,我们可能在运行时发现隐晦错误。为模型修改建立代码先行迁移我们使用的是Visual Studio 2012,在“解决方案资源管理器”中双击我们的数据库文件,打开数据库工具。Visual Studio Express for Web将显示“数据库资源管理器”,Visua 阅读全文
摘要:
本节中,我们将添加一个SearchIndex方法,可以通过片名来搜索影片。/Movies/SearchIndex地址将可用。该请求将显示一个包含用户可以输入的Input元素的表单来查找影片。当用户提交表单后,该方法将得到用户提交的搜索值并用于搜索数据库。首先在现有的MoviesController类中增加一个SearchIndex方法。该方法将返回包含Html表单的视图。以下为代码:public ActionResult SearchIndex(string searchValue) { var movies = from m in db.Movies ... 阅读全文
摘要:
在本节中,我们将查看为影片控制器生成的方法和视图。运行程序,在浏览器中访问/Movies。鼠标悬停在影片列表某条记录的Edit链接上方,会看到链接类似于http://localhost:54454/Movies/Edit/1。Edit的链接是由Views\Movies\Index.cshtml文件中的Html.ActionLink方法生成的,如下所示:@Html.ActionLink("Edit","Edit",new{id=item.ID})Html对象是System.Web.Mvc.WebViewPage基类暴露出来的一个属性,作为助手来使用。助手的 阅读全文