上一次在博客园发贴还是在上一次(2021年),那个时候博客园就遇到了危机(被罚款)。彼时在疫情期间,我个人生活也受到了影响,先后去了多个城市,最终在上海找到了 .NET Web开发的岗位,还是比较幸运的,因为这就是我感兴趣的。

TypingLearn解决了我在学习英语中的一大痛点

一些背景

我是一个开发者(俗称码农),在一系列的机缘巧合下,我开发了一个在线学习英语的网站,以此来提升自己的英语能力,在此分享给大家,希望跟大家共同进步。

英语是非常通用的技能,对于我个人来说,它至少有几个方面的作用:

  • 获取更多原始有效的信息
  • 提升在职业上的优势
  • 提供更多的机会(职业和人脉)

在我工作两三年后,我就把英语学习作为一个主要的目标之一,当然我对自己的规划一共有三个方面:身体/英语/职业技能

在将近十年的从业生涯中,我发现只有职业技能我得到了增强,身体几乎是越来越差,英语几乎是原地踏步。要说分个优先级的话,那一定是 身体>英语>职业技能。

我不再把提升职业技能当成目标,因为对于编程,我从小就开始接触,本身就是喜爱,有足够的内驱力去了解和学习新的知识。

开发的契机

现在,我把提升英语能力作为主要的实现目标。

我曾经尝试过很多种方式去进一步提升英语能力,包括使用各种APP,甚至是付费一对一的外教课程。最后我得出一个结论:

对于大部分人来说,学习英语最大的痛点不是使用什么工具,而是坚持。或者我们可以用以下公式来表示:

基数(学习时间) * 系数(学习效率)=成果

尽管不同的方式方法有差异,但这只是其中一个因素,也就是学习效率。如果不投入足够的时间来积累基数,那么一切都是徒劳的。

很多事情 ,本身并不难,但坚持很难。这同样适用于身体锻炼。所以在这样的需求和背景的驱动下,我经过很多观察和总结,动手实现了Typinglearn.cn 这个英语学习的网站(通过自定义词典也可以学习其他语言)。

我首先要解决的是坚持的问题,这是最大的痛点。我发现对于我个人来说,使用APP学习,或单纯的听音频、看视频 ,很快就失去了注意力和兴趣,难以坚持。但是通过键盘录入的方式,我可以在比较专注的状态,坚持超过1个小时去学习英语。

动手开发

作为一个有丰富开发经验的码农,有了实际的需求,又找不到现成可用的工具,为什么不自己开发呢?

大概经过三个月的时间,我开发出第一个可上线的版本,同时处理一些关于网站备案和支付认证相关的事宜。

我使用的开发技术是.NETAngular,目前也已经升级到最新的NET8Angular17。关于UI,是花钱找人设计的。

从需求到产品原型,然后制定开发规划,到实施前后端开发和上线,几乎都是我一个人完成的(还有一个做前端的小伙伴,但由于工作过于忙碌,很少参与)。

用户使用和反馈

现在网站已经上线和运行超过一个月了,我只是在很小范围内的目标用户进行试用,同时也在思考学习效率上的问题。这里分享几个案例:

  1. 目前我个人主要使用的网站功能是目标管理,我设定要学习的词典和日期,系统会生成每天学习和复习的单词,我照着这个进度来就可以了。同时我添加了类似于“记忆卡片”的方式,正面英文,反面翻译,我发现,在我学习新单词之前看一遍,以及在学习之后,再看上三遍,确实有不错的效果。
  2. 我遇到一个用户,他的需求是学习法语,为此我还专门为该用户对法语键盘(加拿大)进行了录入优化;通过自定义词典功能,用户可以自己构建学习内容。
  3. 还有一个用户把网站功能作为一个辅助记忆词汇的工具,他也是使用自定义词典功能,他的场景是对上百个单词进行默写背诵,并能够反复练习错误的词汇。跟该用户的互动和反馈,我优化了平板和移动设备相关的支持,以及很多其他体验上的细节。

后续计划

当我把网站定位成以英语学习为目标的时候,这就决定了走入深水区。但总的来说就是两个方面,一个是能够让用户坚持,或者说让坚持变得有趣,这是解决基数问题。另一个是不断的发掘和完善更有效的方式,这个是解决效率上的问题。

目前网站的主要功能是单词记忆,这还是处于基础阶段,还有听力阅读以及写作,之后我会通过跟行业内的人交流以及跟用户的反馈,再经过自身的实践,推出一些方式来加强这三部分的练习。

在其他方面,我还会加强用户之间的互动性,让大家能够共同学习,共同进步!

