自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

longjef的博客

神既道,道法自然,如来!

  • 博客(65)
  • 问答 (1)
  • 收藏
  • 关注

转载 【Git】git hooks 自动化部署不同分支代码

本文主要介绍如何用git hooks来进行自动化部署发布我们的代码,省去了我们发布前一系列不必要的打包发布等繁琐步骤。背景用git管理代码时,每次发布时,我们都需要经过以下步骤:将本地代码push至远程仓库; 然后再ssh到服务器上进行git pull操作; 对代码进行编译打包压缩发布等吧啦吧啦各种无趣的操作;这很是繁琐,本着程序猿(媛)能躺着就不坐着的基本素养,我们是不是能够自动去监测我们的远程仓库,当我们每次push之后,它就自动去实现代码的更新编译部署等一系列功能呢?答案是,当.

2020-07-28 12:19:58 1336

转载 BitTorrent 原理简介

引言之前我这边在生产环境中使用 Murder 软件的 BT 上传下载的方式来实现大文件的快速分发。这属于 BT 软件的应用。最近重新看了下 BT 协议的分析与实现,现在重新了解下 BT 协议原理。BitTorrent 原理简述与传统客户端/服务器网络通信模式不同,对等方到对等方(P2P)通信模式在近年来越来越流行起来。在 P2P 模式中,服务和资源分布化,资源不集中存储在某些设备上,而是分散存储在运行 P2P 程序的设备上,每一个对等方都可以为其他对等方提供服务。BitTorrent(

2020-05-13 22:34:02 2296

转载 BT种子的原理

这个可以分两个层面来解释下:1、torrent文件的原理:如果您这个问题是指torrent文件本身,那么,当您对一个文件(或者文件夹)制作成.torrent文件,实际上生成的.torrent文件里面主要包括了这些信息:A)这个文件(文件夹)中数据的SHA1值,比如一个1G的文件,如果按1M每块进行分块,则会被分为了1000块,torrent中就会有这1000个数据块的指纹值(SHA1的hash值),这个占据了torrent文件的绝大部分空间。这些值的目的是为了下载的过程中进行数据校验,确保数据收到的

2020-05-13 22:27:00 1744

原创 前端图片压缩上传(纯js的质量压缩,非长宽压缩)

