固定连接:http://www.gamtin.info/archives/258

有不少的Android用户都会比较迷惑网络设置里面的“数据漫游”开关是干嘛的?

其实,顾名思义,就是设置在漫游的时候,可不可以使用数据功能。简单来说,就是漫游时候,能不能用手机上网。

但是,这里的“漫游”,并不是北京用户溜达到上海,而是运营商之间的漫游。

如下图,我本来是联通186用户,到了日本,漫游到了当地的SoftBank网络。此时,尽管我打开了数据,但是只要是“数据漫游”仍旧是关着的(见上面的图),就不会产生数据流量(能省非常多的银子啊)。

 

固定连接:http://www.gamtin.info/archives/254

如果,你住在中国,且恰好有一台电视机并且可以收到电视信号的话,那么,关于各种XX医院的的广告是绝对不会陌生的。

他们的主治方向是这两个:

  • 意外怀孕
  • 不孕不育

第一个就不多说了,从我的观点来看,他们的存在几乎就是在做“反人类”的事情。

这里想说的是第二个。

经过他们的不懈努力,一遍一遍的在各个地方电视台的连续剧中间播放,终于成功了,成功的在这些喜欢看电视剧人群中树立了“大家普遍不孕不育”的良好形象。所谓“三人成虎”是也……

仅举几例:

1、某A,男,结婚不到2年,尝试要小孩几个月未果,被老婆大人强行抓去看XX医院。果然,毫无意外的被评价为“精子成活率低”,几乎上千元的补药便带回来了。

2、某B,男,结婚2年多,本来是没有要小孩的计划的(一直在避孕)。结果被父母的密友们怀疑需要去看XX医院,甚至会苦口婆心的推荐某医院。因为在她们看来,结婚后没有小孩是不正常的,当然需要看XX医院了。

3、某C,女,结婚后便举家去了日本,几月后仍旧失败,果断去日本的正规医院(遗憾,日本没有XX医院),被医生训斥:两年后如果还没成功再来找我。

 

固定链接:http://www.gamtin.info/archives/250

经历N年,3D版的《泰坦尼克号》上影。虽然我还没看,但是广大观众看后大叫不爽,因为裸露镜头再次被剪。网易也顺路放出这样一个专题:《电影如何更“美好”》。

在中国,有这样一个部门、一群人在做着所谓“审查”的工作早已经不是什么秘密。在他们的眼里,任何作品都应该是阳光的、男女关系都应该是纯洁的、结局都应该是完美的、好人是一定要胜利的⋯⋯因为如果不是,那么你就是在映射社会,甚至反人类了。实际上与其说他们是在净化我们的文化,倒不如说是在阻碍我们的文化。

奇怪的是,这个部门还有着相当高的工作效率,以至于网上出现过这样的调侃:

如果能够让审查电影的人和监管食品卫生的人对调一下就好了,这样我们就能够吃到放心的食品和看到想看的电影了。

印象中我们自称为“文化大国”已经很久了,最近些年甚至偶尔能够听到要做“文化强国”,这就有点恬不知耻了。所谓“大国”,还可以靠数量的优势来填补一下质量的低下(一说道数量,这是我们的传统优势),勉强算得上。至于“强国”,我们何德何能啊?不要说我们有《论语》、四大名著,那是祖上的事。你出去相亲,会和人家姑娘说:“我八辈祖宗官居一品,豪宅管家都有。”吗?

想想近些年我们的文化产品吧。

1)图书

高居畅销榜的除了养生的就是育儿的。

  • 参考1]当当网2008畅销榜前三名:《求医不如求己》《不生病的智慧》《求医不如求己2》
  • 参考2]当当网2009畅销榜前三名:《不生病的智慧》《好妈妈胜过好老师》《不一样的卡梅拉》
  • 参考3]当当网2010畅销榜前三名:《吃出来的病吃回去》《不生病的智慧》《不一样的卡梅拉》
  • 参考4]当当网2011畅销榜前三名:《史蒂夫·乔布斯传》《好妈妈胜过好老师》《百年孤独》

