如何自己搞一个维基百科?

本文介绍了一个GitHub上的开源项目,展示了如何使用CSS、JS、WASM和SQLite技术搭建静态版维基百科,涉及SQLite编译成WebAssembly以及项目中的技术挑战。同时提到了Java开发者的学习资源,包括全套学习资料和面试题解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

维基百科(Wikipedia),又称人民的百科全书,是来自世界各地的人民用不同的语言共同创建的百科全书。

它基于wiki技术,强调自由、免费、内容开放,任何人都可以编辑百科全书中的任何条目。其宗旨是为全人类提供一个动态的、可自由访问和编辑的全球知识体。

你可以把它看作是一个纯文科类的百度百科的升级国际版,毕竟人们常说:北冥有鱼,其名为鲲。鲲之大,不知其几千里也,错了错了,拿错台词了,应该是这句,维基百科,海纳百川,有容奶大

哦不不不,是有容乃大~~小编最近那个编码太辛苦了(啥啥东西看多了),各位理解理解~

那么大家有没有想过自己搭建一个静态版本的维基百科呢?

当然可以了,今天给大家带来的就是GitHub上的一个开源项目,教你如何使用CSS、JS、WASM和SQLite来搭建这个静态百科~

项目的核心技术要点在于 将SQLite (written in C) 编译成 WebAssembly,这样就可以使用 sql.js 读取 sqlite 的数据库文件。

不过项目还有点小瑕疵,比如,有时候页面会在加载的时候自动卡住,这个时候只能刷新页面解决。作者似乎还没找到一个合适的在SQLite HttpVFS库中处理正在进行的请求的方法,如果有小伙伴是个中高手也可以自己一改哟~

整体程序运行,只需要5个步骤:

1、获取维基百科转储文件

首先去维基百科的dump下载网站,下载所需要的语种和时间的dump文件。然后从中提取xml文件。

2、将xml文件加载进SQLite数据库

运行npm install,将xml文件传输到转换器中cat "/path/to/enwiki.xml" | node ./scripts/xml_to_sqlite.js /path/to/output/folder/en.db

这样就会在指定的目录和路径处创建新的SQLite文件。不过往往这需要不小的硬盘空间(往往需要几百G)和长达数小时的时间消耗。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

笔者已经把面试题和答案整理成了面试专题文档

image

image

image

image

image

image

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值