从0到1实战!用Docker部署Qwerty Learner输入法的完整实践过程

发布于:2025-07-04 ⋅ 阅读:(12) ⋅ 点赞:(0)

前言

在多语言输入场景中,用户常因键盘布局切换产生操作障碍。对此,我们提出基于神经适应机制的输入优化方案——TypingMaster Pro系统。该方案通过动态重定义键位配置,显著提升英文输入的神经适应效率,并提供完整的本地化部署解决方案。

针对软件开发人员群体,我们开发了一套Ubuntu系统集成方案。该部署方案采用容器技术应用方案,配合隧道穿透技术实现服务快速部署。其技术优势主要体现在:无需依赖固定IP地址、降低云服务成本、支持跨网络环境访问。整个实施流程采用模块化设计,即便是初学者也能完成系统部署,最终实现输入效率的大幅提升。

系统架构核心要素:

  1. 容器技术应用:Docker平台
  2. 网络穿透工具:cpolar解决方案
  3. 输入优化引擎:TypingMaster Pro模块

本方案特别适用于需要处理多语言输入的软件工程师、语言转换工作者及全球化企业。其可扩展架构支持功能定制,同时确保系统维护的便捷性。通过本地化部署机制,用户可实现对数据安全和系统权限的完全控制。

技术亮点说明:

  • 摒弃传统IP地址绑定模式
  • 降低基础设施运营成本
  • 实现不同网络环境下的连接功能
  • 支持私有网络的远程访问

该解决方案通过重新定义输入映射机制,有效解决多语言切换带来的输入效率问题。其模块化设计使系统具备良好的可扩展性,同时保持核心功能的稳定性。本地化部署架构确保用户数据始终处于可控状态,满足现代企业对信息安全的严格要求。

img

【视频教程】

1分钟本地部署英文输入速度提升宝藏工具qwerty-learner

1.关于qwerty-learner

qwerty-learner是一款专为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件。不仅能帮助你提升英文输入速度和准确性,还能让你在打字过程中学习新词汇!内置了多种考试词库(如大学四六级、考研英语等)以及程序员常用单词和API练习,简直就是为程序员量身打造的学习神器。

qwerty-learner 特点与优势:

  1. 多语言支持
  • 不仅限于英语学习,还支持其他多种语言的输入练习。无论是法语、德语还是日语,都能找到相应的词库进行学习和训练。
  1. 丰富的词汇库
  • 内置了多个权威的考试词汇库,如大学四六级、考研英语、TOEFL、GRE等。
  • 特别为程序员设计了编程相关的词汇和API练习,帮助你在实际开发中更流畅地使用英文。
  1. 智能复习算法
  • 利用先进的间隔重复算法(Spaced Repetition System, SRS),根据你的记忆曲线动态调整复习频率,确保你记住每一个单词。
  • 每个单词的出现频率和难度会根据你的表现自动调整,帮助你在最短的时间内达到最佳学习效果。
  1. 实时反馈
  • 在练习过程中,输入正确的字母显示为绿色,错误的字母显示为红色,即时反馈让你迅速纠正错误。
  • 练习结束后,系统会生成详细的报告,包括打字速度、正确率和常见错误分析,帮助你针对性地改进。
  1. 多模式练习
  • 听写模式:通过听取单词发音来输入字母,提高听力和拼写能力。
  • 默写模式:在没有提示的情况下输入单词,检验记忆效果。
  • 快速打字模式:挑战自己的极限,提升打字速度。
  1. 个性化设置
  • 可以根据个人喜好调整背景颜色、字体大小等界面设置,让学习过程更加舒适。
  • 支持自定义词汇表,你可以添加自己需要学习的单词和短语。

2.Docker部署

本例使用Ubuntu 22.04进行演示,使用Docker进行部署,如果没有安装Docker,可以查看这篇教程进行安装:《Docker安装教程——Linux、Windows、MacOS》

安装环境需要有Node.js Git yarn,我这里已经安装。

首先需要在命令行中执行这行命令将项目拉取到本地

git clone https://github.com/RealKai42/qwerty-learner.git

image-20250217165447443

进入项目根目录

cd qwerty-learner

执行来下载依赖

yarn install

image-20250217165515565

执行来启动项目

yarn start

image-20250217165533606

打开浏览器输入http://localhost:5173/就可以进入到qwerty-learner的主页面

image-20250217165718195

3.简单使用演示

打开软件,选择好词库,点击键盘任意键就开始练习了。听着单词的朗读,对照屏幕上的单词在键盘上打出字母,输入正确的字母显示为绿色,错误字母显示为红色,一目了然。每章拼写练习完成后,还可以选择默写,屏幕不再显示单词,直接听音默写,学习效果杠杠的。而且,它还有错题本功能,统计错误单词的练习次数、错误次数和默写平均用时,方便你针对性地复习。

image-20250217165857615

也可以选择你自己想学的词典,里面有各种各样的语言以及大学英语等等专业课程都可以学习。

image-20250217165958856

4.安装cpolar内网穿透

不过我们目前只能在本地局域网内访问刚刚部署的qwerty-learner,如果想不在同一局域网内时,也能在外部网络环境使用手机、平板、电脑等设备远程访问与使用它,应该怎么办呢?我们可以使用cpolar内网穿透工具来实现远程访问的需求。无需公网IP,也不用准备云服务器那么麻烦。

下面是安装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

5. 配置公网地址

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

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

点击创建:

image-20250217172530327

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

image-20250217172636780

现在就已经成功实现使用cpolar生成的公网地址异地远程访问本地部署的qwerty-learner啦!

小结

为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期使用qwerty-learner,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。

6. 配置固定公网地址

使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

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

点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,我这里演示使用的是qwerty,大家可以自定义。填写备注信息,点击保留。

image-20250217172826573

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

image-20250217172941060

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

image-20250217172909286

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

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

点击更新

image-20250217173013679

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

image-20250217173034540

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问本地部署的qwerty-learner页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20250217173221400

了解更多项目详情大家可以访问作者github主页进行查看:RealKai42/qwerty-learner: 为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workers

总结

本文档系统演示了基于Linux平台的TypingAssistant系统部署全流程。通过容器技术与隧道穿透方案的协同应用,成功搭建了可访问的远程服务接口,为分布式开发场景提供了可靠的网络支撑。经测试验证,该技术方案具备三大核心特性:免除IP地址绑定限制、降低云端服务依赖度、兼容复杂网络环境接入。

针对部署过程中的技术难点,建议开发者通过开源社区进行技术交流。值得注意的是,这种创新架构在同类方案中展现出显著优势,特别适用于需要异地协作的开发团队。建议关注网络架构演进的技术人员及时掌握此类新型部署方式,以适应日益复杂的网络环境需求。该解决方案通过模块化设计实现了灵活扩展,同时确保系统稳定性与数据安全性,为现代软件开发提供了高效的部署范式。


网站公告

今日签到

点亮在社区的每一天
去签到