自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

litchi_yang的博客

Genius only means hard-working all one’s life

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

原创 Yii console

Yii 中也有一个拥有丰富功能的控制台, 它们主要用于创建网站后台处理的任务。控制台应用程序的结构非常类似于 Yii 的一个 Web 应用程序。 它由一个或多个 yii\console\Controller 类组成,它们在控制台环境下通常被称为“命令”。 每个控制器还可以有一个或多个动作,就像 web 控制器。两个项目模板(基础模版和高级模版)都有自己的控制台应用程序。 你可以通过运行 y...

2018-08-21 10:07:35 831

原创 PHP 根据时间段按每周来分割时间

这里我的每周时间是周六开始,周五结束。public function getSchemeDate($begin_date = '', $end_date = ''){ if (!$begin_date || !$end_date) return false; $diff_time = strtotime($end_date) + 24 * 60 * 60 - strtotim...

2018-05-16 17:39:04 3211

原创 memcached底层工作原理

1、memcached是怎么工作的? Memcached的神奇来自两阶段哈希(two-stage hash)。Memcached就像一个巨大的、存储了很多<key,value>对的哈希表。通过key,可以存储或查询任意的数据。 客户端可以把数据存储在多台memcached上。当查询数据时,客户端首先参考节点列表计算出key的哈希值(阶段一哈 希),进而选中一个节点;客户端将请求发送给选...

2018-04-24 09:38:30 627

原创 深入memcached

特性和限制在 Memcached中可以保存的item数据量是没有限制的,只要内存足够Memcached单进程最大使用内存为2G,要使用更多内存,可以分多个端口开启多个Memcached进程,最大30天的数据过期时间,设置为永久的也会在这个时间过期常量REALTIME_MAXDELTA 60*60*24*30控制最大键长为250字节,大于该长度无法存储常量KEY_MAX_LENGTH 250控制单个...

2018-04-24 09:37:26 158

转载 解决Hash碰撞冲突方法总结

Hash碰撞冲突我们知道,对象Hash的前提是实现equals()和hashCode()两个方法,那么HashCode()的作用就是保证对象返回唯一hash值,但当两个对象计算值一样时,这就发生了碰撞冲突。如下将介绍如何处理冲突,当然其前提是一致性hash。1.开放地址法开放地执法有一个公式:Hi=(H(key)+di) MOD m i=1,2,…,k(k<=m-1)其中,m为哈希表的表长。...

2018-04-24 09:35:59 5106

转载 抽象类和接口的区别

看了这篇文章有所收获,但是有些地方了解的不是很彻底,留着学习!在开发人员岗位面试时,是否了解抽象类和接口之间的基本区别是一个很重要的考量因素。显而易见?完全不是。笔者面试过很多人,通常问的第一个问题是关于接口和抽象类的区别。但实际上很少有程序员能给出正确的答案。就这个问题来说,初级程序员可能都会清楚之间的区别,可能也并不一定理解其背后的原因,但其结构上的差异,特别是针对特定语言(几乎和所有的面向对...

2018-04-24 09:35:13 144

原创 Git 自动部署

第一步:在自己的服务器上项目目录里面,先去clone一份你所需要的版本管理库这样就OK了,如果有错误  使用 git init 初始化一下版本库 然后clone 一下第二步:在git版本库中hook文件里post-update.sample这个文件 cp post-update.sample post-update复制一份这样的文件,然后修改--work-tree=项目文件中的版本库路径  --g...

2018-04-24 09:32:25 257

转载 我是一名程序猿,这就是2017年的我……

十年生死两茫茫写程序,到天亮 千行代,Bug 何处藏纵使上线又怎样朝令改,夕断肠领导每天新想法天天改,日日忙相顾无言惟有泪千行每晚灯火阑珊处夜难寐,加班忙这一年,我们的心里只有工作,程序猿、产品汪、运营喵,你不让我,我不让你,都抢着到客户那赶趟儿。红的像火,粉的像霞,白的像雪。服务中带着暧昧儿,...

2018-04-19 17:51:00 233

原创 php读取目录及子目录下所有文件名的方法

function read_all_dir ( $dir ){ $result = array(); $handle = opendir($dir);//读资源 if ($handle){ while (($file = readdir($handle)) !== false ){ if ($file != '.' && $file

2017-12-06 15:23:23 4368

原创 几个国内可用的 yum 源

1、http://ftp.sjtu.edu.cn/centos/,上海交大,但服务器位于北京,中国教育网网络中心,我看像是朝阳区那边的IP,以前在那边上过  班,下载速度高达十M。 北方用户与教育网用户推荐,速度飞快。     2、http://centos.ustc.edu.cn,中国科技大学,服务器位于合肥。 南方用户推荐。     3、http://mirrors.sohu.

2017-12-06 14:52:14 15493

原创 两个二维数组进行合并成一个二维数组

//定义两个数组 $first 和 $second$first = array( array( "uid"=>'1', "name"=>'wang', ), array( "uid"=>2, "name"=>'zhang', ), array( "uid"=>3,

2017-11-28 19:08:57 9073 1

原创 PHP二维数组根据某一个字段进行排序

//定义一个数组$arr = array( array( 'id' => 1, 'num' => 2, ), array( 'id' => 2, 'num' => 3, ), array( 'id' => 3, 'num' => 4, ),

2017-11-28 19:01:32 458

原创 常见的DDoS攻击

常见DDoS攻击方式⑴、端口扫描攻击:    端口扫描攻击通过对VPS主机进行系统的结构化扫描来实现。例如,某人可能扫描您的 VPS主机上搭建的Web 服务器,其目的是找到暴露的服务或其他可以利用的漏洞。只要具有可从Internet上免费获得的众多端口扫描器之,任何人都可以轻松实现这种攻击。这也是常见的攻击之,因为它很容易实现,脚本小子通常利用它窃取服务器的主机名或IP地址(不过,

2017-11-24 14:44:18 6277

原创 DDoS攻击

一、介绍DDoS(DistributedDenialofService,即分布式拒绝服务攻击)为主,这是一种能使被攻击者的服务器或者网络不能提供正常服务、以分布式攻击为手段的网络攻击方式。DDOS攻击的本质是:利用木桶原理,寻找利用系统应用的瓶颈;阻塞和耗尽;当前问题:用户的带宽小于攻击的规模,噪声访问带宽成为木桶的短板。DDOS只不过是一个概称,其下有各种攻击方式

2017-11-24 10:17:40 1341

原创 Redis Windows下后台运行

一、cmd 下切换到自己的redis安装目录下二、把redis 弄成windows服务redis-server --service-install redis.windows.conf 三、启动redis服务redis-server --service-start这样redis就在后台运行了。

2017-11-23 11:52:02 532

转载 Jquery 选择器大全

一、基本选择器 选择器 描 述 返回 示例 #id 根据给定id匹配一个元素 单个元素 $("#test") 选取id为test的元素 .class 根据给定类名匹配一个元素 集合元素 $(".test") 选取class为test的元素 element 根据给定元素名匹配一个元素 集合元素 $("

2017-11-22 17:12:13 184

原创 Jquery div 的隐藏和显示

jquery的显示和隐藏一、jquery的 hide() 和 show()hide() 隐藏 , show() 显示如果点击“隐藏”按钮,我就会消失。隐藏显示$(document).ready(function(){  $("#hide").click(function(){  $("#p1").hide();

2017-11-22 17:06:52 802

原创 Mysql 修改结束符号

1. mysql默认结束语句符号是分号(;)2. 修改mysql默认指令(delimiter)注: delimiter和&符号中间有个空格3. 修改过后的结束符

2017-11-18 15:57:31 7376

原创 PHP 常见错误码

301    代表永久性转移      当网页A用301重定向转到网页B时,搜索引擎可以肯定网页A永久的改变位置,或者说实际上不存在了,搜索引擎就会把网页B当作唯一有效目标。      301的好处是:           第一, 没有网址规范化问题。           第二, 也很重要的,网页A的PR网页级别会传到网页B。302    代表暂时性转移可能会有URL规

2017-11-09 10:39:01 1187

原创 MySQL索引:聚簇索引与非聚簇索引的区别

在《数据库原理》里面,对聚簇索引的解释是:聚簇索引的顺序就是数据的物理存储顺序,而对非聚簇索引的解释是:索引顺序与数据物理排列顺序无关。正式因为如此,所以一个表最多只能有一个聚簇索引。聚簇索引的叶节点就是数据节点,而非聚簇索引的叶节点仍然是索引节点,并保留一个链接指向对应数据块。聚簇索引主键的插入速度要比非聚簇索引主键的插入速度慢很多。相比之下,聚簇索引

2017-10-30 14:50:45 307

原创 Mysql 索引

mysql 索引       普通索引 : CREATE INDEX IndexName ON `TableName`(`字段名`(length))         ALTER TABLE TableName ADD INDEX IndexName(`字段名`(length))     唯一索引: CREATE UNIQUE INDEX IndexName ON `Tabl

2017-10-23 08:21:31 151

原创 MySQL 主从复制

在开始主从复制前,搭建好自己的MySQL服务器,主服务器master,从服务器slave。如果你的slave是从master 直接克隆过来的,首先 执行 find / -name  auto.cnf     查找 auto.cnf文件 ,去修改auto.cnf文件,修改最后一位就行。         1、去编辑master 和 slave 的配置master   :

2017-10-21 18:11:38 154

原创 PHP 获取字符串首次出现3次的字符

<?php //array_key_exists 判断字符是否 存在数组的键中 $str='aabcbb';//定义的字符串 $arr=[]; for ($i=0; $i <strlen($str) ; $i++) { if(array_key_exists($str[$i], $arr)){ $a

2017-10-20 23:46:04 1008

原创 PHP交换两个变量的值,不使用第三个变量

当交换的为数字时: <?php /** * 双方变量为数字时,可用交换方法五 * 使用加减运算符,相当于数学运算了^_^ */ $a = 1; // a变量原始值 $b = 2; // b变量原始值 echo '交换之前 $a 的值:'.$a.', $b 的值:'.$b,''; // 输出原始值

2017-10-20 23:42:46 1749

原创 Linux 安装redis以及redis扩展

1、下载源码,解压缩后编译源码。wget http://download.redis.io/releases/redis-4.0.2.tar.gztar xzf redis-4.0.2.tar.gzcd xzf redis-4.0.2make     2、编译完成后,在Src目录下,有四个可执行文件redis-server、redis-benchmark、redis-cli和

2017-10-20 21:56:57 169

原创 linux 安装 memcached

分享一些自己的安装过程。下载地址:Memcached客户端http://memcached.org/files/memcached-1.4.20.tar.gzMemcache扩展https://pecl.php.net/get/memcache-3.0.6.tgzLibeventhttps://monkey.org/~provos/libevent-2.

2017-10-20 21:29:49 118

原创 Git 命令

这里分享一些git 常用的命令,希望能对大家有所帮助 。 mkdir:XX                    (创建一个空目录 XX指目录名)   pwd:                          显示当前目录的路径。   git init                          把当前的目录变成可以管理的git仓库,生成隐藏.git文件。   git

2017-10-20 20:52:49 140

原创 CentOS7 yum 安装Mysql5.7

在CentOS7下 yum安装mysql5.7 1、下载YUM库         wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm    2、安装YUM库        yum localinstall -y mysql57-community-release-el7-7.noarch.rpm        在安装yum库时如果报错

2017-10-20 19:06:02 560

原创 PHP写一个二分法查找一个值在数组中的位置

$arr = array(2,4,5,6,7,8,9,10); $low = 0; //要查找范围的最小键值$search = 6;//计算出数组的长度$high = count($arr)-1; while($low <= $high){ //取得数组的中间键值 $mid = intval(($low+$high)/2);

2017-10-18 11:57:29 884 3

原创 写一个遍历目录下所有文件以及子目录的函数

<?phpfunction my_candir($dir){ $files=array(); if($handle=opendir($dir)){ while(($file=readdir($handle))){ if($file!='..'&&$file!='.'){ if(is_dir($dir.'/

2017-10-18 10:11:50 835

原创 Mysql的存储引擎,myisam和innodb的区别

MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参考完整性与并发违规处理机制,后来就逐渐取代MyISAM。InnoDB

2017-10-18 09:52:37 176

原创 Mysql触发器的简单使用

Mysql触发器使用到的场景很多,我是用商品表和订单表来模拟一下触发器的使用。1.  首先创建两个表goods和goods_order2.触发器在理说一下insert、update、delete 。       g_or_1 这是创建的一个添加的insert的触发器。    当我们在goods_order表中添加数据的时候,goods表中商品数量会相对的减少

2017-10-14 00:11:31 412

转载 session存入数据库

我们首先写一个存储类(注意这里没有对DB操作进行封装),暂叫session.class.php:class session_mysql{private $_db_link;private $_table;//这个是SESSION的回收周期(秒)private $_gc_lifetime = 30;public function __construct($host

2017-09-20 11:44:14 683

转载 php session详解

使用详解编辑php中的Session与Cookie在PHP开发中对比起Cookie,session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制,本文简单介绍 session 的使用。由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容。实际上在服务器端的 Session 文件,PHP 自动修改 ses

2017-09-20 11:43:04 329

转载 php详细介绍

PHP原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor"。注意不是“Hypertext Preprocessor”的缩写,这种将名称放到定义中的写法被称作递归缩写。PHP于1994年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。这些

2017-09-20 11:37:36 911

原创 Composer安装Thinkphp5

刚装完了Thinkphp5 ,特地出来分享一下。 在命令行中切换到你的项目目录下,执行 :composer create-project topthink/think tp5 –prefer-dist这个界面就说明安装完了进入你刚才安装的目录中进入 public 目录出现这个界面就是安装成功了。

2017-09-15 20:44:37 491

原创 阿里云服务器部署个人博客

今天整理了一下自己搭博客的过程,给大哥们分享一下。我是在阿里云买的服务器,9.9半年免费,还送一个.xin域名的抵用券。1、首先把送的东西都领取了,尤其是服务器在服务器中 可以看到自己服务器的的IP,有公网和私有 两个IP。2、然后就是域名了,国内的域名需要备案自己想个域名,要注意有些后缀名在一些地方不支持备案,比如北京不支持 .club  .name 等后缀的域名,一定要

2017-09-15 20:43:50 721

原创 yii2.0 的安装

yii框架的安装时比较简单的。首先需要配置自己PHP的环境变量大家可以去百度去看看,这里就不多说了。yii框架可以去 :http://www.yiichina.com/download  下载下载完以后,去自己放项目的地方解压。双击点开这里选择 0 , 0是开发模式,然后在选择 yes 就可以了。然后访问项目中的    frontend/web看到这个页

2017-09-15 20:43:03 180

原创 window安装Python环境

Python安装包可以去下边网址下载:https://www.python.org/downloads/release/python-362/安装特别简单一直next下去就行,中间记得勾选.py。安装完以后,去配置python环境变量,这个就和配置PHP环境变量一样,挺简单的,百度一大堆。配置完以后,在cmd下输入python,如果出现以下界面,则安装成功。

2017-09-15 20:42:07 182

转载 composer安装 laravel 框架

刚刚安装完laravel框架,给大家分享一下。在安装前要配置PHP全局变量没有配置的可以去 百度看看,很简单的。因为composer 默认加载的是国外的镜像所以要配置国内镜像安装Composer:https://getcomposer.org/download/点击后会出现一个下载,下载完以后一直点下一步安装即可。然后去cmd下 输入composer   出现以下界

2017-08-19 11:29:47 252

空空如也

空空如也

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

TA关注的人

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