多么悲剧的事啊。除了养生和育儿之外的上榜图书全部都是外国人的作品!!

直接说写这些书的人都是江湖骗子可能有点过分,但是,中国人如此脆弱吗?需要全面养生了?

2)音乐

说真的,近几年对国产音乐似乎毫无印象。除了无穷无尽的选秀之外⋯⋯恕我无知,真没印象有什么好的作品。说起来,似乎网络音乐成就了一些人,倒不是音乐多好听,只是作为“口水歌”比较朗朗上口而已罢了。

3)电视

这几年电视作品真是非常多啊,对应这个数量,演员们的片酬也是水涨船高。但是,能够想到拿得出手的电视作品吗?

我能想到的。四大名著又全被重拍了一遍;金庸大侠的一部分作品也重拍了;一部分抗日题材的也重拍了⋯⋯除了重拍,穿越剧、宫廷剧又占了不小的比例。剩下的,去掉没有营养的偶像剧(竟然《流星花园》都能被重拍)和都市爱情剧⋯⋯我的脑袋里面空了,您呢?

4)电影

几大导演依旧是吸金利器,大导演+当红明星的阵容下,票房非常有保证。观众看开心了,他们数钱也开心了,这个事就过去了。国内大家一起开心了就完了,谁都没打算要走出国门的。

顺带一提,最近在日本逛音像店,能够看到的中文作品几乎全部是早期的香港电影。

5)其他

这个其他,包括游戏/漫画/动画等吧。

游戏没什么说的,国内现在基本就是网游的天下。主题依旧是武侠、历史(比如三国)、玄幻三大块。开发出来一个运行了2~3年就可以准备下一个了。

漫画⋯⋯我们有做漫画的吗?

动画。印象比较深的是《高铁侠》和《雷锋的故事》,当然都不是什么好东西(请自行点击链接阅读或者观看)。比较成功的算是《喜洋洋与灰太郎》系列,只是面对群体的年龄层实在太低,没什么营养。

说到这里,无非是想证明,我们真是没有资格去做“文化强国”的。而这其中的原因,除了这个浮躁的社会外,就是这些做“审查”的人了。他们扼杀了太多的好剧本和好创意。

说回这次的《泰坦尼克号》上,仅仅是裸露的镜头而已(并不是色情的)。要知道,正常情况下,这个世界上只有两种人:男人和女人,而正常情况下,大家是都见过异性的身体的。50%的人的身体构造和你相同,而剩下50%的人的构造你还知道,那么裸露又有什么不可的呢?一个裸露的镜头能够带来的不良影响实在是小的可怜。

在这里,真心的希望能够尽快的完善电影的分级制度,废掉这些人手中的剪刀,而只让这些人有评级的权利。电影分级在很多国家已经有很多成功的先例了,为什么我们还要“摸石头过河”呢?就算你剪掉了裸露的镜头,《泰坦尼克号》仍旧是个不太适合10几岁孩子看的电影,不是吗?

写在最后

这篇blog,从开始敲入第一个字开始到现在已经过去好几天了,几经删改仍旧无法满意。最近在日本,体验到日本人对文化作品的态度,这些等到下次再说吧。

另外,有没有推荐的Mac下的中文输入法?自带的这个实在是卡的严重(苹果整个系统做的都还算流畅,为啥单单输入法品质如此差劲?)。

 

固定链接:http://www.gamtin.info/archives/247

很抱歉,我的内容并不能解答标题的问题,实际上,这也是我的问题。

正好自己也到了需要养儿育女的时候了,且也在计划着。看着周边已经经历过,和正在经历的大家们,感觉养孩子似乎是非常可怕的事情。

刚开始是父母,爷爷奶奶,姥姥姥爷齐上阵忙活。不出门还好,出趟门基本等于一次小型的搬家,大包小包的一大堆。抱孩子的,拿包的,3个大人只能是基本配置。也正是这样,为了养孩子特意买车的家庭也不少(当然要有这个条件)。等到稍微大点儿了,似乎可以减轻一下,但是3个大人的配置也基本保持了。似乎要一直折腾到孩子能上幼儿园了,出门的阵势才可以简单一些。

