首页

来自智得网
跳转至: 导航、​ 搜索

精选文章

MediaWiki查看全文
MediaWiki的logo.png
Wiki是一种在万维网上开放且可供多人协同创作的超文本系统,Howard G. Cunningham于1995年实现了世界上第一个Wiki系统——波特兰模式知识库,该系统最早是为了方便模式社区的交流而搭建。在搭建该系统的过程中,Howard提出了Wiki的概念,Howard将wiki定义为“一种允许一群用户用简单的描述来创建和连接一组网页的社会计算系统”。

波特兰模式知识库在发展过程中,发展出了一系列辅助写作的工作,而且网络上也出现了各种模仿者,其中最出名的模仿者是维基百科。 MediaWiki用PHP语言编写,最初是为维基百科量身打造的自由开源的wiki套件。目前非营利的维基媒体基金会下辖的所有wiki项目以及MediaWiki都建基于此套软件上。此外还有大量Wiki软件基于MediaWiki搭建。 MediaWiki的语法和普通的Html是有区别的,编写更为简单,但是表现能力比Html较弱,但是MediaWiki的语法可以混合Html标签。 表现能力 MediaWiki的语法提供了以下内容的语法。 扩展能力 架构 安装 源码安装 MediaWiki的源码可以从两个渠道获取, release版本可以从网站官网下载,目前最新的版本是1.3.8。 其他非release版本可以从git仓库下载。 需要注意的是git库下载的非release版本的代码只包括核心部分代码,扩展例如extends和skins文件夹的内容均为空,需要自行下载进行扩展。 MediaWiki的扩展可以从官网的扩展分类页面查询,对应的皮肤在皮肤分类页。 软件依赖

MediaWiki至少依赖php运行环境和一款web服务器…
选择排序查看全文
插入排序流程.png
选择排序中的选择是指在循环过程中每一轮找到最大值,然后把值直接放置在其最终位置的排序方式。

所以选择排序可以认为是冒泡排序的优化过程,都是每一轮找到剩余元素的最大值,但是选择排序在每一轮获取最大值的过程,不会两两交换数据,而是使用一个临时变量存储这个最大值,循环结束之后再将做一次交换,将最大值和位置上当前的值就行交换。 选择排序的流程整体也是分为两轮循环。 因为选择排序每一次循环都可以确认一个最大值的位置,所以n个数字的数据集需要n-1轮才能确认所有数的位置。所以外循环循环n-1次。 每一轮内循环就是寻找数据集中最大值的过程,确认最大值之后将其和其位置上的当前值进行交换,一轮内循环确认一个最大值的位置之后,下一轮内循环只需要将数据集中该位置之前的数据重复该内循环的过程。 例如输入{4,6,8,3,9, 5}将其从小到大排序。 输入的数据集一共是6个数字,所以循环5次可以完成选择排序的过程。 第一轮找出数据集的最大值,可以使用哨兵先将最大值置为第一个数字4,然后向后循环,发现比最大值大的数字就将最大值改写为该值,第一轮循环的时候,最大值是9,该值应该放在数据集最后的位置,所以将9和5交换。 因为9的位置已经确认,所以还剩余5个数字待排序,重复第一轮的循环过程,找出剩余数据的最大值8,将其和目前的第5位的数字5进行交换。 依此类推,将6、5、4、3依次放置在正确的位置。 选择排序的过程是两轮循环,每一轮循环的数据量级是数据规模,所以其时间复杂度是 。 选择排序过程中使用一个变量存储的当前的最大值,数据交换的过程也可能需要一个临时变量,空间复杂度是 。

因为选择排序过程中本轮最大值和其位置上的当前值交换,所以数据本来的顺序可能会打乱…
LVS查看全文
OSI 7层模型.png
LVS是常用的四层负载均衡,目前已经被加入linux内核。

四层负载均衡是指运行在传输层的负载均衡机制,而七层负载均衡一般是指运行在应用层的机制,比如nginx,haproxy等7层负载均衡组件都可以根据url进行路由,但是4层负载均衡没有对应的能力,同样,由于4级负载均衡不需要知道应用层协议,所以不需要解析请求,只是要将网络请求进行转发,所以一般拥有更高的性能。 LVS主要组成部分为: 负载调度器(load balancer/ Director),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称之为虚拟IP地址)上的。 服务器池(server pool/ Realserver),是一组真正执行客户请求的服务器,执行的服务一般有WEB、MAIL、FTP和DNS等。 共享存储(shared storage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。 LVS的负载均衡有三种策略,NAT,TUN,DR。 NAT VS/NAT是一种最简单的方式,所有的RealServer只需要将自己的网关指向Director即可。客户端可以是任意操作系统,但此方式下,一个Director能够带动的RealServer比较有限。在VS/NAT的方式下,Director也可以兼为一台RealServer。 TUN

IP隧道(IP tunneling)是将一个IP报文封装在另一个IP报文的技术,这可以使得目标为一个IP地址的数据报文能被封装和转发到另一个IP地址。IP隧道技术亦称为IP封装技术(IP encapsulation…

热门分类

算法题库

精选内容