软件开发的目的是在规定成本和时间前提下,开发出具有适用性.有效性.可修改性.可靠性.可理解性.可维护性.可重用性.可移植性.可追踪性.可互操作性和满足用户需求的软件产品. 而对于整个开发过程来说,开发(编码)过程是整个软件产品核心结果产出的过程,代码的好坏除了对功能的实现有影响外还会对其它如可修改性.可靠性.可理解性.可维护性.可维护性.可重用性.可移植性.可追踪性等产生影响,所以“好”代码对于软件来说是非常重要的. 如何写“好”代码就是本系列文章的主题,本系列文章以.Net Core的代码为例…
[01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP.NET框架 [05]浅谈ASP.NET MVC运行过程 [06]浅谈ASP.NET MVC 控制器 [07]浅谈ASP.NET MVC 路由 [08]浅谈ASP.NET MVC 视图 [09]浅谈ASP.NET MVC 视图与控制器传递数据 [10]浅谈jqGrid 在ASP.NET MVC中增删改…
浅谈Kotlin(一):简介及Android Studio中配置 浅谈Kotlin(二):基本类型.基本语法.代码风格 浅谈Kotlin(三):类 浅谈Kotlin(四):控制流 前言: 今日新闻:谷歌宣布,将Kotlin语言作为安卓开发的一级编程语言. Kotlin由JetBrains公司开发,与Java 100%互通,并具备诸多Java尚不支持的新特性. 谷歌称还将与JetBrains公司合作,为Kotlin设立一个非盈利基金会. 一.简介:    Kotlin 是一个基于 JVM 的新的编…
平时面试经常会遇到类似下面的这种题,而且千变万化,让人一个头两个.示例这道题算是稍微有点难度的了,这种题考查的是JavaScript引擎执行代码的步骤. b = 'cba'; function a(a, a){ console.log(a); console.log(b); var b = 'abc'; a(); function a(){ console.log(a); console.log(b); } } a(5,10); 先上理论: (1)分析脚本的执行过程,也就是全局作用域下的代码.…
一个项目中必然会遇到分页这种需求的,分页可以使数据加载更合理,也让页面显示更美观,更有层次感!那么js分页到底如何实现呢?下面我就来讲一下三种循序渐进的方法 1.自己纯手写分页 更深入的去理解分页的意义如分页的原理,其实,尝试自己去写一些分页方法是再合适不过的了,可以封装成一个分页方法,但是呢,这里呢,我就写一下最简单的指定的分页方法 ,就不去封装了.就以下图为例: 上图是个非常普通的分页.第一个文本框可以输入页码.点击Go去查询指定的页数.后面两个按钮分别是上一页和下一页.这里面就没有写第一页…
很多初使用Vue的同学会发现,在改变数组的值的时候,值确实是改变了,但是视图却无动于衷,果然是因为数组太高冷了吗? 查看官方文档才发现,不是女神太高冷,而是你没用对方法. 看来想让女神自己动,关键得用对方法.虽然在官方文档中已经给出了方法,但是在下实在好奇的紧,想要解锁更多姿势的话,那就必须先要深入女神的心,于是乎才有了去探索Vue响应式原理的想法.(如果你愿意一层一层地剥开我的心.你会发现,你会讶异…… 沉迷于鬼哭狼嚎 无法自拔QAQ). 前排提示,Vue的响应式原理主要是使用了ES5的Obj…
为什么叫 浅谈 呢?就是字面上的意思,讲得比较浅,又不是不能用(这样是不对的)!!! Aufofac大家都不陌生了,说是.Net生态下最优秀的IOC框架那是一点都过分.用的人多了,使用教程也十分丰富,官网教程也比较详细(如果英文功底还不错的话). 那我为什么还要写这样一篇博客呢,一是用作学习笔记,二就是闲的. 废话不多说,开始正文 项目创建 云创建一个.Net Core Api项目,然后再添加一个类库,大概就是下面这样的结构: 新建一个类库项目,分别添加一个接口文件与类文件: 就这样,我们的演示…
让我们来回顾一下历史,在早期的计算机中,程序是直接运行在物理内存上的.换句话说,就是程序在运行的过程中访问的都是物理地址.如果这个系统只运行一个程序,那么只要这个程序所需的内存不要超过该机器的物理内存就不会出现问题,我们也就不需要考虑内存管理这个麻烦事了,反正就你一个程序,就这么点内存,吃不吃得饱那是你的事情了.然而现在的系统都是支持多任务,多进程的,这样CPU以及其他硬件的利用率会更高,这个时候我们就要考虑到将系统内有限的物理内存如何及时有效的分配给多个程序了,这个事情本身我们就称之为内存管理…
JavaScript字符串提供了一个replace方法.replace方法可以接受两个参数:第一个参数可以使RegExp对象或者一个字符串,第二个参数可以是一个字符串或者一个函数.如果第一个参数是字符串,那么只会替换第一个字符串.如果想替换所有的字符串,则必须使用正则表达式. var str="hello world"; var str1=str.replace("o","h"); console.log(str1);//hellh world…
我们要探讨的Haar分类器实际上是Boosting算法(提升算法)的一个应用,Haar分类器用到了Boosting算法中的AdaBoost算法,只是把AdaBoost算法训练出的强分类器进行了级联,并且在底层的特征提取中采用了高效率的矩形特征和积分图方法,这里涉及到的几个名词接下来会具体讨论. 在2001年,Viola和Jones两位大牛发表了经典的<Rapid Object Detection using a Boosted Cascade of Simple Features>和<R…