自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis缓存数据类型

Redis缓存数据类型有5种,分别是String(字符串)、List(列表)、Hash(哈希)、Set(无序,不重复集合)、ZSet(sorted set:有序,不重复集合)。String(字符串)string类型是redis最近的类型,一个key对应一个value。Redis中的String类型是二进制安全的,可以包含任何数据。例如序列化的对象或者图片。String类型一个键最大...

2018-12-11 08:57:58 1028

原创 Tortoisegit 安装中文包检测不出来

检测当前tortoisegit 的版本号,然后下载对应版本号的语言包.然后将下载的语言包放到tortoisegit的安装目录下,然后安装,在设置上就可以看到语言的选择了. 当出现安装了汉语包却检测不出来的问题,很可能就是安装的tortoisegit的版本和语言包的版本不一致哦,所以要保证版本一致  问题才能得到解决...

2018-09-23 15:36:38 5749 2

原创 PHP网站从Apache转移到Nginx后只能访问主页跳转产生404错误的原因和解决办法

用tp框架在本地开发了项目时,用的是phpstudy继承环境,起初用的是apache服务器,但是切换到nginx环境时只有主页能访问,其他都会报nginx404的错误 当时也挺纳闷的,经分析得出原因:原网站环境为wamp使用了伪静态,伪静态规则写在网站根目录的.htaccess文件中,Apache下默认识别此文件内容,而Nginx服务器不识别.htaccess文件,导致伪静态规则无效,自然无法解析...

2018-09-22 21:55:39 2477 1

原创 git提交自动同步站点以及免密提交

前言:当我们想要实现几个小伙伴合作开发同一个项目,或者建立一个资源分享平台的时候,GIT就是一个很好的选择。当然,既然是一个共有平台,那么把这个平台放到个人计算机上明显是不合适的,因此就要在服务器上搭建GIT了。另一个需求是,我们在本地开发,然后推送到服务器上,并且自动同步到web站点目录,这样就可以直接看到网页效果了,这就要实现自动同步。下面我带领大家实现这么一个功能。如果条件允许的话,大家可以跟着做的(注:我的服务器是centos 7,lamp环境)。一、在服务器上安装git: 1

2021-09-12 14:28:04 341

原创 redis的事务不是原子性

一、事务的四大特性关系型数据库的事务具有四个特性:1. 原子性2. 一致性3. 隔离性4. 持久性二、而在我们redis数据库中,事务回事什么样子的呢?首先我们给出一个定义:redis的事务中,一次执行多条命令,本质是一组命令的集合,一个事务中所有的命令将被序列化,即按顺序执行而不会被其他命令插入在redis中,事务的作用就是在一个队列中一次性、顺序性、排他性的执行...

2020-04-30 11:19:31 266

原创 mysql中多表left/right join链接结合where的注意事项

优先级两者放置相同条件,之所以可能会导致结果集不同,就是因为优先级。on的优先级是高于where的。首先明确两个概念:LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。 数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。在left join下,两...

2019-11-23 11:33:05 558

原创 获取请求者的ip