TypingLearn解决了我在学习英语中的一大痛点的更多相关文章

  1. Android学习开发中如何保持API的兼容

    Android学习开发中如何保持API的兼容: 1,采用良好的设计思路 在设计过程中,如果能按照下面的方式来进行设计,会让这个API生命更长久 面向用例的设计,收集用户建议,把自己模拟成用户,保证AP ...

  2. 学习Spring中遇到关于BeanFactory及测试类的问题

    最近在学习Spring,使用的是Spring 5.0.1 学习书本中使用的是4.0 学习书本中使用以下来加载配置文件及设置 Resource resource = new ClassPathResou ...

  3. Flink 从0到1学习 —— Flink 中如何管理配置?

    前言 如果你了解 Apache Flink 的话,那么你应该熟悉该如何像 Flink 发送数据或者如何从 Flink 获取数据.但是在某些情况下,我们需要将配置数据发送到 Flink 集群并从中接收一 ...

  4. Zookeeper学习笔记(中)

    Zookeeper学习笔记(中) Zookeeper的基本原理和基本实现 深入了解ZK的基本原理 ZK的一致性: ZAB 协议: Zookeeper 原子消息广播协议 ZK通过选举保证 leader ...

  5. 深入学习PHP中的JSON相关函数

    在我们当年刚刚上班的那个年代,还全是 XML 的天下,但现在 JSON 数据格式已经是各种应用传输的事实标准了.最近几年开始学习编程开发的同学可能都完全没有接触过使用 XML 来进行数据传输.当然,时 ...

  6. 学习PHP中的国际化日期格式化操作

    对于国际化功能来说,日期相关的格式化操作也是一块重头戏,毕竟不同的时区,不同的国家对于日期的表示方式都会有些不同.今天我们主要来学习的就是国际化地表示日期相关的信息内容. 日期格式化 首先就是最直接的 ...

  7. 学习PHP中Fileinfo扩展的使用

    今天来学习的这个扩展其实现在也已经是标配的一个扩展了,为什么呢?因为 Laravel 框架在安装的时候它就是必须的一个扩展,没有打开它的话,连 Laravel 框架都是无法使用的. Fileinfo ...

  8. 学习PHP中的国际化功能来查看货币及日期信息

    做为一门在世界范围内广泛使用的编程语言,国际化能力往往是衡量一个编程语言是否能够大范围流行的重要内容.特别是对于 PHP 这种以 Web 页面编程为主战场的语言来说,国际化能力更是重中之重.在 PHP ...

  9. 编写Java程序,模拟教练员和运动员出国比赛场景,其中运动员包括乒乓球运动员和篮球运动员。教练员包括乒乓球教练和篮球教练。为了方便出国交流,根乒乓球相关的人员都需要学习英语。

    需求说明: 模拟教练员和运动员出国比赛场景,其中运动员包括乒乓球运动员和篮球运动员.教练员包括乒乓球教练和篮球教练.为了方便出国交流,根乒乓球相关的人员都需要学习英语.具体分析如下: (1)共同的属性 ...

  10. 学习sql中的排列组合,在园子里搜着看于是。。。

    学习sql中的排列组合,在园子里搜着看,看到篇文章,于是自己(新手)用了最最原始的sql去写出来: --需求----B, C, F, M and S住在一座房子的不同楼层.--B 不住顶层.C 不住底 ...

随机推荐

  1. 【直播回顾】OpenHarmony知识赋能五期第六课——子系统相机解读

     5月26日晚上19点,知识赋能第五期第六节课 <OpenHarmony标准系统多媒体子系统之相机解读> ,在OpenHarmony开发者成长计划社群内成功举行.   本期课程,由深开鸿资 ...

  2. winrt新dx截图最小实现

    转自:https://stackoverflow.co/questions/11283015 效果还是很不错的 #include <iostream> #include <Windo ...

  3. Python 函数:定义、调用、参数、递归和 Lambda 函数详解

    函数是一段代码块,只有在调用时才会运行.您可以将数据(称为参数)传递给函数. 函数可以返回数据作为结果. 创建函数 在Python中,使用def关键字定义函数: 示例 def my_function( ...

  4. 发送邮件时,报错:AttributeError: 'list' object has no attribute 'encode'

    在使用腾讯企业邮箱发送邮件时出现报错:AttributeError: 'list' object has no attribute 'encode' 原因:收件人不能用列表存储数据,需要转为字符串,以 ...

  5. js获取select标签的 value 和 text

    <select name="" id="test"> <option value="a1">yi</optio ...

  6. HarmonyOS应用事件打点开发指导

      简介 传统的日志系统里汇聚了整个设备上所有程序运行的过程流水日志,难以识别其中的关键信息.因此,应用开发者需要一种数据打点机制,用来评估如访问数.日活.用户操作习惯以及影响用户使用的关键因素等关键 ...

  7. Java多线程之Callable和Future

    Java多线程之Callable和Future 本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果. Callable接口类似于Runnable,从名字就可以看出来 ...

  8. mysql 重新整理——索引简介[七]

    前言 百度百科索引: 在关系数据库中,索引是一种单独的.物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单. ...

  9. 基于locust全链路压测系统

    2021年中旬就计划着搭建一套压测系统,大约9月份已经搭建完成,使用至今还是比较稳定了,分享一下搭建思路及过程: 为什么选择Locust呢,因为Locust可以仅需要执行命令就可以完成压测任务,并且集 ...

  10. C#微服务必学清单

    在 C# 领域,有一些不错的微服务书籍和开源框架,对于学习微服务相关知识非常有帮助.以下是一些建议您阅读的微服务书目和开源框架. 微服务书目: 1. <Building Microservice ...