自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(161)
  • 资源 (9)
  • 收藏
  • 关注

转载 Linux查看DNS服务器及设置DNS服务器的方法

工具/原料计算机Linux操作系统方法/步骤方法一,查看配置文件,输入命令cat /etc/resolv.conf,从结构中可以看到DNS是180.76.76.76,备用DNS是114.114.114.114方法二,查看使用nslookup命令,输入命令:nslookup www.baidu.com方法三:dig命令查看dig |grep SERVER修改D...

2020-04-13 22:04:05 4654

原创 无限分类按分类层级重新排序方法

初始数据:$values = [ 0 => ["id" => 1, "product_style_name" => "话筒", "pid" => 0], 1 => ["id" => 17, "product_style_name" => "配件", "pid" => 0], 2 => ["id" => 2, ...

2020-01-18 17:23:34 763

转载 mysql死锁怎么解决

1,查看数据库的隔离级别:> select @@tx_isolation;+-----------------+| @@tx_isolation |+-----------------+| REPEATABLE-READ |+-----------------+1 row in set (0.00 sec)2,去查看先当前库的线程情况:> show pr...

2020-01-14 18:12:42 481

原创 Nginx查看内置模块、自定义模块

查看内置模块: ➜ ~ wget http://nginx.org/download/nginx-1.16.1.tar.gz➜ ~ tar zxvf nginx-1.16.1 && cd nginx-1.16.1➜ nginx-1.16.1 cat ./auto/options | grep YESHTTP=YESHTTP_CACHE=YESHTTP_CHARSET=...

2020-01-14 15:24:48 864

原创 限流算法之令牌桶算法、漏铜算法

常见的限流算法有:令牌桶、漏桶。计数器也可以用来进行粗暴限流实现。令牌桶算法:令牌桶算法,是一个存放固定容量令牌的桶,按照固定速率往桶里添加令牌。令牌桶算法的描述如下。假设限制2r/s,则按照500毫秒的固定速率往桶中添加令牌。 桶中最多存放b 个令牌,当桶满时,新添加的令牌被丢弃或拒绝。 当一个n 个字节大小的数据包到达,将从桶中删除n 个令牌,接着数据包被发送到网络上。 如果...

2020-01-14 01:12:18 983 1

转载 nginx动态负载均衡实现方案

传统的负载均衡,如果Upstream参数发生变化,每次都需要重新加载nginx.conf文件,因此扩展性不是很高,所以我们可以采用动态负载均衡,实现Upstream可配置化、动态化,无需人工重新加载nginx.conf,类似分布式的配置中心Consul+Consul-template 每次发现配置更改需要raload nginx,重启Nginx。 Consul+OpenResty 实现无需r...

2020-01-13 23:47:52 445

转载 socket编程到底是什么?

socket 与 TCP/IP 之间是唇齿相依般的关系,联系紧密,先来看下维基百科对 socket 的定义。socket 是计算机网络中用于在节点内发送或接收数据的内部端点。具体来说,它是网络软件 (协议栈) 中这个端点的一种表示,包含通信协议、目标地址、状态等,是系统资源的一种形式。它在网络中所处的位置大致就是下面的黑色部分,应用层与传输层之间。其中的传输层就是 TC...

2020-01-12 16:56:18 1115

转载 为什么说Redis是单线程的以及Redis为什么这么快!

一、前言近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”、什么是“热数据和冷数据”,复杂一点的会问到缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题,这些看似不常见的概念,都与我们的缓存服务器相关,一般常用的缓存服务器有Redis、Memcached等,而笔者目前最常用的也只有Redis这一种。如果你在以前面试的时候还没有遇到过面试官问你《为什么说R...

2020-01-12 00:43:20 817 1

转载 MySQL数据表比较 - mysqldiff

本文介绍mysqldiff工具来比较数据表结构,并生成差异SQL语句。mysqldiff类似Linux下的diff命令,用来比较对象的定义是否相同,并显示不同的地方。如果要比较数据库是否一致,可以用另外一个工具:mysqldbcompare(点击查看教程)。以下是mysqldiff的用法。1 安装mysqldiff是MySQL Utilities中的一个脚本,默认的MySQL不...

2020-01-11 22:58:48 583

转载 MySQL数据库比较工具 - mysqldbcompare

mysqldbcompare用于比较两个服务器或同个服务器上的数据库,有文件和数据,并生成差异性SQL语句。要比较数据表,请用另外一个工具:mysqldiff(点击查看教程)。以下是mysqldbcompare的用法。1 安装mysqldbcompare是MySQL Utilities中的一个脚本,默认的MySQL不包含工具集,所以需要独立安装。MySQL Utilities下...

2020-01-11 22:56:26 7761

转载 MySQL BinLog日志的三种录入格式介绍

mysqlbinlog日志有三种格式,分别为Statement,MiXED,以及ROW!查看binlog的格式的脚本:二、binlog 的不同模式有什么区别呢?1.Statement:每一条会修改数据的sql都会记录在binlog中。优点:不需要记录每一行的变化,减少了binlog日志量,节约了IO,提高性能。(相比row能节约多少性能与日志量,这个取决于应用的SQL情...

2020-01-11 22:34:31 1933

转载 跨平台Redis可视化工具Web Redis Manager

一、简介  最近因为工作需要,使用了一些单机版Redis的界面化管理工具,使用过程中那惨痛的体验真的只有用过的人才能体会;为此本人和小伙伴准备动手一个Redis可视化工具,但是因为小伙伴最近工作比较忙,搞了一大半没有时间继续(会有后续,界面不敢说,使用体验上面肯定要比现有的好);本人对wpf不是很熟,再想到很久之前的web迅雷,就想动手实现一个web版的Redis的界面化管理工具;目前这个工具...

2020-01-08 15:03:29 362 2

转载 错误:无法从 /var/lib/rpm 打开软件包数据库

使用rpm命令安装rpm包yuda遇到问题:错误:rpmdb: BDB0113 Thread/process 2543/140084468213568 failed: BDB1507 Thread died inBerkeley DB library错误:db5 错误(-30973) 来自 dbenv->failchk:BDB0087 DB_RUNRECOVERY: Fatal error...

2020-01-08 14:52:26 2796 3

原创 栈实战之检查括号是否闭合

实现步骤:1、先准备一个空栈$stack,然后从左至右读取代码每个字符。2、如果读到的是左括号,就将其压入栈中,意味着后面需要有对应的右括号左闭合。3、如果读到的是右括号,就查看栈顶的元素是否匹配。如果匹配则弹出。4、最后检查栈是否为空。空表示闭合,否则为没有闭合。实现代码:/*** 检查括号是否闭合* @param string $str* @return boo...

2020-01-02 17:18:43 445

原创 排序算法之插入排序

插入排序算法的原理如下:1、在第一轮里,暂时讲索引1的值抽出,并保存至临时变量中。2、接着是平移阶段,我们会拿空隙左侧的每一个值域临时变量的值进行比较。3、如果该值大于临时变量值,则将该值右移,否则把临时变量值插入当前位置。4、重复步骤1~3,直到数组完成排序。插入排序算法流程图:-插入排序时间复杂度:插入排序代码实现:/** * 插入排序 * @pa...

2020-01-02 02:31:25 530 1

原创 排序算法之选择排序

选择排序算法的原理如下:1、从左到右检查数组的每个元素,找出值最小的那个值索引并记录下来。2、将步骤1记录下的最小值索引与本次检查的起点索引交换(第1次起点0,第2次起点1,第n次起点n-1)。3、重复步骤1和步骤2,直到数组排好序。选择排序算法流程图:选择排序时间复杂度:忽略常数项即:选择排序代码实现:/** * 选择排序 * @param arra...

2020-01-02 01:31:31 283

转载 php依赖注入的三种方式

控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI)。下面我们就为大家介绍一下php依赖注入的三种方式。一、构造器注入  将被依赖对象通过构造函数的参数注入给依赖对象,并且在初始化对象的时候注入。优点:  对象初始化完...

2019-12-30 17:54:02 4354

原创 Docker从入门到实践 摘要

目录什么是Docker?为什么要用Docker?Docker与传统虚拟机对比?Docker的三个基本概念?Docker安装指南镜像的管理操作Docker镜像的实现原理?容器的管理操作?Docker仓库管理操作Docker如何进行数据管理Docker使用网络Dockerfile指令什么是Docker?诞生于2013年使用Go语言实现的一个开源项...

2019-12-28 20:11:02 208

原创 求两个数组元素的交集

实现方式:先用hash表记录第一个数组中的元素【放在key】,和出现的次数【放在value】。 然后再遍历第二个数组,如果找到对应元素,则添加这个元素到返回数组里。 如果value值大于1,HashMap中的value值减 1,表示已经找到一个相同的了。 如果value值等于1,则删除该元素。/** * 求两个数组的交集 * param array $nums1 * param...

2019-12-20 21:53:08 343

原创 求N以内的所有质数(素数)

质数定义:是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。/** * 求n以内的质数(素数) * param int $n * return array */function prime_numbers(int $n):array { $result = [2]; //偶数只有2是质数 for ($i = 3; $i <= $n; $i+=2) { //...

2019-12-20 20:38:07 1455

原创 将一个数组中的元素随机打乱

实现方式:遍历数组,取0~数组长度间的一个随机值$rand_index为键值与当前位置$i的值对换。/** * 将一个数组中的元素随机打乱 * * param array $arr * return array */function custom_shuffle(array $arr):array { $length = count($arr); for($i ...

2019-12-20 20:19:21 1423

原创 数组元素反转函数实现

实现方式:数组首尾对应位置的值替换。可以想象成将数组对折了一下,然后对应的值交换。/** * 数组元素反转函数 * param $arr array * return array */function reverse(array $arr) :array{ $left = 0; $right = count($arr) - 1; while ($left < $r...

2019-12-20 14:59:48 1258

转载 PHP高级工程师面试题

准备自我介绍:说上家公司负责的项目或者浓缩简历。 简历(最优.pdf格式)项目经验层次 项目背景 利用什么技术 面向(对象oop,切面aop) 设计模式(代理、工厂、单例) xx模块(socket,pdo,多进程) 中间件(codis,Mycat)协程 消息队列(RabitMq、Kafka) 容器及容器编排 底层(框架原理OR Ze...

2019-12-19 13:55:25 856 1

转载 PHP面试题

内容类型 难度 PHP基础深入 中 A PHP业务经验 中 D 全范围,概念与实战 难 B 全范围大量级 难 C A10个值得深思的PHP面试问题(弱类型的比较,字符串数组的运算,运算优先级等基础知识点)好!是不错的基础面试题 一份不错的php面试题(一半是基础,类型比较,字符串操作,还可以吧,还有一半算法题...

2019-12-19 13:52:48 578

转载 PHPer 面试指南-扩展阅读资源整理

gitbook:https://todayqq.gitbooks.io/phper/content/前端篇收集的前端面试题和答案 前端开发面试题 史上最全的 web 前端面试题汇总及答案 前端工程师手册 HTTP 协议:工作原理 SSL/TLS 协议运行机制的概述后端篇3 年 PHPer 的面试总结 垃圾回收机制 S.O.L.I.D 面向对象设计 浅谈 IOC-- ...

2019-12-19 13:51:00 394

原创 Linux系统Elasticsearch安装与运行(yum)

当前环境:Linux liuns 3.10.0-957.5.1.el7.x86_64 #1 SMP Fri Feb 1 14:54:57 UTC 2019 x86_64 x86_64 x86_64 GNU/LinuxElashticseach依赖java,所有需要先安装java。 [root@liuns ~]# yum install java[root@liuns ~]# java...

2019-12-18 01:59:02 633

原创 RabbitMQ实战指南笔记

目录第1章 RabbitMQ简介1.1 什么是消息中间件1.2 消息中间件的作用1.3 RabbitMQ起源1.4 RabbitMQ的安装及简单实用第2章 RabbitMQ入门2.1 概念介绍2.2 AMQP协议介绍第3章 客户端开发向导(php-amqplib)3.1 连接RabbitMQ3.2 使用交换器和队列3.3 发送消息3.4 消...

2019-12-17 00:09:21 1476

原创 查找算法之二分查找算法

查找过程:将n个元素分成大致相等的两部分,取a[n/2]与x做比较,如果x=a[n/2],则找到x,算法中止;如果x<a[n/2],则只要在数组a的左半部分继续搜索x,如果x>a[n/2],则只要在数组a的右半部搜索x。算法要求:1.必须采用顺序存储结构。2.必须按关键字大小有序排列。代码实现:/** * 二分查找算法 * * @param array ...

2019-12-04 20:55:37 159

原创 排序算法之快速排序

快速排序算法的原理如下:1、首先设定一个分界值,通过该分界值将数组分成左右两部分。2、将大于或等于分界值的数据集中到数组右边,小于分界值的数据集中到数组的左边。此时,左边部分中各元素都小于或等于分界值,而右边部分中各元素都大于或等于分界值。3、然后,左边和右边的数据可以独立排序。对于左侧的数组数据,又可以取一个分界值,将该部分数据分成左右两部分,同样在左边放置较小值,右边放置较大值。...

2019-12-04 20:46:25 267

原创 排序算法之冒泡排序

冒泡排序算法的原理如下:1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。2、对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3、针对所有的元素重复以上的步骤,除了最后一个。4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。冒泡排序算法流程图:冒泡排序时间复杂度:冒泡排序代码实现:...

2019-12-04 20:24:31 301

原创 vagrant异常无法启动解决方法

周末闲着无聊清理电脑手欠不知道把vbox的什么文件给上了。然后vagrant up时报如下错误:Bringing machine 'default' up with 'virtualbox' provider...==> default: Vagrant has detected a configuration issue which exposes a==> default...

2019-01-21 19:32:04 3387 2

原创 Mac系统Docker快速搭建LNMP开发环境

docker技术流行也有一段时间了,虽然关注过但是一直没有真正实际的操作做过。最近看到同事用docker搭建的本地开发环境,所以抽时间也折腾折腾,试着在本机搭建了一套基于docker的开发环境,记录一下。我之前一直用的Vagrant搭建的环境,有想用的可以去Vagrant官网看看文档。下面步入正题:操作系统:macOS Mojave 10.14.2版本Step1、安装docke...

2018-12-19 01:23:19 3294

原创 solr学习笔记-增加mmesg4J中文分词

solr版本6.1、centos6.7、mmesg4j版本2.30solr安装目录:/usr/local/solr-6.1.01、下载mmesg4j包:地址:https://github.com/chenlb/mmseg4j-solr2、解压/复制mmseg4j-core-1.10.0.jar、mmseg4j-solr-2.3.0.jar 到/usr/local/solr-6.1....

2016-08-03 14:08:07 1980

原创 solr学习笔记-导入mysql数据

操作系统:LINUX CENTOS 6.7solr安装目录:/usr/local/solr-6.1.01、准备工作:1.1、创建数据表:CREATE TABLE `mytable` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(25) NOT NULL, `desc` text...

2016-07-22 09:21:25 1097

原创 solr学习笔记-入门

solr学习笔记1、安装前准备solr依赖java 8 运行环境,所以我们先安装java。如果没有java环境无法启动solr服务,并且会看到如下提示: [root@localhost solr-6.1.0]# ./bin/solr start -e cloud -noprompt /*运行solr服务*/ Java not found, or an error was encoun

2016-07-20 16:05:57 4488

原创 mysql添加索引造成的影响

尽管添加索引可以优化SQL语句的性能,但是添加索引的同时也会带来不小的开销。尤其是在有大量的索引的情况下。mysql添加索引造成的影响如下:1、DML(数据操作语言)影响,在表上添加缩影会直接影响写操作性能(因为添加记录的同时还有创建相应记录的索引,这也是要耗资源的。)。2、DDL(数据定义语言)影响,随着表大小的不断增加,对性能的影响也会不断增加。比如:ALTER语句会耗费更多的时间...

2014-10-11 13:38:35 5275

原创 mysql索引失效的情况

1、WHERE字句的查询条件里有不等于号(如:WHERE column!=...),MYSQL将无法使用索引;2、WHERE字句的查询条件里使用了函数的列(如:WHERE DAY(column)=...),MYSQL将无法使用索引;3、在JOIN操作中,主键和外键的数据类型不相同,MYSQL将无法使用索引;4、WHERE子句的查询条件里使用了比较操作符LIKE前置通配符%(如:LIKE...

2014-10-11 12:09:12 3675 1

原创 加快ALTER TABLE 操作速度

mysql的alter table操作的性能对于大表来说是个大问题。mysql大部分修改表结构操作的方法都是用新的结构创建一个新表,从旧表中查出数据插入新表,然后在删除旧表。这样的操作很耗费时间,而且还有可能中断mysql服务。这里推荐一种方法来提高alter table的操作速度。(请注意数据备份)修改数据表的.frm文件,步骤如下:1、创建一个有相同结构的新表,并进行所

2014-09-28 11:11:25 2601

原创 mysql转换表的存储引擎方法

如果转换表的存储引擎,将会丢失原存储引擎的所有特性。例如:如果将innodb转换成myisam,再转回innodb,原innodb表的的外键将丢失。 假设默认存储引擎是MyISAM转为InnoDB第一种:使用ALTER TABLE实现 mysql&gt;ALTER TABLE table_name ENGINE=InnoDB;适合任何存储引擎间的转换。需要执行很长时间...

2014-09-26 16:31:29 2285

原创 排序之快速排序

快速排序是通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 /** * @param array $numbers 需要排序的数字组 * @return array **/function ks_sort($numbers){ ...

2014-06-30 13:30:48 1415

php-redis中文帮助手册

Redis 是完全开源免费的, 先进的key - value持久化产品. 它通常被称为数据结构服务器,因为键可以包含 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)

2013-03-21

php操作html(类似jquery选择器) 爬虫必备利器

在php的基础上模拟jquery选择器选取html

2012-11-02

zend studio 9 汉化包

看不懂应为的可以下一个。。。中文再看不懂,哪就木有办法了。。。

2012-10-22

数据库设计指南-60个设计技巧.pdf

第1 部分— 设计数据库之前 这一部分罗列了12 个基本技巧,包括命名规范和明确业务需求等。 第2 部分— 设计数据库表 总共24 个指南性技巧,涵盖表内字段设计以及应该避免的常见问题等。 第3 部分— 选择键 怎么选择键呢?这里有10 个技巧专门涉及系统生成的主键的正确用法,还有何时以及如何索引字段 以获得最佳性能等。 第 4 部分 — 保证数据完整性 讨论如何保持数据库的清晰和健壮,如何把有害数据降低到最小程度。 第5 部分— 各种小技巧 不包括在以上4 个部分中的其他技巧,五花八门,有 了它们希望你的数据库开发工作会更轻松一些。

2012-09-12

UML基础与Rose建模教程PDF

详细地介绍了 UML 的基础知识和Rational Rose的使用方法,并通过4个综合性的案例,展示了使用UML和Rose进行软件建模的具体方法和步骤。全书共分20章,前4章是基础部分,介绍了UML和Rose的基础知识;第5章到第13章是本书的重点,介绍了UML的9种图和组成元素,以及相关的建模技术,并在每章的最后介绍了各种图在Rose中的绘制方法;第14章到第17章是高级应用部分,介绍了UML的扩展机制、双向工程、RUP以及OCL的相关内容;第18章到21章是综合案例部分,包括图书馆管理系统、汽车租赁系统、网络教堂系统和网上图书销售系统,以帮助读者加深对前面所学内容的理解与掌握,达到边学习、边实践的目的。   本书不仅适合初学者学习UML建模的相关知识,也适用于从事软件开发的工程人员学习和参考,或者作为高等院校计算机和软件相关专业的教堂用书或参考书。

2012-08-17

php面试题及答案大全

上百道php面试题及答案,去除文档中注释后 随时运行。

2012-03-06

UChome 2.0 数据字典

详细介绍的uchome所有表的表结构,字段类型,默认值,字段说明等, uchome 二次开发必备数据手册

2011-09-06

UChome二次开发文档详细介绍

文档内容目录: 【UCHome二次开发】uchome文件体系介绍 4 站点结构图 4 UCHOME安装后的主要目录与文件介绍 4 文件入口参数列表及详细介绍 5 数据调用图示 8 do.php入口文件分析 8 【UCHome二次开发】基础 10 数据调用 10 eval的使用 10 直接外部文件do.php的扩展 11 【UCHome二次开发】common.php文件解析 12 common.php文件解析: 12 Common.php文件调用图示: 15 【UCHome二次开发】数据字典|数据库结构 15 【UCHome二次开发】模板解析 16 【UCHome二次开发】缓存机制解析 18 【UCHome二次开发】模板语法说明 21 【UCHome二次开发】模板页面说明 23 【UCHome二次开发】主要文件说明 26 【UCHome二次开发】模板修改 29 【UCHome二次开发】功能修改 29 【UCHome二次开发】全局变量 34 $_SC:系统全局配置 34 $_SCONFIG:个人空间配置 35 $_SCOOKIE:Cookie信息 39 $_COOKIE: Cookie信息 39 $_SGLOBAL:各类全局信息 39 $_SN:昵称信息 56 $_TPL:未知 56 $_SBLOCK:未知 56 举例说明: 56 【UCHome二次开发】与UCenter的交互解析 58 【UCHome二次开发】研究uchome通用方法 59 【UCHome插件二次开发】 不同于Manyou的开发模式 65 基本原则 66 【UCHome应用】增加sns人气的客服秘籍 68

2011-09-06

FCKeditor QQ表情包

标准QQ表情GIF格式包,内附更换fck表情方法

2011-04-28

空空如也

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

TA关注的人

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