自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 收藏
  • 关注

原创 一、 基础

1、mysql逻辑架构1.1、连接层:与客户端(如JDBC)打交道,用户认证及授权1.2、服务层: DML/DDL/事务 优化器:对于本次查询,分析多个索引分析,得到使用哪一个索引最性能最优 缓存(会对查询的结果作成key-value存储到缓存中,key是sql及参数,value是数据) 解析器:对sql进行语法分析,判断是否有错误 1.3、引擎层:数据的存储及读取方案(InnoDB,MyISAM)。1.4、存储层:将数据存储在文件系统上,数据的存储路径为

2022-05-04 01:37:32 263

转载 表单验证之validform.js使用方法

表单验证之validform.js使用方法Validform使用入门1、引入css请查看下载文件中的style.css,把里面Validform必须部分复制到你的css中(文件里这个注释 "/*==========以下部分是Validform必须的===========*/" 之后的部分是必须的)。之前发现有部分网友把整个style.css都引用在了页面里,然后发现样式冲突了。2、引入js (jquery 1.4.3 以上版本都可以)<script type="text/javasc

2022-01-05 17:12:55 2853

转载 php-fpm的配置和优化

php-fpm的安装目录下面是我的平时的环境搭建php的各种安装目录,大家的基本也差不多。centos等linux平台/usr/local/php/php/usr/local/php/etc/php.ini/usr/local/php/sbin/php-fpm/usr/local/php/etc/php-fpm.confmac平台/usr/bin/php/etc/php.ini/usr/bin/php-fpm/etc/php-fpm.conf由于我开发以Mac为主,所以就用

2021-11-08 07:16:36 585

原创 Nginx 性能优化

1、Nginx运行工作进程数量Nginx运行工作进程个数一般设置CPU的核心或者核心数x2。如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/cpuinfo文件 grep ^processor /proc/cpuinfo | wc -l[root@lx~]# vi/usr/local/nginx1.10/conf/nginx.confworker_processes 4;[root@lx~]# /usr/local/nginx1.10/sbin/nginx-s rel

2021-11-07 21:18:29 222

原创 设计模式——策略模式

在简单工厂模式里有一些瑕疵,虽然PHP不需要重新编译但小张之后每次新加一个支付方式都要告知负责人去修改PayFactory。实例化对象的逻辑全部封装在一个工厂类里,每次需求变化都要单独修改工厂类(违反了开闭原则),而且出了异常可能所有相关功能类都正常工作。我们可以用工厂模式来解决简单工厂,首先申明设计模式不是算法,它只有适合与不适合,没有性能优劣之分。我们今天还可用策略模式来解决。策略模式:是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用。以下是具体实现步骤:此时负责人制

2021-10-28 15:37:36 101

原创 php二分查找法