最近在日本,路上经常能看到带孩子出门的,感觉他们的方式似乎特别轻松。孩子小点的,爸爸用“婴儿带(是这么叫?)”直接把孩子绑在胸前,然后就和大家一起去挤地铁了:单人配置。再就是周末,两口子去逛街,推着婴儿车就出门了,什么包包裹裹的都没有,爸爸依旧帅气,妈妈继续浓妆艳抹花枝招展(她们似乎也不用“坐月子”)。

同样是养孩子,为何差距如此之大?是我们的孩子更娇气?还是他们的基因更出色呢?

几十年的独生子女政策,让现在的一个孩子成为了6个大人的宝贝和希望。如此状况下,更加溺爱孩子似乎便是理所应当的了。如此考虑下,我们的这种阵势似乎也就说得通了。只是⋯⋯这么做,对孩子好吗?

有时候也会提到说孩子可以不用那么养法,更顺其自然不好吗。但是得到的反映基本都是:等你到有孩子的那天了,也一样。

说到这里,我其实无意评价我们的习惯和方法。只是从自己的角度来感觉这件事而已。看到了周围这些爸爸妈妈的辛苦状态,对养孩子,我感觉到的,更多是恐惧。

 

固定链接:http://www.gamtin.info/archives/240

最后,还是没能克制住自己,完成了最近的最大一笔消费:MacBook Pro

曾经,我是一个很坚定的“果黑”,虽然拥有两个iPod,后来又为老婆买了iPhone4,但是那时,对苹果依旧没有好感。觉得这只是少数人装逼用的东西。

但是,为什么就决定买了呢?

其实,我是不想留下什么遗憾。苹果,有着一定要体验一下的理由!

这就是:评价

很少有公司或者产品能像苹果这样,一半用户将它当作神,另外一半用户却当它是屎。不亲自试试的话,你怎么知道它不是为你设计的呢?

 

固定链接:http://www.gamtin.info/archives/235

这是最近以来非常忙的根源之一。

到现在为止,似乎即将有一个结果了,于是简单整理一下。

项目背景

简单介绍一下现在这个项目。

这是一个基于.NET Framework 2.0的SmartClient项目,当然这样说是为了好听。实际上就是一个C/S的东西,通讯靠的是WebService协议,将传输数据序列化为XML格式传来传去。客户端程序靠微软的ClickOnce来发布,还算方便。后面保存数据的是Oracle 10g。顺带一提,对DB的CRUD操作,基本都是Stored Procedure完成的。

问题

某客户积累了N年的数据,业务表达到了100万条,关联的Master表数据差不多30万条左右吧。某机能的任务就是按照客户要求收集这些数据,并且进行一些出报表或者整体更新的任务。

实际操作中,数据收集(结果量50万左右)会消耗2小时以上的时间,因为设置了2小时的Timeout,所以实际多少时间不详。改到结果20万左右的时候,2小时以内倒是可以结束,但是不时的在Client端发生OutOfMemoryException。为此,客户一直在抱怨,我们的压力很大。

分析/解决

表面现象是,大量数据的情况下性能非常差劲。分析下来,突破点有三:

  1. Orcale方面:优化SQL
  2. 程序方面:优化业务逻辑算法
  3. 传输方面:提高数据传输效率

逐条分别来说。

Oracle方面

在DB表结构已经存在,并且已经运行多年的情况下,如果想改变设计是非常不现实的。而且,现在来看,问题似乎并不是表结构设计有多么的不合理。业务数据表主要就是一个,虽然需要连接的Master表不少,且数据量也不小,但是都是主键之间的连接,这种小事对Oracle来说应该不会有太大的问题。

然后分析SQL文。这时候,做外包的短板就出现了,虽然接触了好多年的Oracle,但是对于性能上的考虑完全没有过。被逼到没办法,赶快上网学习怎样研究分析Oracle的执行计划。传统观念认为(包括网上的不少类似“Oracle性能优化经验XX条”),有子查询会降低性能,但是实际的计划看来,子查询对性能的影响其实是挺小的(注意,这里是有条件的,某些子查询的写法似乎对查询效率影响不大),Oracle引进的CBO优化器的效果果然很牛逼。折腾了2、3天,发现SQL完全没有优化的可能。

