自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

黑夜人的博客

点滴进步,贵在积累!

  • 博客(126)
  • 收藏
  • 关注

原创 javascript this指向总结

this关键字是一个非常重要的语法点。毫不夸张地说,不理解它的含义,大部分开发任务都无法完成。简单说,this就是属性或方法“当前”所在的对象。 那么我们来看看this指向的规则如下: 1. 在全局作用域下,this指向window;this和window的空间地址是一样的; 2. 给元素的事件行为绑定方法,那么方法中的this指向被绑定这个元素; 3. 函数体中的this看函...

2019-01-19 17:34:42 311

原创 javascript 作用域、变量提升练习题

 今天我们来做下作用域和变量提升的面试题;答案我会写在最下面,大家先开始自己尝试下//第1题 console.log(a); var a=12; function fn(){ console.log(a); var a=13; } fn(); console.log(a); //第2题console.log(a); v...

2019-01-19 16:41:36 1615 2

原创 javascript 栈内存、堆内存、作用域、变量(变量提升ES5)全面了解之间的关系(1)

 javascript 栈内存、堆内存、作用域、变量(变量提升ES5)确实是js中比较难懂的只是点。javascript 中有三座大山,学习起来很是吃力。第一座: 作用域和上下文环境第二座: 原型和原型链第三座:单线程和异步,今天我带大家翻越这第一座大山。希望本文能让你对作用域和变量提升有个新的认识在这之前一.先普及下基本知识和下文需要用到的知识点 con...

2019-01-17 21:38:29 572

转载 一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别

如何还不知道 开源软件,请移步以下网址了解。http://www.myzaker.com/article/5a78e3a19490cb474100000b/如何为代码选择开源许可证,这是一个问题。世界上的开源许可证,大概有上百种。很少有人搞得清楚它们的区别。即使在最流行的六种----GPL、BSD、MIT、Mozilla、Apache和LGPL----之中做选择,也很复杂。乌克兰程...

2019-01-15 15:47:33 3134

转载 HTML标签meta总结,HTML5 head meta 属性整理

前言meta是html语言head区的一个辅助性标签。也许你认为这些代码可有可无。其实如果你能够用好meta标签,会给你带来意想不到的效果,meta标签的作用有:搜索引擎优化(SEO),定义页面使用语言,自动刷新并指向新的页面,实现网页转换时的动态效果,控制页面缓冲,网页定级评价,控制网页显示的窗口等!html的meta总结meta标签的组成:meta标签共有两个属性,它们分别是htt...

2019-01-09 17:25:44 1990 1

转载 经典CSS布局 -- 圣杯布局 & 双飞翼布局

按照我的理解,其实圣杯布局跟双飞翼布局的实现,目的都是左右两栏固定宽度,中间部分自适应。但在这里实现起来还是有一些区别的【圣杯布局】代码说明:html代码中  middle部分首先要放在container的最前部分。然后是left,right1.将三者都 float:left , 再加上一个position:relative (因为相对定位后面会用到)2.mid...

2019-01-09 12:20:52 260

原创 css实现三道杠菜单效果和轮播图切换小圆点效果

使用场景和三道杠效果:使用场景和小圆点效果:

2019-01-08 14:20:53 3006

原创 小三角实现使用border属性(利用border属性制作三角形)

使用场景和效果:

2019-01-08 12:50:25 581

原创 css实现单行文本和多行文本省略号

单行文本出现省略号的条件:<style> p { width: 200px; /*宽度*/ text-overflow: ellipsis; /*文字以省略号的方式隐藏*/ white-space: nowrap;/*禁止文字内容折行*/ overflow: hidden;/*超出部分溢出隐藏*/ }</style>...

2019-01-08 12:30:55 1616

转载 npm 的常用命令技巧

如果你在日常工作流程中使用 NPM ,我相信你会喜欢这些提示和技巧。生成 package.json我们通常执行 npm init,然后开始添加 npm 请求的信息。 但是,如果我们不关心所有这些信息,并且希望保留默认值,那么对于 npm 请求的每一条数据,我们都按 enter 键。为了避免这种情况,你可以输入 npm init -y。这样就可以跳过问题询问了。愚人码头注:你也可以使用 ...

2019-01-07 21:44:16 3193 1

原创 Error: Cannot find module '@babel/core' webpack run dev

问题记录:在进行webpack 命令操作时报错根据提示发现 需要安装 7.0.0以上版本的babel-code因为我的babel-loader 是 8.0.0以上的我默认安装的babel-code 是6.0.0的版版本不匹配解决办法:可以选择降低babel-loader的版本到7.0.0 现在版本如下: 在尝试运行 webpack run dev  ...

