自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 收藏
  • 关注

原创 javascript中的设计模式之模板方法模式

一、定义  模板方式模式是一种只需要使用继承就可以实现的非常简单的模式,因此非常依赖继承。二、结构  模板方法模式分为两个部分:抽象父类和实现子类。  通常抽象父类中封装了子类的算法框架,包括一些公共方法和所有方法执行的顺序。子类通过继承抽象父类,继承了整个算法结构,同时也可以重写父类的方法。这种模式是好莱坞原则的典型的使用场景,也就是子类放弃了对自己的控制权,而是改为父类通知子...

2020-09-09 00:13:00 188

原创 RegExp中的lastIndex

  lastIndex用于标记由方法 RegExp.exec() 和 RegExp.test()找到的结果的下次检索的起始点,这样就可以通过反复调用这两个方法来遍历一个字符串中的所有匹配文本。但是前提是正则必须使用g才能使用,例如:var str="The rain in Spain stays mainly in the plain";var patt1=/ain/g;whi...

2020-08-11 21:48:00 390

原创 javascript中的设计模式之组合模式

一、定义  组合模式就是用小的子对象来构建更大的对象,而这些子对象本身也许使用更小的孙对象构成的二、举例  操作文件夹三、结构  组合模式包含两种对象:叶对象和叶对象组合而成的组合对象。由组合对象和叶对象构成了树结构,这种树结构就是组合模式的基本结构。如下图所示:四、实现  组合模式事实上就是一个树结构,就像前端在渲染一个类似机构树结构,需要后端将树结构传到前端。虽然传...

2020-07-27 21:53:00 195

原创 理解babel的基本原理和使用方法

  babel是一个编译器,用于将ECMA2015+代码转换为向后兼容的javascript语法,其原因在于目前浏览器并不能及时的兼容js的新语法,而开发过程中我们往往会选择es6、jsx、typescript进行开发,而浏览器并不能识别并执行这些代码,因此就必须将这些代码编译并转换成浏览器识别的代码,所以我们才会发现所有的项目构建工具都是使用babel,这就显示出来babel的重要性。...

2020-07-26 19:28:00 2863 2

原创 javascript中的设计模式之发布-订阅模式

一、定义  又叫观察者模式,他定义对象间的依照那个一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将的到通知。在javascript中,我们一般用时间模型来替代传统的发布-订阅模式二、举例  js中对dom元素绑定事件监听,就是简单的发布-订阅。另外在很多的框架和插件中都会存在使用这种方式来,比如vue的watch三、结构  发布-订阅模式可以分为两种形式,一...

2020-07-22 22:40:00 197

原创 理解v8的垃圾清理

我们知道在v8中用堆和栈管理程序的存储,栈的垃圾的处理很简单,当函数执行完毕,对应的作用域中的数据将会被销毁也就是栈中的数据将会被销毁,程序的控制权将会交给上一层函数。一般所说的垃圾处理都是值对堆的垃圾的处理,先要了解怎样处理堆中的垃圾,我们需要知道,堆中的垃圾是如何产生的

2020-07-22 21:44:11 989 3

原创 javascript中的设计模式之代理模式

一、定义当客户不方便直接访问一个对象或者不满足需要的时候,提供一个对象来控制堆这个对象的访问。二、举例惰性单例模式的实现依靠缓存代理三、结构代理模式需要一个本体对象和一个代理对象。在代理模式下,对于本体对象的特定的操作通过代理对象进行。如图所示  这种模式的关键点在于:本体对象和代理对象接口的一致性。也就是说如果需要不通过代理进行操作,那么直接操作本体对象依然可以...

2020-07-20 13:31:00 150

原创 javascript中的设计模式之策略模式

一、定义  定义一系列的算法,把他们一个个封装起来,并且使他们可以互相替换二、举例  动画中缓动函数,用来控制动画的运动方式,比如linear、cubic、bounce等三、结构  策略模式分为两个部分,一个是策略类,用来将算法进行封装,另一个是环境类,用来接收请求,并把这个请求委托给策略类。四、实现1.封装算法试想这样的场景,所有的职位的基本工资是按照员工的工作年限计算...

2020-07-19 20:26:00 123

原创 javascript中的设计模式之单例模式

