heX:用HTML5和Node.JS开发桌面应用

丁宗秋

简介:heX,一个允许你采用前端技术(HTML,CSS,JavaScript)开发桌面应用软件的跨平台解决方案。是你开发桌面应用的一种新的选择,意在解决传统桌面应用开发中繁琐的UI和交互开发工作,使其变的简单而高效。特别适合重UI,重交互的桌面应用软件。

欢迎关注http://hex.youdao.com  或微博 @youdao_hex

一、项目背景

二、用heX开发桌面应用的优势

三、如何用heX开始一个桌面应用程序

Continue reading

最聪明的 web 框架字符转义设计

David

特殊字符的转义(escaping)对于网页安全和用户体验至关重要,由于在 HTML 的不同位置,需要对不同的字符进行不同的转义,各种框架/脚本语言提供了若干个不同的函数,但是,这里要介绍的是 Go 的自带 Web 框架,它能够识别 HTML,自动的选择转义含糊进行正确的转义。

Go 语言是 Google 发起的开源项目,现在已经有大量的外部人员参与到开发当中,其中不乏中国的程序员。由于是一门新兴的语言,因此设计不少之前编程语言的经验与教训。为了适应当前开发的需要,Go 自带了 Web 框架:template。

template 的一个最大的特点就是会解析模板中的 HTML 语法,从而知道所要替换的变量在网页中的位置,从而正确的进行转义,下面看一段例子程序(边边角角省掉了,template 需使用 “html/template”):

t, _ := template.New("foo").Parse(  
  `<a title="{{.}}" href="http://example.com/{{.}}/hello?q={{.}}">{{.}}</a>` +
  `<script>var s = '#Hello? I\x27m David='</script>`)  
t.ExecuteTemplate(os.Stdout, "foo", "#Hello? I'm David=")

Continue reading

是时候抛弃Eclipse转向IntelliJ了

Loki(研发工程师)

2013年Google I/O大会,推出了新的Android集成IDE“Android Studio”,最大的转变就是从Eclipse切换到了IntelliJ IDEA

Google终于抛弃了Eclipse了
IDE是个大坑,不是谁想做就能做的,关键问题是做了也赚不了大钱。Google才不会吃力不讨好,搞Chrome可以给搜索带流量,搞Android能打击对手苹果,搞IDE能干啥?所以,Google需要只是一个集成的傻瓜包而已。让只有一个月Java基础的人,也可以直接下载了这一个傻瓜包,照着教程就能学习Android,而不是把大把的时候花在折腾插件上。

Continue reading

与有道技术经理面对面

                              —关于实习生项目
 
5月23日晚,有道两位管理层大牛来到清华的同学当中,就大家近来关心的实习生招聘事宜进行了沟通交流。这里我们整理了一些大家都比较关心的问题,与大家分享。希望可以在您的求职道路上,提供一点帮助。
 
如果您还有什么疑问,可以随时联系我们。对于大家普遍关心的问题,我们会持续更新出来。

嘉宾背景介绍:

王焱  惠惠网产品研发总监
2000年进入清华大学计算机系本科学习,2007年计算机系研究生毕业,进入网易有道工作。曾参与过网易将军令的开发工作,之后负责了有道博客搜索,有道阅读的开发工作,从2009年开始负责购物的产品及研发工作,先后推出了有道购物搜索,网易返现,有道购物助手,惠惠网等购物类的产品。另外还担任网易有道技术职称委员,产品职称委员和运营职称委员,对技术,产品和运营的人员培养和管理都有丰富的经验。
 
陈彧  有道DSP业务研发经理
2004年清华大学计算机系本科毕业,之前因NOI’99一等奖获保送资格。2009年清华大学计算机系博士毕业后,进入有道工作。曾负责计算广告系统架构的改进,以及用户行为定向广告的算法研发。目前带领团队开展实时竞价广告的产品和研发工作。
 

Continue reading

手机GUI自动化测试介绍

Xing Binbin(测试工程师)

摘要

众所周知,自动化测试可以一定程度上减轻测试人员负担,提高测试效率,并且通过自动化还可以实现可靠性测试和性能测试。对于移动客户端测试而言,如果我们能够让手机自动运行应用程序来帮助我们检测功能的正确性,会不会很酷?有道测试组对一些热门的手机自动化工具进行了调研,并选择了一些工具进行实际的使用。本文将会结合实际工作,对移动客户端(Android&iOS)GUI自动化的工具调研和实现进行介绍。 Continue reading

