几则琐记

(1)
前两天不记得在哪看了篇blog,大概的意思是说学AI的,或者做Data Mining的人,对数学要求会比较高,如果是做System的,就不需要太多的数学知识。俺深不以为然。
不过我倒是能理解这种说法,翻看AI领域的paper,大多都堆砌着不少数学公式和推理,如果是System方面的文章,可能通篇都找不到一行公式。另外一点易让人误会的是,做System的往往需要在工程上下很大的功夫,所以也不太容易体现出在数学上的造诣。但是这并不意味着做System的人就不需要懂数学了。相反,我认识的System领域的高手都有着很深的数学功底。他们的数学造诣不在于繁琐的数学推导,而在于对复杂问题的数学建模。想做一个好的System,就需要能够从数学的角度对问题加以理解,特别是对于System的performance建立一个有说服力的数学模型。
另外,不同的计算机领域其实要求的数学知识也不太一样。比如我以前做的NLP和Data Mining,对统计学要求颇高;如果是做Social Network的,就要对图论了解多一些;做System的人,大多对随机过程和排队论更加熟悉。

 

(2)

http://www.readwriteweb.com/archives/the_battle_against_info-overload_is_relevance_or_popularity_the_best_filter.php
这是我最近看的一篇感觉比较有意思的文章。内容是辨析了信息过滤器的两个重要维度:relevance和popularity,当然,还有另一个也许更为重要的维度:User Experience,不过,因为User Experience实在是有些虚无飘渺,俺就不啰嗦了。
所谓relevance,指的是基于信息内容的相关度进行过滤,比如搜索引擎,根据搜索的关键字对内容进行匹配,当然,现在越来越流行通过挖掘用户的兴趣爱好,主动的向用户提供相关内容的信息;
所谓popularity,指的是基于Social的过滤,比如开心网,甭管是什么内容,只要是好友的转帖就推送给用户;
虽然这两者并不矛盾,但做任何一种形式的filter,都应该先想想清楚,到底哪个维度才是最有效,最核心的。个人认为,现在的趋势下,popularity越发重要,特别是在推荐系统中。因为基于relevance的过滤搜索引擎已经做得很好了。当一个用户对某一方面的内容有明确要求时,往往他自己会很清楚这个需求,因此会主动的去使用各种形式的搜索(无论是google还是某种垂直搜索)。而愿意使用推荐系统的人,常常是漫无目的的,这时候,来自Social的信息会更有置信度,更加有效。
一家之言。

 

(3)
InfoQ前几个星期组织了一个Baidu沙龙,题目是“移动互联网基础技术解析——无线搜索与HTML5开发”。由于时间冲突没有去成。事后看了网上的记录,摘了些有用的内容:

相对于有线互联网,移动互联网的网速还是窄带时期,大部分的网络访问都属于慢速连接 。一个请求占用的网络连接的时间比有线互联网一个请求占用网络连接的时间要长。在同等的服务器端QPS下,并发连接数要比有线互联网模式的要高 。虽然web服务器的并发连接数问题非常容易通过增加机器来进行扩展,但是这个问题需要注意。尽量使用异步网络IO.

相对于有线互联网的包月付费模式,移动互联网用户基本都是有限的按流量的包月模式,流量费用昂贵。用户会首选耗用流量低的系统使用 ,这正是UC浏览器成功的原因。
所以在系统架构的时候,如果客户端浏览器支持gzip,那么尽量gzip压缩内容。如果是app的客户端程序,最好使用压缩传输内容。
web网页内容尽量简洁,url连接尽量压缩,省略BaseUrl。

由于移动网络的速度慢,速度优化就更加要得到重视。比如js,css文件的合并。
app与服务器端的交互是否使用自定义的协议进行提速。
网络操作的失败处理。

 

很大部分网站都是以有线互联网为主,同时推出移动互联网版本的。但是往往移动版本的功能有缩减,导致某些功能缺失。所以从产品的角度也应该把功能进行统一。所以涉及到有线互联网、移动网站、app 客户端的功能统一。(不是很赞同,不一定需要统一)

有人说,公司开发一款app客户端软件,在公司测试非常完美。等有一天,开发人员在火车上,地铁上拿出手机使用的时候,发现在网络不稳定的时候频繁崩溃。那么这种场景如何进行模拟测试?(是个很实际的问题)

移动互联网的发展将使手机终端能力不断增强,交互形式不断更新普及,带来更便利的信息获取的方式。第二个趋势就是现在进入APP时代,现在在App Sore上有30万APP,在Android Market上有10万多的APP,这让大家想起PC互联网早期的桌面小应用。所以现在有一个猜想,在未来到底是APP更多成为的入口,还是我们有一个唯 一的应用,最可能的就是Browser成为未来的入口呢?站在百度无线的角度,Browser可能是最后的赢家。 (这个观点我保留意见。Brower能不能成为最后的赢家核心在于构建于Brower之上的service能不能提供和APP相同的用户体验。手机不是桌面,一个不太注意设计的service很容易带给用户糟糕的体验。Browser成为最后的赢家可能只是开发人员的一厢情愿,决定权还是在用户手里)

相关link:http://www.infoq.com/cn/news/2011/02/baidu-salon-eleventh
http://www.cnblogs.com/sunli/archive/2011/02/19/mobile_architecture.html

 

(4)
一个Java菜鸟犯的错误: String和byte[]是不能够相互转换的。
首先调用 String b = new String(byte[] a);
然后调用 byte[] c = b.getBytes();
如果a不是字符串的话,很有可能a与c不一致。原因在于String的内部存储不是byte[],而是char[],即它会对输入的byte[]做字符集转换。这个过程可能是不可逆的。
结论:String只能装载字符串,如果是普通的字节流,还是用byte[]或者ByteBuffer这样的东东。

你可能感兴趣的:(String,网络,互联网,System,byte,browser)