• 手把手教你使用 Git
  • 一:Git是什么?       Git是目前世界上最先进的分布式版本控制系统。二:SVN与Git的最主要的区别?      SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了...
  •  2019-04-08  |    程成  |    85  |    0  |    其他  |   git  版本库  pull  冲突  
  • 如何防止定时脚本重复执行( Linux crontab)
  • 场景好多系统中会用到邮件系统,我们假设有一个 PHP 脚本用来发送邮件。使用 Linux cron 每分钟执行一次我们暂时不引入队列系统,其实使用队列处理此方式更优。我们得到下面的基本配置* * * * * php /home/app/email.php问题分析和解决如果这个邮件服务出现异常,进程僵死怎么办?假设由于未知因素, email.php 脚本一直执行,没有退出。极端的情况,进入一个 while 死循环。这下倒好,原来说好的一分...
  •  2019-04-02  |    程成  |    86  |    0  |    服务器  |   flock   crontab  Linux  
  • 二叉树的三种遍历方式
  • 一、先序遍历访问顺序:根结点-->左子树-->右子树先序遍历:(1)访问根结点;(2)先序递归遍历左子树;(3)先序递归遍历右子树;(注:每个节点的分支都遵循上述的访问顺序,体现“递归调用”)先序遍历结果:A BDFE CGHI思维过程:(1) 先访问根节点A,(2) A分为左右两个子树,因为是递归调用,所以左子树也遵循“先根节点-再左-再右”的顺序,所以访问B节点,(3) 然后访问D节点,(4) 访问F节点的时候有分支,同样遵循“先根节点-再左--再右”的顺序,(5) 访问E节点,...
  •  2019-03-05  |    程成  |    118  |    0  |    其他  |   二叉树  遍历  访问  结构  
  • PHP回顾--插入排序(包含希尔排序)
  • 一、定义插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,是一种稳定的排序方法。希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。希尔排序效果图上面解释来源于百度百科。先抛出个结论:你可以将希尔排序理解为 预排序的插入排序,后面会解释两者具体的关系。二、排序演示1、插...
  •  2019-03-01  |    程成  |    91  |    0  |    PHP  |   PHP  排序  插入  希尔  
  • PHP回顾--快速排序
  • 一、定义基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。通俗说就是数组中找出一个随机数(一般拿数组第一个数),把它插入一个位置,让它左边的数都比它小,右边的数都比它大,这样就将一个数组分成了两个字数组。然后再根据同样的方法递归,直到不能分解为止,这个时候数组就已经排好序了。二、排序演示下面演示了用第一个数字12将数组分成了两个数组。下...
  •  2019-03-01  |    程成  |    118  |    1  |    PHP  |   PHP  排序  快速  
  • MySQL 常用两种存储引擎选择 (MyISAM 和 InnoDB)
  • InnoDB和MyISAMInnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为: MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外部键等高级数据库功能。所以从宏观来讲,事务数据库关注细节,而数据仓库关注高层次的聚集,所以,InnoDB更适合作为线上的事务处理,而MyISAM更适合作为ROLA...
  •  2019-02-27  |    程成  |    84  |    1  |    数据库  |   MySQL  存储引擎  MyISAM  InnoDB  
  • MySQL几种存储引擎介绍,以及适用场景
  • 一、存储引擎Isam该引擎在包括MySQL 5.1及其以上版本的数据库中不再支持。该引擎在读取数据方面速度很快,而且不占用大量的内存和存储资源;但是 Isam 不支持事务处理、不支持外键、不能够容错、也不支持索引。Berkeley该引擎在包括MySQL 5.1及其以上版本的数据库中不再支持。该存储引擎支持COMMIT和ROLLBACK等事务特性。CSV使用该引擎的MySQL数据库表会在MySQL安装目录data文件夹中的和该表所在数据库名相同的目录中生成一个.CSV文件(所以,它可以将CSV类型...
  •  2019-02-27  |    程成  |    132  |    0  |    数据库  |   MySQL  存储引擎  数据库  
  • MySQL 外键约束 FOREIGN_KEY_CHECKS 启动和关闭
  • 当我导出表时,看见了下面两句SQL,明显 FOREIGN_KEY_CHECKS 是外键校验的意思。SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; ---------------------这里是你的SQL语句----------------------- SET FOREIGN_KEY_CHECKS = 1;但是为什么要先关闭外键约束,再开启外键约束。是因...
  •  2019-02-27  |    程成  |    157  |    0  |    数据库  |   外键  MySQL  数据库  
  • MySQL 主要使用的几种索引
  • 一、索引定义MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索引包含多个列。创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。实际上,索引也是一张表,该表保存了主键与...
  •  2019-02-26  |    程成  |    160  |    0  |    数据库  |   MySQL  索引  数据库  优化  
  • PHP回顾--冒泡排序
  • 一、定义冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法,冒泡排序是稳定排序。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。效果图二、原理冒泡排序算法的原理如下:比...
  •  2019-02-26  |    程成  |    82  |    0  |    PHP  |   PHP  排序  冒泡  
  • 实例测试 PHP 对象的遍历
  • 对象的遍历,跟数组的遍历,一样!其实,只能遍历出对象的 “实例属性数据”。 foreach( $对象名  as   $key => $value){//这里就可以处理$key和$value//但注意:1,  $key表示的是对象 的 “属性”,$value是其对应值;2,  这里能够遍历出来的属性,只能是在该范围中的“可访问属性”(就是要考虑访问控制权限)}实例一:class A{     ...
  •  2019-02-26  |    程成  |    133  |    0  |    PHP  |   PHP  遍历  对象  实例  
  • 什么是 ORM,以及在 PHP 上的使用
  • 百度百科:对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换 [1]  。从效果上说,它其实是创建了一个可在编程语言里使用的--“虚拟对象数据库”。简单的说就是对象模型和关系模型的一种映射。为什么要有这么一个映射?很简单,因为现在的开发语言基本都是oop的,但是传统的数据库却是关系型的。为了可以靠贴近面向对象开发,我们想要像操作对象一样操作数...
  •  2019-02-26  |    程成  |    160  |    1  |    PHP  |   ORM  PHP  SQL  数据库  
  • PHP 判断是安卓还是ios设备
  • 下面方法中 get_device_type() 就是返回设备信息,是安卓还是IOS。这个代码是判断请求来自电脑还是手机,如果是手机的话是安卓还是IOS。<?php if(!isMobile()){     echo '请使用手机打开'; }else{     $type = get_device_type();    &nbs...
  •  2019-02-22  |    程成  |    152  |    0  |    PHP  |   PHP  安卓  Android  IOS