实习半月谈

2010-8-7 评论(8) 分类:生活 Tags:

在腾讯广研实习半个多月了,说点东西。

氛围

广研里技术氛围挺好的,应该有八九成都是开发人员,里面除了leader请吃饭其他时候都不会感受到上下级的关系。这段时间我跟导师还有另外两人一起做一个东西,这应该是我第一次跟人一起做东西,并没有碰到想象中的合作的苦恼,他们都很好沟通而且很照顾我这个新手(非常感谢),这次做的东西还是我自己喜欢的,所以整个过程很愉快。

因为工作是任务制的,上下班时间比较自由,大部分人10点多上班晚上8-10点走,但有时候新版本上线前夕会加班到很晚。据闻在腾讯工作压力还是挺大的,不知其他IT公司如何。

前端

腾讯的前端开发跟业界的不一样,一般前端开发是HTML/CSS/JavaScript,但腾讯把它们分离出来了,HTML/CSS部分叫页面重构,结果前端开发只需要写Javascript。前端开发这个刚刚上路的职业,一部分是由设计师转过来的,一部分由工程师转过来的,既然只需要写JS,那腾讯里的前端自然都是工程师转过来的。js在各浏览器的差异并没有那么大,让我感觉这跟用其他前后端任何语言开发并没有多大差别。在几次开会讨论方案的时候给我很浓厚的传统软件工程开发的感觉,以前我一直一个人做东西没有过这样的感觉。

对开发一个web应用(如Q邮箱)来说,js部分是一个大工程,可以用传统的软件工程方法去开发,跟HTML/CSS这部分用的是完全不同的技能,这部分偏向设计,而且需要考虑很多的浏览器差异,不应该由工程师做,分开来是合理的。对一个用js优化体验的网页(如淘宝)来说,纯粹的软件工程方法去开发不合适,需要新的技能树,合在一起是合理的。

分享

就前端界来说,技术分享和交流上为什么很少看到腾讯的影子?一没有blog,二在类似D2这些交流会上看不到腾讯影子,三没有开源产品。反观淘宝、百度、豆瓣这些公司都有不同程度的技术分享,特别是淘宝,有UEDBlog,很多员工都有写自己的技术blog,D2里大部分是淘宝的,最近还有开源框架KISSY。我问过导师这个问题,他说因为工作忙,上面需求不断下来,根本没时间做技术分享和交流,但公司还是鼓励这些技术分享的。

忙是主要原因,其他还有很多原因,可能是因为leader觉得分享技术并不会给公司和部门带来多少好处,做好上面给的任务才是正事。其实我觉得做好技术分享还是有好处的。

最主要的就是吸引人才加入。看过淘宝那些分享和BLOG的人都会觉得淘宝是前端开发人员的最佳去处。我看过腾讯ISD博客,我都觉得,如果我是学设计的,那我一定会以进这个部门为目标。最近我们组要招好几个前端开发人员,似乎比较难招到合适的人,我在twitter上有宣传一下,有人说,“广研在哪里?你们太封闭了,资料都搜不到”。嗯,有技术分享的BLOG,还能让人更好地了解内部环境,招人会容易一点。

其次是提高口碑,程序员是一个不小的群体,很多还属于所谓的“高端用户”,Q邮箱有很多细致的功能就是为了满足高端用户,让他们去散播口碑,而分享技术也同样可以达到这样的效果。

腾讯口号“最受尊敬的互联网企业”,说实话,虽然腾讯很强大,但要做到“最受尊敬”还差很远。不开放,不分享,只赚钱(或者说只做好各种各样的产品),很难做到“最受尊敬”。

其实广研里技术是很强的,我们组每周也有“吹水会”,里面有很多很好的技术分享,没有分享出来,可能除了上面说的之外,还有我没想到的原因,这我就不明真相了~

关于医院、政府部门的问题

2010-7-19 评论(6) 分类:随记 Tags:

之前碰到的学院教务员的事校医院的事,从各方面反应来看,似乎每个学校都这样,或者更恶劣,特别是校医院,每个学校校医院必是一个受气的地方,其他行政部门也不会对你有好的态度。在社会上更是这样,公务员不是混日子就是混官场往上爬,政府部门办事的人员态度绝不会好,容易办的事拖上你几天是正常,心情不好了拿你出气也是正常。很多公立医院也是,只要不是会死人的病,他们就会随便敷衍了事,看病者低声下气,医生趾高气扬。

以下直接拿医院来说,其他政府部门直接代入,一样。

