当前位置: 首页 > news >正文

学算法不再卡壳,Hello-Algo 让学习有画面感,cpolar远程访问更添便利

文章目录

    • **前言**
    • 1.关于hello-algo
    • 2.安装Docker和Docker compose
    • 3.本地部署hello-algo
    • 4. hello-algo本地访问
    • 5.cpolar内网穿透工具安装
    • 6.创建远程连接公网地址
    • 7.固定Uptime Kuma公网地址
        • Hello-Algo 让算法学习更直观,结合远程访问后,进一步打破场景限制,为持续学习和交流提供了便利。

前言

Hello-Algo 主要帮助学习者系统掌握数据结构和算法,通过动画展示数据结构变化和算法步骤,提供多语言代码示例和互动调试环境,覆盖各类经典算法问题及应用场景。

作为使用者,最直观的感受是它把抽象的算法变得看得见、摸得着 —— 堆排序的动画能拖动观察过程,哈希冲突原理像搭积木一样好懂,刷题时对着动画理解原理,比死记硬背效率高多了。

原本本地部署只能在局域网用,换个地方就看不了笔记和动画。用上穿透工具后,在哪都能打开学习界面,出差时在酒店也能接着研究昨晚没弄明白的 Dijkstra 算法,还能把可视化界面发给异地同学一起分析,学习不再受地点限制,协作也更方便了。

image-20241015105746189

1.关于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,满足了不同学习者的需求。

Animation example

以其动画图解的直观性、多语言代码示例的丰富性、社区互动的互助性以及本地一键部署的便捷性为特点,提供了一个全面、互动且易于访问的算法和数据结构学习平台。这些特点不仅使得复杂算法概念的理解和记忆变得更加容易,也极大地促进了学习者之间的交流和知识共享,同时允许用户在自己的环境中实践和探索算法,从而深化学习体验。

Running code example

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成功,就可以进行下一步了

image-20241008151101668

此时Docker已经安装完了,我们进行下一步。

3.本地部署hello-algo

本项目提供了一键安装脚本,前提是需要安装git可以使用以下命令一键安装。

git clone https://github.com/krahets/hello-algo.git

image-20241015140632831

现在就已经安装成功了,输入下方命令进入到hello-algo里面

cd hello-algo

现在输入下方命令来启动hello-algo

sudo docker compose up -d

image-20241015155923663

启动完成后我们可以输入下方命令查看一下端口号

sudo docker ps

image-20241015152015136

现在就已经全部都安装成功了,可以通过打开web浏览器输入localhost:8000来浏览Hello-algo了。

4. hello-algo本地访问

image-20241015160306700

进入到hell-algo了,能看到页面非常的清晰,想学习哪个章节可以随意点击,并且可以调换白天or黑夜模式,语言也是可以选择的。

image-20241015152737200

小结

上面在本地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

img

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

img

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

image-20240801133735424

6.创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:helloalgo注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:https://localhost:8000
  • 域名类型:随机域名
  • 地区:选择China Top

image-20241015153210604

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址在浏览器中访问即可。

image-20241015153312036

如下图所示,成功实现使用公网地址异地远程访问本地部署的hello-algo

image-20241015153403850

使用上面的cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到我们hello-algo管理界面,这样一个利用公网地址可以进行远程访问的隧道就创建好了,无需自己购买云服务器,使用cpolar创建隧道即可发布到公网进行远程访问,新域名登录,可能需要重新登陆!

7.固定Uptime Kuma公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网:https://www.cpolar.com

点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,填写备注信息,点击保留。

image-20241015153547548

保留成功后复制保留的二级子域名地址:

image-20241015153623345

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20241015153755703

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20241015153732507

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20241015154030929

最后,我们使用固定的公网地址访问hello-algo管理界面可以看到访问成功,一个永久不会变化的远程访问方式即设置好了。

image-20241015154055696

接下来就可以随时随地进行公网访问管理hello-algo了,还把公网地址分享给身边的人。自己用的话,无需云服务器,还可以实现异地远程访问!以上就是如何在Linux Ubuntu系统Docker本地安装hello-algo的全部过程。

Hello-Algo 让算法学习更直观,结合远程访问后,进一步打破场景限制,为持续学习和交流提供了便利。

cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

http://www.dtcms.com/a/564908.html

相关文章:

  • openEuler安装docker及其配置
  • 重组蛋白纯化标签:高效获取高质量蛋白的关键技术
  • agent智能体
  • 网站制作珠海公司asp 网站管理工具
  • html网站地图怎么做企业网站建设主要考虑哪些
  • 深入昇腾NPU:从架构到算子开发的全栈探索
  • Rust编程学习 - 内存分配机制,如何动态大小类型和 `Sized` trait
  • JavaSe—List集合系列
  • 1.1 大语言模型调用方式与函数调用(Function Calling):从基础到实战
  • 在Windows系统上部署 CosyVoice 2
  • kafka kraft 模式简介
  • 【Html模板】赛博朋克风格数据分析大屏(已上线-可预览)
  • 怎么查网站备案号济南市章丘区建设局网站
  • 颠覆编码范式:Cursor 2.0五大新特性深度解析与AI编程未来洞察
  • 科技引领,档案管理更高效之智慧档案馆三维立体恒温恒湿消毒净化系统
  • MySQL的SUBSTRING函数详解与应用
  • 微企点建站效果付费合肥网络推广外包
  • 企业级管理平台项目设计、架构、业务全解之平台篇
  • android TAB切换
  • 免费试用网站源码上海网站建设穹拓
  • Linux的df和du
  • 【保姆级教程】Debian 服务器 MariaDB/Mysql 配置 Windows 远程连接全流程
  • JAVA算法练习题day58
  • linux-用户和组权限
  • 基于Vue+Python+Orange Pi Zero3的完整视频监控方案
  • 若依开源项目做导入数据时同步新增字典,页面下拉框与表格未同步更新问题
  • 网站权重多少4赤峰网站建设哪个服务好
  • 珠海seo海网站建设南京做网站建设搭建的公司
  • 仓储物流人力如何管理?实时看板动态展示进度,支持管理者即时调整人力
  • 系统架构设计师备考第62天——嵌入式系统软件架构设计方法