首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用 Docker 搭建你的Wiki(MediaWiki)

在开源生态里,MediaWiki 的周边生态十分庞大,各种工具和机器资源相当丰富。 时刻四个月,2019年1月,它更新了 1.32 版,本文基于此版本撰写。...私以为 Wiki 和 常规的笔记类软件最大不同在于内容是经过精心校对的,并且能够直观呈现结构形式之外的知识内容,文章内自动关联,搭配标签系统可以很容易的形成知识网络。 话不多说,开始实战。.../LocalSettings.php:/var/www/html/LocalSettings.php networks: traefik: external: true 第一次使用该配置启动程序...链接展示优化 安装完毕之后,如果觉得默认的链接不够优雅,希望能够去掉URL链接中的 /index.php/ 内容,可以修改 LocalSettings.php 文件内容。...接下来我会继续介绍几种不同的 Wiki 系统的安装配置、魔改,如果你也在考虑如何维护一套让自己用起来舒服的知识管理工具,可以继续关注,下回再见。 — EOF

1.4K10
您找到你想要的搜索结果了吗?
是的
没有找到

服务移动机器如何实现室内路径全覆盖清扫给你一个清爽干净的家

服务移动机器如何实现室内路径全覆盖清扫给你一个清爽干净的家(调试完整版记录) 1.1机器模型 扫地机器人主要有两种模型哦,一种两个轮子适合普通家用,还有一种四个轮子适合体育馆超市等大型空间使用。...解释一下这个模型 我们都知道两轮的扫地机器可以前进,后退,左转和右转,但是不能侧向平移,为啥,如何更专业的描述这一特性,其数学模型给出了非常明确的答案!无论左轮和右轮如何旋转, ?...I 这是依据左右轮速度建立的模型,我们通常习惯用线速度和角速度去分析机器: ?...II 设计时候使用II,控制机器用I,很简单吧,但是这还不够啊,还需要知道我们的环境地图,看下节-> 1.2环境地图 到了陌生的地方自然离不开地图,回到熟悉的地方,我们有记忆中的地图,可见地图对于定位...多机器协作 三个机器一起清扫如何? 如果还不满意,要用真实机器自己调试扫地机器路径规划算法?

72610

php基础设计模式(注册模式、工厂模式、单列模式)

给大家介绍注册模式然后介绍工厂模式最后给大家介绍单列模式,本文写的很详细,一起来学习吧。 php注册模式 什么是注册模式?   注册模式当然也叫注册模式,注册器模式。...之所以我在这里矫情一下它的名称,是因为我感觉注册这个名称更容易让理解。像前两篇一样,我们这篇依旧是从名字入手。...单例模式解决的是如何在整个项目中创建唯一对象实例的问题,工厂模式解决的是如何不通过new建立实例对象的方法。 那么注册模式想解决什么问题呢?...而且注册模式还为其他模式提供了一种非常好的想法。 如何实现注册?   通过上述的描述,我们似乎很容易就找到了解决方法。首先我们需要一个作为注册的类,这毋庸置疑。所有的对象“插入”到注册树上。...区别于其他博友告诉你什么样的模式是单例模式,我更愿意和有面向对象编程基本经验的你考虑一下如何自己建立单例模式。   我们首先从题目出发,单例模式是只有一个对象实例的设计模式。这一点是很让蛋疼的。

28320

研发之路:结构化的思维体系

|0x00 如何形成结构化的思维 形成结构化思维,首先要有一个定义:“建立中心化的要素,并能够对中心进行逐步的分解,形成分类子结构。以一定的方法论对分类子结构进行分析,寻找对策,制定行动计划”。...最后,结构化思维,就是一个非常清晰的方法论: 从、事出发,推导主要价值,形成中心思想; 以中心思想出发,拆解任务结构; 通过一定的方法论对子任务进行分析,寻找对策; 制定行动计划。...|0x01 思考力、知识 技术通常有误区:只要努力了,就会有结果。这是不对的。成长这件事,取决于每个人对于重复性劳动的思考成果,换句话说,思考力是能力的最重要影响因素。...所以,对于每个人而言,都应该形成属于自己的知识。如果对于每件事情,都能够有一种习惯性总结的方法,那么再复杂的业务,也能够快速的通过方法论来提炼要点。...|0xFF 写在最后 归根结底,技术人员的成长路线上,大多数人,还是要成为“复合人才”。学会学习的能力,不断实践,经验变成能力,能力促成结果,在结果中积累信心,深化能力。

98120