医生在这个对外的岗位上,如果对来看病的人态度好跟态度不好都无所谓无影响,那9成的人会倾向于对看病的人态度不好,因为每天都有那么多人找他们,很多人的问题还是重复的,很无聊,有时也烦躁,特别是自己心情不好的时候,肯定会顺便发泄到那些人身上。

主要就是这个“态度好态度不好都无所谓”这点上,看病者虽然是给了钱来看病的,但在医院上钱不是直接给医生的,医生只是这家医院的员工,于是你对医生的收入没什么影响(顺便说下,对他收入有影响的是他开的药,所以都倾向于开很贵利润很高的那些药),他就算态度差他自己也不会损失什么,于是两个人关系不平等了,你没有什么权力可以制约医生对你态度好,医生却有整个给你看病的权力,于是相当于是你求他给你看病。

要解决这样的问题其实很简单,看看中国移动和某些银行营业厅怎么做,每次服务过后都有满意度调查,调查非常方便,只需要你动一下手指,而且调查是匿名的对方也不知道,总体的满意度会对他们有很大影响,给了客户一定的权力,而这个权力虽然不小但也不算大,因为如果客户态度太恶劣,服务员发飚一两次一个月只获一两个差评也不会那么大影响。于是双方关系就平等了。

应该所有政府部门和医院都有这样的评价机制,因为他们不像私营企业和个体户,需要保证客户满意才能活下去,他们什么压力都没有,需要这样的机制让客户制约他们。

那为什么他们不搞这样的机制呢,因为这对他们没多大好处。政府部门和公立医院相当于垄断行业,态度差你照样还得来办事还得来看病,我们态度恶劣你们不爽是你们的事。每个地方都装模作样地放了个投诉信箱,但有多少人真正去写,写了又会不会真正去理会真正有作用?明显装装样子罢了。能影响他们收入的,医院是给你开高价药,政府部门是巴结上级往上爬。普通人民的不满意算个屁。

其他国家怎么解决这问题呢?解决方法就是让普通人民的不满意不算个屁,算很大事。就是州长直接选举,你干不好下一届就滚蛋。那州长就得制约下面的人善待人民他才能坐好位置。在咱国家,“公仆”们干不干得好滚不滚蛋得看上面的意思而不是下面的意思。所以大体制不改,其他小问题改不了。

学校事—校医院

2010-7-19 评论(6) 分类:生活 Tags:

几年前补的牙近几天那些补的东西掉落了,得再去补牙。学校的医保指定只能在校医院用,实在不行才能转去别的医院。

于是考完试第一天我就去校医院,被告知牙医在开会,没得看。又被告知从那天起到8月13号牙医不会再上班。原来校医院也有暑假的,而且唯一的牙医都能放假。行,回去问了下人,说可以在急诊里转到中山三院。于是上周五再去了一次,被告知现在急诊很忙,下周一再来。

于是今天就去了,挂了号,挂号的人说,我也不知道能不能转,不能转的话是没得退挂号的。

于是到了急诊处等,医生是个50多岁的妇女,校医院大部分人都是四五十岁的人,而且还大部分是女的。在那等了半天,进去问她,她不耐烦地说那边一排的其他诊室也可以转,你去找他们。于是去找了另一个诊室的,另一个诊室说我这边转不了,你得到急诊那里去。皮球又踢回来了,又去找那个急诊的,急诊的嘴巴里念着说他那边也可以转的啊,接着就说去上厕所了。

好,上厕所上了快半个小时才回来,真不知道她是去吃还是拉,去喝还是撒,要这么久。旁边一个在等的人开玩笑说,要是真的需要急诊的人来了,急诊室没人,那人不就要死了。

回来后,她直接跟一个刚到不久的妇女聊上了,听了一点,才知道是认识的,她们扯谈一会后,那人送了个电锅给她,我们就站在旁边看得很清楚,她也不推脱就收了,收完后带着那个妇女去找了另外一个医生。找完医生我以为可以轮到我了,结果她被另外一个医生拉过去她办公室不知道讲什么,扯了半天。

我看再这样等下去也不是办法,再随便找了个诊室的医生问,那医生说她也不知道能不能转什么的,再去问那个急诊医生,最后说好了,她要动笔写了,结果写了个日期又停笔了,说真不知道这样可不可以转。叫我去医院后面找外科的人。“医院后面”是怎么个后面?我出去找了一下后再回来问她,这时她瞪了我很久,很生气地叫她旁边一个病人说,告诉他什么是“医院后面”。其实整个过程没少受那些医生的白眼和干瞪,只是这次瞪得比较夸张。貌似我每次看完医生特别是校医院的医生都会觉得,要是我能揍TA一顿那该有多爽,原始兽性哪~