一、定义保证一个类仅有一个实例,并提供一个访问它的全局访问点二、举例单击按键弹出弹出框,这个弹出框是唯一的,无论单击多少次,这个弹出框都应该只被创建一次。三、实现单例模式分为两种,一种是立即执行,另一种是惰性执行1.立即执行所谓立即执行就是当js代码加载后,就会立刻创建一个单例对象。那么根据单例模式的定义,我们在全局环境下声明变量: var a = {},或者是直接创建一...

2020-07-19 20:21:00 127

原创 JS中的constructor、prototype、__proto__的要点理解

  网上关于原型和原型链的讲解很多,但是感觉很是庞杂,参差不齐,不容易记住。所以总结了几个要点。一、new的原理  new的实现原理是弄懂所有这些知识点的基础,首先看如下的基本代码:function Parent(name){  this.name = name;};var p = new Parent("jyy");  那么对于以上代码,new的内部基本实现如下:va...

2020-06-27 23:00:00 210

原创 call、apply、bind的源码模拟

1、callFunction.prototype.customCall = function(ctx){ ctx.fn = this; let args = [...arguments].slice(1); let result = ctx.fn(...args); delete ctx.fn; return result}2、apply...

2020-06-27 20:15:00 141

原创 js中的继承方式

一、原型链继承// 父类型function Father(name){ this.name = name;}Father.prototype.showFatherName = function(){ console.log(this.name);};// 子类型function Child(name){ this.name = name;}Child.pr...

2020-02-06 19:22:00 107

原创 js创建对象模式

一、工厂模式function createPerson(name, age){ var obj = new Object(); obj.name = name; obj.age = age; obj.display = function(){ alert(this.name); }; return obj;}var ...

2020-02-06 16:51:00 125

原创 理解ES6中的Iterator

一、为什么使用Iterator 我们知道,在ES6中新增了很多的特性,包括Map,Set等新的数据结构,算上数组和对象已经有四种数据集合了,就像数组可以使用forEach,对象可以使用for...in.. 进行遍历一样,是不是随着Map和Set的出现也应该给这两种集合一个遍历方法呢?如果这样的话js的方法对象就太多了,既然这四种集合都是需要遍历的,那么完全可以用一个统一的访...

2019-12-11 23:11:00 135

原创 理解ES6中的Symbol

一、为什么ES6引入Symbol  有时候我们在项目开发的过程中可能会遇到这样的问题,我写了一个对象,而另外的同时则在这个对象里面添加了一个属性或是方法,倘若添加的这个属性或是方法是原本的对象中本来就有的,那么这个时候势必会造成冲突,那么为了防止这种冲突,ES6就引入了Symbol二、Symbol使用方法  Symbol是一个新的数据类型,所以不要因为Symbol的使用方...

2019-12-03 23:25:00 238

原创 ES6中数组和对象的扩展运算符拷贝问题以及常用的深浅拷贝方法

  在ES6中新增了扩展运算符可以对数组和对象进行操作。有时候会遇到数组和对象的拷贝,可能会用到扩展运算符。那么这个扩展运算符到底是深拷贝还是浅拷贝呢?一.、使用扩展运算符拷贝  首先是下面的代码。let a = [1,2,3];let b = [...a];a == b // false  结果是false,这是很容易知道的,毕竟这个赋值操作符是有区别的。接下来将数组的值...

2019-11-10 18:55:00 905

原创 cesium学习——cesium中的坐标

一、坐标展现形式  在cesium中,对于坐标数值单位有三种:角度、弧度和坐标值  1.角度    角度就是我们所熟悉的经纬度,对于地球的坐标建立如下:         图中以本初子午线作为x和z的面,建立了一个空间坐标系。可知在纬度方向上,角1的范围为-90~90,即南纬90°~北纬90°,角2的范围是-180~180,即东经180°~西经180°。  2.弧...

2019-08-03 14:55:00 764

原创 webService框架CXF的简单使用

    最近本来已经将上一个项目交活,全身心投入了另外项目的前端的开发工作。可之前的项目经理通知我,之前的项目需要做一个webService的功能,于是稍微做了一下webService,可是忘了通知我现在的项目经理,所以现在的项目经理以为我在做现在项目的前端工作,结果搞得很不好。然而我还是有私心的,因为目前两个项目需要使用的技术是我没有接触过的,而我的一个臭毛病就是对想做的喜欢做的技术会...

2019-07-27 18:17:00 209