不找C++的工作,为什么要学习C++?

“我是一个数学老师,并不是语文老师,因此我不学语文”这样的话看起来合理,其实如果你语文不太好,你的数学语言表达能力也就欠佳,你的数学也无法成就多少,最少你表达不清,沟通交流不好,许多灵感的形成来源于也就被抹杀了...例如学PHP的那时候,难度系数不取决于PHP的if…else…那些语法,而取决于例如PHP的面向对象,PHP的接口,数据库的优化,服务器的负载均衡,集群技术,网络编程等等。...3:泛机制。 4:模板机制:函数模板,类模板 5:它的标准库STL里边的数据结构和算法,那些內容你关键是要了解他们有哪些实现方案,尽管不必你去写,只是你要明白来源,那样用起来才放心。...如:如何实现容器vector,list,map的? 6:非标准库,如:Boost。 当然都是它里边的数据结构和算法。这些具体内容它帮你写好啦,你好多时候我觉得仅仅在使用接口罢了。...你可以把它总结成一颗活着的知识。这棵的重大意义在于:当你好久之后,语法大部分忘记光了的那时候,看到这颗知识能一瞬间找出感覺。

2.1K40

我用千行代码做了python版AI五子棋?还真玩不过AI了!!

这里有两个问题: 如何把所有可能的情况都尝试一遍; 如何定量判断某落子点的优劣。 对于第一个问题,其实就是所谓的博弈搜索,对于第二个问题,其实就是所谓的选择评估函数。...剪枝来减少计算量: 棋知识库 活四:有两个连五点(即有两个点可以形成五),图中白点即为连五点。...在没有更好的进攻手段的情况下,必须对其进行防守,以防止其形成可怕的活四棋。 眠三:只能够形成冲四的三,如下各图,分别代表最基础的六种眠三形状。图中白点代表冲四点。...眠三的棋与活三的棋相比,危险系数下降不少,因为眠三棋即使不去防守,下一手它也只能形成冲四,而对于单纯的冲四棋,是可以很简单的防守住的。...活二:能够形成活三的二,如下图,是三种基本的活二棋。图中白点为活三点。 眠二:能够形成眠三的二。图中四个为最基本的眠二棋,图中白点为眠三点。

1K51

列存储、行存储之间的关系和比较

于是,这个老牛在2005年左右做了C-Store,一个列存储的数据库原型系统,在VLDB, SIGMOD等顶级国际会议上灌了几桶水后,拉了一伙出去开了个公司叫Vertica,将其商业化,专注于数据仓库...因此Sybase已经开发了一个新的关系数据库——逆向关系数据库可能是对此最好的解释,它使用一个传统的关系结构以及类似的非常熟悉的术语,但是却是基于列的,而非基于行的。...显而易见,不论如何进行分区,分区都会带来很多问题(更不必说额外的维护了),不过,它打开了性能改进的实质性途径。...面对海量的复杂查询, 如何使列存储技术扬长避短, 充分利用其查询优势, 成为了当今列存储领域的研究重点。查询优化在数据库领域一直占有重要的地位。...通过以上规则得出式(2)中where 子句的形式: 定义选择空间 T, 连接空间J: 查询计划如图4, 用于连接的左深能和连接算法很好地交互, 有利于形成有效的计划[12]。

6.5K10

Cell发表最新成果:长得更像、DNA相近的物种不一定是近亲 | CNGBdb支撑发表科研成果速递

不完全谱系分类 (ILS) 使祖先遗传多态性在快速物种形成事件中持续存在,从而导致基因和物种树之间的不一致。ILS 在包括原始人在内的许多谱系中具有复杂的系统发育推断。...由这个共同祖先不断分叉演化形成现在物种类群的历程即构成了生命之,从简单的单细胞生物到复杂的生命体,每个物种都可以找到它的最近缘物种和最近共同祖先。...多个物种在极短的时间内从一个共同祖先里分化出来,使得某些祖先基因的多态性在随后的物种分化历程中被随机分流到分化出的不同物种里,从而使得部分分化后形成的多个物种随机保留了相同的基因。...如图所示,三者共同祖先的群体具有较高的遗传多样性,大猩猩在第一次物种分化后形成,随着时间的推移,大猩猩的群体最终固定了蓝色的基因。...人和黑猩猩的共同祖先群体继承了橙色和蓝色两种基因,然而在第二次物种分化的时候,可能最终随机固定了和大猩猩一样的蓝色的基因,黑猩猩最终随机固定了橙色的基因

43310

漫谈计算机语言

