- 博客(96)
- 收藏
- 关注
原创 mysql5.7版本下sql_mode 语法校验规则ONLY_FULL_GROUP_BY下GROUP BY的问题
mysql5.7版本 GROUP BY 问题文章目录mysql5.7版本 GROUP BY 问题前言实践前言 MySQL 5.7.5及更高版本实现了对功能依赖性的检测。 如果启用了ONLY_FULL_GROUP_BY SQL模式(默认情况下为MySQL),MySQL将拒绝选择列表,HAVING条件或ORDER BY列表引用未在GROUP BY子句中命名且在功能上不依赖于它们的未聚合列的查询 。 (在5.7.5之前,MySQL不会检测到功能依赖性,并且默认情况下未启用ONLY_FULL_GR
2021-04-30 11:50:37 680 4
原创 Yaf自定义autoload以实现Model文件和Controller文件命名区分
Yaf在自启动的时候, 会通过SPL注册一个自己的Autoloader, 出于性能的考虑, 对于框架相关的MVC类, Yaf> Autoloader只以目录映射的方式尝试一次.
2021-04-14 10:20:18 496
转载 PHPCS的安装配置及使用
良好的代码规范可以提高代码可读性,降低团队沟通维护成本PSR标准PSR是PHP Standards Recommendation的简称,这个是[php-fig](PHP Framework Interop Group)(https://github.com/php-fig)组织制定的一套规范。至今,php-fig已经发布了五个规范:PSR-0:自动加载标准,该标准已被废弃,使用PSR-4替代PSR-1:基本的编码风格PSR-2:编码风格(更严格)PSR-2中文说明PSR-3:日志记录器
2020-11-21 20:45:26 3999
原创 think-queue 消息队列 + redirs + Supervisor进程管理工具
think-queue 消息队列 + redirs + Supervisor进程管理工具文章目录think-queue 消息队列 + redirs + Supervisor进程管理工具前言一、Supervisor是什么?二、使用场景1. 教育机构对结课学员课时,定时清零。生产端 我们利用tp command创建自定义指令,查看[创建自定义指令详解](https://www.kancloud.cn/manual/thinkphp6_0/1037651)。消费端 是处理队列中的数据。处理成功就删除队列中
2020-11-06 16:22:32 631
原创 php redis pipeline管道技术
概念如果需要一次执行多个redis命令,以往的方式需要发送多次命令请求,有redis服务器依次执行,并返回结果,为了解决此类问题,设计者设计出了redis管道命令:客户端可以向服务器发送多个请求,而不必等待回复,并最终在一个步骤中读取回复,从而大大增加了协议性能代码示例1 、不使用管道技术$stime=microtime(true); //获取程序开始执行的时间echo '开始内存:'.memory_get_usage(), ''; echo PHP_EOL;$redis = new \Re
2020-05-19 14:30:04 3176 9
原创 PHP中间件(middleware)理解
一 、 什么是中间件中间件是一个轻量级、底层的插件系统,可以介入应用主题从请求到响应的处理过程。说明白点,中间件其实就是一个闭包,而且返回一个闭包。中间件为过滤进入应用的HTTP请求提供了一套便利的机制,常用于验证用户是否经过认证,添加响应头(跨域),记录请求日志等。二 、 用到的一些概念1.闭包函数也就是常说的匿名函数(什么是匿名?没有函数名不就是匿名了么…秀- -),允许临时创建一...
2020-05-07 16:28:37 3619
原创 gitlab安装 和WebHooks实现生产环境代码自动更新
首先我们在vm虚拟机上设置一个 gitlab服务器(内存4g以上) web服务器 本地服务器(windows10)一、GitLab英文版安装 gitlab服务器1、官方源wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-10.8.4-ce.0.el7...
2020-04-05 00:32:37 734
原创 linux – Docker:无法添加对接口(不支持操作)
安装Docker之后,当我尝试运行mysql示例时出现错误:ERROR: Service 'mysql' failed to build: failed to create endpoint suspicious_noether on network bridge: failed to add the host (vethc21f86d) <=> sandbox (veth7cc9d...
2020-03-19 16:57:36 1533 1
原创 centos7创建用户组和用户
建立 docker 用户组建立 docker 组: sudo groupadd docker将用户加入 docker 组:useradd -g docker -m docker修改密码passwd docker
2020-03-19 14:53:08 2305
原创 Centos7查看IP地址方法
首先我们登录操作系统 用户名root 密码123456然后我们输入ip查询命名 ip addr 也可以输入 ifconfig查看ip,但此命令会出现3个条目,centos的ip地址是ens33条目中的inet值。发现 ens33 没有 inet 这个属性,那么就没法通过IP地址连接虚拟机。接着来查看ens33网卡的配置:vi /etc/sysconfig/network-scripts/...
2020-03-19 12:50:08 2878
原创 Github的WebHooks实现生产环境代码自动更新
Webhooks allow you to build or set up integrations which subscribe to certain events on GitHub.com.
2020-01-16 23:09:41 905
原创 【leetcode】 37. 解数独
一 、运用 回溯法 解数独回溯法算法思想:(参考 回溯法)定义:回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。1、回溯法适用:有许多问题,当需要找出它的解集(全部解)或者要求回答什么解是满足某些约束条件的最优解...
2020-01-14 19:52:01 248
原创 【leetcode】 36. 有效的数独
最近喜欢上数独游戏。于是就在leetcode找了一下相关算法。怎么检查一个有效数独呢!一、 哈希判重当前行9个数字不能有重复数字当前列9个数字不能有重复数字九宫格 9个数字不能有重复数字9*9的数独划分为9个小的子数独let boxIndex = parseInt((i/3)) * 3 + parseInt(j/3); //子数独(宫)序号**行标决定一组bloc...
2020-01-12 20:38:17 165
原创 在Kubernetes中部署应用(三)
文章目录目标Kubernetes 部署部署你在 Kubernetes 上的第一个应用程序应用部署实例参考目标学习了解应用的部署使用 kubectl 在 Kubernetes 上部署第一个应用Kubernetes 部署Deployment 负责创建和更新应用程序的实例一旦运行了 Kubernetes 集群,就可以在其上部署容器化应用程序。 为此,您需要创建 Kubernetes De...
2020-01-04 21:24:15 473
原创 在Kubernetes中使用Minikube创建集群(二)
文章目录创建集群目标在Kubernetes集群中集群图使用minikube部署本地开发Kubernetes集群实例创建集群目标了解什么是Kubernetes集群。了解什么是Minikube。使用在线终端启动Kubernetes集群。在Kubernetes集群中Kubernetes协调连接在一起作为单个单元工作的高可用性计算机集群。Kubernetes中的抽象允许您将容器化的应用程...
2020-01-04 19:23:12 643 1
原创 Kubernetes 基础知识(一)
Kubernetes 基础Kubernetes 集群编排系统的基础知识,您可以自己管理一个简单的集群及其容器化应用程序。Kubernetes 可以为您做些什么?通过现代的 Web 服务,用户希望应用程序能够 24/7 全天候使用,开发人员希望每天可以多次发布部署新版本的应用程序。 容器化可以帮助软件包达成这些目标,使应用程序能够以简单快速的方式发布和更新,而无需停机。Kubernetes 帮...
2020-01-01 18:53:04 699
转载 30分钟彻底弄懂flex布局
转载 30分钟彻底弄懂flex布局目前在不考虑IE以及低端安卓机(4.3-)的兼容下,已经可以放心使用flex进行布局了。什么是flex布局以及它的好处,这里就不再赘述。在这篇文章里,想说说flex布局的属性语法及其细节。那么网上也有不少flex布局的教程,为什么又要再写一篇?首先,flex布局的迷之属性们,如果一知半解,机械记忆的话,那不到半个月基本忘光光。先感受一下这12个flex布局属...
2019-12-26 19:17:21 308
原创 laradock 国内版
文章目录简述修改php-fpm镜像修改php-worker镜像workspace 工作区修改 .env 文件参考资料简述最近google一下,感觉laradock项目还是不错的。扩展性很好。但是国外支持更好一些。国内的更新速度就比较糟心了。于是我就找了一个国内版:https://github.com/nickfan/laradock但是这个版本已经很久没有跟新了。目前最高支持到php7...
2019-12-25 18:42:43 1614
原创 SQL基础手册
文章目录一、基础二、创建表三、修改表四、插入五、更新六、删除七、查询DISTINCTLIMIT八、排序九、过滤十、通配符十一、计算字段十二、函数汇总文本处理日期和时间处理数值处理十三、分组十四、子查询十五、连接内连接自连接自然连接外连接十六、组合查询十七、视图十八、存储过程十九、游标一、基础模式定义了数据如何存储、存储什么样的数据以及数据如何分解等信息,数据库和表都有模式。主键的值不允许修改...
2019-12-24 12:37:54 202
转载 数据库系统原理
一、事务概念事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OymdcMzO-1577004018680)(images/screenshot_1576995816005.png)]ACID1. 原子性(Atomicity)事务被视为不可...
2019-12-22 19:45:44 1848
原创 mysql8.0 链接问题Server sent charset unknown to the client. Please, report to the developers
这个问题就是 mysql 8 的密码验证方式是 caching_sha2_password,而低版本都是 mysql_native_password,所以会出错。laravel MySQL配置1、my.cnf 配置文件中 [mysqld] 下添加一行default-authentication-plugin=mysql_native_password2、重新构建服务,依次执行:dock...
2019-12-19 15:41:52 7507 2
原创 Docker撰写throws - adduser:group'www-data'正在使用中
错误adduser: group 'www-data' in useService 'nginx' failed to build: The command '/bin/sh -c apk update && apk upgrade && apk add --no-cache bash && adduser -D -H -...
2019-12-16 19:13:41 1404
原创 Error response from daemon: network laradock_default is ambiguous
docker-compose up mysql nginx Error response from daemon: network laradock_default is ambiguous (2 matches found based on name)前几天,我升级了docker实例并清理了几个容器后就遇到了这个问题。快速的Google搜索将我带到了这个github问题,我了解了该dock...
2019-12-16 18:30:32 1725
原创 docker-compose服务管理
docker-compose docker-compose简介docker 容器使用yml 文件不仅指定正在使用的容器,还指定如何单独配置各容器基本规则docker-compose搭建PHP环境docker-compose简介Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可...
2019-12-12 17:00:42 648
原创 MAC终端神器iterm2——告别黑白和记住服务器的账号和密码
一、 MAC终端神器iterm2——告别黑白MAC终端神器iterm2——告别黑白二、 Mac 让 iTerm2 记住用户名密码 expect 脚本https://codingstyle.cn/topics/31刚刚用iTerm2的时候,总是要一遍遍的敲用户名、密码。 我在想, 能不能像Windows的软件一样,可以直接让软件记住。然后只要点击一下,就直接ssh到远程服务器上面去了。之后...
2019-12-08 22:56:17 1474
原创 Highcharts 进行数据展示
1、前端Highcharts数据展示网址 https://www.highcharts.com.cn/<include file="public@header" /> <meta charset="utf-8"><link rel="icon" href="https://jscdn.com.cn/highcharts/images/favico...
2019-11-26 21:31:42 280
原创 html form表单全选 批量删除
1、HTML <tr> <th width="40"><input type="checkbox" name="check" value=""> 全选/全不选</th> <th width="40">ID</th> <th width="60" align="left">姓名</th...
2019-11-26 21:21:55 1823
原创 基于Docker搭建LNMP环境
关于什么是docker,建议大家先上网查查有关的用法。如果您不了解,在这篇文章中,您可以简单的理解为他是一个轻量级的虚拟机一、docker安装mysql首先,我们从仓库拉取一个MySql的镜像docker pull mysql:5.6查询镜像gongzhiyangdeMacBook-Air:conf gongzhiyang$ docker imagesREPOSITORY ...
2019-11-15 23:22:37 446
原创 mysql SSH RSA免密登录 for mac
今天我们聊一下SSH RSA免密登录。首先登录mysql客户端, 建立SSH链接服务器链接成功后,就可以进行数据库链接在非Windows系统中,要注意权限问题。不可以用最高权限.ssh 文件夹权限chmod 700 ~/.sshid_rsa文件 权限600chmod 700 ~/.ssh/id_rsa完成上面的所有操作。就可以连上了!但注意权限问...
2019-08-16 20:41:18 577
原创 phpStorm git配置
1、生成密钥,配置好之后。我们就可以用了。2、在IDE中配置git。特别要注意。built-in有可能出问题。尤其是破解版。长时间没升级IDE。git 推送突然报错 我们只需要把built-in改为nativebuilt-innative这样就好。...
2019-08-05 23:31:13 345
原创 rabbitMQ +php(PCNTL) 服务端守护进程(二)
随着互联网的发展,php快速开发的特点,现在越来越多的团队将php作为服务端的编程语言,大家都知道php是单线程,但使用PCNTL和POSIX等扩展实现多进程编程,相比多线程编程,多进程就容易的多。在使用php开发服务端时,很多时候避免不了和多进程打交道,个人才疏学浅,有疏漏。请望指正。php创建守护进程开始之前, 请确认已安装扩展pcntl和posix。请使用php -m创建守护进程...
2019-07-12 20:23:34 790
原创 rabbitMQ + nohup 服务端守护进程(一)
随着互联网的发展,php快速开发的特点,现在越来越多的团队将php作为服务端的编程语言,大家都知道php是单线程,但使用PCNTL和POSIX等扩展实现多进程编程,相比多线程编程,多进程就容易的多。在使用php开发服务端时,很多时候避免不了和多进程打交道,个人才疏学浅,有疏漏。请望指正。php创建守护进程开始之前, 请确认已安装扩展pcntl和posix。请使用php -m创建守护进程...
2019-06-28 16:41:42 1518
原创 rabbitMQ + yii2 (php)远程过程调用(RPC)
今天我们共同学习下使用MQ来构建一个RPC系统。包含一个客户端和一个RPC服务端。现在的情况是,我们没有一个值得被分发的足够耗时的任务,所以接下来,我们创建一个模拟RPC服务。客户端的接口为了展示rpc服务如何使用,我们创建了一个简单的客户端,关于RPC的注意事项:尽管RPC在计算机领域是一个常用模式,但它也有一些问题,当一个问题被抛出时,程序员往往意识不到这到底是由本地调用还是由较慢的R...
2019-06-26 14:08:21 846
原创 rabbitMQ + yii2 (php)主题交换机
为什么需要主题交换机?在上一篇的学习中,我们改进了日志系统。我们使用直连交换机代替了扇形交换机,从只能盲目的接收广播信息改进为有选择的接收日志。尽管直连交换机能够改善我们的系统。但是也有缺点 – 没办法基于多个标准执行路由操作。在我们的日志系统中,我们不只是希望订阅基于严重程度的日志,同时还希望订阅基于发送来源的日志。如果这样的话,将会给予我们非常大的灵活性,我们既可以监听来源于“cron...
2019-06-24 16:38:56 326
原创 rabbitMQ 交换机类型
有几个可供选择的交换机类型:直连交换机 direct(默认)直连交换机是一种带路由功能的交换机,要求改消息与一个特定的路由键完全匹配,这是一个完整的匹配,如果一个队列绑定到该交换机上要求路由键”dog“,只有被标记为”dog“的消息才被转发。不会转发”dog.puppy“,只会转发dog.(一对一匹配才转发)主题交换机 topic它将路由键和某模式进行匹配,此时队列需要绑定一个模式上。符号...
2019-06-21 22:46:54 918
原创 rabbitMQ + yii2 (php)路由
在前面的学习中,我们实现了一个简单的日志系统。 可以把日志消息广播给多个接收者。本篇中我们打算新增一个功能–使得它能够只订阅消息的字集。 列如我们只需要把严重的错误日志写入文件中,但同时也把所有的日志信息输入到控制台中。绑定 bindings前面的例子,我们已经创建绑定:$channel->queue_bind($queue_name, 'logs');绑定是指交换机和队列的关...
2019-06-21 21:57:11 335
原创 rabbitMQ + yii2 (php)发布/订阅
在上篇文章中,我们搭建了一个工作队列。每个任务只分发给一个工作者worker。这里我们做的跟之前完全不一样–分发一个消息给多个消费者consumers。这种模式 ”发布/订阅“。在这里我们将会构建一个简单的日志系统。它包括两个程序–第一个程序负责发送日志消息,第二个程序负责发送获取消息并输出内容。在我们的这个日志系统中,所有正在运行的接收方都会接收消息的。我们用其中一个接受者receiver把...
2019-06-20 19:55:35 1165
原创 rabbitMQ + yii2 (php) 工作队列
工作队列又称任务队列,是为了避免等待一些占用大量资源 时间的操作。当我们吧任务当做消息发送到队列中,一个运行在后台的工作者worker 进程就会取出任务,任务就会在它们之间共享。之前的学习中,我们发送了一个包含“Hello World!”的字符串消息。现在,我们将发送一些字符串,我们这里用sleep()函数来模拟处理任务。我们在字符串中加上点号(.)来表示任务的复杂程度,一个点(.)将会耗时1秒...
2019-06-19 23:04:10 1082
原创 在yii2中创建控制台命令(console)
今天我们共同学习一下在yii2中创建命令。一 、 首先 根目录下console目录就是配置的地方1、查看当前项目控制台已有的脚本命令正如你在截图中看到,Yii 中已经定义了一组默认情况下可用的命令:AssetController - 允许合并和压缩你的 JavaScript 和 CSS 文件。 在 资源 - 使用 asset 命令 一节可获取更多信息。CacheController ...
2019-06-18 19:06:29 3112
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人