实际的执行来看,用本地的有5万条结果的DB,用不到5分钟便可以查询完成并且返回到客户端了,这种性能其实已经不错了。

程序方面

分析业务逻辑算法,这其实是相对最简单的了。

检查发现,客户端表示这些数据的性能非常差。还是上面的5万条数据,处理后,主画面实际上只需要表示1500条左右(其他数据会在几个子画面表示)。但就是这个处理,竟然消耗了20分钟!!

一看代码,才发现,这是个“金矿”啊。当时的程序员,将这数据Copy了2份,然后用3层循环来不停的遍历这些可怜的数据。整个处理下来,每条数据被访问了n^3次。于是果断的改掉,成功的将20分钟的处理降低到1分钟左右。

这个问题,正好可以用来以后做面试用:

假设DataTable中有5列(Columun_1~Column_5),现在想得到这样的结果,你怎么来实现?如果数据量非常大,怎么考虑性能?

在这个DataTable后面增加一列,Count(int),用来保存Column_1,Column_2结果相同的数据的个数。

例:

Column_1 Column_2 Column_3 Column_4 Column_5
1 1 1 1 1
1 1 2 2 2
1 1 3 2 2
1 2 1 1 1
1 2 2 2 2
1 1 4 4 4
2 1 1 1 1
2 1 2 2 2

结果:

Column_1 Column_2 Column_3 Column_4 Column_5 Count
1 1 1 1 1 4
1 1 2 2 2 4
1 1 3 2 2 4
1 2 1 1 1 2
1 2 2 2 2 2
1 1 4 4 4 4
2 1 1 1 1 2
2 1 2 2 2 2

其实是挺简单的算法,但是似乎对一些外包的程序员来说,有点难度的。

实际上,在DataTable中,用循环是性能很差的。如果只要取得Count之类的,还是用Select().Length/View.Count效率来得更好。

传输方面

大量的数据,不仅仅是运算的成本高,传输的成本也不低。实际测试来看,5万条数据的大小近50MB,这些数据在网络上传来传去的效率是不能被无视的。而且还发生过客户端接受数据的时候出现OutOfMemoryException。

于是有了这几种方案:

  1. 多次传送方案之一:多次从DB取得数据,类似分页。
    这个问题,头两天在Twitter上咨询过,因为结果是需要Orderby的,且排序的列包括了没有索引的列,所以性能会更差。一次整体取得4分钟不到,分开取得(每次1000条)的话,会直奔20分钟去了。此方案否决!
  2. 多次传送方案之二:单次DB取得,多次Client和WebService通讯。
    因为是基于WebSercie,就是单纯的请求(Request)/响应(Response)模式,一次请求结束后,该线程便被回收了,无法保存数据。且项目的框架已经固定,没法实现类似轮询功能(让WebService继续保持),再加上时间紧,没法(也不敢)大规模的改造项目框架。便想到,将数据以文件形式保存到Server侧,直到全部发送完毕再删除。虽然增加了些IO操作,但是就现在的硬件性能而言,这不到100MB的文件实在是小菜一碟。
    这个方案的问题也是明显的,这么多次的操作,如果某次出现错误,或者客户端异常了,搞不好这个文件就作为垃圾永远的留在Server上了,这是个无法接受的现象。所以,这个方案也基本上被否决了。
  3. 数据压缩
    现在的序列化方法是都转成Base64格式,经验来看,转成Base64本身就会让数据量增加。本来数据量就不小,还加,压力更大了。于是增加了压缩和解压缩的逻辑。实际测试来看,压缩后的数据量大概是原来的14%,可以达到预期,似乎是个比较完美的解决方案。
    但是 ,问题也是有的,虽然减轻了网络压力,但是增加了服务器/客户端的内存和CPU压力。这时候就是个平衡的问题了,相对于增加网络带宽,似乎换个性能更好的机器的成本更低吧。
    到这里,想到了西乔的那个漫画:猛击这里

最后

