iQuery实现CSS3 transition动画接口

2010年8月24日 21:48 查看评论(0) 分类:技术文章 Tags:

给iquery加了跟jquery差不多的动画接口animate,不过实现上是通过CSS3的transition。

效果点这里 (桌面浏览器只支持webkit内核,如chrome/safari)

iQuery源码

(全文…)

简化代码学习jquery动画源码

2010年8月18日 22:45 查看评论(2) 分类:技术文章 Tags:

效果见这里:http://bangswork.googlecode.com/svn/trunk/lab/effect/index.html

jquery的动画总体思路是:

有一个fx类专门处理动画,fx的各个实例共享一个timers数组和一个setInterval。对每个传进来的dom的每个属性值都新建一个fx实例去处理,一个fx实例对应一个dom的一个属性的变化。fx里有个step函数,可以计算出当前这个时刻这个属性要达到什么值。

这个step会通过共用的一个setInterval每13毫秒执行一次,这就可以使得它行成动画。另外如果浏览器速度太慢无法达到13毫秒执行一次step,动画也会按时完成,因为是根据当前系统时间计算属性要达到的值的。

每一个fx实例的step都会放进timers数组,实际上setInterval是持续执行timers里的每一个函数,这样只用一个setInterval就让众多属性“一起动”了。step里判断到超过了动画运行的时间,就会返回false让它从timers里移除,timers为空时clearInterval。

下面简单实现这整个过程:
(全文…)

javascript关于数组的几个常用伎俩

2010年8月16日 22:35 查看评论(0) 分类:技术文章 Tags:

1.把对象变成类数组

var a = { name : "jquery" },
b = ["elem1", "elem2", "elem3"];
Array.prototype.push.apply(a, b);
alert(a)	//[Object object]

//可以像遍历数组一样遍历这个对象
for ( var i = 0; i < a.length; i ++ ) {
	alert(a[i])
}

jquery就是用这种方法把jquery对象变成类数组的,效率还很高。

2.去掉一层嵌套数组

var a = [[1,2], 3, [4,5,6]];
var b = Array.prototype.concat.apply([], a);
console.info(b) 	//1,2,3,4,5,6

concat方法:

arrayObject.concat(arrayX,arrayX,……,arrayX)
concat() 方法用于连接两个或多个数组。arrayX为n个数组or元素参数
console.info([1].concat([2,3], 4)) //1,2,3,4

apply方法:

fn.apply(obj, args)
在obj的作用域下调用函数fn,并把数组args里的第i个元素作为第i个参数传给fn
例如
fn.apply(window, [1,2,3]) 等于 fn(1,2,3) (直接调用一个函数作用域就是window)

合起来就有上面那个效果了。

3.复制数组

利用Array.splice(0)可以快速复制一个数组

var a = [1,2,3],
b = a.splice(0);
alert(b)//1,2,3
alert(a==b)//false

4.高效合并字符串

var a = ["<div>","<span>","</span>","</div>"];
alert(a.join(”")) //”<div><span></span></div>”

通过这种方式合并字符串效率比 + 号高了近七八倍,因为js的机制导致每次给字符串追加内容都是抛弃原有字符串新建另一个追加后的字符串,所以效率会低。

在firefox下测试:

var a = []
for (var i = 0; i &lt; 100000; i++) {
	a.push("&lt;div&gt;");
}
console.time("arr");
a.join("");
console.timeEnd("arr");console.time("str");

var b = "";
for (var i = 0; i &lt; 100000; i++) {
	b += "&lt;div&gt;";
}
console.timeEnd("str");
//arr:19ms
//str:141ms

通过PHP curl向腾讯微博发送广播全过程

2010年8月15日 15:04 查看评论(22) 分类:技术文章 Tags:

效果见这里:http://webbang.net/lab/txwb/

由于朋友分布在不同的微博,我希望有个同步到twitter、新浪微博、腾讯微博的工具,但等这么久都没出现这样的工具,微博通似乎停工了,也不支持twitter和腾讯微博,于是想自己做个。

新浪微博和twitter都开放API,要实现同步发送很简单,腾讯微博未开放,就需要hack一下了。这次把研究过程都记录下来了,写得很长~实际上在curl实现那部分我花的时间比较多,走的弯路也多,但由于篇幅原因那部分都简省了~

(全文…)

新浪微博版twitese

2010年8月14日 22:50 查看评论(6) 分类:作品 Tags:

sina_twitese

架设网址:http://webbang.net/sinatwitese

项目主页:http://code.google.com/p/sinatwitese/

几个月前新浪微博找我做个实现微博所有功能的开源PHP客户端,换句话说就是把twitese改成用于新浪微博,但这样似乎没什么用,新浪微博又不用翻墙上,何必用到第三方网页客户端呢,想想可能是因为要有个微博应用的代码示例。

结果我花了点时间做出来,比较麻烦的是新浪微博的评论,下了挺多功夫的,其他都差不多,当时做到基本可以用了:

后来新浪的人有尝试修改一下外观,然后又很长一段时间毫无动静,我问了后才被告知他们不用这个了,打算自己写一个了,可能发现太难修改界面了,代码里还残留有很多twitter的东西,还不如自己写个效率高。于是我这个东西就无声无息地被埋葬了,现在掘出来晒晒太阳。

实习半月谈

2010年8月7日 12:58 查看评论(7) 分类:生活 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日 14:02 查看评论(5) 分类:随记 Tags:

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

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

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

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

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

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

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

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

学校事—校医院

2010年7月19日 13:58 查看评论(6) 分类:生活 Tags:

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

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

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

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

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

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

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

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

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

大三第二学期

2010年7月18日 1:05 查看评论(5) 分类:生活 Tags:

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

做了可以养活我的项目。

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

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

陪老爸在这边医院治病。

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

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

看完整部电视剧新三国

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

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

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

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

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

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

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

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

学院事——教务员车某

2010年7月11日 0:48 查看评论(11) 分类:生活 Tags:

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

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

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

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

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

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

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

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

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

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

转自我同学:

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

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

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

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

五六七八九……

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

最后

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

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