自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一清二白

个人博客

  • 博客(72)
  • 资源 (3)
  • 收藏
  • 关注

原创 2020年最新版MySQL面试题(四)

存储过程与函数一、什么是存储过程?有哪些优缺点? 存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需要创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。 优点 存储过程是预编译过的,执行效率高。 存储过程的代码直接存放于数据库中,通过存储过程名直接调用,减少网络通讯。 安全性高,执行存储过程需要有一定权限的用户。 存储过程可以重复使用,减少数据库开发人员的工作量。 缺点 调试麻烦,但是用 PL/SQL

2020-07-29 09:44:45 257

原创 2020年最新版MySQL面试题(三)

事务一、什么是数据库事务?事务是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,其执行的结果必须使数据库从一种一致性状态变到另一种一致性状态。事务是逻辑上的一组操作,要么都执行,要么都不执行。事务最经典也经常被拿出来说例子就是转账了。假如小明要给小红转账1000元,这个转账会涉及到两个关键操作就是:将小明的余额减少1000元,将小红的余额增加1000元。万一在这两个操作之间突然出现错误比如银行系统崩溃,导致小明余额减少而小红的余额没有增加,这样就不对了。事务就是保证这两个关键操作要么都

2020-07-29 09:43:14 401

原创 2020年最新版MySQL面试题(二):索引篇

一、什么是索引?索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。索引是一种数据结构。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。更通俗的说,索引就相当于目录。为了方便查找书中的内容,通过对内容建立索引形成目录。索引是一个文件,它是要占据物理空间的。二、索引有哪些优缺点?1.索引的优点 可以大大加快数据的检索速度,这也是创建索引的最主要的原因。

2020-07-29 09:38:16 755

原创 2020年最新版MySQL面试题(一)

数据库基础知识一、为什么要使用数据库1.数据保存在内存优点:存取速度快缺点:数据不能永久保存2.数据保存在文件优点:数据永久保存缺点:①速度比内存操作慢,频繁的IO操作;②查询数据不方便。3.数据保存在数据库①数据永久保存;②使用SQL语句,查询方便效率高;③管理数据方便。二、什么是SQL?定义:结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询语言。作用:用于存取数据、查询、更新和管理关系数据库系统。三、什么是MySQL?MySQL

2020-07-29 09:25:39 588 1

原创 MySQL · 性能优化 · MySQL常见SQL错误用法

MySQL · 性能优化 · MySQL常见SQL错误用法前言MySQL在2016年仍然保持强劲的数据库流行度增长趋势。越来越多的客户将自己的应用建立在MySQL数据库之上,甚至是从Oracle迁移到MySQL上来。但也存在部分客户在使用MySQL数据库的过程中遇到一些比如响应时间慢,CPU打满等情况。阿里云RDS专家服务团队帮助云上客户解决过很多紧急问题。现将《ApsaraDB专家诊断报告》中出现的部分常见SQL问题总结如下,供大家参考。常见SQL错误用法1. LIMIT 语句分页查询是最常用

2021-04-21 10:25:31 195

原创 40个常见的 Laravel 面试题和答案

以下是经常问到的 Laravel 和 PHP 相关的面试问题,以便菜鸟以及有经验的应聘者找到合适的工作。1) 什么是 Laravel ?Laravel 是一个开源的、广泛使用的 PHP 框架。该平台主要用于利用 MVC 架构模式开发 web 应用程序。Laravel 是在 MIT 许可下发布的。因此,其源代码托管在 GitHub 上。它遵循可靠且准确的语言规则,因此是可靠的 PHP 框架。2) 定义 Composer它是 PHP 的应用程序级程序包管理器。它提供了用于管理 PHP 软件依赖项和库

2020-07-29 09:22:02 4036

原创 yii2中使用phpexcel导入数据到数据库操作