找到了外科室1,里面一医生好像是在交一女孩打字,叫我去别的诊室看。找到了外科室2,整个过程就这里最轻松了,医生问了怎么回事,说了后,二话不说就帮我写同意转院了。终于结束了。

总结一下吧。1.医生普遍态度恶劣,不给你一下白眼似乎对不起自己 2.推卸责任,皮球踢来踢去 3.身为急诊医生上班时间长时间离开岗位 4.不会按挂号的顺序看病,熟人先上 5.明目张胆地收礼

大三第二学期

2010-7-18 评论(7) 分类:生活 Tags:

做了陆战军旗,新浪微博版twitese,iquery,和一些小东西

做了可以养活我的项目。

去了两趟旅游,桂林和杭州。

霉运多多,耳机 鼠标 摄像头俱报销,显示器被雷劈中坏了去保修,主板电容爆了去换,旅游时相机被偷。偶尔拉个肚子什么的。

陪老爸在这边医院治病。

养成了在google calender上记录一天主要事件的习惯。

看了一些书《经济学的思维方式》《博弈智慧》《活法》《把时间当朋友》《少有人走的路》《平凡的世界》

看完整部电视剧新三国

买了ipod touch,很满意,作用很大~

跑步跑了不算少,顿悟了节奏呼吸,哑铃倒练得少了。

在姐家四个人吃饭喝酒的光景一星期一次~

应聘腾讯实习生,那时候不蛋定。

中间回了趟家,家里最享受~

逃课逃得更多了。考试更容易了。

某些方面进步了,某些方面原地踏步。

恍恍惚惚地就结束大三了。

学院事——教务员车某

2010-7-11 评论(11) 分类:生活 Tags:

关于我们学校,我们学院,关于一个姓车的教务员,掌控我们学院选课等事宜。

我这学期少选了两门课,因为没看到学委发的选课通知。后来发现这两门课虽然说是“任选课”,但对于我们专业来说是必须选的,没选的人就要大四补选。于是找学院教务处C老师补选。

第一次找车某,她说你这得写申请条辅导员同意才行。于是写了申请条找到了辅导员。

第二次找车某,她说你光找辅导员不行,得任课老师同意并签字才行。我说那我去找下任课老师签名再过来吧,她说行,只要这门课的成绩没登记就行了。

第三次找车某,隔的时间比较长,结果她同意了,但却发现她提交不了选课修改了。她说她也不知道怎么回事,她说没办法了,说你太晚了。我问还可以找更高级别的管理员吗,她说不知道,没办法。我说选不上好像就毕不了业了,她说“毕不了业就毕不了业咯,可能就延迟毕业”。

去申请补选的的时候,我跟教务员车某提了意见,说,我们专业的课程安排和选课机制不合理吧。

1.我们专业定死了每一门课,不能选修任何一门其他的课,也不能漏选任何一门课,不管是任选课还是限选课。其他专业都有自己选择的自由。

2.既然我们课程都定死了,为什么我们漏选的时候没有提示,或者不直接帮我们选好得了。

她的回应是,管好你的事就行了,管这么多干嘛。当我继续说时,她就开骂了。“你都多大岁数了选没选上课还要人提示”

我女友重修了一门她很讨厌的课,考试前很痛苦地学习了1个星期,努力复习效果不错,考完试后感觉估计应该有80+。但发现考试名单上没有她的名字,于是找到车某,被痛骂出来,说你没报名就没有考试资格,现在给你报是不可能的,没收了试卷,试卷直接作废。一个星期痛苦的努力都化成泡影。以前重修是不用自己去选课的,今年突然要了,也没收到任何通知,问学委学委说发过群邮件了,没看到。举手之劳就可以挽回一个人一个星期的努力,不但不通人情,还狂骂人。找了院长副院长,被一堆废话搪塞回来了,简而言之不让补报。那时候我想,我在这垃圾学院待着干嘛?可惜我不够强大,不然直接辍学算了,或者入侵下教务系统,或者再把事情闹大一点?

转自我同学:

