什么是Code Review?要不要做Code Review?怎么做Code Review? 

案例描述随着Code Review一步步的开展,可能很多人同事在心里面会质疑在软件开发过程中竟然有这样的一个"鸡肋",到底是不是"鸡肋",本文从三个点来阐释我们究竟为什么要搞这一套,而且还搞了这么久! 案例详解什么是Code Review?通俗的讲就是找出代码缺陷、功能实现问题、编码合理性、或者性能优化;直白一点就是检查代码,然后有事没事发一份代码检查邮件,当然现在大都是自动的检查;正因为现在Code Review已经纳入TM考核,所以现在不得不...

       时间 : 2016-10-12| 栏目 : Net开发| 浏览 : 1,487 次| 暂无评论 标签: [阅读全文]

    SQL注入是如何攻击我们的呢? 

     案例描述一篇短文,了解下SQL注入是怎么实现的 案例详解首先,我们来谈一谈SQL注入的步骤:  1、判断环境,寻找注入点。  2、找到注入点后,判断数据类型。  3、根据注入参数类型,构造带有特征字符的SQL语句并提交。  4、获取信息,转入下一步攻击。以上为SQL注入的几个步骤,简易的用生活中的道理来理解:    比如想追求某个姑娘或小伙子;    首先...

         时间 : 2016-10-12| 栏目 : 数据库| 浏览 : 1,561 次| 暂无评论 标签:, [阅读全文]

      程序员的自我修养 

      首先要谈的是,今天的话题所聊的程序员包含哪些人?    在说之前,不得不提到一个很有名的程序员赵劼,他有过一个观点:“坚决反对北大青鸟等机构”,以前我也很赞同这个观点,但是现在,我在“赞同的基础上”,又坚决反对甚至反感赵劼们“发表这种观点”。因为这种观点,能够帮助并作用到的人群,是赵劼们最不可能遇到的基层开发人员,而这些最不可能遇到的人,却恰恰是在中国的最普遍的程序员,他们也是赵劼们最不可能甚至不太愿意帮助的人。如果一个高阶程序员,自恃理科基础好,逻辑性强,有过完整...

           时间 : 2016-07-25| 栏目 : 生活随笔| 浏览 : 1,557 次| 暂无评论 标签:, [阅读全文]

        设计模式六大原则(3):依赖倒置原则 

        定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带来不必要的风险。解决方案:将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接口I间接与类B或者类C发生联系,则会大大降低修改类A的几率。依赖倒置原则基于这样一个事实:相对于细节的多变性,抽象的...

             时间 : 2016-05-23| 栏目 : Net开发| 浏览 : 1,442 次| 暂无评论 标签: [阅读全文]

          设计模式六大原则(2):里氏替换原则 

          肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。定义2:所有引用基类的地方必须能透明地使用其子类的对象。问题由来:有一功能P1,由类A完成。现需要将功...

               时间 : 2016-05-23| 栏目 : Net开发| 浏览 : 1,628 次| 暂无评论 标签: [阅读全文]

            设计模式六大原则(1):单一职责原则 

            定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T2时,也不会使职责P1发生故障风险。说到单一职责原则,很多人都会不屑一顾。因为它太简单了。稍有经验的程序...

                 时间 : 2016-05-23| 栏目 : Net开发| 浏览 : 1,656 次| 暂无评论 标签: [阅读全文]

              设计模式之开放--封闭原则学习 

              开放封闭原则:软件实体应该可以扩展,但是不可以修改。它有两个特性:一,对扩展是开放的,二:对修改是封闭的。开放即可以操作,关闭即不可以操作。在设计模式中,这种不能修改却可以扩展的思想,就是开放封闭原则、我们在做任何系统时,不要奢望系统一开始需求就确定。这是不现实也是不科学的。既然需求是变化的,那么如何在需求变化时,软件相对容易修改,不至于说新的需求一来整个程序就得推到重来。怎样的需求才能面对需求的更改,却可以保持相对的稳定,从而使系统在推出第一个版本后不断地推出新的版本呢。开放—封闭模式给了我们...

                   时间 : 2016-05-23| 栏目 : Net开发| 浏览 : 1,627 次| 暂无评论 标签: [阅读全文]

                简单了解分布式系统 

                随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。本文主要简单介绍了分布式系统的概念、分布式系统的特点、常用的分布式方案以及分布式和集群的区别等。一、集中式系统在学习分布式之前,先了解一下与之相对应的集中式系统是什么样的。集中式系统用一句话概括就是:一个主机带多个终端。终端没有数据处理能力,仅负责数据的录入和输出。而运算、存...

                     时间 : 2016-01-05| 栏目 : Net开发| 浏览 : 1,558 次| 暂无评论 [阅读全文]

                  125个基本的C#面试问答 

                  下文是125个基本的C#面试问答清单。这些面试问题简单、直接了当,涵盖了C#最基本的概念,大部分和面向对象的概念相关。所以如果你在准备C#面试,我建议你必须掌握这125个基本的C#面试问答来复习你的C#概念。那么现在来看看这125个基本的C#面试问答清单吧。1. 什么是C#?C#(发音”C sharp”)是一种简单、有别于传统的、面向对象、类型安全的编程语言。C和C++程序员很快就会熟悉它。C#中结合了高生产率的快速应用开发(RAD)语言。2. C#的有哪些注释类型?C#中有...

                       时间 : 2016-01-05| 栏目 : Net开发| 浏览 : 1,582 次| 暂无评论 [阅读全文]

                    进程与线程的区别 

                    线程是指进程内的一个执行单元,也是进程内的可调度实体。与进程的区别:(1)地址空间:进程内的一个执行单元,进程至少一个线程,他们共享进程的地址空间,而进程有自己独立的地址空间(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程资源(3)线程是处理器调度的基本单位,但进程不是(4)二者皆可并发执行进程和线程都是操作系统的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性,进程和线程的区别在于:一个程序至少有一个进程,一个进程至少有一个线程。线程的划分尺度小于进程,使得多...

                         时间 : 2015-10-09| 栏目 : Net开发| 浏览 : 1,876 次| 暂无评论 标签:, , , [阅读全文]

                      在windows上安装redis并设置密码 

                      在windows上安装redisRedis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案。Redis从它的许多竞争继承来的三个主要特点:Redis数据库完全在内存中,使用磁盘仅用于持久性。相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。Redis可以将数据复制到任意数量的从服务器。安装redis的方式有两种:下载源码,使用vs编译,由于redis是c写的,所以需要安装c++才能正常编译直接下载安装包,下载地址https://githu...

                           时间 : 2015-10-09| 栏目 : Net开发| 浏览 : 1,756 次| 暂无评论 标签:, [阅读全文]

                        VS2013 自动添加头部注释 -C#开发 

                        在团队开发中,头部注释是必不可少的。但在开发每次新建一个类都要复制一个注释模块也很不爽,所以得想个办法让开发工具自动生成我们所需要的模板.....操作方法如下:方法/步骤1.VS2013 中找到(安装盘符以D盘为例)D:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\2052\Class\Class.cs2.在Class.cs 文件中添加如下代码。/* =========...

                             时间 : 2015-08-09| 栏目 : Net开发| 浏览 : 2,141 次| 暂无评论 标签:, , [阅读全文]

                          代码注释,神兽护体,代码无bug 

                          程序员情怀,你值得拥有/**  *  * ━━━━━━神兽出没━━━━━━  *    ┏┓   ┏┓  *   ┏┛┻━━━┛┻┓  *   ┃       ┃  *   ┃   ━   ┃  *   ┃ ┳┛ ┗┳ ┃  *   ┃       ┃  *   ┃   ┻   ┃  * ...

                               时间 : 2015-07-05| 栏目 : 其他| 浏览 : 2,015 次| 暂无评论 标签:, [阅读全文]

                            我与Bootstrap的故事(九) 

                            基础表单表单主要功能是用来与用户做交流的一个网页控件,良好的表单设计能够让网页与用户更好的沟通。表单中常见的元素主要包括:文本输入框、下拉选择框、单选按钮、复选按钮、文本域和按钮等。其中每个控件所起的作用都各不相同,而且不同的浏览器对表单控件渲染的风格都各有不同。同样,表单也是Bootstrap框架中的核心内容,下面向大家介绍Bootstrap框架中表单的制作。表单源码查询Bootstrap框架的表单,其源码占据了大量的代码,同样的,根据不同的Bootstrap版本,你可以轻松获取相应的源码:&...

                                 时间 : 2015-06-28| 栏目 : 前端开发| 浏览 : 20,951 次| 评论 : 2 标签:, , [阅读全文]

                              我与Bootstrap的故事(八) 

                              表格表格是Bootstrap的一个基础组件之一,Bootstrap为表格提供了1种基础样式和4种附加样式以及1个支持响应式的表格。在使用Bootstrap的表格过程中,只需要添加对应的类名就可以得到不同的表格风格,在接下来的内容中,我们会详细介绍Bootstrap的表格使用。同样的,如果你对CSS预处理器熟悉,你可以使用Bootstrap提供的预处理版本:  ☑  LESS版本,对应的文件是 tables.less  ☑  Sass版本,对应的文...

                                   时间 : 2015-06-28| 栏目 : 前端开发| 浏览 : 1,697 次| 暂无评论 标签:, , [阅读全文]