- 博客(159)
- 资源 (4)
- 收藏
- 关注
原创 golang:日期与时间戳相互转换
1、时间戳转日期:timestamp:=1602482956timeobj:=time.Unix(int64(timestamp),0)date:=timeobj.Format("2006-01-0215:04:05")fmt.Println(date)运行结果:2、日期转时间戳:str:="2020-10-1214:19:53"tmp:="2006-01-0215:04:05"res...
2020-10-12 14:32:12
7576
转载 聚簇索引与非聚簇索引区别
前言上一篇讲MySQL索引的文章没有提到聚簇索引和非聚簇索引,这一片就来看一下这两个具体是什么以及优缺点。聚簇索引 & 非聚簇索引聚集索引与非聚集索引的区别是:叶节点是否存放一整行记录InnoDB 主键使用的是聚簇索引,MyISAM 不管是主键索引,还是二级索引使用的都是非聚簇索引。下图形象说明了聚簇索引表(InnoDB)和非聚簇索引(MyISAM)的区别: 聚簇索引...
2020-09-09 16:38:01
2039
转载 面试专用版:常用的存储引擎 InnoDB 和 MyISAM 有什么区别?
InnoDB 和 MyISAM 最大的区别是InnoDB 支持事务,而MyISAM 不支持事务,它们主要区别如下:1)InnoDB 支持崩溃后安全恢复,MyISAM 不支持崩溃后安全恢复;2)InnoDB 支持行级锁,MyISAM 不支持行级锁,只支持到表锁;3)InnoDB 支持外键,MyISAM 不支持外键;4)MyISAM 性能比InnoDB 高;5)MyISAM 支持 FULLTEXT 类型的全文索引,InnoDB 不支持 FULLTEXT 类型的全文索引,但是 InnoD...
2020-06-27 13:33:42
1032
原创 layui搜索重载表格
js部分 layui.use(['element', 'table', 'form', 'jquery', 'laydate'], function () { var table = layui.table; var form = layui.form;////////////////////方法渲染表格开始/////////////////////// ...
2020-06-27 11:31:23
208
原创 laravel队列redis驱动
前提redis连接laravel配置完毕1、配置使用redis队列,修改.env文件QUEUE_DRIVER=redis2、生成队列文件,此时在app目录下会生成Jobs/Redis.phpphp artisan make:job Redis3.编写队列代码<?phpnamespace App\Jobs;use Illuminate\Bus\Queueab...
2020-06-27 11:30:59
339
原创 基于php+redis的session共享
前提:安装redis的扩展包原生:https://pecl.php.net/package/redislaravel: composer require predis/predis<?php//如果未修改php.ini下面两行注释去掉ini_set('session.save_handler', 'redis');ini_set('session.save_path', 'tc...
2020-06-27 11:30:04
137
原创 mysql主从数据库设计
简要:(一主一从)一主多从同理1、主数据库的my.cnf (/etc/my.cnf)中:[mysqld]# 开启二进制日志功能,可以随便取(关键)log-bin = mysql-bin# 同一局域网内注意要唯一server-id = 1从数据库的my.cnf (/etc/my.cnf)中(多台数据库重复此操作):log-bin=mysql-binserver-id ...
2020-06-27 11:29:44
115
原创 laravel接入阿里巴巴短信
1、在laravel中安装SDK。composer require alibabacloud/client2、在config目录下创建sms配置文件,用于设置AccessKeyID、AccessKeySecret等数据。<?phpreturn [ 'AccessKeyID' => env('AccessKeyID','你的AccessKeyID'), ...
2020-06-25 12:18:52
892
原创 select into from与insert into select区别
方法一:在mysql中用select into from一直报错,错误:1327 - Undeclared variable: scoreselect into from要求目标表target_table不存在,因为在插入时会自动创建后来在网上看资料说Mysql不支持select into from语句,所以用其他方法来替代select into from语句:create table score1 (select num from student);查询表score1: .
2020-06-18 09:09:59
490
1
原创 php实现简单工厂模式、工厂方法模式与抽象工厂模式的区别
PHP工厂模式概念:工厂模式是一种类,它具有为您创建对象的某些方法。您可以使用工厂类创建对象,而不直接使用 new。这样,如果您想要更改所创建的对象类型,只需更改该工厂即可。使用该工厂的所有代码会自动更改。根据抽象程度不同,php工厂模式分为:简单工厂模式、工厂方法模式和抽象工厂模式简单工厂模式: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 .
2020-06-17 10:14:26
384
原创 PHP设计模式-三种工厂模式的区别
工厂模式在讲解工厂模式之前,我们先来探讨一些问题,研究是为什么会出现工厂模式的,工厂模式有什么优缺点。以超人为例子:有一个超人,超人一定有对种超能力;于是我们建立一个超人类namespace Factory;class Superman{ }同时创建超能力类并给超人添加超能力;namespace Factory;class Flight{ /** * 能力的名称 * * @var */ ..
2020-06-16 14:00:54
297
原创 left join、right join、inner join
inner join(等值连接) 只返回两个表中联结字段相等的行left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录INNER JOIN 语法:INNER JOIN 连接两个数据表的用法:SELECT * FROM 表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号INNER JOIN 连接三个数据表的用法:SELECT * FROM...
2020-06-14 18:03:05
549
原创 php常用几种设计模式的应用场景
php常用几种设计模式的应用场景1.单例设计模式所谓单例模式,即在应用程序中最多只有该类的一个实例存在,一旦创建,就会一直存在于内存中!单例设计模式常应用于数据库类设计,采用单例模式,只连接一次数据库,防止打开多个数据库连接。一个单例类应具备以下特点:单例类不能直接实例化创建,而是只能由类本身实例化。因此,要获得这样的限制效果,构造函数必须标记为private,从而防止类被实例化。需要一个私有静态成员变量来保存类实例和公开一个能访问到实例的公开静态方法。在PHP中,为了防止他人对单例类实例克
2020-05-27 16:24:24
300
原创 消息队列使用的四种场景介绍
消息队列使用的四种场景介绍消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和最终一致性架构使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景2.1异步处理场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种 1.串行的方式;2.并行方式
2020-05-25 13:50:35
303
原创 PHP之Static(静态)关键字
声明类属性或方法为静态,就可以不实例化类而直接访问。静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)。如果没有指定访问控制,属性和方法默认为公有。由于静态方法不需要通过对象即可调用,所以伪变量$this在静态方法中不可用。静态属性不可以由对象通过 -> 操作符来访问。用静态方式调用一个非静态方法会导致一个E_STRICT级别的错误。就像其它所有的 PHP 静态变量一样,静态属性只能被初始化为文字或常量,不能使用表达式。所以可以把静态属性初始化为整数或数组,但不能...
2020-05-24 20:51:38
188
原创 PHP之Final 关键字
如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承。注意:属性不能被定义为 final,只有类和方法才能被定义为 final。示例1: Final 方法<?phpclassBaseClass{publicfunctiontest(){echo"BaseClass::test()called\n";}finalpublicfunctionmoreTesting(){...
2020-05-24 20:39:08
195
原创 PHP连接MySQL数据库的三种常用方式(mysql、mysqli、pdo)
PHP与MySQL的连接有三种API接口,分别是:PHP的MySQL扩展 、PHP的mysqli扩展 、PHP数据对象(PDO) ,下面针对以上三种连接方式做下总结,以备在不同场景下选出最优方案。PHP的MySQL扩展是设计开发允许php应用与MySQL数据库交互的早期扩展。MySQL扩展提供了一个面向过程的接口,并且是针对MySQL4.1.3或者更早版本设计的。因此这个扩展虽然可以与MySQ...
2020-04-26 20:35:24
310
原创 ubuntu安装docker并设置普通用户操作docker
一、ubuntu安装docker#更新软件源sudo apt update#安装dockersudo apt install docker.io#基本命令#查看docker服务运行状态sudo systemctl status docker#启动docker服务sudo systemctl start docker#停止docker服务sudo systemctl s...
2020-02-27 12:10:15
3968
原创 Laravel的ORM模型的find(),findOrFail(),first(),firstOrFail(),get(),find(),list(),toArray()之间的区别是什么?
find($id)需要一个id并返回一个模型。如果不存在匹配的模型,则返回null。findOrFail($id)需要一个id并返回一个模型。如果不存在匹配的模型,则会引发错误, 它会抛出一个error。first()返回在数据库中找到的第一条记录。如果不存在匹配的模型,则返回null。firstOrFail()返回在数据库中找到的第一条记录。如果不存在匹配的模型,则会引发错误。它会抛出一个er...
2019-12-09 14:05:12
517
原创 layui选择好时间,并把值传入表单
index.html<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>layui</title> <meta name="renderer" content="webkit"> <meta http-eq...
2019-12-05 12:11:06
208
原创 laravel5.5使用yajra/laravel-datatables-oracle 8.13.7
根据laravel版本选择对应的yajra/laravel-datatables-oracle版本,否则的话会,安装失败1、composer安装yajra/laravel-datatables-oracle$ composer require yajra/laravel-datatables-oracle:"~8.13.7"2、注册提供者和门面(config/app.php)'...
2019-12-05 12:10:30
673
原创 laravel 配置路由 api和web定义的路由的区别
1、路由经过中间件方面不同打开kerenl.php就可以看到区别 protected $middlewareGroups = [ 'web' => [ \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueue...
2019-12-05 09:15:35
2038
原创 Laravel - 验证码(captcha)
Laravel - 验证码(captcha)安装步骤: 首先,登录网址packagist.org查找laravel captcha,找到mews/captcha,根据 packagist 上的使用方法一步步来实现验证码的安装。 composer 安装:composer require mews/captcha 注册providers (config/app.php),在这个...
2019-12-04 17:01:20
997
原创 Smarty中css/js {}冲突
源代码:Smarty中css/js {}冲突:解决方案:1、在{}中两端加空格,即{ .......}2、修改Smarty解析的{},例如:改为{@@@ @@@}等。3、使用{literal} {/literal}将css/js包裹其中即可...
2019-11-24 20:17:35
186
原创 centos7编译安装swoole4
步骤1:下载源码包进入我的工具目录(自己定义的专门放软件工具包的目录tools)运行命令: cd /home/tools运行命令: git clonehttps://gitee.com/swoole/swoole.git步骤2:进入软件包目录运行命令:cd swoole通过php的工具包添加扩展,运行命令:phpize(如果提示没有找不...
2019-11-17 18:50:12
468
原创 nginx部署laravel报错502
错误详情(php.ini的bug调试打开,默认是关闭的)Laravel运行环境 Linux NginxWarning: require(): open_basedir restriction in effect. File(/home/wwwroot/ssmanager/vendor/autoload.php) is not within the allowed path(s): (/ho...
2019-11-17 18:32:27
4066
原创 nginx配置之proxy_pass
在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。假设下面四种情况分别用 http://192.168.1.1/proxy/test.html 进行访问。第一种:location /proxy/ { proxy_pass http://127.0.0.1/;}...
2019-11-13 14:32:34
287
原创 sftp常用命令介绍
某linux系统中有test.cap, 现在, 我需要把它移动到PC上, 然后用wireshark进行分析。 怎么移动呢? 没有什么samba啊, 不支持ftp啊, 也不支持tftp啊。 用sftp吧。 在PC上开启sftp服务器(下载一个sftpserver.exe)即可。 让linux系统充当本地客户端, 让sftserver充当服务器。前面的博文中, 我们已经学习了sf...
2019-11-13 13:46:25
861
原创 VMware Ubuntu安装详细过程(非常详细)
不是每一个程序员都必须玩过linux,只是博主觉得现在的很多服务器都是linux系统的,而自己属于那种前端也搞,后台也搞,对框架搭建也感兴趣,但是很多生产上的框架和工具都是安装在服务器上的,而且有不少大公司都要求熟悉在linux上开发,因此从个人职业发展有必要去多了解一下linux。(博主网上查了一下,现在大部分服务器安装的系统主要有:ubuntu server、centos、suse lin...
2019-11-13 13:43:06
3569
2
转载 俄罗斯方块可以永无止境地玩下去吗?
大家在玩俄罗斯方块的时候有没有想过这样一个问题:如果玩家足够牛B的话,是不是永远也不可能玩死?换句话说,假设你是万恶的游戏机,你打算害死你 面前的玩家;你知道任意时刻游戏的状态,并可以有针对性地给出一些明显不合适的方块,尽量迫使玩家面对最坏情况。那么,你有没有一种算法能保证害死玩家, 或者玩家无论如何都存在一种必胜策略呢?注意,俄罗斯方块的游戏区域是一个宽为10,高为20的矩形,并且玩家可以预先看...
2019-11-13 13:32:38
203
原创 Supervisor给laravelS添加守护进程
从网上搜了好多这类问题,大多说了Supervisor添加时报错:“守护进程失败!,文件执行结束太快!”等问题,也不给解决方案,然并没毛用。我是在宝塔环境下配置的,centos、ubuntu等都一样第一步:安装基础环境在宝塔上安装lnmp环境,以及基础配置、安装laravel、composer安装laravelS、安装Swoole4等。在这里不再赘述。我们从安装Supervisor开...
2019-11-13 11:13:57
1513
原创 composer require报错:Installation failed, reverting ./composer.json to its original content.
一、前言laravel-swoole基于Swoole的高性能HTTP服务器。加快Laravel 和 Lumen 应用。二、解决过程在安装laravel-swoole的第一步就开始报错; composer require swooletw/laravel-swoole1、composer版本不够?这个可能性比较小,但是试一下没坏处怀疑是自己本地composer...
2019-11-11 09:59:16
19418
原创 laravel修改命名空间、目录名
如果你想修改命名空间的话,执行:php artisan app:name Aaa(你想要的命名)如果你同时想把app目录也改掉的话,进入composer.json文件,将app改成你想要的名字之后,运行 composer dumpautoload 更新命名空间映射...
2019-11-08 09:24:25
1159
原创 composer install 和 update 区别
1、composer是php的依赖包管理工具2、符合PSR-0/1/2/3/4 规范3、composer安装推荐使用国内镜像4、composer require/install/update 区别:然而,对于如何『安装他们』,新手可能并不清楚。网上的答案有的说 composer install,有的说composer update,而这两者似乎都能成功把依赖下载下来并安装好,那么他...
2019-11-07 20:33:14
643
原创 composer切换阿里镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
2019-11-07 19:33:38
389
1
原创 ssh公钥添加到ubuntu
ssh公钥添加到ubuntu前提:已经创建好指定用户(并切换到此用户下) 使用ssh-keygen -t rsa 新建.ssh目录 进入.ssh目录(/home/用户名/.ssh),新建authorized_keys 将ssh公钥粘贴进authorized_keys即可...
2019-11-06 17:46:26
3820
原创 多行显示时,最后一行超出的部分隐藏并显示省略号
多行显示时,最后一行超出的部分隐藏并显示省略号,下面这段代码也可实现单行超出部分省略号,只需将-webkit-line-clamp:2;中的2改成1就行了max-height:44px;word-wrap:break-word;text-overflow:-o-ellipsis-lastline;overflow :hidden;text-overflo...
2019-11-02 08:50:49
370
原创 jquery select修改数据
直接复制粘贴即可修改使用:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><script src="http://ajax.aspnetcdn.com...
2019-10-29 21:26:44
576
原创 php抽象工厂模式
抽象工厂:适用于生成多个产品族、多个产品树的情景(产品族[appt,ttd,contact],产品树[Bloggcal,megaCal])。相比于工厂模式,更容易扩展添加新的产品族。实例:<?php/** * 抽象工厂模式 */class Mysql{ public function __construct() { echo "Mysql ...
2019-10-29 19:46:49
136
1
原创 php工厂模式
一、什么是工厂模式? 一个类通过本身的静态方法来,实例化一个类并返回一个实例对象;二、工厂模式特点? 类命名特点:nameFactory eg: class mysqlFactory{} 【这是为了规范,当然也去起其他任意名字】 静态方法名称:static public function factory($class_name){} 【静态方法是类与外界的接口, 返回...
2019-10-29 19:26:03
88
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人