此demo为大于1M对图片进行压缩上传若小于1M则原图上传,可以根据自己实际需求更改。demo源码如下: XMLHttpRequest上传文件 /* 三个参数 file:一个是文件(类型是图片格式), w:一个是文件压缩的后宽度,宽度越小,字节越小 objDi

2018-04-30 20:44:41 3666 5

原创 MySQL大数据量快速分页实现

以下分享一点我的经验 一般刚开始学SQL语句的时候,会这样写代码如下:SELECT * FROM table ORDER BY id LIMIT 1000, 10;但在数据达到百万级的时候,这样写会慢死 代码如下:SELECT * FROM table ORDER BY id LIMIT 1000000, 10;

2016-12-29 16:07:27 1438 1

转载 CentOS6.5单独 安装指定的PHP版本(php5.5)

安装指定的php版本参考:https://webtatic.com/packages/php55/查询是否安装有php[cpp] view plain copy #rpm -qa|grep php  如果有安装的PHP包,先删除他们#yum remove php.x86_64 php-cli.x86_64 php-common.x

2016-12-20 15:22:47 1166

转载 Mysql Explain 详解

一.语法explain 例如: explain select * from t3 where id=3952602;二.explain输出解释+----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+| id | selec

2016-12-19 16:11:33 344

转载 CentOS6.5下Redis安装与配置

本文详细介绍redis单机单实例安装与配置,服务及开机自启动。如有不对的地方,欢迎大家拍砖o(∩_∩)o(以下配置基于CentOS release 6.5 Final, redis版本3.0.2 [redis版本号中间位是偶数的是稳定版,奇数的为非稳定版])一.安装redis1)     下载redis安装包可去官网http://redis.io ,也可通过wget命令,

2016-12-06 15:02:07 2300

转载 OAuth的机制原理讲解及开发流程

本想前段时间就把自己通过QQ OAuth1.0、OAuth2.0协议进行验证而实现QQ登录的心得及Demo实例分享给大家,可一直很忙,今天抽点时间说下OAuth1.0协议原理,及讲解下QQ对于Oauth1.0的认证开发。闲话多说了点,下面直接进入主题。  1、OAuth的简述  OAuth(Open Authorization,开放授权)是为用户资源的授权定义了一个安全、开放及简单的标准,

2016-11-23 16:50:48 365

转载 OAuth的机制原理讲解及开发流程

本想前段时间就把自己通过QQ OAuth1.0、OAuth2.0协议进行验证而实现QQ登录的心得及Demo实例分享给大家,可一直很忙,今天抽点时间说下OAuth1.0协议原理,及讲解下QQ对于Oauth1.0的认证开发。闲话多说了点,下面直接进入主题。  1、OAuth的简述  OAuth(Open Authorization,开放授权)是为用户资源的授权定义了一个安全、开放及简单的标准,

2016-11-22 12:00:16 370

转载 nginx系统真正有效的图片防盗链完整设置详解

关于nginx防盗链的方法网上有很多教程,都可以用,但是我发现很多教程并不完整,所做的防盗链并不是真正的彻底的防盗链!一般,我们做好防盗链之后其他网站盗链的本站图片就会全部失效无法显示,但是您如果通过浏览器直接输入图片地址,仍然会显示图片,仍然可以右键图片另存为下载文件!依然可以下载?这样就不是彻底的防盗了!那么,nginx应该怎么样彻底地实现真正意义上的防盗链呢?首先,我们来看下ng

2016-11-22 11:45:16 12148 1

转载 php中实现记住密码下次自动登录的例子

这篇文章主要介绍了php中实现记住密码下次自动登录的例子,本文使用cookie实现记住密码和自动登录功能,需要的朋友可以参考下。做网站的时候经常会碰到要实现记住密码,下次自动登录,一周内免登陆,一个月内免登陆这种需求。这种功能一般都是通过cookie来实现的。本篇文章将简单说一下如何使用php实现该需求的。当然实现该需求的方法有N多种。整个过程就是用户在登陆的时候,如果选择了记住密码或

2016-11-22 11:37:39 1022

转载 apache性能测试工具ab使用详解

网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环。只有让服务器处在高压情况下,才能真正体现出软件、硬件等各种设置不当所暴露出的问题。性能测试工具目前最常见的有以下几种:ab、http_load、webbench、siege。今天我们专门来介绍ab。ab是apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行

2016-11-22 11:33:27 666

原创 连续输入密码错误3次,第二天才能登录

登录安全性 一天内连续输入密码错误3次,第二天才能登录(过了当天凌晨24点)下面我们先在数据库中建立一个试验表,id,用户名username,密码pwd,次数num,时间time(date);这个功能主要在数据库中分3中情况判断1:解锁时间到了,清除数据库以前的记录数,次数值还原02:在解锁时间内,但是不良记录已经达到3次,不能登3:在解锁时间内,并且不良记录未满3次,可以登录

2016-11-22 10:01:04 2879

原创 超级管理员登录后如果连续XX分钟没有操作再次操作需要重新登录

首先在设置session页面时session_start();session("name",$adminname);//加入session时间 time()session("time",time());再进入防非法登录的控制器class CommonController extends Controller{public function __construct

2016-11-22 09:46:49 1120

原创 微信公众平台实现获取用户OpenID的方法

这篇文章主要介绍了微信公众平台实现获取用户OpenID的方法,需要开发人员经过微信授权后获取高级接口才能使用此功能,或者使用微信测试号测试(https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login)用户OpenID对于微信公众平台建设有着非常广泛的用途,需要的朋友可以参考下。用户点击微信自定义菜单view类型按钮后,微信客户端

2016-11-21 18:54:35 12619

原创 http错误代码表

所有 HTTP 状态代码及其定义。  代码  指示  2xx  成功  200  正常;请求已完成。  201  正常;紧接 POST 命令。  202  正常;已接受用于处理,但处理尚未完成。  203  正常;部分信息 — 返回的信息只是一部分。  204  正常;无响应 — 已接收请求,但不存在要回送的信息。  3xx  重定向  301  已移动 — 请

2016-11-21 16:48:17 313

原创 简单易用的倒计时js代码

倒计时js代码想必大家都有用过,大同小异,本例为大家介绍的是简单易用的,需要的朋友可以参考下。简单易用的倒计时js代码*{ margin:0; padding:0; list-style:none;}body{ font-size:18px; text-align:center;}.time{ height:30px; padding:200px;}

2016-11-15 13:38:37 525

转载 AJAX 跨域请求 - JSONP获取JSON数据(详解-示例)

Asynchronous JavaScript and XML (Ajax) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术。Ajax 允许在不干扰 Web 应用程序的显示和行为的情况下在后台进行数据检索。使用XMLHttpRequest 函数获取数据,它是一种 API,允许客户端 JavaScript 通过 HTTP 连接到远程服务器。Ajax 也是许多 mashu

2016-11-15 13:33:59 565

原创 PHP抽奖程序概率算法

//概率算法,6个奖项$prize_arr = array( '0' => array('id'=>1,'prize'=>'iphone6','v'=>1), '1' => array('id'=>2,'prize'=>'数码相机','v'=>5), '2' => array('id'=>3,'prize'=>'音箱设备','v'=>10), '3' => arr

2016-11-14 11:30:29 820

转载 MySQL的表分区详解示例

这篇文章主要介绍了MySQL的表分区,例如什么是表分区、为什么要对表进行分区、表分区的4种类型详解等,需要的朋友可以参考下一、什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表。mysql5.1开始支持数据表分区了。如:某用户表的记录超过了600万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分区。当然也可根据其他的条件分区。二、为什么要对表进行分区

2016-11-10 19:09:16 358

原创 mysql全局唯一ID生成方案(二)

MySQL数据表结构中,一般情况下,都会定义一个具有‘AUTO_INCREMENT’扩展属性的‘ID’字段,以确保数据表的每一条记录都可以用这个ID唯一确定;随着数据的不断扩张,为了提高数据库查询性能,降低查询热点,一般都会把一张表按照一定的规则分成多张数据表,即常说的分表;分表除了表名的索引不同之外,表结构都是一样的,如果各表的‘ID’字段仍采用‘AUTO_INCREMENT’的

2016-11-10 16:52:40 6917

原创 mysql全局唯一ID生成方案(一)

一旦数据库被切分到多个物理结点上,我们将不能再依赖数据库自身的主键生成机制。一方面,某个分区数据库自生成的ID无法保证在全局上是唯一的;另一方面,应用程序在插入数据之前需要先获得ID,以便进行SQL路由。目前几种可行的主键生成策略有:1. UUID:使用UUID作主键是最简单的方案,但是缺点也是非常明显的。由于UUID非常的长,除占用大量存储空间外,最主要的问题是在索引上,在建

2016-11-10 16:50:24 42117

原创 mysql分库 分表

原文链接:http://www.jianshu.com/p/89311703b320传统的分库分表传统的分库分表都是通过应用层逻辑实现的,对于数据库层面来说,都是普通的表和库。分库分库的原因首先,在单台数据库服务器性能足够的情况下,分库对于数据库性能是没有影响的。在数据库存储上,database只起到一个namespace的作用。database中的表文件存储在一个以dat

2016-11-10 14:37:53 421

原创 PHP设计模式之:单例模式

单例模式(职责模式):简单的说,一个对象(在学习设计模式之前,需要比较了解面向对象思想)只负责一个特定的任务;单例类:1、构造函数需要标记为private(访问控制:防止外部代码使用new操作符创建对象),单例类不能在其他类中实例化,只能被其自身实例化;2、拥有一个保存类的实例的静态成员变量3、拥有一个访问这个实例的公共的静态方法(常用getInstance()方法进行实例化单

2016-11-10 13:53:36 222

原创 MySQL数据文件介绍及存放位置

一、MySQL数据库文件介绍MySQL的每个数据库都对应存放在一个与数据库同名的文件夹中,MySQL数据库文件包括MySQL所建数据库文件和MySQL所用存储引擎创建的数据库文件。1、MySQL创建并管理的数据库文件:.frm文件:存储数据表的框架结构,文件名与表名相同,每个表对应一个同名frm文件,与操作系统和存储引擎无关,即不管MySQL运行在何种操作系统上,使用何种存储引擎,

2016-11-10 11:27:13 580

原创 php判断字符串字母大小写函数实例

提供一款简单实例的PHP教程判断大小写字母函数方法一: function checkcase($str){ if(preg_match('/^[a-z]+$/', $str)) { echo '小写字母'; } elseif(preg_ma

2016-11-10 08:33:20 6856

原创 mysql主从复制

mysql主从复制(超简单)怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下:1、主从服务器分别作以下操作:  1.1、版本一致  1.2、初始化表,并在后台启动mysql  1.3、修改root的密码2、修改主服务器master:   #vi /etc/my.cnf       [mysqld]       log-bin=mysql-

2016-11-09 19:03:21 236

原创 Nginx负载均衡配置实例详解

负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦。负载均衡先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上即可。测试环境模拟服务器,所以本次测试直接ho

2016-11-08 18:04:12 293

原创 linux下添加定时任务 详解示例

linux下定时执行任务的方法 在Linux中你应该先输入crontab -e,然后就会有个vi编辑界面,再输入0 3 * * 1 /clearigame2内容到里面 :wq 保存退出。在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。cron的配置文件

2016-11-06 20:54:30 3969

原创 LNMP安装了哪些软件?安装目录在哪?

LNMP一键安装包除去安装所必须的依赖包,还会默认安装以下软件: Nginx、MySQL/MariaDB、PHP、phpMyAdmin、Zend Optimizer/Zend GuardLoader。用户可以根据自己的需要安装其他组件,如FTP服务器、缓存组件,也可以使用升级脚本对Nginx、MySQL、PHP进行升级。安装这些组件或升级都需要在lnmp下载解压缩后的目录,比如下载到/root

2016-11-05 09:51:52 370

原创 php中使用session_set_save_handler(),session入库(mysql)机制

seesion的入库(mysql)操作,主要是修改seesion的读取与写入操作主要是通过 bool session_set_save_handler(seesion_open,seesion_close,session_read,session_write,session_destory,session_gc);依次对应的是开启seesion连接方式,关闭session,读取sessio

2016-11-04 15:00:46 412

原创 php中fsockopen模仿post与get详解

[导读] 在php中fsockopen函数可以模仿用户去访问一些网站并且还可以带一些常用的信息,如果浏览器,IP,post,get 等等数据,下面我分别一来给大家介绍介绍。如果你要使用fsockopen函数我们必须在php ini中把allow_url在php中fsockopen函数可以模仿用户去访问一些网站并且还可以带一些常用的信息,如果浏览器,IP,post,get 等等数据,下面

2016-11-03 09:40:00 1023

原创 PHP设计模式之观察者模式(Observer)详细介绍和代码实例

【意图】定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新【GOF95】 又称为发布-订阅(Publish-Subscribe)模式、模型-视图(Model-View)模式、源-监听(Source-Listener)模式、或从属者(Dependents)模式【观察者模式结构图】【观察者模式中主要角色】1

2016-11-02 09:51:16 9531 1

转载 PHP中“简单工厂模式”实例讲解

原创文章,转载请注明出处:http://www.cnblogs.com/hongfei/archive/2012/07/07/2580776.html简单工厂模式:①抽象基类:类中定义抽象一些方法,用以在子类中实现②继承自抽象基类的子类:实现基类中的抽象方法③工厂类:用以实例化对象看完文章再回头来看下这张图,效果会比较好 1 采用封装方式 2 3 php

2016-10-31 15:36:57 380

原创 PHP的抽象类、接口的区别和选择

区别:1、对接口的使用是通过关键字implements。对抽象类的使用是通过关键字extends。当然接口也可以通过关键字extends继承。2、接口中不可以声明成员变量(包括类静态变量),但是可以声明类常量。抽象类中可以声明各种类型成员变量,实现数据的封装。(另Java接口中的成员变量都要声明为public static final类型)<?php abstract class

2016-10-31 15:31:38 307

原创 linux下各个目录里面都装了什么

搞电脑的人总想知道自己的系统里到底有些什么东西,于是我就在Linux的根目录下运行ls -l(列目录命令),哇,一大串,这许多目录都放些什么呢?我硬着头皮往里钻,功夫不负有心人,终于将这迷宫的秘密揭开了。在此公布天下:/bin   bin是binary的缩写。这个目录沿袭了UNIX系统的结构,存放着使用者最经常使用的命令。例如cp、ls、cat,等等。 /boot   这里

2016-10-22 14:25:41 354

原创 PHP使用array_intersect()函数求数组交集

在PHP中求数组的交集,我们可以与PHP给我们提供的现成函数:array_intersect(),其用法格式为:array array_intersect(array array1,array array2[,arrayN…])根据上述的语法格式,我们来写一个例子:12$fruit1 = array("Apple"

2016-10-21 20:31:22 1319 2

原创 PHP生成html静态页面类

一套功能强大的PHP网站系统,生成静态的HTML文件是必需的,以下是为需要生成PHP静态页面而编写的一个类文件,在需要生成静态文件的地方,你只需调用这个类即可,类中定义了一些生成HTML文件所需的功能,需要的请仔细阅读这个类代码吧。view sourceprint?001002class html

2016-10-21 20:26:48 1579

原创 经典的PHP文件上传类_代码

一个较经典的PHP文件上传类代码,虽然很老,但用的人还是挺多的,当初自己在用PHP做站的时候,就用了这个类。包括有调用的例子,对新手也友好,这个类可以上传图片和其它格式的文件,看你怎么设置了。另外这个上传类可对文件上传大小限制,可自动创建文件上传目录,类中的方法用好了,可以扩展较多的功能。001002// $Id: uploa

2016-10-21 20:23:47 1624

空空如也

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

TA关注的人

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