2019-01-06 16:16:08 528

转载 Jade、EJS、JSHTML、Mustache、Handlebars 五大node模板引擎区别

Here’s my feature matrix I used while comparing.  Built into Express Allows logic in templates Encourages logic in templates Reuse templates client side Allows Bootstrap Integration ...

2019-01-05 17:07:40 2079

原创 一张图学习正则表达式基本语法

2019-01-05 16:20:04 684

原创 javascript随机打乱数组shuffle

javascript 没有为我们提供shuffle打乱数组的函数,那日常开发是怎样实现随机打乱数组呢一.使用sort方法?借助 sort 方法不是真正意义上的完全乱序原因:在Chrome v8引擎源码中,处理 sort 方法时,使用了插入排序和快排两种方案。当目标数组长度小于10时,使用插入排序;反之,使用快排。其实不管用什么排序方法,大多数排序算法的时间复杂度介于 O(n) ...

2019-01-04 22:35:59 7303

原创 javascript类数组对象转数组对象的一些技巧

一.定义:什么是类数组对象?拥有length属性,可以通过下标访问;不具备数组所具有的方法常见的类数组有arguments和NodeList,《javascript权威指南》里面给出了一个鉴别对象是否是类数组的函数:// Determine if o is an array-like object.// Strings and functions have numeric le...

2019-01-04 20:19:27 634

原创 npm install http-server global 安装http-server服务器

问题:最近在使用webstrom loaclhost 服务开发项目时,遇到如下问题: 1.无法再局域网内同于ip的方式访问项目 2.在使用chrome的在线编辑自动保存功能的时候经常会出现一个乱码所以选择安装了 http-server 来架设服务器 安装步骤如下:前提:你一定已经安装了Node.js ,如何验证安装了node.js 请在命令行窗口下执行 node -v 如果...

2019-01-04 11:08:17 11310 1

原创 NPM install --save 和 --save-dev

最近在写Node程序的时候,突然对 npm install 的-save和-save-dev 这两个参数的使用比较混乱。其实博主在这之前对这两个参数的理解也是模糊的,各种查资料和实践后对它们之间的异同点略有理解。遂写下这篇文章避免自己忘记,同时也给node猿友一点指引。我们在使用 npm install 安装模块的模块的时候 ,一般会使用下面这几种命令形式: 1 2 ...

2019-01-04 10:32:24 226

原创 JS中不同类型作比较的规律 (比较运算符)

JS 不同数据类型的比较 是个头疼事情,那有没有规律可循,让记忆和理解起来更加容易呢,console.log(1 ==  "1") //true 好的,我先把规则告诉大家,然后大家理解后再开始练习。看看效果是不是很显著;不同数据类型间的比较,规律如下 类型 类型 其他说明 其他说明 对象 对象 比较是不是同一个内存地址   对象 字...

2018-12-12 14:40:25 3128

原创 javascript的null、undefined和布尔数据类型

javascript中  有null、undefined 在使用typeof 时候 console.log(typeof null); //objectconsole.log(typeof undefined) //undefinednull与undefined都可以表示“没有”,含义非常相似。将一个变量赋值为undefined或null,老实说,语法效果几乎没区别。两个类型到底...

2018-12-12 09:21:15 709

原创 parseInt parseFloat isNaN Number 区别和具体的转换规则及用法

在javascript 我经常用到,parseInt、parseFloat、Number、isNaN,但是转规则不一,常常搞不清楚区别。记忆起来非常吃力。今天我们来扯一扯他们的区别和用法,和记忆技巧首先,javacript的数据类型number 包含 整数 小数 0 NaN判断一个值是不是数字可以使用 typeof<script> console.log(ty...

2018-12-11 15:02:52 1111

原创 前端资源文件(图片 css js)同步到阿里云OSS

前端资源文件(图片 css js)同步到阿里云OSS需求:为了实现自动化更新前端资源,前端资源已放到了阿里云OSS,实现自动上传。思路:1.因为使用的是php语言开发项目,自然会想到用php实现,用php实现目录遍历和文件遍历操作然后结合阿里云sdk进行上传操作,但是这样会有个问题,目录层级比较多,文件比较多,那么循环效率低。所有一开始就不打算使用这种方式。2.网上开始寻找解决方法,1)了解lin...

2018-06-13 15:26:09 3139 1

原创 文章添加和修改自动生成手机端文章页面