到这里,基本就基本结束了。本来想简单介绍了,但也写下了不少。

折腾这段时间下来,感觉做外包的,视野确实窄,接触的东西也太少。

 

固定链接:http://www.gamtin.info/archives/232

转眼间,整整4周了,独自在大阪的生活也基本上满一个月了。本来想的挺好的,每天都写点,但是非常不现实,能保证每周来一下就不错了。

OK,不说没用的,换点别的没用的说。简单总结下这4周,个别内容找时间专门再说。

1、忙。平时周一到周五平均都是夜里10点以后才下班,还有两天赶的终电,连跑带冲的到车站,才避免露宿街头之苦。习惯是挺可怕的,习惯这个时间走了,突然改变会很不习惯。上周某一天8点多跑路,一路上各种负罪感啊。

2、冷。来之前,想着这边暖和啊,于是全部春装就过来了,结果现实无情的鞭笞了我一下。经过了整整一周的上下牙打架之后,周末跑去买了件大衣,算是基本复活了。顺便一提,日本人(特别是女人)的耐寒能力真强,这么冷得天,一个个的还光腿 or 丝袜出门。

3、赶上一次地铁事故,某站着火了,结果全线停运。换地铁别的线,再转JR,好大一圈才到公司,结果迟到50分钟。和同事一说,大家普遍表示好难遇到一次,我中奖了。

4、去了趟京都。不过有点遗憾,似乎冬天还没过去,好多寺院都在装修,闭门不开。于是简单走了一圈就回来了。网上查了下,3月应该有庆典,到时候去凑个热闹。

5、今年似乎普遍偏冷,樱花开发还有一段时间。大阪城公园的梅花倒是开放了。跑去一看,人和花基本一样多……住在非常繁华的心斋桥商业街附近,却非常喜欢大阪城公园附近的这种清闲敢。午后,挽着爱人,牵着狗,无聊上一下午。

6、最近在纠结要不要去趟东京。想去是因为好几个朋友在那边,不想去一个是成本过高,另外就是除了见他们,也没别的事干了。继续纠结吧。

7、买了啥?最大的消费是一PSP,同时有了人生的第一个正版TV Game游戏,全部2万2千日元多。第二大花费是地铁的月票,月给9110日元。第三名是上面提到的大衣,8000多。加班多的好处,就是省钱啊。

8、吃的?大阪有日本厨房之称,美食很多。不过这月来,还真没吃到什么好东西。平时午饭公司附近搞定,晚上全部便利店,偶尔早了,去吃个牛肉饭算是改善伙食了。有特色的,就算是有名的章鱼烧了,为了吃它,真是排了好长的队啊。吃完然后,去旁边继续排队等着吃那一蘭拉面。为了这两样,排队就差不多1小时吧。

这周起,感觉应该不会那么忙了。要让我的生活增添的色彩了。

 

固定链接:http://www.gamtin.info/archives/228

一共7天,除了第一天是在移动,剩下6天的关键字:忙。早10晚11已经变成普通了。喏,今天是周六,也依然上班了。而且,今天还特别冷,虽然万幸不需要西装了,但是牛仔裤和冲锋衣的御寒能力也好不到哪去。于是,明天周日唯一一件必做的事情就是–买件大衣。

说实在的,标题的开头不太好,非要这么一天一天的写,非常的累,更重要的是,真没什么可以写的。比如说这周,除了干活就是加班,我总不能冲出来写写我的项目吧。那样可是会被开除的哦。不过也有好处,自己帮自己数着日子。看看一共77天吧,现在过去7天了,已经完成1/11了。那么,我的心情是如何呢?是“啊,已经过去1/11了啊~早すぎる”?还是“才过了1/11啊~”?感觉上两者都有,前者居多吧。

我果然是个比较随遇而安的人。这几天不少人关心我,问我习惯不,生活上啊,饮食上啊。我说习惯啊,而且不仅是习惯,而且蛮happy的啊。就好象出来前,还有建议我带些泡面香肠啥的。为啥要带?我也不是来做“苦行僧”的。

© 2011 Follow the Wind Suffusion theme by Sayontan Sinha