使用phpexcel导入数据到数据库,我使用phpexcel的版本是1.8版本,属于老版本了,如果使用新版本的话。此方法仅供参考使用1.准备工作,如果没有composer,下载composer使用2.安装,我在yii2中手动加入phpexcel版本,如图3.然后进入到项目路径,执行composer update操作,在你的verndor目录下,就会出现phpoffice这个文件夹,说明安装...

2019-09-18 09:23:36 844

原创 关于yii中删除单个数据的操作

/** * 删除图片 */ public function actionDel() { $request = new Request(); $id = $request->get('id'); $mode = new YkImage(); $res = $model->findOne(['id'=>$i...

2019-09-11 19:53:34 290

原创 redis 五种数据结构详解(string,list,set,zset,hash)

Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。String——字符串Hash——字典List——列表Set——集合Sorted Set——有序集合下面我们就来简单说明一下它们各自的使用场景:一、Redis String类型string类型的数据存储是最简单的key-value存储;1.string字符串读写...

2019-07-29 11:01:51 1085

原创 关于yii中andWhere和andFilterWhere用法的区别?

#andWhere()用法 //定义一个不为空的参数$name = 'xiaoming';$query = Model::find();$query->andWhere(['name'=>$name]);//生成的语句SELECT * FROM `fl_user` WHERE `name`='xiaoming' //定义一个为空的参数$name = '';$qu...

2019-07-18 15:07:22 1810

转载 事例项目流程---------《图书管理系统》—需求分析报告

一、引言1.1编写目的软件需求分析,其目的是用于说明软件产品或软件项目需要满足的条件和限制。在软件工程项目中,首先要获得用户的需求,通过对阮健需要的提取、分析、文档和验证,为进一步的设计和实现提供数据。软件需求与其他活动也密切相关,如软件测试、配置管理和质量管理等。本需求的编写时为了研究利用大型数据库做基础的图书管理系统软件的开发途径和应用方法。同时它也是进行项目策划、概要设计和详细的基础,...

2019-03-14 11:04:04 3431

原创 项目流程管理

目标人群:技术经理、项目经理项目结构流程图:

2019-03-14 10:55:23 262

转载 Web开发中,什么级别才算是高并发

这篇文章对于高并发的理解很有深度,从这里我们可以对于高并发提供了一个解决方向这并不是一个回答的问题的文章,而是由此引发的一个思考。大家心里仔细想想,当你们听到高并发网站时,心里对这个网站是个什么概念?首先想到的是淘宝吗?带着问题,我们一起思考技术写这个话题是因为我对搜索引擎给我的答案很不满意,然后决定把思考的一些东西分享出来,希望可以大家彼此讨论下。我们经常在面试的时候,被问到有没有高...

2019-02-21 15:28:20 561

转载 转:秒杀系统优化方案之缓存、队列、锁设计思路

链接:https://segmentfault.com/a/1190000008888926

2019-02-21 11:36:27 210

转载 转自:【高并发简单解决方案】redis队列缓存 + mysql 批量入库 + php离线整合

链接:https://segmentfault.com/a/1190000004136250

2019-02-21 11:35:17 209

转载 在阿里云服务器上搭建 SVN 服务端

一、SVN 服务端搭建流程1、安装 svnapt-get install subversion// 方式二:yum install subversion ps:查看版本svnserve --version2、创建版本库先建目录mkdir /usr/xq/svn创建版本库svnadmin create /usr/xq/svnsubversion目录说明:db目录:...

2018-12-06 18:13:14 1195

转载 常见的网站服务器架构有哪些?

这篇文章简单粗暴了对架构的介绍初始阶段的网站架构一般来讲,大型网站都是从小型网站发展而来,一开始的架构都比较简单,随着业务复杂和用户量的激增,才开始做很多架构上的改进。当它还是小型网站的时候,没有太多访客,一般来讲只需要一台服务器就够了,这时应用程序、数据库、文件等所有资源都在一台服务器上应用服务和数据服务分离随着网站业务的发展和用户量的增加,一台服务器就无法再满足需求了。大量用...

2018-12-05 19:20:45 210

转载 秒杀系统优化方案之缓存、队列、锁设计思路

一、为什么难秒杀系统难做的原因:库存只有一份,所有人会在集中的时间读和写这些数据。例如小米手机每周二的秒杀,可能手机只有1万部,但瞬时进入的流量可能是几百几千万。又例如12306抢票,亦与秒杀类似,瞬时流量更甚。主要需要解决的问题有两个:1. 高并发对数据库产生的压力2. 竞争状态下如何解决库存的正确减少(超卖问题)对于第一个问题,已经很容易想到用缓存来处理抢购,避免直接操作数据库,例如...

2018-11-23 19:20:13 1021

转载 Nginx的优化和压力测试

我们要测试 nginx 的负载能力,需要借助压力测试工具。本博客是使用 Apache 服务器自带的一个 web 压力测试工具 ApacheBench ,简称 ab。ab 是一个命令行工具,即通过 ab 命令行,模拟多个请求同时对某一 URL 地址进行访问,因此可以用来测试目标服务器的负载压力。ab 的安装ab 的安装可以去官网下载,如果不想安装 apache,又想使用 ab 命令,可以直接安装...

2018-11-19 11:33:52 411

原创 如何在mac下安装使用easygui?

1.版本:python 3.7.0easygui 0.98.12.安装步骤:因为mac中含有可以执行pip的指令,可以使用pip指令安装easygui。因此打开mac终端,输入指令pip3 install easygui这样返回表示成功在python3.7 IDLE中运行easygui指令,import eastgui easygui.msgbox('Hello Word!'...

2018-11-07 17:53:50 5343 5

转载 redis有序集合性能 列表、集合、有序集合

1.1 列表  列表(list)类型是用来存储多个字符串,元素从左到右组成一个有序的集合.列表中的每个字符串被称为元素(element),一个列表最多可以存储(2的32次方)-1个元素.在redis中,可以对列表两端插入(push)和弹出(pop),还可以获取指定范围的元素列表、获取指定所有下标的元素等.列表类型有两个特点:①列表中的元素是有序的,这就意味着可以通过索引下标获取某个元素或者某...

2018-11-05 11:39:56 358

转载 进程、线程定义和区别,浅谈php中的线程

进程:进程狭义的说就是正在运行的程序的实例,广义的说进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。(几个词概括:活动的、实体、运行的程序);线程: 被称为轻量级进程,是程序执行流的最小单位,线程是进程中的一个实体,是被系统独立调度和分派的基本单位。线程自己基本上不拥有系统资源,只拥有...

2018-10-25 18:23:42 249

原创 摘自:共勉!来自一个10年开发经验的PHPer老司机经验之谈

从哪里看到这个,已经记不清了,但是就想做一个分享一、平和的心态,必胜的信念心态决定一切,要写一手好的程序,没有好的心态是不行的。遇事不可急躁,不可轻言放弃,编程过程中遇到困难是常事,一定要有必胜的信念。在程序开发过程中,尤其是初中级程序员,写出的程序或架构会遇到很多问题,其中一些问题比较弱智,而有些问题根本没有碰到过,于是不可太过急躁,应该逐个排查问题的最初源泉,将其干掉。急躁的心态去开发系...

2018-10-25 11:30:33 420 1

原创 论一个好的APP接口的自我修养

首先,一个好接口要长得好看。在这个看脸的社会,颜值总是放在第一位的。接口代码也是如此,脏乱差的代码,其他人一眼都不想看,更别说维护和修改了。我们对人的要求一般是“干净整洁讲卫生”,对代码类似,至少要做到“空格缩进有标准”吧。如果你不知道什么是好的标准,那么遵循PEP8啊。下面是一个外援的代码:图1:外援代码整容前这个代码我看起来是有点难受的:为什么这个函数跟上一个函数之间空4行,下一个函...

2018-10-24 16:27:06 313

原创 sql语句如何去除重复的数据

有重复数据主要有一下几种情况:1.存在两条完全相同的纪录这是最简单的一种情况,用关键字distinct就可以去掉example: select distinct * from table(表名) where (条件)2.存在部分字段相同的纪录(有主键id即唯一键)如果是这种情况的话用distinct是过滤不了的,这就要用到主键id的唯一性特点及group by分组example:se...

2018-10-18 16:07:44 40876 1

原创 两种实现php无限极分类(推荐第二种)

一、两种实现php无限极分类使用php递归实现php无限极分类通过foreach循环实现无限极分类这种方式比较好理解public function getTree1(items,items,items,pid=0){array=[];foreach(array = []; foreach (array=[];foreach(items as $key =&g...

2018-10-16 16:24:22 362

原创 长连接、短连接、长轮询和WebSocket

对这四个概念不太清楚,今天专门搜索了解一下,总结一下:长连接:在HTTP 1.1,客户端发出请求,服务端接收请求,双方建立连接,在服务端没有返回之前保持连接,当客户端再发送请求时,它会使用同一个连接。这一直继续到客户端或服务器端认为会话已经结束,其中一方中断连接。优势:减少了连接请求,降低TCP阻塞,减少了延迟,实时性较好。劣势:可能会影响性能,因为它在文件被请求之后还保持了不必要的连接很长...

2018-10-16 14:56:49 348

原创 php中生成二维码图片

PHP如何生成二维码图片在我们开发过程中,往往我们会遇到将某个商品或者将某个活动生成一个二维码,当用户扫描二维码时候,用户可以直接跳转到商品详细页面或者活动详情页面。那我们如何生成一个二维码图片呢,来,看这里哦!!!1.封装代码篇:function qrcodeLogo($url='',$logo='',$filepath,$level=3,$size=20){ Vendor('p...

2018-10-13 11:35:23 1150

原创 在php中如何产生随机字符串

当我们在开发的时候,我们会遇到这些业务场景:如给用户信息一个随机的字符串作为一个唯一的认证方式、给商家一个特定的标识、给某些商品一个代表、存为一个session标识作为缓存、给redis一个键值对等等。我们很多场景都会需要一个随机字符串使用,这里小王给大家,封装了一个可以获取一个随机字符串的一个函数,我这里使用了26个大小写的字母组合,你使用时后可以加上字母和数字,还可以加上特殊字符,做些改变都...

2018-10-13 11:26:19 758

原创 php获取上传图片的宽和高

需求在开发时候,为了服务器压力变小,前端页面展示好展示,我们对于上传的图片大小有个严格的限制。不能让图片太大,否则不仅仅服务器压力方面有问题,前端显示也会出现问题,因此我们要在源头上也就是后台做个限制。在后台上传图片资源进行大小和宽高限制。代码实现 /** * 判断上传文件的宽高 */ public function judge_img($url){ ...

2018-10-13 11:13:12 4421

原创 tp5中渲染页面将时间戳转换显示为日期时间格式

<td>{$vo.create_time|date="Y-m-d H:i:s",###}</td>

2018-10-13 11:05:55 9915 4

转载 php面试题汇总

8、redis集群怎么做1、Redis集群提供了以下两个好处1、将数据自动切分(split)到多个节点2、当集群中的某一个节点故障时,redis还可以继续处理客户端的请求。2、集群的方案:redis-cluster集群,采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接,主要通过节点的配置,辅以redis的主从来完成集群。由于这块东西我使用得很少,所以只是平时抽...

2018-10-12 13:57:07 751

原创 PHP —— 观察者模式

观察者模式当一个对象或事件发生变化时,其他的对象实例或者事件需要跟着发生相应改动或者进行相应动作的一对多关系可进行应用。如:订单状态变化(支付完成)后需要进行,短信通知,公众号推送等一系列相应操作时。可将订单类看成一个被观察者,短信通知类,公众号通知,app推送等相关通知类视为观察者。具体实现和调用步骤:分别实现 SplSubject、SplObserver类,在SplSubject实现...

2018-10-12 13:55:41 618

原创 git解决冲突的方法

You are not currently on a branch, so I cannot use any症状:有一次pull的时候又出现冲突,这回用“git reset --hard FETCH_HEAD”方法都不行了,出现:$ git pullYou are not currently on a branch, so I cannot use any‘branch..merge...

2018-10-12 13:53:38 1854

原创 关于tp5使用微信支付宝app支付、扫码支付

业务需求 客户需要在app上、web网站上接入微信支付支付 2.准备 前期准备商家在微信、蚂蚁金服申请支付,具体流程参考支付文档申请流程 3.配置 前期我将一些配置配置在与database.php文件目录的config.php文件下,具体代码如下:配置<?phpreturn [ // +-------------------------------------...

2018-09-11 18:35:09 3621

原创 tp5展示数据去除查到重复的数据

去掉查询数据库重复数据 在开发过程中遇到一个,不知道什么原因连表查询的数据出现重复,使用了php自带函数array_unique()这个,无法实现我的需求,使用到返回的数据为null。 因此我需要找到一个办法去除查询到重复的数据,我想到两种方法。 第一种: foreach循环将那查询到的数据for循环,当出现重复的id时候,我将这个数据只保留一次到一个空...

2018-09-11 17:17:27 13372

转载 python开发大全、系列文章、精品教程

python基础教程 python基础系列教程——Python的安装与测试:python解释器、PyDev编辑器、pycharm编译器python基础系列教程——Python库的安装与卸载python基础系列教程——Python3.x标准模块库目录python基础系列教程——Python中的编码问题,中文乱码问题python基础系列教程——python基础语法全解python...

2018-09-10 12:03:19 654

原创 workman如何实现异步任务

问题遇到一个问题,php是单线程,无法实现多线程。现在我需要使用一个场景是多个链接使用一个线程,也就是在一个连接进程,再开进程来处理2.解决方案 workman如何实现异步任务。workman可以帮我解决问题, 给予文档一个解答 问: 如何异步处理繁重的业务,避免主业务被长时间阻塞。例如我要给1000用户发送邮件,这个过程很慢,可能要阻塞数秒,这个过程中因...

2018-08-30 11:50:26 5249

原创 workman安装以及使用

前期重点文档 文档地址自己体会 Workerman是一款纯PHP开发的开源高性能的PHP socket 服务框架。 Workerman不是重复造轮子,它不是一个MVC框架,而是一个更底层更通用的socket服务框架,你可以用它开发tcp代理、梯子代理、做游戏服务器、邮件服务器、ftp服务器、甚至开发一个php版本的redis、php版本的数据库、php版本的nginx、php版本的ph...

2018-08-24 11:06:33 13279

原创 php关于支付宝、微信退款操作

包含支付宝微信订单退款 //支付宝退款接口 public function return_ali($out_trade_no,$trade_no){ require_once ('../extend/alipaywap/config.php'); require_once ('../extend/alipaywap/pagepay/service/Ali...

2018-08-17 10:26:41 1453

Simcms二手车资源

php+mysql,一套二手车平台,包含买车估车等等

2022-10-09

Yii2中文手册pdf版

yii中文手册,你可以通过两种方式安装 Yii:使用 Composer 或下载一个归档文件。推荐使用前者,这样只需执行一条 简单的命令就可以安装新的扩展或更新 Yii 了。 注意:和 Yii 1 不同,以标准方式安装 Yii 2 时会同时下载并安装框架本身 和一个应用程序的基本骨架。

2018-09-26

微信扫码支付

封装好的微信扫码支付,里面封装好的一切,生成二维码,调支付

2018-05-08

封装好的微信app、扫码支付

tp5封装好的app微信支付,扫码支付,使用的时候直接进行调用,配置账号,直接进行使用。验证签名,二次验证签名都做了

2018-05-08

空空如也

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

TA关注的人

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