上个学期,金小莉的那门数媒设计的课,就是那门max的实验课,我们都交作品了,成绩都出来了,金小莉才打电话跟我说,她在上成绩的时候,才发现我们班有8个人没选上,叫我去跟车笛说,叫她补上那些名单,结果我还得挨那个车笛一顿骂,她骂我好久啊,说什么你们学生,自己选没选上课都不知道,你们自己的错,现在就来说是我们的错,什么的,骂了一大通,我还真是想骂死她!!!8个人都犯同样的错误吗?8个人都同时忘了选吗?神经病的

我上次去教务处弄那个东西也是,我发现我那门数媒设计的课,就是我找车某补选的那门,8个人漏选的那门,我看到我最后的成绩是重修,所以要去教务处修改,哇,拿那个申请过去给教务处那个老师哦,不对,不应该叫老师,真TM的恶心的臭婆娘,给我黑着个脸在那里,我叫你改个东西就有那么难吗?现在是你职务范围之内的工作耶,我有叫你额外帮忙些什么吗?你给我摆什么臭脸啊?

“她的意思是你麻烦到她了 劳她大驾了”

是啊,我又不是奴才,难不成叫你改个东西还要给您老人家磕头哦。而且本来就是你们弄错了,不然我还不用跑来跑去,找这个老师签名找那个老师签名还要学院盖章什么的,跑了多少趟啊,我没投诉你你先给我脸色看

五六七八九……

我还没毕业,看接下来一年用不用补上。

最后

找车某办什么事情,她一般不会给你好脸色看,她绝对不会在乎学校的教务系统给学生带来多大麻烦,她在乎的是你给她带来多大麻烦。别指望她能对你态度好,因为态度好对她没好处。你要祈祷找她的时候不要碰上她的某些时期,她会把脾气都顺便发在你身上。不要向她提什么意见什么看法,她会说你多管闲事。跟公务员一样,整天没人找她没事烦她就坐在办公室里吹空调上上网拿拿工资最好。她掌握每个学生的选课,她控制着我们能不能毕业,能不能捞到那张文凭,她很牛逼。

在行政方面,这大学,跟某些政府部门没什么两样,切。垃圾。

《独唱团》与小锤子

2010-7-10 评论(3) 分类:随记 Tags:

《肖申克的救赎》是我少数几部看了两三遍的电影,算是很熟悉了,在看到《独唱团》第一页时就觉得,那应该是电影里面Andy藏在圣经里的小铁锤的形状,这真是很巧妙的设计,充满暗喻,写几点想法。

《独唱团》暂时是一本体制内的书,它的愿望是通过小锤年复一年昼夜不舍地凿出一条通往体制外的道路。

一根小锤子怎可能凿出越狱通道,Andy告诉他们是可以的,《独唱团》也希望可以做到。

在监狱这么一个恶劣的体制内,也完全可以靠自己的能力和努力找到自己的价值。Andy为同伴争取到啤酒,十分满足。靠锲而不舍地写信建起了图书馆,惠泽多人。雕刻石头,寻找生活额外的乐趣。

在恶劣的环境下抱怨是没用的,也不必全心投入去开凿那条同往自由的路,如果一心只想着逃离后的自由,会是什么后果?Andy在不放弃自由的希望同时,可以努力地在体制范围内做很多有意义的事。

中国的体制没监狱那么恶劣,外国的体制也没沙滩那么美好。可以向往和努力去改变,但不要只看到自己生活环境那些肮脏的,忽略了美好的,只看到别人生活环境美好的,忽略了肮脏的。

iphone webapp:模拟tweetie

2010-7-3 评论(2) 分类:作品 Tags:

img_0026

地址:http://cnbang.net/lab/tweetie (桌面浏览器只支持safari/chrome)

IPhone Safari不支持position:fixed,这点很麻烦,一般读取内容的app都是头部和尾部固定,中间内容滚动这样的形式,而在web上没有了postion:fixed这个功能就没法这样做了。有人针对这个问题做了hack,iScroll做得很好,效果很平滑,甚至连旁边的滚动黑条都模拟了,还支持android和桌面浏览器,真是好东西。想拿它做个东西试试。

想实现tweetie里拖动刷新推的效果,于是对iScroll进行了小小修改,options里增加了edge参数,即设置哪里是边界。再用自家的iquery开始试着实现。

实现过程发现IPhone Safari性能还是挺差,一不小心就会变得很卡,例如:
1.头部放个会动的loading图片就会让整个滚动变得很卡,不得不去掉换成不动的loading图。
2.头部箭头翻转如果设置了动画转动,就会卡大约半秒才开始转动,不得不去掉这个效果。

结果现在的效果并不好,拖动刷新的过程没有原版tweetie那么流畅,不知还有没有优化的空间。

