- 博客(84)
- 资源 (5)
- 收藏
- 关注
原创 PHP使用TCPDF导出PDF文档
最近在项目中遇到了导出PDF的功能,导出过程中也遇到了好几个奇葩bug,经过查找资料,终于完成了导出功能。这里,就详细记录一下导出过程吧。1、下载TCPDF库我们可以通过composer或者其他途径下载,这里是我下载的库:点击下载阅读原文:原文链接...
2022-05-15 20:07:58
906
原创 Mysql变量以及流程控制详解
Mysql本质是一种编程语言,需要很多变量来保存数据。Mysql中很多的属性控制都是通过mysql中固有的变量来实现的。系统变量系统内部定义的变量,系统变量针对所有用户(MySQL客户端)有效。查看系统所有变量:show variables [like ‘pattern’];Mysql允许用户使用select查询变量的数据值(系统变量)基本语法:select @@变量名;select @@autocommit;修改系统变量:分为两种修改方式1、 局部修改(会话级别):.
2022-01-26 17:41:32
1114
原创 centos7卸载重新安装mariadb10.2.4
1、卸载旧版本查找mariadb:rpm -qa|grep mariadbmariadb-server-5.5.64-1.el7.x86_64mariadb-libs-5.5.64-1.el7.x86_64mariadb-5.5.64-1.el7.x86_64mariadb-devel-5.5.64-1.el7.x86_64阅读原文:原文链接
2022-01-17 09:12:56
904
原创 mysql用户以及权限管理详解
用户权限管理:在不同的项目中给不同的角色(开发者)不同的操作权限,为了保证数据库数据的安全。通常,一个用户的密码不会长期不变,所以需要经常性的变更数据库用户密码来确保用户本身安全(mysql客户端用户)用户管理Mysql需要客户端进行连接认证才能进行服务器操作:需要用户信息。Mysql中所有的用户信息都是保存在mysql数据库下的user表中。默认的,在安装Mysql的时候,如果不选择创建匿名用户,那么意味着所有的用户只有一个:root超级用户在mysql中,对应的用户管理,是由对应的H
2022-01-07 09:35:31
726
原创 位运算知识详解
计算机码:计算机码:计算机在实际存储数据的时候,采用的编码规则计算机码主要包括:原码,反码,补码。最左边一位是用来充当符号位的,整数为零,负数为1原码:数据本身从十进制转成二进制得到的结果!正数的原码左边的符号位为0,负数的原码左边的符号位为1反码:正数的反码和原码相同!负数的反码,以原码为基准,符号位不表,其他为取反。补码:正数的补码与原码相同!负数的补码,在反码基础上+1即可。阅读原文:原文链接...
2022-01-05 15:16:36
573
原创 算法:合并两个有序链表的实现方案详解
法描述输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。数据范围: 0≤n≤1000, −1000≤节点值≤1000要求:空间复杂度 O(1),时间复杂度 O(n)如输入{1,3,5},{2,4,6}时,合并后的链表为{1,2,3,4,5,6},所以对应的输出为{1,2,3,4,5,6},转换过程如下图所示:阅读原文:原文链接...
2021-12-31 09:29:33
738
原创 数据库备份与还原详解
应用场景SQL备份是一种mysql非常常见的备份与还原方式,SQL备份不只是备份数据,还备份对应的SQL指令(表结构):即便是数据库遭到毁灭性的破坏(数据库被删),那么利用SQL备份依然可以实现数据还原。SQL备份因为需要备份结构,因此产生的备份文件特别大,因此不适合特大型数据备份,也不适合数据变换频繁型数据库备份。SQL备份SQL备份用到的是专门的备份客户端,因此还没与数据库服务器进行连接。阅读原文:原文链接...
2021-12-28 17:24:08
637
原创 ThinkPHP6.0 事件知识详解
Thinkphp6官方文档对事件描述的非常模糊,导致初学者看了很多遍还是一头雾水,经过本人多次阅读官方文档,终于有了一定的了解,本文就详细介绍一下事件的使用方式。1、什么是事件?事件相比较中间件的优势是事件比中间件更加精准定位(或者说粒度更细),并且更适合一些业务场景的扩展。例如,我们通常会遇到用户注册或者登录后需要做一系列操作,通过事件系统可以做到不侵入原有代码完成登录的操作扩展,降低系统的耦合性的同时,也降低了BUG的可能性。阅读原文:原文链接...
2021-12-20 09:24:08
645
原创 Nginx实现一个端口监听一个站点
我们只有IP地址,没有域名,能不能实现一台服务器上运行不同的站点呢?例如:IP地址:端口1 可以访问我们的A站点IP地址:端口2 可以访问我们的B站点等等。肯定可以!我们可以通过一个端口监听一个站点来实现。那么,在Nginx环境下,我们该如何配置呢?具体操作步骤如下:阅读原文:原文链接...
2021-12-17 09:19:46
2398
原创 算法:字符串数组中各个元素最长公共前缀的实现方案
算法描述:给你一个大小为 n 的字符串数组 strs ,其中包含n个字符串 , 编写一个函数来查找字符串数组中的最长公共前缀,返回这个公共前缀。数据范围: 0≤n≤5000, 0≤len(strs[i])≤5000进阶:空间复杂度 O(n),时间复杂度 O(n)示例1输入:["abca","abc","abca","abc","abcc"]返回值:"abc"阅读原文:原文链接...
2021-12-15 15:24:14
3764
原创 算法:两数之和(请在数组中找出两个加起来等于目标值的数的下标)
算法描述给出一个整型数组 numbers 和一个目标值 target,请在数组中找出两个加起来等于目标值的数的下标,返回的下标按升序排列。(注:返回的数组下标从1开始算起)数据范围:2≤len(numbers)≤1500,−10≤numbers[i]≤10000000000 ,0≤target≤1000000000要求:空间复杂度 O(n),时间复杂度 O(nlogn)例如:给出的数组为 [20, 70, 110, 150] , 目标值为90返回一个数组 [1,2]因为 numb
2021-12-13 09:22:42
937
原创 算法:数组中只出现一次的数(其它数出现k次)
算法描述:给定一个长度为 n 的整型数组 arr 和一个整数 k(k>1) 。已知 arr 中只有 1 个数出现一次,其他的数都出现 k 次。请返回只出现了 1 次的数。数据范围: 1 ≤ n ≤200000 , 1 < k < 200000 , -2000000000 ≤ arr[i] ≤2000000000进阶:时间复杂度 O(32n),空间复杂度 O(1)阅读原文:原文链接...
2021-12-10 09:20:21
765
原创 算法:连续子数组最大和的实现方案
算法描述:输入一个长度为n的整型数组array,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。数据范围:1<=n<=100000−100<=a[i]<=100要求:时间复杂度为 O(n),空间复杂度为 O(n)进阶:时间复杂度为 O(n),空间复杂度为 O(1)阅读原文:原文链接...
2021-12-03 09:08:24
184
原创 跳台阶算法的三种实现方案(PHP)
算法描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果)。数据范围:0≤n≤40要求:时间复杂度:O(n) ,空间复杂度: O(1)阅读原文:点我阅读原文...
2021-11-26 16:00:42
279
原创 Mysql主从分离配置,以及读写分离实战
一、什么是Mysql主从分离 将读操作和写操作分离到不同的数据库上,避免主服务器出现性能瓶颈;主服务器进行写操作时,不影响查询应用服务器的查询性能,降低阻塞,提高并发; 数据拥有多个容灾副本,提高数据安全性,同时当主服务器故障时,可立即切换到其他服务器,提高系统可用性;二、为什么要实现Mysql主从分离 大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数
2021-11-23 17:34:39
676
原创 RabbitMQ入门介绍
消息队列/MQ?MQ (Message Queue)即消息队列,是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。“消息队列”是在消息的传输过程中保存消息的容器。它是典型的:生产者、消费者模型。生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,这样就实现了生产者和消费者的解耦。为什么用消息中间件?消息队列是分布式系统中重要的组件,解决应用耦合,异步消息,流量削锋等问题,实现.
2021-11-15 09:39:25
712
原创 docker--compse 简介以及启动lnmp镜像yml编写
ompose Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。它是一个定义和运行多容器的docker应用工具。使用compose,你能通过YMAL文件配置你自己的服务,然后通过一个命令,你能使用配置文件创建和运行所有的服务。安装compose方式一:阅读原文:原文链接...
2021-11-09 10:30:01
691
原创 Dockerfile入门,以及构建PHP,mysql,nginx镜像,并搭建Lnmp环境
Dockerfile构建镜像 Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。Docker程序将这些Dockerfile指令翻译真正的Linux命令。Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile。Dockerfile的书写规则Dockerfile的指令是忽略大小写的,建议使用大写,使用 # 作为注释,每一行只支持一条指令,每条指令可.
2021-11-08 15:17:37
2564
原创 docker数据卷简介,以及使用Docker安装Lnmp环境
Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中称为数据卷(Data Volume)。数据卷可以用来存储Docker应用的数据,也可以用来在Docker容器间进行数据共享。数据卷呈现给Docker容器的形式就是一个目录,支持多个容器间共享,修改也不会影响镜像。docker volume create 数据卷名称 创建数据卷docker volume create vol_test数据卷所在目录:/var/lib/docker/volumesdock.
2021-11-04 13:33:20
110
原创 Docker入门以及基础命令
Docker介绍 Docker容器技术于2013年作为开源Docker引擎推出。是一个开源的应用容器引擎,基于 Go 语言并遵从Apache2.0协议开源。基于 Linux 内置的 Namespace 和 CGroup 等系统内隔离机制而抽象出来的一种轻虚拟化技术。为什么用Docker更快速的交付和部署: 对开发和运维人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行 ,解决开发环境和生产环境不一致的问题。 更轻松的迁移和扩展: Docker 容器几乎可以在任意的平台上运行,包括物理.
2021-11-02 10:08:40
104
原创 Swoole实战一:仿电影院选票实时展示
前面系统学习了Swoole的基础知识,今天就着手做一个购买电影票时,实时显示已购座位信息的Demo,作为对基础知识的巩固。原文链接:阅读原文
2021-10-27 16:29:34
426
原创 centos7使用systemctl控制nginx
每次使用/usr/local/nginx/sbin/nginx -s stop 命令停止nginx太复杂了,我们可以通过一下方式实现systemctl控制nginx的启动和关闭原文链接:阅读原文
2021-10-26 13:03:34
1201
原创 使用systemd管理swoole服务
Systemd 是 Linux 系统中新一代的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。很多新的Linux发行版已经使用Systemd取代了init,作为初始守护进程。Swoole的服务器程序可以编写一段service脚本,交由systemd进行管理。实现故障重启、开机自启动等功能。阅读原文:原文链接...
2021-10-20 14:52:36
96
原创 Swoole 基础入门
Swoole由来PHP这个语言有很大的局限性,甚至可以说PHP语言只能做Web程序。网络通信框架、异步、多线程,协程,多进程,这些特性正是php所不完善的功能(虽然官方提供很多基础函数可以实现这些功能,PHP语言本身也提供了一些可以实现进行底层操作和网络通信的扩展,比如sockets、libevent、pcntl之类),普通的phper也不具备这些特性的基础认知,基于此Swoole应运而生。Swoole是韩天峰在2010年底,因为公司业务需要自己实现一个TcpSocket...
2021-10-12 09:16:55
266
原创 Websocket入门以及简易聊天室案例
WebSocket 协议在2008年诞生,2011年成为国际标准。所有浏览器都已经支持了。是一种网络通信协议。RFC6455 定义了它的通信标准。WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息websocket约定了一个通信的规范,通过一个握手的机制,客户端(浏览器)和服务器(webserver)之间能建立一个类似tcp的连接,从而方便c-s之间的通信Websocket入门(上)W
2021-10-09 09:59:33
141
原创 Socket之PHP入门知识
Socket的英文原义是“孔”或“插座”,通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。Socket之PHP入门(上)Socket之PHP入门(下)...
2021-10-08 10:36:52
124
原创 TCP和UDP介绍
TCP(TransmissionControlProtocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,原文链接
2021-09-29 11:12:10
81
原创 Laravel 5框架学习之数据库迁移(Migrations)
database migrations 是laravel最强大的功能之一。数据库迁移可以理解为数据库的版本控制器。在 database/migrations 目录中包含两个迁移文件,一个建立用户表,一个用于用户密码重置。在迁移文件中,up 方法用于创建数据表,down方法用于回滚,也就是删除数据表。原文链接...
2021-08-13 15:47:02
291
原创 Centos离线安装安装redis遇到的坑
由于项目需要,需要在内网环境离线安装redis,安装过程中踩了各种坑,在此做一下记录,方便以后查阅。原文链接:链接地址
2021-07-28 10:34:54
124
原创 Vue中通过highlight.js实现代码高亮
项目中,我们经常会有代码高亮的需求!那么,在Vue项目中,如实实现代码高亮功能呢?highlight.js是非常不错的选择。原文链接
2021-07-16 11:33:13
254
原创 vue项目中加入百度统计
最近,在做本博客的改版,前台使用Vue,后台使用thinkphp6,做到前后分离。做百度统计的时候,遇到一系列问题,通过全方位查找资料,终于解决问题,本文主要记录一下解决Vue项目中,加入百度统计的具体步骤。原文链接...
2021-07-10 10:18:46
946
原创 Vue项目打包上线过程踩的坑
一直以为vue项目打包上线很容易,只需要执行“npm run build ”,将生成的代码直接放到服务器就可以了。但是,当自己真正打包上线的时候,就发现远远要比想象的困难,期间会遇到各种问题。此文主要记录一下打包上线遇到的坑,方便以后查阅,也希望帮助更多的开发者避免采坑。Vue项目打包上线过程踩的坑...
2021-06-23 10:17:36
203
原创 Vue中出现“ **** is defined but never used”解决办法
Vue中出现“‘xxxxx‘ is defined but never used”解决办法
2021-06-09 14:16:05
3770
VerticalGridView第一行获取焦点后,再次按向上键,上方的控件获取不到焦点解决方案
2017-01-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人