文章添加和修改自动生成手机端文章页面需求:为了更好的实现自动化,在添加和编辑文章时自动生成手机端的文章页面思路:1.之前已经安装了手机端静态化模块,此开发依赖于这个模块,这样代码可以复用这个模块的,之前文章页生成需求点击手机端静态化模块进行更新文章。2.发布文章时候回自动生成PC静态化页面,代码实现可以卸载这个下面,并做个配置开关。代码开发如图:代码特点:1.做个一个配置开启的开关可以关闭和开启 ...

2018-06-13 15:24:06 1356

原创 添加和修改文章时,自动更新顶级栏目和次级栏目首页和文章父级栏目

添加和修改文章时,自动更新顶级栏目和次级栏目首页和文章父级栏目需求: 为了更好的实现自动化,在添加和修改了文章就能自动刷新首页和栏目页的文章标题和栏目数据(包含手机端 和pc端首页)思考: 根据杨老师提供的织梦cms计划任务 展开思考,计划任务一个很好的解耦方式不会让代码冗余在一起 这样通过指定任务调用指定脚本完成我们的需求,具体的需求写在指定脚本中实现计划任务的特点 1.可以创多个任务存入到数据...

2018-06-13 15:17:58 359

原创 archives和article添加和修改的缩略图支持上传阿里云oss

archives和article添加和修改的缩略图支持上传阿里云oss需求: 在添加和修改文章和archives 时候里面会有个 缩略图字段,这个上传时候传到oss思路: 主要是寻找,有没有统一调用的位置,把代码写在该位置,会让代码量和后期修改更简单,这个过程需要不断,读源码,跑这也文章和archives的流程。经过读源码发现 这四个文件中都使用了 GETDDImage() 方法修改如图: 阿里云...

2018-06-13 15:16:17 250

原创 织梦ueditor富文本编辑器上传资源到阿里云功能

织梦ueditor富文本编辑器上传资源到阿里云功能使用方法ueditor的目录结构 如图: 开发的原则中,就是改最少的代码,不写重复的代码,所有我们要先梳理这编辑器的请求流程 我们发现可以在一处位置进行修改,不论他传视频图片文件 都可以备份到阿里云所有我们可以这样干。 如图:所有的请求都会走uploader上传类所有我们把代码写到这里 //需要准备的工作,阿里云oss相关的上传sdk 和相应的配置...

2018-06-13 15:13:42 601

原创 手机静态页首页支持下拉选择

手机静态首页静态是在一个插件模块的基础上开发, 插件不支持首页的选择生成 插件地址:https://www.dedemao.com/dedeplug/makehtml_m.html使用方法开发思路: 1.pc端生成已经有了配置,要能重用配置,减少配置的工作量和配置导致的错误,因为手机端首页有指定的规则 手机站首页在相应m目录下的 当然这m目录可配置(在更新设置中) 2.这个页面只是模板和生成的目录...

2018-06-13 15:07:26 240

原创 pc端首页静态化支持下拉选择

使用方法如下图: 开发思路,为后期修改提供说明: 1.下拉的数据需要存储到哪里,可以方便 后期修改 答:系统-系统基础参数 2.这页面的需求是 下拉指定模板 自动填充 静态文件生成的目录 支持多个项目首页 所以配置如下格式 答:moban/wjqk_index.htm,../wjqk/index.html|moban/rytl_index.htm,../rongyaotulong/index.ht...

2018-06-13 15:05:30 438

原创 解决 fxp/composer-asset-plugin 包报错问题

报错信息如下我的解决办法 删除C:\Users\win7\AppData\Roaming\Composer\vendor\ 路径下的 Fxp 下文件 包含Fxp路径重新到https://pkg.phpcomposer.com/ 该网站搜索 fxp/composer-asset-plugin包 安装最新版composer global require "fxp/composer-asset-plug...

2018-03-06 14:11:07 7135

原创 rawurlencode与urlencode