做这样内容式的webapp相对于原生APP来说,除了性能差点,还有一个缺点,就是webapp无法直接获取远程数据(跨域问题),除非用jsonp,像获取twitter数据这些,得在本地搭个类似代理才行,多了个服务器流量。

没有android可以测试这个应用,不过应该是支持android的~要是tweetie没被twitter收购,这东西可能还有做下去的价值,现在似乎就没啥价值了,就不继续做下去了~只是演示下效果。

另,在IPhone/ITouch上webapp真是二等公民,实在没法跟原生APP相比,不知道在IPad上情况怎样,有机会真想试试~

ThinkPHP数据自动验证中unique的缺陷

2010-6-23 评论(8) 分类:技术文章 Tags:

ThinkPHP可以为Model添加$_validate属性,使得在使用create方法创建数据对象时能自动对数据进行验证,详细看这里

这其中有个unique的方法,即是验证指定栏的数据在表中是否唯一。向数据表里插入“唯一”字段时可以自动判断并且提示错误,但ThinkPHP这个功能有个缺陷,导致这个unique验证基本上只能在添加数据的时候使用,不能在编辑数据的时候用。

unique验证的源码在ThinkPHP/Lib/Think/Core/model.class.php第944行,对unique验证时就是查找整个数据表这一栏这个值是否存在,这样做在添加数据时没问题,但如果在编辑状态下就有问题了。例如编辑一个用户名和密码,现在不修改用户名只修改密码,因为用户名要进行唯一验证,此时这个用户名没有修改,数据表上是有这个用户名的(就是在编辑的这行数据),于是就提示已存在此数据,无法保存。

我想解决的办法可以是:在验证的时候判断是否传进了此表主键的值,例如判断是否传进了$_POST[“admin_id”],如果传进了,对搜索到的数据提取admin_id判断是否相等,相等则不存在unique错误,不相等才出现错误。在这么核心的地方调用$_POST似乎破坏结构,那可以改改$_validate传递的参数。还不熟悉ThinkPHP,就不动手改了。

目前在我的应用中是只在新增数据时检测unique,编辑时不检测,如果编辑时unique的栏有重复了,再在save()时判断是否插入成功和提示,暂时是这样。

jQuery for Iphone: iQuery

2010-6-16 评论(2) 分类:作品 Tags:

img_0015 img_0017

仿照jquery的API写了专用于iphone的jquery,索性叫iquery。虽然API很多一样,但里面的实现大多不一样,sizzle引擎改成了现代浏览器自带的queryselector,其他API很多实现上是简化了,很多并不常用的方法和功能没加上,增加了iphone特有的touch等事件,详细看文档。因为内部实现是自己写的,又没有经过很多测试,所以还不能像jquery那样随心所欲地用不怕出错,还拿不出手,只能自己用,打算边用边测试,先放上源码和文档。

文档同时也算是iquery的使用演示。建议在iphone/itouch下查看,同时还可以挺好地支持电脑上的chrome和safari,其他浏览器不行~

P.S 目前文档还有很多方法没有加上详细说明

文档:http://tiny.cc/iquery

源码:http://code.google.com/p/bangswork/source/browse/trunk/iquery/iquery.js

目前压缩前17.8K,压缩后9.4K

IPhone Webapp:手尺

2010-6-7 评论(3) 分类:作品 Tags:

handruler_cover handruler_ctn

简介

测量手指比划距离的工具,两手指放在屏幕上,即会显示出两手指之间的长度,单位为厘米。

需要使用iphone/itouch打开并添加至主屏幕,才能开始使用,因为只有添加到主屏幕才能全屏运行。

应用地址:http://tinyurl.com/handruler

开发

一直很想开发iphone应用,还没试过开发用手指交互的应用,想想比开发一般的应用要爽。可惜想开发iphone应用得花很多本钱,首先买个mac,再买个$99/年的证书,我买个itouch都很费劲了,当然折腾不起。于是,转向webapp。

似乎开发iphone webapp的比较少,网上资料少,我想找iphone浏览器里多出了哪些事件,怎么全屏怎么离线缓存等都找了半天,后来在http://dedy.tv/看里面应用的源码直接偷过来了,但还是费了些周折。浏览器多出的事件也在这里找到了,真费劲。

于是先做了个小小的应用练练手,开发的第一个用手指交互的应用,虽然可能用处不大,但感觉爽,哈哈。

有空再写写开发iphone webapp跟普通网页应用的不同点。