本地部署Hello-Algo打造私人算法教练让算法学习告别网络限制
文章目录
- 前言
- 1.关于hello-algo
- 2.安装Docker和Docker compose
- 3.本地部署hello-algo
- 4. hello-algo本地访问
- 5.cpolar内网穿透工具安装
- 6.创建远程连接公网地址
- 7.固定Uptime Kuma公网地址
前言
今天我要向大家推荐一款绝对不能错过的开源宝藏项目Hello-Algo!无论你是刚刚踏入编程世界的新人小白,还是已经有一定基础的资深玩家,这个项目都能给你带来满满的惊喜。
想象一下,在一个阳光明媚的下午,你坐在舒适的沙发上,打开电脑,轻松地浏览着各种数据结构和算法知识。不仅如此,你还能够通过生动的动画直观地理解那些复杂难懂的概念,仿佛有了一位专业的导师在旁边手把手教你一样!是不是听起来就超赞?
更让人激动的是,借助内网穿透神器cpolar,你可以在任何时间、任何地点远程访问这个项目。再也不用担心因为身处外地或者网络限制而错过学习的机会了!那么,为什么我会如此强烈地推荐Hello-Algo呢?接下来让我给你细细道来。
1.关于hello-algo
为什么选择Hello-Algo?
- 全面覆盖:从基础的数据结构到高级的算法问题,应有尽有。
- 互动学习:通过动画展示数据结构的变化和算法执行的过程,让你一目了然。
- 适合初学者:如果你是完全的新手,这里的内容会带你逐步进入算法的世界。
- 进阶工具库:对于已经有刷题经验的同学,Hello-Algo可以当作一个“算法字典”,帮助你回顾和梳理知识体系。
Github地址:https://github.com/krahets/hello-algo?spm=a2c6h.12873639.article-detail.7.67bd542bZUgP9b
它不仅提供了丰富的动画图解,让抽象的概念变得生动易懂,还涵盖了12种编程语言的代码实现,包括 Python、C++、Java、C#、Go、Swift、JavaScript、TypeScript、Dart、Rust、C 和 Zig,满足了不同学习者的需求。
以其动画图解的直观性、多语言代码示例的丰富性、社区互动的互助性以及本地一键部署的便捷性为特点,提供了一个全面、互动且易于访问的算法和数据结构学习平台。这些特点不仅使得复杂算法概念的理解和记忆变得更加容易,也极大地促进了学习者之间的交流和知识共享,同时允许用户在自己的环境中实践和探索算法,从而深化学习体验。
2.安装Docker和Docker compose
本教程操作环境为Linux Ubuntu系统,在开始之前,我们需要先安装Docker。
在终端中执行下方命令安装docker:
curl -fsSL https://get.docker.com -o get-docker.sh
然后再启动docker
sudo sh get-docker.sh
最后我们在docker容器中运行下 hello world
看一下是否安装成功。
sudo docker container run hello-world
可以看到出现了hello world,说明我们已经安装docker成功,就可以进行下一步了
此时Docker已经安装完了,我们进行下一步。
3.本地部署hello-algo
本项目提供了一键安装脚本,前提是需要安装git可以使用以下命令一键安装。
git clone https://github.com/krahets/hello-algo.git
现在就已经安装成功了,输入下方命令进入到hello-algo里面
cd hello-algo
现在输入下方命令来启动hello-algo
sudo docker compose up -d
启动完成后我们可以输入下方命令查看一下端口号
sudo docker ps
现在就已经全部都安装成功了,可以通过打开web浏览器输入localhost:8000来浏览Hello-algo了。
4. hello-algo本地访问
进入到hell-algo了,能看到页面非常的清晰,想学习哪个章节可以随意点击,并且可以调换白天or黑夜模式,语言也是可以选择的。
小结
上面在本地Linux中使用Docker成功部署了hello-algo,并局域网访问成功。整体来说hello-algo是一款非常不错的免费算法学习工具,它提供了完备的功能,并且具有非常好的实用性和易用性,并且也非常容易安装部署。
如果想不在同一个局域网时远程访问本地部署的hello-algo学习算法,可以创建一个公网地址,这里我使用的是cpolar内网穿透,通过cpolar转发本地端口映射的http公网地址,我们可以很容易实现远程访问,无需自己注册域名购买云服务器,可节省大量费用。
5.cpolar内网穿透工具安装
下面是安装cpolar步骤:
Cpolar官网地址: https://www.cpolar.com
使用一键脚本安装命令
sudo curl https://get.cpolar.sh | sh
安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudo systemctl status cpolar
Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
6.创建远程连接公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,本例使用了:helloalgo注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:https://localhost:8000
- 域名类型:随机域名
- 地区:选择China Top
创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址在浏览器中访问即可。
如下图所示,成功实现使用公网地址异地远程访问本地部署的hello-algo
使用上面的cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到我们hello-algo管理界面,这样一个利用公网地址可以进行远程访问的隧道就创建好了,无需自己购买云服务器,使用cpolar创建隧道即可发布到公网进行远程访问,新域名登录,可能需要重新登陆!
7.固定Uptime Kuma公网地址
由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。
登录cpolar官网:https://www.cpolar.com
点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,填写备注信息,点击保留。
保留成功后复制保留的二级子域名地址:
登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑
。
修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击更新
更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。
最后,我们使用固定的公网地址访问hello-algo管理界面可以看到访问成功,一个永久不会变化的远程访问方式即设置好了。
Hello-Algo 是一个无论你是初学者还是进阶者都值得拥有的宝藏资源。它不仅内容全面、形式多样,还能随时随地为你提供支持和帮助。如果你还没有尝试过这个项目,强烈建议你赶紧去体验一下吧!