自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

0317_lzq_th

人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步!

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

原创 php经典算法面试题

1、一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。function king($n, $m){ $monkeys = range(1, $n); //创建1...

2019-04-18 14:17:40 5223

转载 php常见的四种排序方法

前提:分别用冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中的值按照从小到大的顺序进行排序。$arr(1,43,54,62,21,66,32,78,36,76,39);1.冒泡排序思路分析:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互...

2019-04-18 14:14:10 3180

原创 Mysql索引背后的数据结构与算法原理

本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持 也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是 平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第一部...

2019-04-18 14:12:06 274

原创 Linux下redis的安装和部署

一、Redis介绍Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在此基础上,Redis支持各种不同方式的排序。和...

2019-04-18 14:07:30 171

转载 2019年最新php面试题

面试之前多看看公司的资料,可以看出面试的公司主要做什么,电商,数据库,php函数,sql的优化,接口,session和cookie等经常会问到,都是必问之题,这其中有一部分题目摘抄自网络,回答也不错1.请自我介绍一下?答:我叫xxx,来自北京,20xx年毕业于xx大学计算机xx系,毕业后在武汉从事了x年的php开发工作,公司是一个外包公司,主要做微信开发,公众号推广,商城,论坛的开发...

2019-04-18 14:05:22 3879

转载 php 开发微信app支付接口

【准备工作】在准备着手开发之前呢,我建议大家先去查阅一下微信的 APP支付开发者文档 ,对微信支付开发的流程有一个系统的了解。我这里为大家准备了一张交互时序图,以便大家随时查看:APP支付时序图商户系统和微信支付系统主要交互说明:用户在商户APP中选择商品,提交订单,选择微信支付。商户后台收到用户支付单,调用微信支付统一下单接口。参见 【统一下单API】统一

2017-08-23 13:51:29 680

转载 php结合redis实现高并发下的抢购、秒杀功能

抢购、秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个:1 高并发对数据库产生的压力2 竞争状态下如何解决库存的正确减少("超卖"问题)对于第一个问题,已经很容易想到用缓存来处理抢购,避免直接操作数据库,例如使用Redis。重点在于第二个问题常规写法:查询出对应商品的库存,看是否大于0,然后执行生成订单等操作,但是在判断库存是否大于0处,如果在高并发下就

2017-08-23 13:48:32 369

原创 经典sql语句大全

经典SQL语句大全(绝对的经典)一、基础1、说明:创建数据库CREATE DATABASE database-name 2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'test

2017-03-02 11:47:08 372

原创 php 面试题简单总结

1:变量的传值与引用。2:变量的类型转换和判断类型方法。3:php运算符优先级,一般是写出运算符的运算结果。4:PHP中函数传参,闭包,判断输出的echo,print是不是函数等。5:PHP数组,数组函数,数组遍历,预定义数组(面试必出)。6:PHP面向对象,魔术方法,封装、继承、多态。设计模式,包括(单利、工厂、迭代器、装饰、命令、策略)。7:正则表达式,每个标号含义,邮箱、网址、标

2017-02-06 09:09:16 1774

转载 mysql分库分表简单总结

单库单表 单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到。 单库多表 随着用户数量的增加,user表的数据量会越来越大,当数据量达到一定程度的时候对user表的查询会渐渐的变慢,从而影响整个DB的性能。如果使用mysql, 还有一个更严重的问题是,当需要添加一列的时候,mysql会锁表,期间所有

2017-02-06 08:43:38 314

原创 svn与git的区别

GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征。所以,这篇文章的主要目的就是通过介绍GIT能做什么、它和SVN在深层次上究竟有什么不同来帮助你认识它。那好,这就开始吧…1.GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,

2016-09-12 07:03:08 324

转载 电商网站实现流程

电子商务网站开发的流程主要有以下几步:  第一步:需要客户提供一个完整的需求说明。     很多客户对自己的需求并不是很清楚,需要您不断引导和帮助分析。曾经有一次,我问客户:“您做网站的目的是什么?”他回答:“没有目的,只是因为别人都有,我没有!”。这样的客户就需要耐心说明,仔细分析,挖掘出他潜在的,真正的需求。配合客户写一份详细的,完整的需求说明会花很多时间,但这样做是值得的,而且一定要

2016-09-09 11:42:26 4055

转载 dns解析原理

DNS原理及其解析过程精彩剖析     网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如“202.96.134.133”之类的IP地址,而不能认识域名。我们无法记住10个以上IP地址的网站,所以我们访问网站时,更多的是在浏览器地址栏中输入域名,就能看到所需要的页面,这是因为有一个叫“DNS服务器”的计算机自动把我们的域名“翻

2016-09-06 21:08:40 525

原创 sphinx原理及优缺点

What/Sphinx是什么定义:Sphinx是一个全文检索引擎。特性:索引和性能优异易于集成SQL和XML数据源,并可使用SphinxAPI、SphinxQL或者SphinxSE搜索接口易于通过分布式搜索进行扩展高速的索引建立(在当代CPU上,峰值性能可达到10 ~ 15MB/秒)高性能的搜索 (在1.2G文本,100万条文档上进行搜索,支持高达每秒150~250次查询)

2016-09-06 21:02:13 5384

原创 网站访问量大 怎样优化mysql数据库

网站访问量大 怎样优化mysql数据库MySQL优化的一些建议,单机MySQL的优化我分为三个部分,一是服务器物理硬件的优化,二是 MySQL安装时的编译优化,三是自身配置文件my.cnf的优化;如果单机的优化也解决不了你的数据库的压力的话,那这个时候就只有考虑采用集群架构的 方法,这个我在后面也会重点说明。  单机MySQL数据库的优化  一、服务器硬件对MySQL性能的

2016-08-24 07:11:01 1529

转载 什么是sql注入,如何防止sql注入

所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。常见的SQL注入式攻击过程类如:  ⑴ 某个ASP.NET Web应用有一个登录页面,这个登录页面控制着用户是否有权访问应用,它要求用户

2016-08-12 18:49:38 12376 1

原创 php的15中搜索引擎

Solr的PHP接口SolariumSolarium 是 Solr 的 PHP 开发接口, 更多Solarium信息 最近更新: Solarium 2.2.0 发布,Solr全文搜索的PHP接口 发布于 5年前 PHP的Web爬虫和搜索引擎PhpDigPhpDig是一个采用PHP开发的Web爬虫和搜索引擎。

2016-08-10 07:41:39 1889

原创 接口的简单介绍

接口定义了实现某种服务的一般规范,声明了所需的函数和常量,但不指定如何实现。之所以不给出实现的细节,是因为不同的实体可能需要用不同的方式来实现公共的方法定义。关键是要建立必须实现的一组一般原则,只有满足了这些原则才能说实现了这个接口。接口中不定义类成员!类成员的定义完全交给实现类来完成。先来看一个简单的例子,有个全面的认识:01

2016-08-02 11:11:49 316

原创 session入库

我们知道,session是一种会话技术,用来实现跨脚本共享数据或者检测跟踪用户状态。session的工作原理(1)当一个session第一次被启用时,一个唯一的标识被存储于本地的cookie中。(2)首先使用session_start()函数,PHP从session仓库中加载已经存储的session变量。(3)当执行PHP脚本时,通过使用session_register()函数注册

2016-07-28 09:13:55 391

原创 php中字符串函数

php字符串处理函数大全addcslashes — 为字符串里面的部分字符添加反斜线转义字符addslashes — 用指定的方式对字符串里面的字符进行转义bin2hex — 将二进制数据转换成十六进制表示chop — rtrim() 的别名函数chr — 返回一个字符的ASCII码chunk_split — 按一定的字符长度将字符串分割成小块convert_c

2016-07-28 08:29:58 232

转载 php数组函数

array() 创建数组。array_change_key_case()把数组中所有键更改为小写或大写。array_chunk()把一个数组分割为新的数组块。array_column()返回输入数组中某个单一列的值。array_combine()通过合并两个数组来创建一个新数组。array_count_

2016-07-28 08:28:39 190

转载 php中自带的内置函数

PHP自带函数大全| 时间:2013-09-05 19:01:22 | 阅读数:16499[导读] Abs: 取得绝对值。 Acos: 取得反余弦值。 ada_afetch: 取得资料库的传回列。 ada_autocommit: 开关自动更动功能。 ada_close: 关闭 Adabas D 连结。 ada_commit: 更动 Adabas D 资料库。 ada A

2016-07-28 08:26:56 521

原创 人生哲理

九大人生哲理 1、跌倒了,才懂得平顺最重要;2、病倒了,才懂得身体最重要;3、郁闷了,才懂得快乐最重要;4、挫折了,才懂得信心最重要;5、错过了,才懂得珍惜最重要;6、潦倒了,才懂得金钱最重要;7、丢人了,才懂得名誉最重要;8、成功了,才懂得过程最重要;9、迟暮了,才懂得时间最重要。 生命的要义 人生要做两件事:一件感恩,一件感悟;人生要迈两

2016-07-23 09:05:05 99598 1

原创 lavarel框架在中国的发展前景

我来说两点lavarel作为一个5.4版本出现的新框架,在一个php版本环境低于5.6以前的服务器是运行不起来的,因为里面全部都是用的新语法,而国内的项目大部分都是以前的老的项目,而且作为一个运行起来的项目来说,重新推倒然后用laravel来做,是非常非常的得不偿失的,典型的例子之一就是新浪网,新浪网这些年都没有改版过,按我们现在的眼光看来,这样的网站早已经被淘汰了,事实上大家对新浪的

2016-07-19 10:57:13 2128

原创 消息队列mq的原理及实现方法

消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走。通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息。消息中间件概述消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走。通过消息队列,应用程序可独立地执行--它...

2016-07-18 20:50:09 70065 3

原创 jquery实现倒计时60秒发送邮件

var i = 120; $('#btn').click(function(){ var url = "{{url('send')}}"; var email = $('#empty').val(); /* alert(email);

2016-07-18 16:00:15 3584

原创 lavarel框架中发送邮件配置及代码

在.env文件下 1.配置Laravel文件     MAIL_DRIVER=smtp  //建议使用smtp方式     MAIL_HOST=smtp.163.com  //建议使用163邮箱 QQ邮箱会有报错     MAIL_PORT=25        //smtp 默认为25        MAIL_USERNAME=null   //自己的163帐号     M

2016-07-17 21:53:57 1530

原创 人生感悟

1.拥有了一颗赤城的心,便拥有了朋友;拥有了一颗善良的心,便拥有了友爱。2.生命因运动而精彩,生活因乐趣而充实,学习因思考而深刻,交友因真诚而持久!3.无所谓直路弯路,因为世上本没有弯路。当你歪歪扭扭曲曲折折地走过人生漫漫的幽野,人们会本能的把你那些错误或者不合时宜的选择归结为走了许多弯路。当你平心静气仔细思量会猛然发现,所有的磕磕绊绊,所有的委屈困难痛苦磨难只是人生的小小的插曲,

2016-07-17 21:52:01 606

转载 session入库

/ 重写 session 的存储机制// 最重要的三个函数: read,write,destroy。// 有了这几个就能完成 session 功能。// 其他的函数的函数体可以什么都不写。function sess_open(){  echo__FUNCTION__;  $link =mysql_connect('127.0.0.1', 'root',

2016-07-14 15:57:43 211

原创 php中将12567890装化为1,234,567,890

//第一种方法$str = '1234567890';$arr = strrev($str);$arry = str_split($arr,3);$atr = strrev(implode($arry,','));echo $atr;//第二种方法function getString($str,$num,$sep){    $temp = strrev($str

2016-07-08 21:16:40 485

原创 js中刷新页面

1,history.go(0) 2,location.reload() 3,location=location 4,location.assign(location) 5,document.execCommand('Refresh') 6,window.navigate(location) 7,location.replace(location) 8,document.

2016-07-08 16:38:43 213

原创 mysql 分表,分库

分表,最直白的意思,就是将一个表结构分为多个表,然后,可以再同一个库里,也可以放到不同的库。当然,首先要知道什么情况下,才需要分表。个人觉得单表记录条数达到百万到千万级别时就要使用分表了。1,分表的分类1>纵向分表将本来可以在同一个表的内容,人为划分为多个表。(所谓的本来,是指按照关系型数据库的第三范式要求,是应该在同一个表的。)分表理由:根据数据的活跃度进

2016-07-08 14:40:51 258

原创 异或加密

异或的运算方法是一个二进制运算:1^1=00^0=01^0=10^1=1两者相等为0,不等为1.对于一个字符来说,都可以用二进制码来表示.如A:01000001字符的异或就是对每一位进行二进制运算.用于加密算法时,假设你要加密的内容为A,密钥为B,则可以用异或加密:C=A^B在数据中保存C就行了.用的时候:A=B^C即可取得原加密的内

2016-07-08 13:46:45 559

原创 php高效率写法

1.尽量静态化:如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。当然了,这个测试方法需要在十万级以上次执行,效果才明显。其实静态方法和非静态方法的效率主要区别在内存:静态方法在程序开始时生成内存,实例方法在程序运行中生成内存,所以静态方法可以直接调用,实例方法要先成生实例,通过实例调用方法,静态速度很快,但是多了会占内存。任何语言都是

2016-07-07 19:44:56 206

原创 求一个数组中序列连续数的最大值

<?php$array = array(-2,1,3,9,-4,2,3,5,-3,-4,1,3);$maxsum = 0;$thissum = 0;for ($i=0; $i <count($array) ; $i++) { $thissum+=$array[$i]; if ($thissum>$maxsum) { $maxsum=$thissum; }elseif ($thi

2016-07-06 21:22:00 1267

原创 18中优化购物物车的方法

1)给购物车里的产品加缩略图客户很容易忘记他们往购物车里添加的产品到底是什么,在产品名称旁显示小的产品图片。记住,客户并不能像你一样记住产品名,因此可视化的提醒是很重要的。2)显示运费对于我来说,购物时担心最多的是网站要求我填写送货信息计算运费的时候。尽早显示运费信息。如果你的网站是通过邮政编码计算运费的话,你就没必要要求客户填写太多的私人信息。3)给出估算的送货时间UPS,

2016-07-06 18:43:01 633

原创 正则表达式中的单个字符含义

. :匹配任何单个字符。例如正则表达式“b.g”能匹配如下字符串:“big”、“bug”、“b g”,但是不匹配“buug”,“b..g”可以匹配“buug”。   [ ] :匹配括号中的任何一个字符。例如正则表达式“b[aui]g”匹配bug、big和bag,但是不匹配beg、baug。可以在括号中使用连字符“-”来指定字符的区间来简化表示,例如正则表达式[0-9]可以匹配任何数字字符,

2016-07-02 16:57:51 1466

原创 正则表达式

匹配中文字符的正则表达式: [u4e00-u9fa5]     评注:匹配中文还真是个头疼的事,有了这个表达式就好办了   匹配双字节字符(包括汉字在内):[^x00-xff]   评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)   匹配空白行的正则表达式:ns*r   评注:可以用来删除空白行   匹配HTML标记的正则表达式:]*>.*?|

2016-07-02 16:45:44 315

转载 秒杀系统分析与实战

1 秒杀业务分析正常电子商务流程(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货秒杀业务的特性(1)低廉价格;(2)大幅推广;(3)瞬时售空;(4)一般是定时上架;(5)时间短、瞬时并发量高;2 秒杀技术挑战假设某网站秒杀活动只推出一件商品,预计会吸引1万人参加活动,也就说最大并发请求数是10000,秒杀系统需要

2016-06-27 19:05:58 537

转载 memcache与redis的区别

Redis与Memcached的区别传统MySQL+ Memcached架构遇到的问题  实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:  1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容

2016-06-26 20:32:25 392

2024最新全国行政区域编码及mysql数据库(省/市/区县)

2024最新全国行政区域编码及mysql数据库(省/市/区县) https://www.stats.gov.cn/sj/tjbz/tjyqhdmhcxhfdm/2023/index.html 全国总共有23个省、5个自治区、4个直辖市、2个特别行政区。 此数据包含省市区县数据,共2893个。——更新于2023年12月15日 费了不少时间,暂时应该没有比我更全的了~~~细致到区县了 包括台湾省:台北市,新北市,桃园市,台中市,台南市,高雄市,基隆市,新竹市,嘉义市,新竹县,苗栗县,彰化县,南投县,云林县,嘉义县,屏东县,宜兰县,花莲县,台东县,澎湖县,连江县等等 香港特别行政区:中西区,东区,南区,湾仔区,九龙城区,深水埗区,黄大仙区,油尖旺区,离岛区,葵青区,北区,西贡区,沙田区,大埔区,荃湾区,屯门区,元朗区等等 澳门特别行政区:花地玛堂区,圣安多尼堂区,大堂区,望德堂区,风顺堂区,氹仔,路环岛等等

2024-03-20

空空如也

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

TA关注的人

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