原创 使用cesium中的scene.open中遇到的几个问题

  有些服务是发在场景(scene)下的,超图提供了一个很方便的方法:scene.open,这个方法会将场景中所有的图层(无论是OSGB还是影像和地形)加载进来。同时这个方法会自带一个自动地位功能,具体实现不深究。  这个方法虽然很方便,省去了循环遍历场景下图层的代码,但是也会因此导致出现一些问题。  1、删除图层的问题    使用scene.open的首要问题就是如何删除图...

2019-07-03 15:04:00 1680

原创 通过Spring读取properties配置文件

原文地址https://blog.youkuaiyun.com/yh_zeng2/article/details/76222905

2018-12-28 14:11:00 105

原创 常用的Ant风格书写

原文地址Ant风格,为请求路径的一种匹配方式通配符说明?匹配任意一个字符*匹配任意字符(包括0个)**匹配任意层路径(包括0个)支持Ant风格1.spring资源加载classpath:com/t?st.xml2.spring mvc的url映射@RequestMapping("/t...

2018-10-26 10:19:00 174

原创 oracle小知识点

数据库表名长度限制字段名长度限制oracle3030mysql6464db2128128access6464sqlserver128128导出数据库的cmd指令exp " + this.dbUserName + "/" + this.dbPassword+ "@" + this.sid + " file=" +...

2018-07-31 15:32:00 56

原创 pl/sql 远程连接oracl服务器方法

在Oracle/network/admin中的tnsnames.ora中添加对应的如下代码:  LISTENER_ORCL =     (DESCRIPTION =       (ADDRESS = (PROTOCOL = TCP)(HOST = 10.25.51.209)(PORT = 1521))     (CONNECT_DATA =       (SERVE...

2018-07-31 15:31:00 55

原创 excel的部分使用方法

第一行数据填充下面所有行的快捷键,ctrl+d两个表关联替换:=VLOOKUP(H1576,Sheet3!$B$2:$C$315,2,0)取消下拉框:数据》数据有效性》全部清除 快捷选择空白:ctrl+G,点击空值。 快速填充数据:选择并输入,ctrl+enter;...

2018-07-31 15:30:00 56

原创 liist不同遍历优缺点

JAVA中循环删除list中元素的方法总结  印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区。下面就来讲一讲。。伸手党可直接跳至文末。看总结。。  JAVA中循环遍历list有三种方式for循环、增强for循环(也就是常说的foreach循环)、iterator遍历。...

2018-07-31 15:29:00 178

原创 oracle中rownum和rowid的区别

原文地址rownum和rowid都是伪列,但是两者的根本是不同的,rownum是根据sql查询出的结果给每行分配一个逻辑编号,所以你的sql不同也就会导致最终rownum不同,但是rowid是物理结构上的,在每条记录insert到数据库中时,都会有一个唯一的物理记录 ,例如 AAAMgzAAEAAAAAgAAB 7499 ALLEN SALESMAN 7698 1981/2/20 ...

2018-07-31 15:27:00 109

原创 Oracle中插入100万条数据

  在做项目的工程中,需要数据库中存在大量的数据进行程序的验证,但是我们又没有数据,这时就需要我们自己手动建一个表,插入大量数据,进行验证。那么插入大量数据的sql语句如下:insert into EXT_LOG (ID) select rownum as id from dual connect by level <= 1000...

2018-07-31 15:25:00 750

原创 Java中手动提交事务

  项目中遇到一个问题,就是在程序的执行过程中需要不断地更新某个信息,但是在springmvc中好像是默认不可以的,那么就需要手动提交// 从spring容器对象中获取DataSourceTransactionManager public DataSourceTransactionManager getDTM(DefaultTransactionDefinition d...

2018-07-31 15:22:00 1203

原创 oracle 查看表是否存在、包含某字段的表、表是否包含字段

表是否存在:   select count(*) from user_tables where table_name = #{tablename}包含某个字段的表   select *     from user_tab_columns   where UPPER(column_name)='CREATE_TIME' 特定表是否包含字段  select *     fr...

2018-07-31 15:19:00 550

原创 form的一个特性

在一个form表单中,若只有一个input,按回车键表单会自动提交,但是当表单中存在多个input时,按回车键不会执行任何操作,这是form表单的一个特性...

2018-07-31 15:17:00 105

原创 使用oracle的保留字作为字段名称并进行操作的方法

  项目中调取业主的数据库时发现,其中一个表的一个字段名为:update,所以当我用数据库查询语句进行查询的时候总会出错。从网上查询之后发现原来很简单,只要把update加上双引号就好了,例如:  select "update" from segment;  我们都知道oracle中使用单引号来表示字符串,现在也终于知道如何使用双引号了...

2018-07-31 15:15:00 783

原创 thinkphp不能够将ueditor中的html文本显示

  因为这个问题花费了我好长时间,非常的急躁。fuck!!  这次我首先在富文本框中输入了一些文本,这些文本是带有样式的,比如是代码。然后存入数据库,但是当我再一次将它取出来打算放入富文本框中的时候,马丹,样式不能够解析了,我寻思这是路径的问题?还是什么?总之用了一起我能够想起的办法都行不通。  最后在网上查找相关的办法,终于让我发现了原因。因为tp3.2的过滤的原因,如果在保存...

2017-06-13 16:27:00 67

原创 php 和 js之间使用json通信

  有时候我们需要用后台从数据库中得到的数据在js中进行处理,但是当从php中获取到数据的时候,使用的是键值对形式的多维关联数组。而我们知道,js只支持索引数组,不支持关联数组,这个时候从后台传递过来的数据,在js中是无法直接进行处理的。比如我们在后台index.php中从数据库中获取用户信息的数据,在php中的形式是:[["name"=>"jyy","age"=>"...

2017-06-11 16:32:00 102

原创 Ueditor中代码的高亮和背景在前端页面的实现

  首先废话就不多说,这个富文本编辑器的下载和js等基本文件的导入略。  我的最终目标是这样的,我们在页面中的富文本框中输入代码,希望它能够被后台接受、存入数据库,当通过服务器将这些代码再一次显示在前台的页面上的时候,我们希望所呈现的是如下的情况:      就是说需要对代码的背景和高亮的部分的样式也进行保存。我的解决过程是这样的(假设在demo.html中进行输入,在dem...

2017-06-08 22:34:00 115

原创 angular中transclude的理解

  今天被这个transclude搞糊涂了,弄了半天,才知道原来使用起来很简单。很烦恼为社么书中的对于这个的介绍这么晦涩难懂。直到看到了这篇文章,才让我弄清楚了。一、transclude介绍  transclude是angular中自定义指令中的一个参数。中文就是嵌入的意思。也就是说通过这个参数设置,可以将指令内容嵌入到自定义指令中的模版中。其值默认是false,当为true时,...

2017-05-31 17:05:00 78

原创 node express中使用static的错误

  使用express中的static可以设置文件存储路径,比如js存在于public/js//demo.js这个时候可以将js文件夹设置为专门存储js的路径,代码如下:    app.use('/javascript',express.static('./public/js'));  这段代码是将源文件的路径简略为更名后的虚拟路径javascript下。那么以后就可以在html...

2017-05-02 17:53:00 212

原创 待研究———node中使用session时的id不断更改问题

  使用的expree,中间件为cookie-parser,express-session,当对res.session.id进行赋值操作后,再调取其值会发现,此时它的值并不是最初给定的值,而是经过加密的字符串。而且每次赋值时的值都不一样,就像是随机产生的,跟mongodb中的_id有相同的效果。  目前猜测,session表中,也有一个字段是id,但是这个id是系统自动给的,任何对这...

2017-04-28 15:57:00 208

原创 node 中mongoose使用validate和密码加密的问题

  在今天一直被一个问题困扰,就算是使用mongoose的alidate的时候想要限制密码的位数,比如不能少于几位,但是一直出错。  最后发现原来使用validate的时候,是在数据将要存入数据库的时候,因此,这样的方法只能对不需要加密的的数据进行验证。但是如果是密码需要加密的话,加密的动作是提前于validate的,因此这个时候,加密后的生成的字符串中字符是相同的个数的,因此不能通...

2017-04-27 18:04:00 100

原创 exports 和 module.exports 的区别

原文地址require 用来加载代码,而 exports 和 module.exports 则用来导出代码。但很多新手可能会迷惑于 exports 和 module.exports 的区别,为了更好的理解 exports 和 module.exports 的关系,我们先来巩固下 js 的基础。示例:test.jsvar a = {name: 1}; var b = a;c...

2017-04-26 20:50:00 60

原创 node.js开发错误——DeprecationWarning: Mongoose: mpromise

原文地址使用mongoose进行数据库操作时,总是提示:(node:5684) DeprecationWarning: Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead: http://mongoose...

2017-04-18 16:44:00 93

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除