摘要:
做为程序员的我们,经常会要用到文件的上传和下载功能。到了需要用的时候,各种查资料。有木有..有木有...。为了方便下次使用,这里来做个总结和备忘。 利用表单实现文件上传 最原始、最简单、最粗暴的文件上传。 前端代码: 【注意】 1、需要post提交 2、enctype="multipart/form 阅读全文
摘要:
受害人群逐渐增多,各平台依然可以下载,相关部门依然没有动作。 反信用钱包群:187865423 新浪新闻: http://comment5.news.sina.com.cn/comment/skin/default.html?channel=cj&newsid=comos fxwvpar841025 阅读全文
摘要:
为什么要编写单元测试
对于为什么要编写单元测试,我想每个人都有着自己的理由。对于我个人来说,主要是为了方便修改(bug修复)而不引入新的问题。可以放心大胆的重构,我认为重构觉得是提高代码质量和提升个人编码能力的一个非常有用的方式。好比一幅名画一尊雕像,都是作者不断重绘不断打磨出来的,而优秀的代码也需要不断的重构。
当然好处不仅仅如此。TDD驱动,使代码更加注重接口,迫使代码减少耦合,使开发人员一开始就考虑面对各种情况编写代码,一定程度的保证的代码质量,通过测试方法使后续人员快速理解代码...等。
额,至于不写单元测试的原因也有很多。原因无非就两种:懒、不会。当然你还会找更多的理由的。 阅读全文
摘要:
下载Visio "地址" 下载完毕,自行安装。至于破解,生在天朝的你必有的技能。 右键,新建 Microsoft Visio 绘图(我安装的是2013) 双击打开 现在我们就可以使用UML类图了。 最常用也就这几种了。 斜体【抽象类】 +公有(pubic) 私有(private) 《》【接口】 虚线 阅读全文
摘要:
在写面向对象编程思想-设计模式中的js部分的时候发现很多基础知识不了解的话,是很难真正理解和读懂js面向对象的代码。为此,在这里先快速补上。然后继续我们的面向对象编程思想-设计模式。
什么是鸭子类型
javascript是一门典型的动态类型语言,也就弱类型语言。
那什么是鸭子类型:【如果它走起路来像鸭子,叫起来也是鸭子,那么它就是鸭子】 阅读全文
摘要:
我们大多时候用着面向对象的语言,写着面向过程的代码。
学习设计模式不是死搬硬套,更不是为了模式而模式。
我们学习设计模式是要学习其中的编程思想,面向对象的的思想。
设计模式就像是拳法一样,拳法只是用来练习的。你实战的时候一定不会打完上一个动作再打下一个动作。我们要做到融会贯通、运用自如,达到手中无剑,心中有剑,人剑合一的境界。 阅读全文
摘要:
世界上本来没有设计模式。用的人多了,也就成了设计模式。所以,我们不是严格按照它的定义去执行,可以根据自己的实际场景、需求去变通。领悟了其中的思想,实现属于自己的设计模式。
你肯定有过这样的体会。某某时候,听人说起**模式。这么牛逼,回去得看看。结果仔细一看原来自己早就是这么用了,只是不知道它还有个这么高大上的名字。当然,专业的名字方便我们业内交流和教学,对技术的发展和传播起着重要的作用。
废话不多说,和我一起来学习这些高大上的术语吧。本系列《设计模式学习》,通过对传统面向对象编程语言C#和函数为第一等的元素的javascript语言来对比学习加深对设计模式的领悟和运用 阅读全文
摘要:
新异步的优势
在此之前已经有了多种异步模式,为什么还要引入和学习新的async\await异步呢?当然它肯定是有其独特的优势。
我们分两个方面来分析:WinForm、WPF等单线程UI程序和Web后台服务程序。
对于Web后台服务程序
也许对于后台程序的影响没有单线程程序那么直观,但其价值也是非常大的。且很多人对新异步存在误解。
【误解】:新异步可以提升Web程序的性能。
【正解】:异步不会提升单次请求结果的时间,但是可以提高Web程序的吞吐量 阅读全文
摘要:
新进阶的程序员可能对async、await用得比较多,却对之前的异步了解甚少。本人就是此类,因此打算回顾学习下异步的进化史。
本文主要是回顾async异步模式之前的异步,下篇文章再来重点分析async异步模式。 阅读全文
摘要:
简述什么是协变性、逆变性、不变性 协变性,如:string->object (子类到父类的转换) 逆变性,如:object->string (父类到子类的转换) 不变性,基于上面两种情况,不可变。具体下面再做分析。 泛型委托的可变性 先使用框架定义的泛型委托Func和Action做例子(不了解的请戳 阅读全文