自然语言指的是人类的语言,比如汉语、英语等,它具有多义性(在不同的上下文中,意义是不同的),冗余性(语法错了一点 并不会让引起误解)。...高级语言中又可以分为解释语言(interpreting)和编译语言(compiling)。解释语言通过解释器读入高级语言写的指令,然后解释执行,Ruby、Python、PHP都是解释语言。...编译语言使用编译器把高级语言变成目标代码。下面举个例子来介绍解释语言和编译语言的区别。 sum = x*4 - y 针对上面这行代码,计算机首先要做词法分析,将代码变成一个个token。...在获得token之后,进行语法分析 构建抽象语法(AST)。 解释语言会对抽象语法进行解释执行,而编译语言会继续进行语义分析、中间代码生成 、代码优化、目标代码生成。...; } } void test(Man m){ m.eat(); } 如何定义一门语言 通过上述内容的介绍,我们知道了计算机语言的分类,那么,我们该如何 定义一门语言呢?

1.4K240

列存储、行存储

于是,这个老牛在2005年左右做了C-Store,一个列存储的数据库原型系统,在VLDB, SIGMOD等顶级国际会议上灌了几桶水后,拉了一伙出去开了个公司叫Vertica,将其商业化,专注于数据仓库...因此Sybase已经开发了一个新的关系数据库——逆向关系数据库可能是对此最好的解释,它使用一个传统的关系结构以及类似的非常熟悉的术语,但是却是基于列的,而非基于行的。...显而易见,不论如何进行分区,分区都会带来很多问题(更不必说额外的维护了),不过,它打开了性能改进的实质性途径。...面对海量的复杂查询, 如何使列存储技术扬长避短, 充分利用其查询优势, 成为了当今列存储领域的研究重点。查询优化在数据库领域一直占有重要的地位。...通过以上规则得出式(2)中where 子句的形式: 定义选择空间 T, 连接空间J: 查询计划如图4, 用于连接的左深能和连接算法很好地交互, 有利于形成有效的计划[12]。

7.8K11

网络拓扑结构

介绍网络拓扑结构是指用传输媒体互连各种设备的物理布局,通俗地说,就是网络设备是如何连接在一起的。这种结构能够表示出网络服务器、工作站的网络配置和互相之间的连接。...网络拓扑结构主要按形状分类,包括星、环、总线型、、总线/星和网状拓扑结构。星拓扑结构在这种结构中,各个节点与中心节点连接,呈现出放射状排列。这种结构通过中心节点对全网的通信进行控制。...环拓扑结构在这种结构中,每个节点都与其相邻的两个节点相连,形成一个闭合的环。这种结构简化了信息传输的路径选择控制,且所需的电缆长度较短。然而,当节点过多时,会影响传输效率,且不利于网络扩充。...总线型拓扑结构在这种结构中,所有计算机设备通过一根中央的传输线连接在一起,形成一个线性结构。总线拓扑结构适用于小型网络环境,特别是在办公室或家庭网络中表现出色。...拓扑结构这种结构是将多个星拓扑连接在一起的组合,形成一个层次化的结构。拓扑结构适用于大型网络环境,尤其是在广域网(WAN)中。它具有良好的可扩展性和灵活性,能够适应复杂的网络需求。

12010

字节跳动php面试题(四)

阅读量: 69 首先我在这里声明:不是本人亲自经历,是本人一个非常好的朋友亲身经历分享的 ,这些干货有一定的参考价值,在这里本人以文章的方式分享给大家,希望对需要往大型互联网公司发展的年轻以及程序员有所帮助...,话不多说: 一面(约1h) 在面对未知的流量暴增,可以预先怎么处理 如何限流,限流算法,对于ddos攻击怎么处理 PHP数组的底层实现 分布式事务 RPC相对于传统的API调用的优点 服务调度中心的感知与动态上下线...MySQL的索引,为什么是B+而不是平衡二叉 索引查找在Linux的磁盘上是怎么操作的 聚簇索引相对于B+索引的优点 如何分析SQL执行慢的原因 Redis连接时的connect与pconnect的区别...Redis有哪些结构时间复杂度较高 Redis hash的实现 算法题: 在1个10G大小的文件中,存储的都是int的数据,如何在内存使用小于8M的情况下进行排序 设计题: 以微博为例,有1个亿的用户...,同时用户之间有关注和粉丝,用户的关注和取关操作比较频繁,如何设计架构和API接口 二面(约1.5h) 二面主要以自己的项目为切入点,进一步考察你对项目中知识点的把握程度 守护进程是什么,怎么实现 PHP