昨天看ucenter源码的时候,发现有些地方用urlencode,有些地方用rawurlencode。由于对这两个方法的差异不是很清楚,特意写了一段代码来测试。 请将下面的代码保存到一个PHP文件中:[php] view plain copytestEncode('http://www.baidu.com?a=search

2018-02-02 11:43:38 1892

转载 PHP Socket编程 之使用fsockopen()函数

Socket可以理解为两台计算机相互通信的通道。用法:使用fsockopen()函数具体用法详见上篇文章。函数的参数为URL、端口号、一个存放错误编号的变量、一个存放错误信息字符串的变量和超时等待时间。(只有第一个参数是必须的)常见的端口表:端口号主要用途21FTP22

2018-02-01 10:04:42 1930

原创 windows下mongodb安装

注:看不到图的话请下载doc文件win7/win10安装mongodb3.4.2和配置一、安装1.解压mongodb.zip得到安装文件:vc_redist.x64.exe、mongodb-win32-x86_64-2008plus-ssl-3.4.9-signed.msi2. 双击vc_redist.x64.exe,点击修复,3. 安装mongod

2018-01-05 11:42:49 476

转载 yii rules最全规则

本文采用Yii文档,经过自己的修改,让读者更容易理解预定义完整列表: boolean : CBooleanValidator 的别名, 确保属性的值是CBooleanValidator::trueValue 或CBooleanValidator::falseValue .captcha : CCaptchaValidator 的别名,确保了特性的值等于 CAPTCHA 

2017-12-29 11:38:48 3306

原创 如何创建一个自己的Composer包

首先让我们踏着欢快的脚步去Github创建一个新库,这里取名 composer-car,又欢快的将它克隆到本地:$ git clone [email protected]:wulove52/vilin-car.git $ cd vilin-car这个composer-car文件夹就是你的包的根目录了,你只需要记住composer.json在包的哪个目录下面,一般那就是包的根目录了。现在

2017-10-30 14:29:39 677

转载 慎用composer update

问题说明我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自 这个文档 的:composer update 这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害。因为 composer update 的逻辑是按照 composer.json 指定的扩展包版本规则,把所有扩展包更新到最新版本,注意,是 所有扩展包,举个例子,你在项目一开始的时候使用

2017-10-30 14:27:00 30953 4

原创 HTTP状态码说明

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html100-199 用于指定客户端应相应的某些动作。 200-299 用于表示请求成功 理解和接受。 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。 400-499 用于指出客户端的错误。 500-599 用于支持服务器错误。 [I

2017-10-28 19:11:24 308

原创 imagick的简单使用

PHP建图通常都用GD库,因为是内置的不需要在服务器上额外安装插件,所以用起来比较省心,但是如果你的程序主要的功能就是处理图像,那麼就不建议用GD了,因为GD不但低效能而且能力也比较弱,佔用的系统资源也颇多,另外GD的creatfrom也有bug,而imagick却是一个很好的替代品,为此最近把我的一个项目由GD改成了imagick,但是改完之后出现了一些状况在此分享给大家.首先说一下我这

2017-10-28 15:20:15 5717

转载 mysql开发范式和原则

一、 表设计库名、表名、字段名必须使用小写字母,“_”分割。库名、表名、字段名必须不超过12个字符。库名、表名、字段名见名知意,建议使用名词而不是动词。建议使用InnoDB存储引擎。存储精确浮点数必须使用DECIMAL替代FLOAT和DOUBLE。建议使用UNSIGNED存储非负数值。建议使用INT UNSIGNED存储IPV4。整形定义中不添加长度,比如使用INT,而不是INT(4)。使

2017-10-28 15:15:54 336

转载 事务具有4个属性:原子性、一致性、隔离性、持久性

事务是指对系统进行的一组操作,为了保证系统的完整性,事务需要具有ACID特性,具体如下:1. 原子性(Atomic)     一个事务包含多个操作,这些操作要么全部执行,要么全都不执行。实现事务的原子性,要支持回滚操作,在某个操作失败后,回滚到事务执行之前的状态。     回滚实际上是一个比较高层抽象的概念,大多数DB在实现事务时,是在事务操作的数据快照上进行的(比如,MV

2017-10-28 14:57:20 2515

转载 面向对象五大基本原则

面向对象五大基本原则以前一直认为程序中的类有使用到封装继承多态就是面向对象设计,其实不然封装,继承,多态只是面向对象的三大特性,但是在设计程序的时候并不是说类的结构使用到了(或是体现出了)这三个特性就是面向对象,其实真正的面向对象设计是要符合下面的五大原则,面向对象的五大基本原则单一职责原则(SRP)开放封闭原则(OCP) 里氏替换原则(LSP) 依赖倒置原则(DIP) ...

2017-10-28 14:02:07 240

转载 php给pdf加上水印

环境php5.5.12 fpdi-1.5.2 fpdf-1.7原理利用fpdi来加载已知pdf文件,用fpdf对pdf进行操作注意事项免费的fpdi只支持处理pdf1.4及以下版本,1.5以上就需要用到FPDI PDF-Parser插件使用方法fpdi-1.5.2 fpdf-1.71.文字水印 word.php?

2017-10-28 11:24:25 2950

空空如也

空空如也

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

TA关注的人

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