function get_client_ip($type = 0) { $type = $type ? 1 : 0; static $ip = NULL; if ($ip !== NULL) return $ip[$type]; if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { ...

2019-11-15 09:18:28 115

原创 mysql中set autocommit=0与start transaction的关系

在mysql中用户的任何一个更新操作(写操作)都被视为一个事务,setautocommit=0指事务非自动提交,自此句执行以后,每个SQL语句或者语句块所在的事务都需要显示"commit"才能提交事务。setautocommit=1指事务自动提交,当用户每执行一条更新sql语句系统都会立即保存在数据表中。1、不管autocommit 是1还是0 START TRANSACTIO...

2019-09-28 09:31:54 1237

原创 git中怎样实现忽略已经提交过的文件和拉取后不提交配置文件

1.git中怎样实现忽略已经提交过的文件.gitignore给我们忽略一些git上不想要的文件提供了方便, 但是如果有些文件已经提交给git管理的话 那么设置gitignore是没有作用的但是我们不小心提交了本应该忽略的文件怎么办呢?理解.gitignore文件的用途,该文件只能作用于Untracked Files,也就是那些从来没有被 Git 记录过的文件(自添加以后,...

2019-09-26 10:56:55 2847 1

原创 如何设计第三方授权登录的用户表

第三方授权登录的时候,第三方的用户信息是存数据库原有的 user 表还是新建一张表呢 ?答案:这得看具体项目了,做法多种,请看下文。第三方授权登录之后,第三方用户信息一般都会返回用户唯一的标志 openid 或者 unionid 或者 id,具体是什么得看第三方,比如 github 的是 id1. 直接通过 注册 的方式保存到数据库第一种:如果网站没有注册功能的,直接通过第三方授...

2019-09-23 18:01:46 4689

原创 支付私钥签名和回调公钥验签

一般设计安全性比较高的三方支付 会采用公私钥这种方式进行加密和解密 话不多说 先说下常见问题问题1openssl_sign(): supplied key param cannot be coerced into a private key出现这种问题是私匙的文件格式不对可以通道下列方法更正$value是私钥public function setPrivateKey($valu...

2019-07-29 10:27:41 752

转载 浅谈Mysql共享锁、排他锁、悲观锁、乐观锁及其使用场景

Mysql共享锁、排他锁、悲观锁、乐观锁及其使用场景一、相关名词|--表级锁(锁定整个表)|--页级锁(锁定一页)|--行级锁(锁定一行)|--共享锁(S锁,MyISAM 叫做读锁)|--排他锁(X锁,MyISAM 叫做写锁)|--悲观锁(抽象性,不真实存在这个锁)|--乐观锁(抽象性,不真实存在这个锁)二、InnoDB与MyISAMMysql 在5....

2019-06-11 10:36:52 127

原创 mysql优化

一.索引的优化只要列中含有NULL值,就最好不要在此例设置索引,复合索引如果有NULL值,此列在使用时也不会使用索引尽量使用短索引,如果可以,应该制定一个前缀长度对于经常在where子句使用的列,最好设置索引,这样会加快查找速度对于有多个列where或者order by子句的,应该建立复合索引对于like语句,以%或者‘-’开头的不会使用索引,以%结尾会使用索引尽量不要在列上进行运...

2019-05-09 20:33:56 81

原创 php 子类中如何调用父类的属性和方法呢

1.方法的调用:$this->方法名();如果子类中有该方法则调用的是子类中的方法,若没有则是调用父类中的方法 egg: parent::则始终调用的是父类中的方法。2.属性的调用:$this->属性名;如果子类中有该属性则调用的是子类中的属性,若没有则调用的是父类中的属性...

2019-04-16 15:48:53 4755

原创 linux和shell的关系

shell的理解      shell翻译成壳的意思,它是包裹在linux内核外层的,一个可通过一系列的linux命令对操作系统发出相关指令的人机界面。 shell可以通过其条件语句和循环语句等,把一系列linux命令结合在一起,形成一个相当于面向过程的程序,shell script,来实现一些较为复杂的功能。      shell是linux命令集的概称,是属于命令行的人机界面。She...

2019-02-22 13:40:55 7193

原创 if与switch在使用的过程中的对比

如果是数字或者字符的话使用switch,因为它只会在一开始的switch括号中取出变量值一次,然后将这个值与下面所设定的case比较,但如果使用if,每次遇到条件式时,都要取出变量值,效率就会变低$b = 'hello world';if($b == 'hello')//...else if($b == 'world')//...else if($b == 'hello world'...

2019-01-19 15:20:06 219

原创 mysql中char,varchar,text类型的区别

关于char,varchar与text设计数据库的时候用的居多,一般来说,可能现在大家都是用varchar。但是当要存储的内容比较大时,究竟是选择varchar还是text呢?text 、 char、varchar  是数据在数据库中的存放策略问题,为了,合理应用存储空间,是数据库服务器数据类型划分的方式。对于应用程序,把它们和string对应就可以了。三种类型需要注意以下几点(1...

2019-01-05 10:52:49 178

原创 thinkphp5的vendor和extend的区别

one-     vendor   vendor的是通过composer的方法进行自动引入到第三方扩展库vendor目录里的,调用方法是利用的vendor方法:   $re = vendor ( 'PHPExcel' );    $mail = new \PHPExcel ();two-  extend   extend是通过手动的方法直接把第三方扩展库或者自己写的封装库直接引入...

2018-12-20 13:18:48 301

原创 linux中用户组和权限问题

用户、组、权限一、权限:r, w, x1.文件权限:      r:可读,可以使用类似cat等命令查看文件内容;      w:可写,可以编辑或删除此文件;      x: 可执行,eXacutable,可以命令提示符下当作命令提交给内核运行;2.目录权限:      r: 可以对此目录执行ls以列出内部的所有文件;      w: 可以在此目录创建文件;      x: 可以使...

2018-12-18 08:56:09 3086

原创 PHP数组和对象的区别

有时候会思考一个问题 php中对象和数组的区别对象不仅有属性,还有方法;,对象可以封装对这些数据的操作,而数组是办不到的。因此:如果是单纯存数据,就用数组,但如果你要定义对这些数据的操作,更建议使用对象!举例:如果你想在操作的数据里加个通用的方法,比如返回值是加密的,或者其它等等功能,这时候可以考虑写个类,返回数据的时候使用对象的相应方法即可得到想要的数据。 如果从框架设计...

2018-11-23 15:54:14 2606

原创 虚拟机 vagrant package 打包自己的box

需要注意的哦:virtualbox程序里面的虚拟机的名称,不是box的名字也不是Vagrantfile里面的虚拟机名称.默认是打包当前目录下面的虚拟机 我们想要打包box,首先得知道虚拟机的名称,不是vagrant box list 出来的名称哦,这点要切记。 第一步:查看虚拟机名称去到虚拟机安装目录,执行命令: vboxmanage list vms 划红线的是虚拟机的名称哈 ...

2018-10-29 14:23:03 1039 1

原创 jquery.cookie.js插件

jquery.cookie.js插件:   <script type="text/javascript" src="js/jquery-1.6.2.min.js"></script> <script type="text/javascript" src="js/jquery.cookie.js"></scr

2018-10-09 17:20:34 133

原创 php中intval函数细节

int intval(mixed $var [, int $base]); 1.intval()的返回值是整型,1或者0。可作用于数组或者对象(对象报错信息:Notice: Object of class 对象名 could not be converted to int in 文件名 on line 行数),值为1。作用于数组时当数组为空,返回值是0,不为空则为1,并无报错。2.in...

2018-10-08 14:02:42 1752

原创 关于使用Github,gitignore不起作用的解决方法

直接上解决方法: 1 2 3 git rm -r --cached . git add . git commit -m 'update .gitignore'  解释:    .gitignore文件,忽略提交时忽略的文件哦,在使用GIT的过程中,明明写好了规则,但问题不起作用,每次还是重复提交,无法忍受.其实这个...

2018-10-04 20:58:33 764

原创 git 拉取和获取 pull 和 fetch 区别

有两种 拉取 和 获取 pull 和 fetch git pull    从远程拉取最新版本 到本地 自动合并 merge           git pull origin master git fetch  从远程获取最新版本 到本地  不会自动合并 merge   git fetch origin master      git log -p master ../origin/master ...

2018-09-24 19:19:41 3965

原创 php中传值和传引用的区别?

之前也有理解过传值和传引用的不同,但是好脑袋不如个烂笔头,还是记录下来分享下来没事多看看吧传值的话如果是非对象,会传一个值的拷贝,对这个变量做任何改动都不影响原值。 传引用或者传对象,是传真实的内存地址,对这个变量做的改动会影响原值。不多说看代码好理解呢function func1($a) { $a = $a + 1;}function func2(&$a) { ...

2018-09-18 18:20:18 247

原创 php中include_once,require_once,和include,require的区别?

include,require,或者include_once和include的区别,相信大家也有思考,但是很少人深层次的去理解为什么有了include_once,还需要include做什么?        当时情况也是这样的,觉得include_once或者require_once能避免文件重复加载,那每次用它就行了,干嘛还要用include,以至于我很长一段时间写的php代码,用的都是*_o...

2018-09-17 17:21:29 138

原创 php中__construct()和__initialize()的区别

看到很多地方用的有__costruct和__initialize在很地方都在使用,不过也要留意2者之间的区别哦,__construct()是php内置的构造函数,__initialize()是php框架中定义的(如thinkphp),用法基本一致。区别:子类的__initialize方法自动调用父类的__initialize方法。(thinkphp)更正:在tp中若父类和子类都有_in...

2018-09-16 08:57:59 1307

原创 tp5中的链表问题,多看看避免遗忘

连表查询可以帮我们快速查询到多张表中相互关联的数据,下面为大家介绍一下join的用法 INNER JOIN: 等同于 JOIN(默认的JOIN类型),如果表中有至少一个匹配,则返回行 LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行 RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行 FULL JOIN: 只要其中一个表中存在匹配,就返回...

2018-09-06 11:38:20 422

原创 validate.js与提交表单的细节

validate中最基本的配置就不说了,网上有很多demo,关于其中的细节说下哈第一个中文提示问题  我是用了一个中文提示的js插件 原库里面是用中文做的提示哦,还有就是提交的时候验证无反应的问题首先必须是表单控件哦,并且提交按钮<input type="submit" value="提交"> 这个类型必须是指定为submit类型哦,不然的话无效,表单也不会起作用的哈...

2018-08-17 16:34:37 504

原创 js的arguments

类数组对象:arguments总所周知,js是一门相当灵活的语言。当我们在js中在调用一个函数的时候,我们经常会给这个函数传递一些参数,js把传入到这个函数的全部参数存储在一个叫做arguments的东西里面,那么这到底是什么东西?在js中万物皆对象,甚至数组字符串函数都是对象。所以这个叫做arguments的东西也是个对象,而且是一个特殊的对象,它的属性名是按照传入参数的序列来的,第1个参数的属...

2018-06-22 15:55:47 143

原创 float和inline-block的细节

在我们平时工作中,经常会遇到把一些块状元素在一行排列显示,这时候我们通常会用到float,或许会用inline-block等等,那么他们有什么共性和区别?适用在什么场景? 共性:①inline-block: 是把一个元素的display设置为块状内联元素,意思就是说,让一个元素的容器inline展示,并且里面的内容block展示;inline属性使元素内联展示,内联元素设置宽度无效,相邻的inli...

2018-06-20 19:56:21 177

原创 javascript的作用域问题

1.js作用域(全局变量,局部变量)内部可以访问外部,但外部的不能访问内部的 var a=10;function aaa(){ alert(a);};aaa(); //a 为外部变量即全局变量,所以可以直接访问到 结果为10function aaa(){var a=10; };aaa();alert(a); //a 为函数aaa()内部变量量即局部变量,所以无法访问到v...

2018-06-18 22:33:27 100

翻译 学习笔记JavaScript没事常看看

js事件    一、什么是事件,事件的起因    btn.onclick = function(){         }    二、事件流    1》  事件冒泡:从内到外    2》  事件捕获:从外到内    三、鼠标类事件    1》  onclick   ===è单击事件    2》ondbclick  ==è双击事件    3》  oncontextmenu ===è右击事件    4》...

2018-06-16 21:23:27 125

空空如也

空空如也

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

TA关注的人

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