自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

seabirds

远方除了未知还有梦想,谈不上热爱,只为生活。

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

原创 php设计模式遵循的原则

php设计模式遵循的原则在讨论面向对象编程和模式(具体一点来说,设计模式)的时候,我们需要一些标准来对设计的好还进行判断,或者说应该遵循怎样的原则和指导方针。现在,我们就来了解下这些原则:单一职责原则(S) 开闭原则(O) 里氏替换原则(L) 接口隔离原则(I) 依赖倒置原则(D) 合成复用原则 及迪米特法则(最少知道原则)本文将涵盖 SOLID + 合成复用原则的讲解及示例,迪米特法则以扩展阅读形式给出。单一职责原则(Single Responsibility Princ

2021-05-21 09:40:53 170

原创 MySQL索引原理及慢查询优化

MySQL索引原理及慢查询优化背景参考:https://tech.meituan.com/2014/06/30/mysql-index.htmlMySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更.

2021-05-14 14:41:23 166

原创 php 简单的冒泡排序

php 简单的冒泡排序//从小往大排序 冒泡排序$arr = [12,34,9,68,26,95,6,118]; //for($i=0;$i<count($arr);$i++){ for($k=$i+1;$k<count($arr);$k++){ if($arr[$i]>$arr[$k]){ $max = $arr[$i]; $arr[$i] = $arr[$k]; $arr[$k] = $max; } }}print_r($arr);Array

2021-04-28 16:29:41 191

原创 大数据专业术语介绍

#大数据专业术语介绍OLTP – 业务类系统主要供基层人员使用,进行一线业务操作,通常被称为OLTP(On-Line Transaction Processing,联机事务处理)。OLAP – 数据分析的目标则是探索并挖掘数据价值,作为企业高层进行决策的参考,通常被称为OLAP(On-Line Analytical Processing,联机分析处理)。从功能角度来看,OLTP负责基本业务的正常运转,而业务数据积累时所产生的价值信息则被OLAP不断呈现,企业高层通过参考这些信息会不断调整经营方针,也会

2021-03-09 16:13:43 388

原创 activeMQ rabbitMq、rocketmq\kafaka对比

转—rabbitMq、rocketmq\kafaka对比深山猿 2019-04-04 20:27:26 1951 收藏 3分类专栏: mq mq 文章标签: mq rabbit kafaka rocketmq版权rabbitMq,rocketMq,kafaka适用场景对比架构方面:Kafaka是正常的mq架构,包括provider broker consumer。,kafaka没有消息确认机制rabbitMq 中的broker由exchange、binder queue三部分组成,其中e

2020-12-18 09:52:38 455

原创 phper 你真的会composer吗?

composer对PHP的作用现在的世界是要求快速的,如果每个项目都从头开始写,显然不现实,而且质量也得不到保证。PHP有大量开源的项目,如何想自己的项目中使用这些PHP项目,就是composer做的事。MVC中常用的ORM,如果你要造一个自己的MVC框架,不可能自己写,那去哪里找这些php的ORM库呢,怎么很好地在项目中引用呢?这就是composer做的是。说白了,composer就是nodeJS的npm,一个php的包管理工具composer与pear、pcel你可能听说过pear和pcel

2020-12-08 10:41:40 111

原创 TCP、UDP、HTTP、SOCKET、WebSocket之间的区别

TCP、UDP、HTTP、SOCKET、WebSocket之间的区别转-----https://blog.csdn.net/sinat_31057219/article/details/72872359TCP为什么是三次握手,为什么不是两次或者四次 && TCP四次挥手TCP的几个状态 (SYN, FIN, ACK, PSH, RST, URG)TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层,每层都有相应的协议,如下图I...

2020-11-25 14:11:31 270

原创 mysql,数据实时同步到clickhouse数据仓库插件 --bifrost异构插件(支持RabbitMQ,ActiveMQ,Kafka)

而这个 Bifrost 可以将 你 MySQL 里的数据,全量,实时同步到 :Redis MongoDB ClickHouse MySQL Memcahe RabbitMQ ActiveMQ Kafka Http 自定义服务 Hprose RPC 自定义服务文档地址WIKI :wiki.xbifrost.com官方群70331601欢迎大家交流 学习...

2020-10-15 14:27:38 973

原创 docker 安装 ubuntu apt-get 超时,解决: 更新apt-get 源

1,启动容器2,到/etc/apt/sources.list 替换为 如下内容deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ bionic-upda..

2020-05-30 14:31:15 2013

原创 Linux中的0.0.0.0和 ::

Linux中的0.0.0.0和 ::nailwl 2020-04-07 10:58:10 143 收藏展开IP地址表示,IP地址有两个部分组成,net-id和host-id,即网络号和主机号。127.0.0.1127.0.0.1属于{127,}集合中的一个,所有的网络号为127的地址都被称为环回地址,所以环回地址不等价于127.0.0.1,后者只是环回地址的一份子,是包含关系,环回地址loop back。相比于127.0.0.1,localhost 具有更多的意义,localhost是..

2020-05-29 11:35:15 1421

原创 centos 如何通过一台机器连接其他机器的内网

1,假如 一台主机 A然后通过外网登录成功 在登录成功后2,然后直接命令行 ssh username@ip 回车登录成功后就是机器B的内网拉

2020-04-30 17:35:49 1465

原创 liunx 系统分类

linux系统,主要分debian系和redhat系,还有其它自由的发布版本。1、debian系主要有Debian,Ubuntu,Mint等及其衍生版本;2、redhat系主要有RedHat,Fedora,CentOs等,3、其它有Slackware,Gentoo,Archlinux,LFS,SUSE等。4、如果开发用,推荐redhat系,业内公司的服务器多用centos,考虑到平时使用...

2020-04-30 11:47:47 456

原创 php 一维数组判断值是否全部相等

php 一维数组判断值是否全部相等$uqine = [1,2,3]if ($uqine) { $uq = array_unique($uqine); foreach ($uq as $index => $item) { if (intval($item) == 0 ) { throw new HttpResponseExce...

2020-03-27 17:17:12 3324

原创 数据库设计三大范式(简单易懂)

数据库设计的三大范式为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就叫做范式。范式就是符合某一种设计要求的总结,要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最常见的设计范式有三个:1、第一范式*(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库满...

2020-03-23 11:31:46 323 1

原创 协程进程和线程三者的区别

文章目录一、进程 二、线程 三、进程和线程的区别与联系 四、一个形象的例子解释进程和线程的区别 五、进程/线程之间的亲缘性 六、协程一、进程  进程,直观点说,保存在硬盘上的程序运行以后,会在内存空间里形成一个独立的内存体,这个内存体有自己独立的地址空间,有自己的堆,上级挂靠单位是操作系统。操作系统会以进程为单位,分配系统资源(CPU时间片、内存等资源),进程是资源...

2020-03-20 11:17:22 415

原创 PHP abstract与interface之间的区别

PHP abstract与interface之间的区别原创luyaran 最后发布于2017-01-06 14:32:07 阅读数 4145 收藏展开1、抽象类需要继承,用extends,而接口需要实现,用implements;2、一个类可以实现多个接口,但只能继承一个抽象类3、接口中每个方法都只有声明而没有实现,其中的每个方法实现类必须要实现;而抽象类中只需要实现抽象方法,其它方...

2020-03-13 10:56:59 332

原创 php 面试总结

1,二叉树二叉树是数据结构中不可忽略的部分,但是相关的书籍上很少有用php来实现二叉树。简单理解,是通过操作节点来实现。树是递归结构。二叉树有多种类型 平衡树 搜索树等。3,php各版本的差异语法的差异 声明函数的参数类型;(以前是弱类型) 操作符一些变更;(三元运算符) 命名空间的优化。 一些函数的废弃使用(call_user_method,,) ...

2020-03-08 17:52:07 144

原创 cgi 和 fast-cgi 和 php-fpm区别分析.

首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者。web server(比如说nginx)只是内容的分发者。比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据。好了,如果现在请求的是/index.php,根据配置文件,nginx知道这个不是静态文件,需要去找P...

2020-03-06 10:12:49 291

原创 PHP 抽象类

PHP 抽象类* 抽象类* 1.使用关键字: abstract* 2.类中只要有一个方法声明为abstract抽象方法,那么这个类就必须声明为抽象类* 3.抽象方法只允许有方法声明与参数列表,不允许有方法体;* 4.因为抽象方法的不确定性,所以抽象类禁止实例化,仅允许通过继承来实例化;* 5.继承抽象类的子类中,必须将抽象类中的所有抽象方法全部实现* 6.子类成员的访问...

2020-03-05 16:54:06 87

原创 mysql 悲观锁和乐观锁

为什么需要锁在并发环境下,如果多个客户端访问同一条数据,此时就会产生数据不一致的问题,如何解决,通过加锁的机制,常见的有两种锁,乐观锁和悲观锁,可以在一定程度上解决并发访问。乐观锁乐观锁,顾名思义,对加锁持有一种乐观的态度,即先进行业务操作,不到最后一步不进行加锁,"乐观"的认为加锁一定会成功的,在最后一步更新数据的时候在进行加锁,乐观锁的实现方式一般为每一条数据加一个版本号。...

2020-03-05 14:21:10 131

原创 一次完整的HTTP请求过程

当我们在浏览器的地址栏输入www.baidu.com,然后回车,回车这一瞬间到看到页面到底发生了什么呢?以下过程仅是个人理解:域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) --&g...

2020-02-27 20:46:21 137

原创 layui select 多选编辑器

https://hnzzmsf.github.io/example/example_v4.html#methods-value

2019-12-03 15:20:27 246

原创 jQuery将DIV复制为另一个DIV 并且功能同在(delegate的用法) (复制多个div 然后单独删除)

转载 https://blog.csdn.net/qq_40012791/article/details/79862054jQuery将DIV复制为另一个DIV 并且功能同在(delegate的用法)置顶2018-04-09 10:15:28zxyBaby1027阅读数 3162更多分类专栏:jquery版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权...

2019-10-24 14:48:40 609

原创 rabbitmq 原理分析

转载 出处 ------ 感谢分享 https://www.jianshu.com/p/e55e971aebd8本文对rabbitmq基础介绍,完全是为了下一篇rabbitmq性能测试做准备,让读者去了解我们需要测试的是什么样一个“东西”。引言你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用、通讯的问题而苦恼、挣扎?如...

2019-10-12 16:17:15 142

原创 PHP Fatal error:  Cannot use ‘Object‘ as class name as it is reserved

PHP Fatal error: Cannot use ‘Object‘ as class name as it is reserved这个错误是yii2框架的错误了。也就是说不能使用Object作为类名。解决方法1、composer install2、composer global require "fxp/composer-asset-plugin:^1.4.1"3、co...

2019-10-10 16:10:26 1273

原创 VPS,虚拟主机,云主机,独立服务器区别

独立服务器独立服务器,顾名思义,就是一个躺在机房的实实在在的物理服务器,也可理解为你的游戏主机一样。优点:性能高缺点:价格高,高可用性低(比如断电,硬盘坏了......)VPSVirtual Private Server 虚拟专用服务器,一般是将一个独立服务器通过虚拟化技术虚拟成多个虚拟专用服务器。优点:价格便宜缺点:性能低,高可用性低(除了其所在的物理机出问题了会收到影响...

2019-09-16 15:39:30 7953 1

原创 redis 原理了解

本文转载https://blog.csdn.net/wuyangyang555/article/details/82152005redis单点吞吐量单点TPS达到8万/秒,QPS达到10万/秒。redis的5中存储类型string、list、set、map(hash)、stored-setredis的string类型能表达3中类型:字符串、整数和浮点数。根据...

2019-09-10 11:22:10 94

原创 TPS、QPS和系统吞吐量的区别和理解

TPS、QPS和系统吞吐量的区别和理解一、QPS/TPSQPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程...

2019-09-10 11:13:07 616

原创 MySQL主从同步与主主同步

原文https://www.cnblogs.com/wade-lt/p/9008058.htmlMySQL主从同步与主主同步MySQL复制: MySQL内建的复制功能是构建大型,高性能应用程序的基础。将MySQL的数据分布到多个系统上去,这种分布的机制,是通过将mysql的某一台主机的数据复制到其它主机(slave)上,并重新执行一遍来实现。复制过程中一个服务器充当主服...

2019-08-06 17:40:16 109

原创 mysql binlog

初探 MySQL 的 Binlog原文https://xcoder.in/2015/08/10/mysql-binlog-try/?tdsourcetag=s_pctim_aiomsg大纲1.准备工作 1.1.什么是 Binlog 1.2.启用 Binlog 1.3.随便玩玩 2.结构解析 2.1.索引文件 2.2.Binlog 文件 ...

2019-08-06 15:56:55 99

转载 什么是网关及网关作用

什么是网关及网关作用网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只...

2019-07-30 16:04:20 266

原创 composer 操作

更换 composer  镜像源 composer config -g repositories.packagist composer http://packagist.phpcomposer.com 静止https[Composer\Downloader\TransportException]                                           ...

2018-11-09 16:26:36 154

原创 sphinx 的原理的理解和常用方法

原理拓扑图

2018-11-01 22:04:04 513

原创 centos 镜像文件说明

新版本系统镜像下载(当前最新是CentOS 7.4版本)CentOS官网官网地址 http://isoredirect.centos.org/centos/7.4.1708/isos/x86_64/进入下载页面下载目录界面分为两个主要的资源区:Actual Country,表示当前所在国家资源区;Nearby Countries,表示附近国家资源区每个资源下边又有本...

2018-08-27 15:35:32 3997

原创 php 7新特性

php7 合并运算符号 (??)---------每天进步一点点php7的使用三元运算写法  $user['name'] = 'quan'; $userName = isset($user['name']) ? $user['name'] : null; 这种写法缺点也是明显的,当$user['name]不存在的时候会直接报错,所以我们一般使用都会加上isset()...

2018-07-26 11:32:34 175

原创 mysql 常用函数

DATE_FORMAT(date, format) 函数用法  DATE_FORMAT(date, format) 函数根据format字符串格式化date值。1.把字符串转为日期格式实例:SELECT DATE_FORMAT('2017-09-20 08:30:45', '%Y-%m-%d %H:%i:%S');根据天数 将每天的pay_price 字段金额统计出来(...

2018-07-26 10:02:34 142

原创 mysql中timestamp,datetime,int类型的区别与优劣

原文:https://www.cnblogs.com/toxiaonan/p/5084162.html转载请注明来自souldak,微博:@evagle以下内容整合筛选自互联网:int1. 占用4个字节2. 建立索引之后,查询速度快3. 条件范围搜索可以使用使用between4. 不能使用mysql提供的时间函数结论:适合需要进行大量时间范围查询的数据表datetime1. ...

2018-07-16 18:11:30 475

原创 redis 学习之路

windos 本地启动第一步 redis-server.exe第二步 redis-cli.exe

2018-07-12 14:10:27 376

原创 window 一些快捷指令

查看端口的使用情况1.点击开始-运行,输入cmd打开命令行界面,输入命令netstat -nao|findstar "XXXX"(注:XXXX是想要查看的端口号,以25340端口为例)就会输出包含25340端口使用的情况,具体对应的行是指令  netstat -nao|findstr "***";...

2018-06-30 22:46:47 707

原创 empty 和 isset 的区别

empty和isset的区别。1、empty判断一个变量是否为空null、false、00、0、’0′、』。都会返回true。2、isset判断一个变量是否设置0、00、’0′、』、’ ‘、false、’false’、’null’都返回true。 只有值為null的变量返回false3、if 判断式0、00、0.0、’0′、』、false、null返回false ‘00′、’0.0′、’null’...

2018-06-18 22:27:18 2891 1

空空如也

空空如也

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

TA关注的人

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