讨论jQuery和javascript性能的文章并不罕见。然而,本文我计划总结一些速度方面的技巧和我本人的一些建议,来提升你的jQuery和javascript代码。好的代码会带来速度的提升。快速渲染和响应意味着更好的用户体验。
首先,在脑子里牢牢记住jQuery就是javascript。这意味着我们应该采取相同的编码惯例,风格指南和最佳实践。
首先,如果你是一个javascript新手,我建议您阅读 《JavaScript初学者的最佳实践》 ,这是一篇高质量的javascript教程,接触jQuery之前最好先阅读。
当你准备使用jQuery,我强烈建议你遵循下面这些指南:
缓存变量
DOM遍历是昂贵的,所以尽量将会重用的元素缓存。
// 糟糕 h = $('#element').height(); $('#element').css('height',h-20); // 建议 $element = $('#element'); h = $element.height(); $element.css('height',h-20);
为什幺要关注提交信息
git blame
的时候想跪谢基本要求
Fix issue #8976
autocmd Filetype gitcommit setlocal spell textwidth=72
git commit
上增加 -m <msg>
或 --message=<msg>
参数,而单独写提交信息作为一个开源项目,Node.js以及相关项目都是由社区和志愿者共同维护的,任何的改动都会引发大家的讨论,尤其是现在Node.js在软件行业 中用的越来越广,但是,5天前的一个Pull Request请求被拒绝引发了轩然大波,整个事件的起因是有人希望在注释中使用“them”替换“him”,减少具有性别歧视的内容。
Rackspace员工Alex首先提交了一个pull request请求,希望把libuv(node.js所依赖的库)注释中的“him”修改为“them”,大家对这样一个看似无关紧要的请求各持不同的意见,最终libuv的主要贡献者之一、StrongLoop联合创始人Ben Noordhuis拒接了Alex的请求。
随后事件开始升级,大家讨论的中心转向了具有性别指向的名词对于女性权利的侵犯,对于请求被拒绝,Alex表示十分困惑:
尽管这是一个微不足道的变化,但我还是很遗憾听到这个消息,我想不明白你为什么没有合并它。花费几秒钟时间按下一个“合并”按钮进而减少敌对的行为难道不是值得吗?
随着Alex支持者越来越多,Joyent员工、Node.js负责人Isaac开启了一个新的Pull Request,确认从现有的代码中替换具有性别指向的人称代词。
随后,Node.JS官网宣布: Ben Noordhuis 决定退出Node.JS核心开发团队,不再为Node.JS贡献代码,node社区损失一员大将。
水木社区上出现了一个贴子:终于把一个8万行的Python程序用Java重写了
争论主题: Python写大型系统是否缺乏可维护性。
正方: Python真可怕,非常容易被滥用,不适合写X万行以上的代码,写大型系统还得Java这样的正规军来。
反方: 用不好就说语言不好,而且Java省代码也不符合常识,Java束缚性太强,不适合喜欢自由的程序员;这其实是一个工程问题,如果再用Python重写的话会比Java写出的要精简的多得多得多。
贴子内容
在噩梦般地维护了一年多一个8万多行的Python程序之后,终于争取到机会把这个破烂玩
意用Java重写了一遍,大概是4万行Java左右。说说效果吧:
1. 从过去平均每周down一次,到现在连续运转近半年只down过一次。
2. 节省超过80%的cpu和内存
3. 代码多了很多功能,过去无数因为系统太复杂无法实现的功能现在都能简单清爽地实现
了。
4. 单元测试真管用了,不是过去那种把代码反过来写一遍的滥用mock了
前后代码都是同一个team写的,写代码的人都不是菜鸟(顶级公司的核心团队)区别只有
语言和几年的经验积累。
总结一句话就是:动态语言滥用起来真是可怕
珍惜生命,远离Python。
在由 True Ventures、Slow Ventures 与天使投资人领投的种子轮融资中,Technical Machine 获得了 100 万美元,这家今年新成立的公司位于波士顿,其创始人手里有一个名为Tessel的小巧项目,它致力于打造一个开发板,让懂 JavaScript 的你轻松玩转物联网。
Tessel 是一个能运行 JavaScript 的微处理器,趣味十足,藏于其背后的创业理念反映了一种新趋势。正如来自 Technical Machine 的 Kelsey Breseman 所言,Tessel 的目标是让网站开发者能够轻松玩转物联网。作为一个常用If This then That (IFTTT)来将网站应用与设备结合起来的人,我对此理念深信不疑。
无独有偶,Bechtel 的新兴技术部经理 Chris Matthieu 创立了被他称作是物联网即时通讯的Skynet项目,让人们用 Node.js 就能在网络上构建连接设备。再比如,IBM 的Node Red能让用户轻松掌控连接设备,弥补了应用于嵌入式系统中晦涩难懂的代码与开发者熟知的 JavaScript 语言之间的鸿沟。
用 Java 控制物联网显得太过臃肿,所以人们尝试通过新的编译器、对代码或中间设备的优化,让 Java 开发者与日益增多的连接设备联系起来,甚至还有人想利用连接设备改变网站后端开发环境。
以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念。由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍。本文将从Java的角度看问题,包含下面的这些概念:
1. 字符串
2. 链表
3. 树
4. 图
5. 排序
6. 递归 vs. 迭代
7. 动态规划
8. 位操作
9. 概率问题
10. 排列组合
1. 字符串
如果IDE没有代码自动补全功能,所以你应该记住下面的这些方法。
toCharArray() // 获得字符串对应的char数组 Arrays.sort() // 数组排序 Arrays.toString(char[] a) // 数组转成字符串 charAt(int x) // 获得某个索引处的字符 length() // 字符串长度 length // 数组大小
一篇关于创业idea被copy的问答,可以看出绝大多数都认为Idea不重要。
创业idea被大佬「偷走」,创业者该愤怒么?
360推出儿童手环,此前据说周鸿祎以投资为名与某家创业团队的领导接触过,据信360儿童手环正是该创业团队的想法、运营模式等。
1、好的idea更重要?还是执行力更重要?
2、如果你是该创业团队负责人,你会愤怒么?
回答之一:
实事求是的讲,创业里面最不值钱的就是idea,
先驱比较容易成先烈,
关键是做这个idea的人如何, 团队如何
团队才核心战斗力,团队的执行力够强,才能在试错的过程 中不断地调整方向……
我之前经营过的一个项目, 不到两个月时间模式就被人家全被copy过去了,而且网站内容一个字不差地全部copy过去,只要市场证明你的模式有效,就会有人抄,
所以如果你怕别人偷你的想法的话,你还是不要创业了,
在科研和设计部门经常有人会长时间工作,一周会超过70个小时。他们就像获得荣誉勋章的烈士一样。但我们要清楚一点,长时间工作其实意味着:你是在免费工作。
即使你获得了薪水,但你还是在免费工作。因为每周工作40小时之后,你继续工作的话也不会让你的口袋多增加一分钱。
长时间工作不合理,也不可持续。
客户和老板会期望开发人员长时间工作。
允许长时间工作的公司的企业文化大有问题。
每周工作80-100个小时会毁掉一个人。这完全是不可持续不健康的,因此人们会辞职。他们辞职的时候,我敢保证,他们肯定会跟同事抱怨辞职原因。这样的话,有可能会引发严重的员工流失问题,更糟糕的是公司将不得不想方设法摆脱让员工过度工作的恶名。
长时间工作意味着领导力薄弱。
长时间工作是项目管理能力缺乏的标志。
我们自己用了之后,觉得确实很方便,再也不用每过一段时间就要跑到电脑前面上架宝贝了,软件开在那里,基本上什么不用管,比以前省事多了。后来我们想,既然有用,别的卖家肯定也需要,于是我们把软件挂出来卖,70块钱一台机(绑定网卡),没想到反响不错,没过几天,卖软件的销售利润就比老婆卖银饰赚的还要多。
当我们卖这款软件时,市面上根本没有竞争对手,只此一家,别无分店。可是一个多月后,出现了许多模仿者,它们中一些,在销量上可能还超过了淘宝发布大王。即使如此,淘宝发布大王的销量也还是可以的,差不多每天能卖十来个授权,这对于当时的我来说,实在是一笔不菲的收入。大概是由于用的人越来越多,引起了淘宝网的注意,他们还曾派人电话采访了我,说要写一篇采访稿,记录淘宝网二次开发人员的创业情况,可惜的是,我一直没有见到那篇文章。
最后统计了一下,这个软件卖了超过十万元。说起来不多,但对于当时拿着几千元月薪的我来说,已经是一笔不小的数字了。靠着这笔钱,我终于拥有了属于自己的房子,开始了幸福的房奴生活。几年后,广州房价飙升,现在再次回想起来,可以说淘宝发布大王从一定程度上改变了我的人生轨迹。
Colin走到我的办公室门口叫我去看他最新的研究成果。他拆解了他的显示器切换器(用来在两台PC之间切换显示器的设备),拆开的设备就摊放在他 的桌子上。他用从RadioShack网站上淘来的部件重新组装了它,并用VB6开发了一套管理它的服务器和客户端程序,经过这样的改造,他实现当鼠移动 到屏幕边缘时显示器就能自动切换的功能。Colin在做这个项目时获得了很大的乐趣,并且正在变成我们团队里最强大的程序员。这发生在Arduino创建 之前一段时间,那时硬件Hacking的门槛还很高。VB6正在衰退,使用它的人被认为只能维护那些烂的LOB程序。从Colin身上,我看到了好的创造 者都会有的精神:享受创造的过程而不管使用什么样的工具。