70030

涨见识| 字节PHPGolang社招面经

一面(约1h) 在面对未知的流量暴增,可以预先怎么处理 如何限流,限流算法,对于ddos攻击怎么处理 PHP数组的底层实现 分布式事务 RPC相对于传统的API调用的优点...服务调度中心的感知与动态上下线 MySQL的索引,为什么是B+而不是平衡二叉 索引查找在Linux的磁盘上是怎么操作的 聚簇索引相对于B+索引的优点 如何分析SQL执行慢的原因...Redis连接时的connect与pconnect的区别 Redis有哪些结构时间复杂度较高 Redis hash的实现 算法题:在1个10G大小的文件中,存储的都是int的数据...,进一步考察你对项目中知识点的把握程度,我这里是以一个 自己撸的小项目 进程管理工具 为项目背景 守护进程是什么,怎么实现 PHP是否适合做守护进程,为什么(内存管理这一块) PHP的垃圾回收机制...发展比较快速的公司 我:卒…… 总结 头条面试,算法是必考项,但是面试官都是让我给出思路,也没写多少行代码 涉猎范围一般,基本就是Redis MySQL ,Nginx比较少,可能配置简单吧 深度较深,很少会去关注

1.1K20

字节跳动php面试题(二)

阅读量: 106 一面(约1h) 在面对未知的流量暴增,可以预先怎么处理 如何限流,限流算法,对于ddos攻击怎么处理 PHP数组的底层实现 分布式事务 RPC相对于传统的API调用的优点 服务调度中心的感知与动态上下线...MySQL的索引,为什么是B+而不是平衡二叉 索引查找在Linux的磁盘上是怎么操作的 聚簇索引相对于B+索引的优点 如何分析SQL执行慢的原因 Redis连接时的connect与pconnect的区别...Redis有哪些结构时间复杂度较高 Redis hash的实现 算法题: 在1个10G大小的文件中,存储的都是int的数据,如何在内存使用小于8M的情况下进行排序 设计题: 以微博为例,有1个亿的用户...进程管理工具为项目背景 守护进程是什么,怎么实现 PHP是否适合做守护进程,为什么(内存管理这一块) PHP的垃圾回收机制 进程间通信方式 共享内存是怎么实现的 怎么查看Linux服务器的负载,及判断哪些操作引起的负载过高...完美错过了所有大厂的招聘) 总结 头条面试,算法是必考项,但是面试官都是让我给出思路,也没写多少行代码 涉猎范围一般,基本就是Redis MySQL ,Nginx比较少,可能配置简单吧 深度较深,很少会去关注

78520

​什么是 JavaScript?

如何理解“结构化”? 所谓结构化,就是一层一层的包含关系。...如何理解“样式规则”? 一种样式规则规定了一种特定的渲染效果,例如 color:red 表示红色,padding:15px 表示 15 个像素的内间距。...布局:渲染树形成的时候,每个 HTML 节点是有自己的样式的,但大小和位置还没有确定,在这一步,渲染引擎将从渲染的根节点开始,遍历整颗,处理与确定所有节点的大小及位置信息,这便叫布局。...完成后,形成有正确、完善布局信息的 Layout 。这给我们什么启示?HTML 节点的嵌套不要太深、太多!...服务器端代码与客户端代码 这是一种普遍的 server-client 架构,在服务器上,由 PHP、Python、Ruby 等后端语言,输出一个 HTML 页面,由客户端主动请求,发送到客户端并在客户端浏览器上运行

27420

决策引论和CART算法

以是否贷款违约的二分类问题为例,当我们希望根据给定的训练集习得一个模型对新出现的贷款进行分类时,经常需要从大量的贷款申请单中识别出来哪些贷款是劣质的贷款(容易拖欠贷款)。...3.如何建立决策模型 机器学习中,决策是一个预测模型,代表着的是对象属性与对象值之间的一种映射关系。...递归地将当前数据集分割为两个子数据集,形成一棵二叉。CART既能处理连续变量又能处理离散变量,利用训练数据递归的划分特征空间进行决策构造,用验证集进行剪枝。...对于离散属性选择该属性产生最小Gini 系数的子集作为分裂子集;对于连续属性考虑所有可能的分裂点。 CART分类(输出为离散变量) 1.算法 输入:训练数据集 ?...CART回归(输出为连续变量) 用户数值预测的决策可分为两类。第一类称为回归,是在20世纪80年代作为CART算法的一部分引入的。

60030
领券