2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

看一看 Buzzword 拼写检查的实现

  • 2007-12-18
  • 本文字数:1247 字

    阅读完需:约 4 分钟

Buzzword 在九月份的发布中对在线文字处理器加入了由 Adobe Flex 框架实现的拼写检查。Buzzword 团队成员 David Coletta 上星期在他的博客“深入Buzzword 拼写检查”中与我们分享了这部分的实现细节。

Buzzword 的核心拼写检查引擎是 Grant Skinner’s Spelling Plus Library (SPL) 。SPL 是一个完全采用 ActionScript 3(Flash / Flex 的编程语言)实现的商业产品。

Coletta 在这篇博客中谈到:

我们通过使用 Grant Skinner 卓越的 SPL 为我们的编辑者提供字典查询并提供建议。SPL 完全由 ActionScript 3 实现,它非常小而且快,并且能够在启动应用的时候在后台下载字典并解压,而客户不用等待这个过程。除了提供使拼写检查可以方便集成到 Flex 和 Flash 组件的高级接口外,SPL 还为单词查询和建议提供了低级的 API(我们正在使用它)。有一个完全在客户端实现的解决方案非常好,这样就可以用在我们支持的离线功能时候。

这个博文中,Coletta 讨论了 Flash 运行时单线程天性所带来的挑战:

Buzzword 为了保持用户响应,必须对每一次键盘敲击做尽可能少的工作,但我们无法奢望使用后台线程,因为 Flash 对 ActionScript 只支持一个线程(通过使用定时器和 frameEnter 时间,也可以实现后台处理,但你必须自己小心管理这些时间处理程序和“主线程”。)在 Buzzword 中,我们的所有拼写检查都是同步处理的。我们曾试图通过保持一个文档的脏区域列表,然后在无操作的时候通过定时器处理这个脏列表,用以达到后台运行的效果,但这将大大增加程序设计的复杂度和不确定性,所以我们决定先看看完全实现在前台会怎么样。最后证明这个方法还是完全满足需要的。

除了在单线程环境中实现拼写检查,Coletta 还谈到了在性能方面的挑战:

我们要保证尽可能快的启动 Buzzword,其中要做的一件事情是在后台加载并解压主要的拼写检查字典。(事实上,SPL 已经实现了这个功能,所有的用户都能使用。)然而,后台字典加载有一个缺点:它在字典加载和文档编辑之间制造了一种竞争状况,一个熟练的用户用五秒或十秒钟就能完成工作,而此时字典可能还没有下载完。要让用户再等五或十秒是不行的。我们在文档打开时通常只检查有标记的单词,但在这种特殊情况下,我们必须在字典加载后重新扫描整个文档,因为客户已经在没有实时检查的情况下编辑了一些时间了。

请到 David Coletta 的博文继续读下去吧,他还讨论了在Buzzword 的协作功能中添加拼写检查的挑战。当与更传统的服务器端框架比较时,实现像Buzzword 这样的RIA 显然会有很多新的挑战。对于Flash 应用来说,挑战通常来自于平台提供的新功能——Flash 的客户端编程。

查看英文原文: A Look at the Buzzword Spell Checker Implementation - - - - - -

译者简介:戴垚,2000 年计算机硕士毕业后一直从事软件开发管理工作,目前在一家大型外企担任开发部门经理。关心软件技术和相关工具的动态,深信技术的使用应以创造价值为根本。目前致力于 SOA 的研究,希望能对业已复杂的企业环境有所帮助。参与 InfoQ 中文站内容建设,请邮件至 china-editorial@infoq.com

2007-12-18 21:021198

评论

发布
暂无评论
发现更多内容

中油燃气集团与用友战略签约,深入企业AI合作,打造行业智能化标杆

用友智能财务

财务 会计

实用干货!快速掌握 RPA 的实战学习方法

Techinsight

RPA RPA评测 RPAxAI RPA Agent

FlowJo 10 for Mac 流式细胞分析软件 v10.4激活版

Rose

解锁RPA数据采集隐藏技能,这些优势你get了吗?

Techinsight

RPA RPA评测 RPAxAI RPA Agent

户外LED租赁显示屏闲置时的存放秘籍

Dylan

商业 LED显示屏 全彩LED显示屏 户外LED显示屏 led显示屏厂家

YashanDB NULL

YashanDB

数据库 yashandb

Web3项目开发流程

北京木奇移动技术有限公司

软件外包公司 web3开发 区块链开发公司

2025 用户力荐的国内 RPA 工具,哪款才是你的最佳之选?

Techinsight

RPA RPA评测 RPAxAI RPA Agent

Mac 屏幕录制和视频编辑软件 ScreenFlow 10中文版

Rose

YashanDB数值型数据

YashanDB

数据库 yashandb

YashanDB数据类型

YashanDB

数据库 yashandb

企业可以自己做等保测评吗?

黑龙江陆陆信息测评部

故障定位系列-1-接口级故障

乒乓狂魔

故障定位 根因分析 AIOPS 可观测

秘籍流出!一站式数据管理解决方案

引迈信息

网易邮箱DolphinScheduler迁移实战:从部署到优化,10倍效率提升的内部经验

白鲸开源

开源 网易 Apache DolphinScheduler 任务调度 网易邮箱

招商引资管理系统(源码+文档+讲解+演示)

深圳亥时科技

Slidepad for Mac侧边栏黑科技:滑动切换效率提升300%

Rose

养老机构平台运营与开发:数字化时代的智慧养老解决方案

网站,小程序,APP开发定制

Web3项目的开发框架及特点

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

新职人必看:有哪些小众却超神的提效工具?

Techinsight

RPA XMind RPA Agent

淘宝商品详情数据API接口item_get深度解析 | 开发者必看的实战指南

代码忍者

淘宝API接口

Apache Calcite 在 MyCat2 中的实践探究

端小强

#Calcite

深度剖析:AI Agent 与 RPA 融合的底层技术逻辑

Techinsight

RPA RPA Agent

SecureCRT for mac(好用的终端SSH仿真工具)v9.4.3正式注册激活版

Rose

YashanDB字符型数据

YashanDB

数据库 yashandb

TDengine 发布时序数据分析 AI 智能体 TDgpt,核心代码开源

TDengine

数据库 tdengine 时序数据库

NocoBase 本周更新汇总:支持用户角色并集

NocoBase

开源 低代码 零代码 用户 版本更新

深度剖析 StarRocks 读取 ORC 加密文件背后的技术

vivo互联网技术

数据库 大数据 加解密 StarRocks orc

怎么在线快速制作PPT?5个PPT生成工具盘点!

职场工具箱

职场 PPT 办公软件 AIGC AI生成PPT

YashanDB布尔型数据

YashanDB

数据库 yashandb

看一看Buzzword拼写检查的实现_Java_Jon Rose_InfoQ精选文章