背景:
我不会说太多英语对程序员的重要性!
英语学习很多,但是我今天不多讲,只是谈论英语单词!
为了记忆文字,我找到了许多方法并下载了许多软件。
如图所示(其他未使用的被卸载):
上面的图片是我以前使用过的软件。请注意,它在~~~
之前
这意味着我没有坚持下去~~~~
随着时间的流逝,最后他们仍然被我遗忘~~~
为什么? ? ?不能:等一下!坚持!坚持!
学会思考:
始终在寻找一种方式:
1:我已经下载了联想记忆,记住单词,词根和各种视频~~~
2:我什至在Internet上下载了word数据库的副本。我希望可以更快地直接从数据库中记住单词~~~
通过各种查询语句,整理出相似的记忆点,只有1天,没有更多的文字~~~
每天需要花费时间的事物:
也许会写一个框架,也许会写一篇博客文章,也许还有其他事情,它们将很快变得越来越快~~~
所以,我要来回走~~~忘记记住了~~~~~
重新思考后,我觉得方向是错误的!
我应该找到一种坚持的方法,而不是继续寻求一种更快学习的方法。像产品经理一样思考(是小程序(网络版本))
我正在考虑如何使用下载的单词数据库来做一些使我更加执着的事情。
首先考虑一下,每天在CodeProject上获得1篇英语文章;
然后分析单词频率并使用10个最常见的单词作为学习方向。
后来我被我自己拒绝了:
1:出现高位的通道必须类似于那些苹果,这是没有意义的。如果要进行过滤,则工作量很大。
2:阅读文章和学习一些单词可能很难坚持(毕竟,这种学习模型从小就被使用,并且已经被无数次证明是无用的)。
3:纯记忆的短期记忆学习与浪费时间没有什么区别,短期考试也不例外。
所以,单词的显示效果不好,必须有思考和互动!
当前的临时效果是这样的:
最终想法:
1:一天两个单词,一天两个单词(开始时是10个单词,但后来我感觉更多了,毕竟有互动,我需要输入文字,我怕10个单词很容易粘贴到)
2:单词印象:每个人都会对单词发表评论(很多人在玩,会有很多有趣的评论,前提是看每个人是否都可以玩)
3:造句:我们小时候学习汉字时,老师要我们做句子。当我们长大学习英语时,为什么不强迫这个要求?
4:我的记录:您可以检查所学的单词~~~~
5:词汇数据库中有30,000多个单词。我在雅思考试中总共选了4,034个单词,并随机选择了它们!
总的来说,主要是为了降低学习难度,以便于坚持~~~
总体完成之后,我觉得还不够,我隐约感觉到仍然缺少一些东西。跟进看看网友有什么建议~~~
技术思路(时间,花半天时间完成任务):1:支持移动浏览:
在一开始,我曾考虑过要获得一个前端框架,或获得一个JQ Mobile之类的东西,并提出一个html + api请求。
此后,花了很多时间来找到框架并观看演示。我觉得做一件简单的事情花了很多时间,然后才完成。
因此,请使用Table,最佳兼容性和最简单的布局!
使用WebForm的ASPX,这是最省时的处理方法。
2:性能和并发注意事项:
网站将部署在原始VPS上,总共1G的1G内存,已经运行了六到七个网站。
因此,该站点使用较少的资源,具有更好的性能,并且必须经受人们的考验。
数据库:
一开始,计划使用文本数据库;
但是原始单词数据已经在sql2005上,因此我很容易使用sql2000。
性能和并发性:
页面应该很简单,可以保存多少,所以没有JS;
单词被缓存,单词的注释被写在队列中;
考虑到访问次数不是很大,因此显示的是具有自动缓存的直接读取的数据库。
安全性:
考虑到不是每个人都友好,有人会故意提交大量垃圾数据吗?
因此在后端进行了简单而安全的验证。
前端验证也很简单,可以验证长度。
3:语音转录集合:
在内置词库中,某些单词的语音转录可能会丢失,因此需要一个收集过程。
所以我一直在寻找一个可以收集的点,一开始在百度中找到它:
我编写了代码并将其拾起,发现单词在js中都混在一起了。
我想使用百度API,但是我发现有钱~~~~
时间很紧,因为我只给自己一个下午~~~~
后来,我搜索了更多,最后发现它仍然是微阮佳的好意:
图片已加边框,但无法使用,因为它在JS中也令人困惑,但是:
标题说明中有一个语音抄本~~~我发现了所有这些,您可以通过编写如下代码来获取它:
private string GetWordPronunciation(string word) { string pronunciation = string.empty; WebClient wc = new WebClient(); wc.Encoding = Encoding.UTF8; string result = wc.DownloadString("http://cn.bing.com/dict/search?q=" + word); string key = "英["; int index = result.IndexOf(key, StringComparison.Ordinal); if (index == -1) { key = "美["; index = result.IndexOf(key, StringComparison.Ordinal); } if (index > -1) { int end = result.IndexOf(']', index); pronunciation = result.Substring(index + key.length, end - index - 2); } return pronunciation; }
扩展知识点索引:
当我仅使用WebClient的DownString来获取html(UTF8编码)的结果变量时。
result =“ .....英[...”;
我用过:result.IndexOf(“ English [”),实际上返回-1,我很困惑。
通过SubString切断前面,成为:result =“英[...”;
所以:result.StartWith(“ English [”),意外返回false,我在努力挣扎。
但是:result [0] =='English'&& result [1] =='['是真的。
经过一番搜索,我发现:
html.IndexOf(key, StringComparison.Ordinal)
这是正常的,解决方法是:StringComparison是参数。
尽管我了解参数的含义,但令人困惑的是:
这里没有特殊的第三方字符吗?
在收集的数千个单词中,有超过1,000个存在这种情况。目前尚无解决方案。您只能注意! ! !
最终结果:学习单词地址:
单词数据库的下载地址:
如果您需要单词数据库,则在这里:
摘要:
这样,我昨天度过了一个下午,今天半夜和一个半下午,并完成了小程序。
我希望坚持不懈~~~每个人也都团结在一起,一群人坚持不懈,比一个人更容易坚持下去!