开发者须知 HTML5 的15个新特性
2012/02/22 · IT技术, Web前端, 开发
HTML5想必大家都很熟悉了,因为太多的媒体在讨论这一技术。然而,你能准确地说出HTML5带来了哪些新特性吗?本文总结了HTML5带来的15项你必须知道的新特性。
Hadoop:你不得不了解的大数据工具
2012/02/21 · IT技术, 开发
如今Apache Hadoop已成为大数据行业发展背后的驱动力。Hive和Pig等技术也经常被提到,但是它们都有什么功能,为什么会需要奇怪的名字(如Oozie,ZooKeeper、Flume)。
CouchDB 入门指南
2012/02/21 · IT技术, 开发 · 1 条评论
你曾经梦想拥有一个不需要用SQL语句就可以轻松访问的强大数据库吗?Apache CouchDB就是这样的数据库。在这个教程中,你将会学到看到如何开始使用这基于文档的数据库,以及如何用PHP使用它。
Java堆内存的10个要点
2012/02/20 · IT技术, 开发
当我开始学习Java编程时,我不知道什么是堆内存或堆空间,我甚至不知道当对象创建时,它们被放在了哪里。当我开始正式写一些程序后,我会经常遇到java.lang.outOfMemoryError的报错,之后我才开始关注什么是堆内存或者说堆空间(heap space)。对大多数程序员都经历过这样的过程,因为学习一种语言是非常容易来的,但是学习基础是非常难的,因为没有什么特定的流程让你学习编程的每个基础,使你发觉编程的秘诀。对于程序员来说,知道堆空间,设置堆空间,处理堆空间的outOfMemoryError错误,分析heap dump是非常重要的。这个关于Java堆的教程是给我刚开始学编程的兄弟看的。如果你知道这个基础知识或者知道底层发生了什么,当然可能帮助不是那么大。除非你知道了对象被创建在堆中,否则你不会意识到OutOfMemoryError是发生在堆空间中的。我尽可能的将我所知道的所有关于堆的知识都写下来了,也希望你们能够尽可能多的贡献和分享你的知识,以便可以让其他人也受益。
Java中的堆空间是什么?
当Java程序开始运行时,JVM会从操作系统获取一些内存。JVM使用这些内存,这些内存的一部分就是堆内存。堆内存通常在存储地址的底层,向上排列。当一个对象通过new关键字或通过其他方式创建后,对象从堆中获得内存。当对象不再使用了,被当做垃圾回收掉后,这些内存又重新回到堆内存中。要学习垃圾回收,请阅读”Java中垃圾回收的工作原理”。
如何增加Java堆空间
在大多数32位机、Sun的JVM上,Java的堆空间默认的大小为128MB,但也有例外,例如在32未Solaris操作系统(SPARC平台版本)上,默认的最大堆空间和起始堆空间大小为 -Xms=3670K 和 -Xmx=64M …
来源:技术奇异点
从安全方面来说,用户是系统中最薄弱的环节。不过「聪明的」用户总是会找出各种理由把责任推卸给「技术」。甚至研究者有时也会落入这种陷阱。
不久前在知乎上有一个关于 MD5 的讨论。 不得不说 MD5 是一种非常弱的 hash 算法。考虑到使用 SHA-1 等更强算法的额外负担完全可以忽略,我建议无条件的避免使用 MD5。但是从另一个方面来说,到底多少安全问题真正的责任在于 hash 算法的脆弱性?我在知乎上的总结是这样的(下面有些描述是符号化的,但在知乎上用的是非符号化语言。如果二者造成理解上的差异我为知乎上的不准确抱歉):
给定一个 hash 算法 f(x),对 f(x) 的「破解」有下面几种方法(注意「破解」不能等同于攻击。破解是非蛮力攻击。所以以下方式均有「比穷举算法效率更高」这个限制):
1、使用比穷举算法效率更高的方法得到 x1 和 x2,满足 f(x1) = f(x2);(可称为随机盲目碰撞)
2、给定 x1,使用比穷举算法效率更高的方法得到 x2,满足 f(x1) = f(x2);
3、给定 x1,使用比穷举算法效率更高的方法得到满足约束 A 的 x2 …
英文原文:The Age of Big Data,编译:来源:36氪
对数字在行?对数据着迷?那么你听到的是机遇的敲门声。
周墨(音译,Mo Zhou)去年夏天刚刚完成耶鲁大学的MBA学业就被IBM抢走,加入了这家技术公司快速发展的数据顾问的队伍当中。他们帮助企业弄清楚数据爆炸的意义—Web流量、社交网络上的评论,以及监控货物、供应商及客户的软件和传感器上的数据,以提供决策指南、削减成本、拉动销售。“我一直对数字情有独钟,”周小姐说。她是数据分析师,这个职位跟她的技能很配。
为了开发利用好这股数据洪流,美国需要大量像她这样的人。去年,咨询公司麦肯锡的的研究机构麦肯锡全球研究所进行了一项调查,调查预计,美国需要14万至19万名以上具备“深度分析”专长的人员,而对具备数据知识的经理的需求超过150万,无论是招聘的还是再培训的都行。
数据丰富的影响延伸到商业之外。比如说Justin Grimmer就是新生代的政治学者中的一员。作为斯坦福大学的一名28岁的助理教授,他看到了“一个机遇,因为学科正变得越来越趋于数据密集”,所以在自己的大学及研究生研究当中,他把数学运用到了政治科学里面。他的研究包括对博客发文、国会演讲以及新闻发布、新闻内容的自动计算机分析,以便深入了解政治观念是如何被传播出去的。
其他领域,如科学、体育、广告及公共卫生,发生的故事也类似—即数据驱动发现和决策的趋势。“这是一次革命,” 哈佛量化社会科学研究所主任Gary King说:“我们的确正在起航。不过,在庞大的新数据来源的支持下,量化的前进步伐将会踏遍学术、商业和政府领域。没有一个领域可以不被触及。”
欢迎来到大数据时代。硅谷的新宠,前有Google,后有Facebook,都是驾驭Web数据的大师—它们都擅长于给在线搜索、文章和消息披上互联网广告的外套。上个月,在瑞士达沃斯举行的世界经济论坛上,大数据是框定的主题之一。该论坛的一份报告,《大数据,大影响》,宣告了数据成为一种新型的经济资产,就像货币或者黄金一样。
里克·斯莫兰(Rick Smolan),《生活中的一天(Day in the Life)》系列摄影的作者,正计划在今年晚些时候启动一个名为《大数据的人类面孔》的项目。斯莫兰先生是一位狂热份子,称大数据有可能成为“人类的仪表盘”,能够作为一项智能工具帮助与贫穷、犯罪以及污染作战。隐私的倡导者则持怀疑的态度,警告说大数据就是老大哥(注:Big Data …
Java API 设计清单
2012/02/08 · IT技术, 开发
英文原文:theamiableapi,编译:highkay@东西
在设计Java API的时候总是有很多不同的规范和考量。与任何复杂的事物一样,这项工作往往就是在考验我们思考的缜密程度。就像飞行员起飞前的检查清单,这张清单将帮助软件设计者在设计Java API的过程中回忆起那些明确的或者不明确的规范。本文也可以看作为“API设计指南”这篇文章的附录。
我们还准备了一些前后比对的例子来展示这个列表如何帮助你理清设计需求,找出错误,识别糟糕的设计实践以及如何寻找改进的时机。
这个清单使用了如下的语言规范:
要 – 表示必要的设计
建议 – 表示在几个最好的设计中选择一个
考虑 – 表示一个可能的设计上的改进
避免 – 表示一个设计上的缺陷
不要 – 表示一个设计上的错误
1. 包设计清单
1.1. 共通
▲1.1.1. 建议把API和实现放入不同的包
▲1.1.2. 建议把API放进上层包,而把实现放进下层包
▲1.1.3. strong>考虑把一组大型的API分拆进不同的包
▲1.1.4. 考虑把API和实现打包进不同的jar包
▲1 …
MongoDB最佳实践
2012/02/07 · IT技术, 开发
已有很多文章对NoSQL选型方面进行过讨论。在选择一个数据库产品时,通常可能需要考虑以下因素:读写吞吐量、持久化、一致性以及延迟等。在Nathan Hurst的文章《Visual Guide to NoSQL Systems》中对这些方面都做了详尽的介绍。
数据挖掘:如何寻找相关项
2012/02/04 · IT技术, 开发
英文原文:bionicspirit.com,编译:CSDN张志平
导读:随着大数据时代浪潮的到来,数据科学家这一新兴职业也越来越受到人们的关注。本文作者Alexandru Nedelcu就将数学挖掘算法与大数据有机的结合起来,并无缝的应用在面临大数据浪潮的网站之中。
数据科学家需要具备专业领域知识并研究相应的算法以分析对应的问题,而数据挖掘是其必须掌握的重要技术。(相关文章:《数据科学家:未来至少5年内的好职业》)以帮助创建推动业务发展的相应大数据产品和 大数据解决方案。EMC最近的一项调查也证实了这点。调查结果显示83%的人认为大数据浪潮所催生的新技术增加了数据科学家的需求。本文将为您展示如何基 于一个简单的公式查找相关的项目。请注意,此项技术适用于所有的网站(如亚马逊),以个性化用户体验、提高转换效率。
(图中的《Data Mining》一书中文版是《数据挖掘:实用机器学习技术》)
查找相关项问题
要想为一个特定的项目查找相关项,就必须首先为这两个项目定义相关之处。而这些也正是你要解决的问题:
1. 在博客上,你可能想以标签的形式分享文章,或者对比查看同一个人阅读过的文章
2. 亚马逊站点被称为“购买此商品的客户还购买了”的部分
3, 一个类似于IMDB(Internet Movie Database)的服务,可以根据用户的评级,给出观影指南建议
不论是标签、购买的商品还是观看的电影,我们都要对其进行分门别类。这里我们将采用标签的形式,因为它很简单,而且其公式也适用于更复杂的情形。
以几何关系重定义问题
现在以我的博客为例,来列举一些标签:
["API", "Algorithms", "Amazon", "Android", " …
信息图:HTML5在游戏领域不敌Flash
2012/02/01 · IT技术, 业界 · 1 条评论
来源:新浪科技
在过去一段时间,关于HTML5的报道可谓是铺天盖地,称其性感十足,大有席卷整个互联网之势。然而,来自游戏网站One More Level的一份信息图却显示,并非所有主流游戏开发商都采用HTML5,在游戏领域,HTML5不敌Flash。
既然HTML5具备很多Flash没有的优势,那为什么还是不敌Flash?最主要的一个原因很可能是目前仅有40%左右的web浏览器支持HTML5,而Flash的支持率超过99%。
社交游戏巨头Zynga则试图两种技术兼顾,其最受欢迎的游戏Cityville支持Flash,而其第二大受欢迎的游戏同时支持HTML5和Flash。或许,Zynga同时推出两种技术的目的是为了测试用户反映,而这也是其他计划转向HTML5的公司不妨尝试的。
以下是来自One More Level …
完全理解关键字this
2012/02/01 · IT技术, 开发
今天的教程来自天才的Cody Lindley的新书:《JavaScript启蒙教程 / JavaScript Enlightenment》。他讨论了令人迷惑的关键字this,以及确定和设置this的值的方法。
概念性的概述this
当一个函数创建后,一个关键字this就随之(在后台)创建,它链接到一个对象,而函数正是在这个对象中进行操作。换句话说,关键字this可在函数中使用,是对一个对象的引用,而函数正是该对象的属性或方法。
让我们来看这个对象:
<!DOCTYPE html><html lang="en"><body><script>
var cody = {
living …
创新与回报
2012/01/18 · IT技术, 创业, 开发
来源:外刊IT评论
昨天在Hacker News上发生了一件有趣的事情,反映了当今世界上创新与回报的复杂矛盾。
有人给出了一个链接:visitor.js,指向的是一个放在某服务器上的Javascript文件,这个js文件能提供你关于你的网站的访客的详细信息(比如他在哪个城市,最后访问日期等等)。这个脚本的创建者把它做成了以服务的形式提供给人们,但你要每月支付10美元的使用费。
可是几个小时后,有人贴出了一个免费的开源版本的visitor.js。
不管你是如何感觉这个事情,下面这两点我觉得不能否认:
▲这个开源版的visitor.js的出现对整个软件行业来说是有积极作用的。所有的开发人员又多了一个新的软件工具,他们可以把它用在任何可以用到的地方。
▲开源版的出现使得visitor.js的原创者更难从中获取收益。Hacker News对创新起到了一种抑制作用。
软件业的经济现象非常的有趣。如果你开发出一种服务,十分的复杂,没有人可以简单的复制(比如Twilio),你会活得很好。如果你做了一个网站,吸引了千万计的用户,没有人能轻易的把他们从你那抢走——即使他们可以复制你的作品。
但是,如果你开发出一些很酷的东西,就像visitor.js,你在我们的软件技术系统里增加了有用的东西,但是,你从这种奉献中获取不到利益。
这种冲突改变了这个世界,使得每个程序员在开发软件时变得更有效率,但与此同时,从这些开发中获取利益却变的更难。
  …
由12306.cn谈谈网站性能技术
2012/01/16 · IT技术, 开发 · 2 条评论
12306.cn网站挂了,被全国人民骂了。我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题。因为仓促,而且完全基于 本人有限的经验和了解,所以,如果有什么问题还请大家一起讨论和指正。(这又是一篇长文,只讨论性能问题,不讨论那些UI,用户体验,或是是否把支付和购 票下单环节分开的功能性的东西)
浏览器的错误滚动
2012/01/12 · IT技术, 开发, 设计
我们期望浏览器可以滚动浏览文字。但是大部分浏览器的都不能正确滚动。
图1显示了一列文字,灰条代表一行文字,蓝色的正方框代表我们的浏览器目前的可视范围。红条是当前屏幕显示的最后一行文字,如果浏览器窗口更长些,就能显示绿色的那一行文字。
图1:滚动前
图2 显示当你按下“下一页”或者空格键的时候会出现的画面,以下两种情况都是合理的,浏览器窗口的最上面一行可以是红条,也可以是绿条。浏览器对此处理得很好,我们的眼睛也知道浏览到哪里了。
图2:滚动后的两种情况
但有个问题,图3说明,当你接近页面的底部,在当前屏最后一行文字之后所剩的文字不多了。
图3:有问题的情况:滚动前
当你此时按下空格键或“下一页”时,你期望的还是和之前一样的效果,如图4所示:两屏页面没有重合或者仅有一行文字重合。
图4:在接近页面底部时,浏览器应该如何处理滚动
但由于某些原因,浏览器不会在页面底部留空格,所以文字不会全部滚上去,如图5所示,你上一屏读到的最后一行文字会随意的留在这一屏的中间位置。
图5:在接近页面底部时,浏览器实际上如何处理滚动
当此种情况发生时,阅读被中断了,因为我不知道我上一次读到了哪里。
还存在另外一个问题,如果你在文章里链接了小标题,正确采用了程序段锚点进行标记,你所链接的位置应该出现在窗口的顶部。和上面的bug类似,浏览器不会在窗口底部留空格,所以很难对文章的结论用锚点链接。
为了详细阐明这一问题,这里给出本博客的两个链接。第一个链接中,小标题”索引”,能够正确显示。第二个链接,关于浏览器的一则评论,却没能够正确的出现在浏览器的顶部。
网上的众多页面中,这个bug之所以不明显是因为文字内容往往比侧栏要短得多,或者底部有很多装饰,往往有众多广告。想要阅读有关这个主题的内容,请移步Brent Simmons’的博客:“可读性的未来”
那这个问题可以解决吗?很简单,在浏览器窗口的底部加几行空格吧。
英文原文:tbray.org 编译:伯乐在线 – 唐小娟
【如需转载,请标注并保留原文链接、译文链接和译者等信息,谢谢合作!】
  …
来源:《程序员》
Adobe公司决定停止面向移动浏览器的Flash开发工作,但导致Flash最终失败的原因却不甚明朗。VisionMobile特邀作者Francisco Kattan撰文就导致Flash消亡的一连串事件进行了分析。
自Adobe宣布将停止开发面向移动浏览器的Flash以来,人们就展开了激烈讨论,很多 Flash开发人员表示惊诧和怀疑,分析师们不停地放马后炮,甚至有人恳请Adobe辞退首席执行官。Flash是一个引发人们强烈情绪反应的主题,其中 既有充满激情的开发社区,也有歇斯底里的批判主义者。虽然我本人是Adobe拥护者,也曾在Adobe任职,但我会暂时搁置感情,本着坦诚的态度,基于公 开的信息,客观地总结问题根源。
一颗Adobe多年前埋下的定时炸弹导致了Flash的消亡
我认为,既不是HTML5扼杀了Flash,也不是Steve Jobs扼杀了Flash,而是Adobe多年前“不经意间”植入的定时炸弹导致Flash的消亡。
虽然Adobe未能迅速适应iPhone的各种调整,导致了面向移动服务的Flash消亡,但Adobe早已埋下了导致产品失败的种子。为了了解问题的根源,首先让我们回顾一下iPhone上市前的市场状况,以及这些事件怎样为后来的事情埋下伏笔。
Flash Lite …
2011年使用率增长最快的十大Web技术
2012/01/06 · IT技术, 业界
W3techs网站评出了2011年十大使用增速最快的Web技术,本文对其进行编译供各位参考。注意,该评选结果是在针对前100万流行网站(根据Alexa值统计)进行调查统计出的,点击这里查看详细统计信息。
关于HTML5的11个让人难以接受的事实
2012/01/01 · IT技术 · 2 条评论
英文:11 hard truths about HTML5,编译:WebAppTrend
HTML5为Web开发者提供了很多强大的新特性,但是它的一些特定的限制会让它无法和本地应用匹敌。
HTML5整合进了很多新的特性,并且有可能提升Web编程模式。和每一个阅读技术资讯的人所知道的一样,没有任何一样东西能像HTML5对互联网造成更多改变。在代码中加入一些HTML5,网站会变得更快更炫。但是HTML5能为那些想要要网络上实现本地应用表现的人做什么可能不在此列了。
在享受了HTML5的新标签以及APIs之后,现在已经是时机来承认HTML5模式确实是有一些限制的。这些限制不但会让我们对HTML5的幻梦破灭,还有可能让我们在某些场合不再使用HTML5。
事实上是,尽管HTML5确实有很强大的功能,但它并不能解决所有问题。它的一些附加功能是非常强大的,能让Web apps成为native app的强有力的对手,但是安全问题、本地数据存储的限制、同步问题以及政治问题都会让我们减小对它的期望。毕竟,任何技术都是有其限制的。
下面是Web开发者需要接受的一些关于HTML5的事实。
事实1:安全是一场噩梦
客户端计算最根本的问题是用户最终拥有了对机器上运行的代码的控制权。在Web apps中,当浏览器拥有一个很强大的调试工具的时候,这种控制权比以往更容易被滥用。
当在浏览器中集成了一个Javascript的调试器比如Firebug …
2011年最热门的开源PHP项目回顾
2012/01/01 · IT技术, PHP, 业界, 开发
英文原文:open-source-php-projects-2011,编译:iteye
本文来自于对活跃在SourceForge和GitHub上的项目的分析研究,同时我也在Twitter上向大家进行了调查,以免漏掉了很热门但是我却不知道的项目。下面列出的项目都非常受欢迎,同时它们也成为了PHP编程界的标准,前景很好。(排名不分先后)
1. Symfony 2 及其组件
Symfony 2是一个完备的全栈HTTP框架,它可以以任何需要的方式来满足HTTP请求,而不仅仅是一个严格的MVC方法。Symfony 2为定义模块提供了一个Bundle API,你可以在应用程序之间进行模块移植。
此外,Symfony 2 有21个独立的组件,每个组件可当作一个独立的库。你可以用一个简单的Git子模块查看标准Autoloader或依赖注入容器。
2. Doctrine 和 NoSQL …
2011年回顾:把Javascript推到极限的20个网站
2011/12/27 · IT技术, 业界
英文原文:2011 in review: 20 sites thatpushed JavaScript to the limit,编译:webapptrend
对于浏览器上的开发者来说,2011年又是相当精彩的一年。web开发者Phil Hawksworth在这篇文章中总结了web 上经典的JavaScript用法。
那些喜欢冒险体验前沿技术的开发者现在应该会非常开心。浏览器正变得越来越强大,上面有各种丰富的功能可以供开发者选择,一些在几年前几乎难以想象的功能都已经一一实现。有了这些新功能,开发者现在能够开发出更精细、更复杂、更有想象力的用户界面了。这为网站开发扫清了障碍,网站能够拥有让人惊喜的用户界面了。
有时候,这种技术的运用是非常精妙的,它无声无息地改变了应用的用户体验。有时结果就像是加入樱桃可乐中的跳跳糖,悄悄地给人们带来惊喜。
这里有20个特别突出的网站,它们在定位、技巧或者是JavaScript的使用上有各自的独到之处。
演示网站
先看一些有趣的东西。这些网站利用JavaScript将Canvas,WebGL,CSS3和HTML5元素这些浏览器技术融合在了一起。通常这些技术只是用来取悦用户,或是在现代的浏览器中显示一些新的功能。虽然大多数的功能都很不错,但有些会占用大量的处理器或是显卡,所以笔记本电脑用户常常需要关注他们的笔记本温度,以免温度过高而出现异常。
1. Baroque.me
Baroque.me是一个简单,但是能够催眠的网站,它就用到了HTML5 …
HTML5终极指南:2012年的14个预测
2011/12/23 · IT技术, 业界
来源:IT经理网
无论是当红科技企业如Zynga、Facebook、Google和Apple,还是刚刚诞生的初创企业,2012年都是决胜HTML5的一年。以下是关于HTML5在2012发展趋势的大胆预测:
一、欢迎来到更加互联的Web世界
2012年,html5 将增加更多有用的开放接口API,供开发人员使用,让网站之间的连接更加紧密。
例如,Facebook上的Zynga游戏在iFrames里运行。通过调用最新的PostMessage API,这些游戏能在Facebook包容框架内互相之间通讯。在HTML5之前,不同窗口之间的通讯需要依赖远程服务器——或者使用不稳定的破解方法。
另外一个让人兴奋的新功能是CORS(Cross Origin Resource Sharing)。这是不同网站之间分享信息变得非常容易。例如,CORS将允许初创企业开发出一种能够编辑facebook图片的编辑服务,允许你修改之后再上传,无需通过糟心的破解途径。
基于HTML5的的语义信息(例如Semantics和Microdata …
.Net Android App Bug C++ C sharp CSS C语言 Facebook featuredpost Git Github Go Google Hadoop HTML5 iOS IT java Javascript jQuery Linux MySQL Nginx Node.js NoSQL php Python Redis shell soho SQL SQL Server UI UI设计 Vim Web Web开发 书籍 互联网 交互设计 产品 产品经理 代码 分布式 创业 前端 团队 大数据 女程序员 威客 学习 安全 安卓开发 客户 屌程 工具 工程师 开发人员 开源 微软 技术面试 招聘 效率 教程 数学 数据库 数据结构 时间管理 服务器 机器学习 架构 测试 浏览器 游戏 用户 用户体验 界面 码农故事 移动应用 移动端 程序员 算法 管理 编程 编程语言 网站 网页设计 职场 自由职业 苹果 设计 设计师 设计模式 趣文 软件开发 重构 面试 项目经理 黑客
密码明文存入 log?Twitter 程序员可能要被祭天了
2018/05/04 · 85 · 3
地址 1.1.1.1,Cloudflare 推新公共 DNS 服务
2018/04/02 · 67 · 6
C++委员会决定在C++20中弃用原始指针
2018/04/02 · 5
安卓用 Java 侵犯甲骨文版权,谷歌或赔 88 亿美元
2018/03/28 · 81 · 3
李文星家属诉 BOSS直聘:哪怕赔一分 能给个交代也值
2018/03/27 · 130 · 4