Monday, October 17, 2011

WWDC2011视频的学习笔记(21)

本笔记将完成100系列的视频讲座。

131 - Getting Your Apps Ready for China and Other Hot Markets


这是我第一次在苹果的软件开放大会视频讲座中看到有关专门介绍如何为中国和其他国家热点市场开发软件。从这一点来说,一方面苹果是十分重视国际市场,尤其是中国的巨大市场潜力,另一方面,苹果根据自己过去的统计数据,中国和其他国家地区肯定给苹果带来丰厚的利润。在这些新兴市场,苹果将有巨大发展的潜力。

比如说,目前苹果主要的收入是来自美国以外的国际市场,中国是增长最快的市场,而且美国以外的用户都是非英语的用户。目前iPhone已经进入到许多国家和地区,苹果的操作系统本身都有各个地区和国家语言的支持。

对于软件开发者来说,苹果的平台已经设立了各个方面的开发接口,支持国际化的各种用户界面。该讲座重点介绍如何开发面向国际用户的软件。

设计国际化软件主要考虑到两个方面:一是文字、日期、数字、日历、时区等;二是用户的界面设计。其中第一方面,苹果的iOS已经提供了许多支持,软件开发者几乎不需要在编码方面做更多的工作,比如键盘和日期的设置。除此之外,苹果还提供许多容易使用的API,可以保证一个编译的软件支持所有的语言。

讲座详细介绍了苹果的国际化API及其使用:

NSLocal地区,格式和其它属性
NSNumberFormatrer格式和分析辨别数字
NSDateFormatter格式和分析辨别日期和时间
NSCalendar日历和相应的操作
NSTimeZone时区和相应的操作
NSString排序,搜索等

以上都有详细介绍,如何正确的使用,列举错误的例子,还有演示实例。

有关用户界面方面,首先介绍了输入文字的方法,这些操作系统提供免费支持。

接着介绍了各种文字的方向性,如阿拉伯文的双向性,中文和日文的竖式排版等。

最后介绍了Emoji,即绘文字,源于日本,后来许多手机的电邮都支持绘文字,苹果的iOS和OS X现在都支持绘文字,字的编码是Unicode 6.0。


133 - Lion-Sized Automation


本讲座的内容仅适用于苹果电脑操作系统Lion OS X,即苹果的自动化技术:

  • AppleScript
  • Automator and Services
  • Terminal

对于Automation新手来说,讲座推荐到macosautomation.com/training查询有关资料和学习内容。简单来说,Automation是一种苹果操作系统的自动化过程,在苹果的操作系统中根据实际的情况,如选择的文件,文字,菜单等,运行相关的自动化Actions或Services,这是在苹果操作系统中非常有用的功能。

本讲座介绍一些Automator和新的Actions, Services:
  • 更为容易的workflow转换
  • 更为容易的Actions安装过程
  • 更为容易的Services安装过程
  • 支持版本备份(versions support),这是新操作系统的文件版本功能
  • 新的音频编码支持的Action and Services
  • 新的视频编码支持的Action and Services
  • 新的网页设计支持的Action,比如选择一网页中的文字,然后在动态菜单选择Look up xxx就可以打开一跳出的动态窗口,根据内容打开wikipia, dictionary, 同义词等,提供非常方便的查询。
  • 新的电子书创建的Action,这是一个非常有意思的Action,通过它可以将选择的文件创建为电子图书。当然,这个自动过程产生的图书需要将原来文件的格式转为相应的章节,如果需要复杂的格式,这个功能还不能做到。讲座中有非常精彩的演示。

AppleScript是苹果的自动化过程的编程script语言。新的功能:

  • 有支持语音的功能,控制语言通过say指令的功能,选择各种不同语音;将文字转为auto文件;控制语音选择等。
  • 新的templates,许多有非常特殊有用的功能(在Library>Application Support>Script Editor>Templates)。
  • Cocoa-AppleScript Applets将Objective-C的许多功能融入AppleScript,比如Cocoa class methods, instance methods, 等,非常hot!

Terminal终端是苹果Unix的一个核心,通过它可以执行许多Unix的指令和程序处理等。新的终端有许多新的支持功能,全屏支持,支持多Tab,通过tab键自动完成文件名,文件夹或指令。我发现一新的功能是能够自动恢复,记忆上次键入的指令,这些在讲演中没有提到。

136 - Latent Semantic Mapping


这是一个非常有意思的讲演,该讲演在WWDC上透露了苹果在语言研究方面的最新成果和动态。隐约之中,我视乎感觉到苹果将在搜索方面将会有新的、出人意料之外的动作。

什么是LSM呢?这是一种分析文字文件的智能技术,它通过文字上下文的关系来分析归类一组主题。

接着讲座进行了实例演示。实例通过lsm指令来分析系统中的一些rb, perl, python文件,总共有14MB,分析只是花了大约两秒钟,得到一个map文件,然后通过这个分析结果的文件,进行比较分析,得出系统中那些文件夹可能是rb的文件,那些可能是perl的文件,那些是python文件。

注:看到这里,我打开我的苹果终端,lsm果然是一终端的指令。但我们没有发现该指令是否是Unix下的公共资源工具,我估计这是苹果的特殊工具。

LSM目前的应用可以用来分辨垃圾邮件,父母对孩子的控制,语言的转换,和语言的翻译等。

苹果高级科学家,博士,Jerome Bellegarda接着介绍了LSM是如何工作的。他说这个工具在其名字中就可以得到答案:

  • "Mapping"表示词和文件是多维空间中的点,这些点由零散映射到连续的实体
  • "Semantic"直译为语义,它是发现语言的组织结构,语义是根据文件的总体内容和意义来定义的
  • "Latent"原意是潜在的意思,因此解释的意思不是来自字典,而是根据数据推演出来;它是根据词之间的出现关系,自动处理其同义词和多种不同的意思。

他举例说明了这三个基本的概念,并进一步分析其研究的方式,对于我来说,这些分析是比较深奥的研究方式。

本WWDC是为软件开发者的会议,因此接着介绍了LSM的API的使用,LSM编程的基本方法。大概介绍了LSM中许多classes和之间的结构,三个基本点:Train, Evaluate, Archive。

接着介绍几个情况实际应用:

  • 垃圾邮件的过滤:在整个处理结构中,LSM是最后一道防线。
  • 帮助:通常的情况下,当人们搜寻寻求帮助答案时,结果不尽人意。通过LSM可以提高搜寻结果的满意程度。

最后介绍了如何在软件中利用LSM的功能,介绍了在哪些情况下LSM适用,哪些情况下不适用。

No comments:

Post a Comment