二分查找又称折半查找,二分查找算法要求数据必须是有序的$array = [1,6,8,9,13,18,19,29,36,38,50,51,56,58,59,60,62,66,68,70,71,73,75,76,77,79,89];function bin_search($array, $low, $high, $search){ if ($low<$high) { $middle = intval(($low+$high)/2); if ($arr.

2021-10-27 16:17:27 306

原创 排序-php自定义二维数组排序

原有数组,根据键a的大小对数组$arr进行排序$arr = [ ['a'=>19, 'b'=>10], ['a'=>12, 'b'=>12], ['a'=>13, 'b'=>13], ['a'=>21, 'b'=>21], ['a'=>6, 'b'=>6], ['a'=>7, 'b'=>7],];开发思路:1、获取所有指定列的值,且保持原有key;2、对获取的指定列的值进行排序,且保持原有k

2021-10-27 15:04:34 467

原创 排序-PHP快速排序

原理:快速排序使用分治策略来把待排序数据序列分为两个子序列,具体步骤为:(1)从数列中挑出一个元素,称该元素为“基准”。(2)扫描一遍数列,将所有比“基准”小的元素排在基准前面,所有比“基准”大的元素排在基准后面。(3)通过递归,将各子序列划分为更小的序列,直到把小于基准值元素的子数列和大于基准值元素的子数列排序。function kuaisu ($arr){ if(count($arr) <= 1){ return $arr; } $init

2021-10-27 11:33:13 224

原创 排序-php冒泡排序

冒泡排序法的基本思想是:对待排序记录关键字从后往前(逆序)进行多遍扫描,当发现相邻两个关键字的次序与排序要求的规则不符时,就将这两个记录进行交换。这样,关键字较小的记录将逐渐从后面向前面移动,就象气泡在水中向上浮一样,所以该算法也称为气泡排序法。function maopao ($arr){ for($i =0 ; $i<count($arr); $i++) { for ($j=0; $j<count($arr)-1-$i; $j++) {

2021-10-27 10:39:14 133

原创 设计模式——观察者

当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。我们在用美团App时经常出现用户登录时会弹出一个框告诉用户获得了一张优惠券,金额和使用规则会根据用户距离上次的登录时间和消费习惯来定。当我们经常使用时获得优惠券的概率就会少,优惠金额也会少。软件设计里把登录做为一个被观察的类(主题),把送优惠券做为一个观察类。当用户登录时通知送优惠券,为用增加一个优惠券。可以多个观察者,比如用户登录后会根据其消费习

2021-01-07 19:22:03 185

原创 设计模式——单例模式

单例模式:作为对象的创建模式,它提供了一种创建对象的最佳方式。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局地提供这个实例。它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用。主要应用场合:线程池、缓存、日志对象、对话框、打印机、数据库操作、显卡的驱动程序常被设计成单例。使用单例模式可以避免大量的new操作。因为每一次new操作都会消耗系统和内存的资源。例如下面代码:class UserModel{ public function __construct

2021-01-05 00:17:45 181

原创 设计模式——抽象工厂

之前我们说过简单工厂模式和工厂模式。都是针对单一支付类来写。但在开发过程我们常会做一个促销活动,而且有些促销是针对支付方式的。比如公司和招商银行签订了战略合作,招商银行会给我们引流,公司给用招商银行支付的用户赠送礼品、优惠券或直接打折。这样就会用两个维度:支付方式和促销。那这又如何处理呢?现在我们通过这个例子来讲解抽象工厂模式:首先、需要一个支付抽象类Payment,在这个基础上可以扩展支付宝支付、微信支付、招商银行支付等。其次、需要一个促销类型的抽象类Promotion, 在这个基础上可以扩展

2020-12-31 01:12:45 356 1

原创 设计模式——工厂模式

从上一篇文章中发现简单工厂模式里有一些瑕疵,虽然PHP不需要重新编译但小张之后每次新加一个支付方式都要告知负责人去修改PayFactory。实例化对象的逻辑全部封装在一个工厂类里,每次需求变化都要单独修改工厂类(违反了开闭原则),而且出了异常可能所有相关功能类都正常工作。简单解释一下开闭原则:开闭原则规定“软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的”,这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为。该特性在产品化的环境中是特别有价值的,在这种环境中,改变源

2020-12-29 00:06:36 239

原创 设计模式——简单工厂

设计模式之简单工厂设计模式(英语 design pattern)是对面向对象设计中反复出现的问题的解决方案。就像下象棋时红方走中心炮,黑方就跳一个马来保护中兵一样。所以不要认为他有多深奥。之后会用一样简单的例子来一一讲解常见的几种设计模式。今天主要分析简单工厂模式。比如要实现一个在线支付功能(主要是支付宝支付和微信支付),如果之后还会有paypal、京东等。因为每种线上支付都自己的文档,对接起来会花费一定的时间,由于时间紧所以一人负责一个支付方式开发。小张开发支付宝,小李开发微信。小王开发结算逻辑

2020-12-28 00:12:09 195

原创 php中的多态

面向对象中的三大特性是:封装、继承、多态。相对于封装和继承,多态要相对复杂一样。继承和多态是来自于生物学,简单的说儿女会继承父母的一些特性称为继承,但儿女在同一个方面有不同于父母的地方,这就是我们说的多态。比如:一般健康的人都会跑步,这是人类继承下来的本能,但每个人跑步的速度不一样。今天我们用一个支付的小例子来说一下多态:第一、在国内线上支付一般是用支付宝和微信。为了统一规范先定义一个抽象的支付类做为基类,里面一个去支付的功能。abstract class Pay{ abstract

2020-12-25 16:29:23 994 1

转载 Linux awk命令详解

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。使用方法 : awk '{pattern + action}' {filenames}尽管操作可能会很复杂,但语法总是这样,其中 pattern 表示 AWK 在数据中查找的内...

2019-11-27 10:28:21 260

原创 面试了两千个年轻人,发现混的好的都有这5种特质

1983年出生的张一鸣 ,在2005年从南开大学毕业后,至今参与创办了5家公司,今日头条、抖音等知名APP之父,2013年,他先后入选《福布斯》“中国30位30岁以下的创业者”和《财富》“中国40位40岁以下的商业精英”,是目前国内互联网行业最受关注的青年领袖之一。1为何毕业多年后原本水平差不多的同学都拉开了差距?大家好!各位都非常年轻,我今天来的时候挺有压力。看到你们,真是觉得“长江后浪...

2019-11-18 15:31:39 225

原创 PHP实现RSA加密,解密,加签,验签

公钥用于对数据进行加密,私钥用于对数据进行解密;私钥用于对数据进行签名,公钥用于对签名进行验证。封装的RSA代码如下:class Rsa{ /** * private key */ private $_privKey; /** * public key */ private $_pubKey; /** ...

2019-11-17 15:25:14 847

原创 CentOS 7 firewall防火墙屏指定IP访问

允许192.168.1.10所有访问所有端口firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.1.10" accept' --permanent移除192.168.1.10所有访问所有端口firewall-cmd --zone=public --remove...

2019-11-12 16:38:51 4115

原创 mysql 解决Warning: World-writable config file ‘/etc/my.cnf’ is ignored

shell如下chmod644/etc/my.cnf然后执行:service mysqld restart

2019-10-31 16:02:52 1137

原创 RHSA-2019:2471-中危: openssl 安全更新。

RHSA-2019:2471-中危: openssl 安全更新。今天在运维阿里云服务器的时候,在阿里云安全中心管理控制台发现有一项漏洞风险提示为:RHSA-2019:2471-中危: openssl 安全更新。漏洞描述如果应用程序遇到致命的协议错误,然后调用SSL_shutdown()两次(一次发送close_notify,并一次接收一个),则OpenSSL可以对调用应用程序做出不同的...

2019-10-25 08:36:37 1763

原创 php使用rabbitmq

信道、交换器和路由键、队列概念参考:https://www.cnblogs.com/zhangxue/p/7699698.html交换机和交换机类型交换机是用来发送消息的AMQP实体。交换机拿到一个消息之后将它路由给一个或零个队列。它使用哪种路由算法是由交换机类型和被称作绑定(bindings)的规则所决定的。AMQP 0-9-1的代理提供了四种交换机先上代码...

2019-10-17 20:54:40 346

原创 Docker-compose管理docker容器

本地docker镜像:现需要启动mysql,redis,rabbitmq,php-amqp四个镜像。且php-amqp依赖mysql,redis,rabbitmq。并且还需要让php容器能访问mysqld,redis,rabbitmq。如果单独使用dockerrun来启动会非常麻烦,现在用docker-compose来实现:第一、编写docker-compose.yml...

2019-10-16 20:59:38 660

原创 PHP安装rabbitmq扩展

我在项目中应用rabbitmq已很多年了,自己从没总结过。在用的时候感觉之前的东西又忘,然后又去百度里各种找资料,找资料这种折腾的事太累。现在想把这个过程写下来,以备不时之需,人老了记忆力在下降。写技术文章总喜欢乱串,先说说PHP安装rabbitmq扩展(可理解为是调用rabbitmq的php客户端,非rabbitmq服务端),然后是rabbitmq的应用场景,具体应用下篇文章再写。一、...

2019-09-27 11:44:18 5306 1

原创 Dockerfile文件详解

什么是dockerfile?Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。Docker通过读取Dockerfile中的指令自动生成映像。docker build命令用于从Dockerfile构建映像。可以在docker build命令中使用-f标志指向文件系统中任何位置的Dockerfile。例:docker build -f /pa......

2019-09-25 16:33:48 242

原创 mysql联合索引的使用

从一道有趣的题目开始分析:假设某个表有一个联合索引(id,name,age)以下选项哪些字段使用了该索引:A where id=? and name=? and age>?B where id=? and name=? order by ageC where id=? and age=? group by nameD where name=? and i...

2019-09-24 10:13:22 540

原创 linux安装php 出现Sorry, I cannot run apxs

tar -zxvfphp-5.6.40.tar.gzcdphp-5.6.40.tar.gz./configure --prefix=/usr/local/php \--with-config-file-path=/usr/local/php/etc \--with-apxs2=/usr/local/httpd/bin/apxs \--with-mysql=mysqlnd ...

2019-08-30 14:33:26 1376 1

原创 docker学习笔记3--docker容器命令

容器生命周期管理:runstart/stop/restartkillrmpause/unpausecreateexecdocker run:创建一个新的容器并运行一个命令语法docker run [OPTIONS] IMAGE [COMMAND] [ARG...]OPTIONS说明:-a stdin:指定标准输入输出内容类型,可选STDIN...

2019-06-04 17:24:53 318

原创 docker学习笔记2--docker镜像命令

常用命令:login/logoutpullpushsearchImagestagrmisaveloadimport具体用法如下:login/logout:docker login:登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库Docker Hubdocker logout:登出一个Docker镜像仓库,如果...

2019-06-03 17:58:08 413

原创 docker学习笔记1--docker安装

一、window系统下安装win7、win8 系统win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/docker toolbox 是一个工具集,它主要包含以下一些内容:Docker CLI 客户...

2019-06-03 11:12:12 348

原创 Docker简介

Docker 是一个开源的应用容器引擎,基于Go 语言并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。Docker通常用于如下场景:web应用的自动化打包和...

2019-06-02 17:05:36 103

原创 一图说明linux入门所需要掌握命令

写了快一个月的每日命令,是时候来个总结了:每个命令的相关内容可查看之前的文章,linux的命令千万条,入门先学几条。观注快乐程序员公众号,每日分享一点小知识。爱编程,爱生活!...

2019-05-30 11:43:06 214

原创 Linux find命令详解

Linux find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。语法:findpath -option [ -print ][ -exec | -ok command {} \]path : find命令所查找...

2019-05-30 11:05:41 10460

原创 linux目录结构

对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步。bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev :dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的...

2019-05-30 10:03:40 131

原创 高德地图提醒用户绕开拥堵路段是如何实现的?

由于良子不记路的习惯,以至于现在走过很多遍的路,仍不记得怎么走。因此每次开车出门都需要开导航,我经常用的是高德地图。特别像上海这样的大城市,高架立交桥数不胜数,不开导航简直寸步难行。而且高德地图还会给我们语音提示:前方道路拥堵、建议绕行或切换路线。我突然在想它怎么这么聪明呢,能给我这么有用的数据。那今天就和大家讨论一下这是如何实现的?我们手机里都有一个GPS,只要开启GPS就能定位...

2019-05-27 14:32:15 4708 3

原创 IT界5大女神程序员,我觉得最后那位很有内涵

1、小米张功小米张功和雷军的一张单位合照,引来大量吃瓜群众的围观。很多网友找到了她的微博,上面介绍也很简单“IT民工……苦逼码农,前端开发。”小米张功看上去给人一种很清纯的形象。2、语希范结业于哈尔滨工业大学计算机专业,此前是“手机baidu”团队研制工程师之一。由于超高的颜值,被称为新一代“度娘”。3、赵洁琼哈尔滨理工大学计算机科学与技能专业本科结业后...

2019-05-26 17:22:58 1162

原创 centos 6.9下编译安装lamp环境

apache安装1、yum-y install gcc-c++ expat-develzlib pcre-devel zlib-developenssl-devel2、安装aprwgethttp://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.5.tar.gztar -zxvf apr-1.6.5.tar.gzcd ...

2019-05-26 16:42:45 287

原创 Linux 服务器SSH密钥对登录设置

使用SecureCRT设置linux系统登录的ssh公钥认证linux系统环境:CentOS 6.81.修改ssh配置文件/etc/ssh/sshd_configRSAAuthentication yes //使用RSA加密算法PubkeyAuthentication yes //使用公钥认证AuthorizedKeysFile .ssh/authorized_...

2019-05-24 17:45:57 472

原创 详解Linux下的sudo及其配置文件/etc/sudoers

1、sudo介绍sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等等。这样不仅减少了root用户的登陆 和管理时间,同样也提高了安全性。Sudo不是对shell的一个代替,它是面向每个命令的。它的特性主要有这样几点:  § sudo能够限制用户只在某台主机上运行某些命令。  § s...

2019-05-23 15:47:38 6146

原创 Linux查看本机登陆用户信息(w、who、last和lastlog)详解

w 命令查看某一时刻用户的行为[lvjinliang@dev_server ~]$ w09:34:40 up 127 days, 13:49, 2 users, load average: 0.00, 0.00, 0.00USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATlvjinlia pts/...

2019-05-22 10:22:24 3933

空空如也

空空如也

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

TA关注的人

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