有道春季GEEK节-第二届HACKATHON活动

Fuyy

有道春季GEEK节暨第二届内部HACKATHON活动,在一派春意盎然的氛围中,圆满结束。

当今年1月举办首届HACKATHON活动时,在27小时内挑战自我,完成团队目标的活动形式,让参与者们高呼过瘾。冬去春来,延续了第一届活动的热烈气氛,第二届活动继续吸引了有想法爱挑战的同事们参与其中。

博客3

Continue reading

大数据实时更新框架

yumeng(有道开发工程师)

一、需求是什么?

互联网中的许多应用都有数据实时更新的需求,比如网页搜索如何展示几分钟之前的新闻结果,购物搜索中价格、库存信息的实时更新。在大数据量的情况下,数据如何做到稳定及时的更新?本文以有道购物搜索(惠惠网)价格更新为例,介绍一下数据实时更新系统的服务器端设计方案。

1.1 痛点之一:大数据

不管是网页搜索的时效性内容展示,还是购物搜索海量商品的价格、库存信息。都是单机较难承受的,同时,大数据对系统的可扩展性,以及运维的稳定性都提出了挑战。网页搜索是几百亿量级,购物搜索是几亿商品量级。

1.2 痛点之二:实时性

如果只是大数据,我们可以用时间换空间,传统的慢慢的批量更新就好。但很多实际应用,用户需要第一时间掌握最新的消息(网页搜索场景,分钟级别的最新新闻),用户可能几分钟之内就下单,需要了解当前最准确的价格和库存信息(购物场景,热门商品价格和库存变化之后,分钟级别的更新到前台)。实时性不可或缺。
Continue reading

共享数据内存副本的管理和同步

yanghao

共享数据

通常而言,在集群化的环境中,或者多服务共存的背景下,多个系统服务需要使用大量相同的数据,而将这些数据进行统一的管理、分配和共享称为数据共享,而这些数据称为共享数据。使用共享数据,可以使更多的服务充分地使用已有数据资源,减少数据提取、装配等重复计算和相应开销,而把精力重点放在服务本身的业务逻辑的处理上。

一、 弱一致性共享数据

在共享数据中,主要分为需要强一致性的共享数据和弱一致性的共享数据。

其中强一致性共享数据需要满足各个服务之间的同步要求,简而言之就是在任意时刻所有服务看到的数据是完全相同的一份。一般来说,通过一个集中的数据中心\数据库来获取数据,或者各个服务通过使用分布式锁服务来满足强一致性数据的同步需求。强一致性数据一般来说数据量较小或访问速度要求不高,数据量小可以使用单点的数据中心存储数据,访问速度要求不高可以通过paxos协议实现多服务/多数据库同步。这类数据的例子如账户余额信息,商品存货信息等。
Continue reading

敏捷开发的实战经验

蒋炜航

什么时候适合使用“敏捷开发”呢?我们的经验是需要两点:一、团队有三名或以上的研发工程师;二、团队内有一名合适的Scrum Master。

clip_image002

Continue reading

个人云存储Open API

李崇欣 蒋炜航

本文刊登在《程序员》杂志2012年第9期。http://www.programmer.com.cn/13334/

开放与合作是当今互联网的主题之一,而提供Open API也成为了当下互联网服务提供商的一个趋势。在这个趋势下, 服务提供商、第三方应用、以及用户达成了三方共赢的局面:服务提供商通过第三方应用,为用户提供了更加多样化的服务,从而获得更高的用户活跃度与更强的用户粘性;第三方应用通过Open API非常简单地就能够在服务提供商的基础服务之上为用户提供更加精细化的服务,并接入服务提供商的用户群,从而获得快速增长的机会;作为用户,只需要一个账号就能同时享受服务提供商和第三方应用提供的服务。

个人云存储服务是这几年来日益成熟的一类云计算服务。特别是同步网盘和同步云笔记这两类云存储服务,通过同步的机制为个人用户提供了跨平台、跨设备的云存储服务,成为了时下流行的个人云存储服务形态。由于这两类云存储服务所提供的Open API有众多相同之处,本文将以同步网盘(Dropbox、Google Drive)和同步云笔记(有道云笔记、Evernote)的Open API为例,来讨论设计一套个人云存储的Open API需要考虑哪些因素,以及第三方应用应该如何使用个人云存储Open API。

Continue reading