Web版的VNC
想在Web上远程控制远端的电脑吗? Guacamole 开源项目提供了这样的解决方案,其主要使用了HTML5和Ajax。下面是一个载图。如果你能够访问Youtube的话,你可以看看这个 视频 。
是啊,HTML5强大了,什么都能干了, 连Flash也要取代了 。现如今,什么事都在往Web上移植了,Chrome也OS了。可以预见在HTML5出来后,未来这样的事情会越来越多,以后的一些移动和掌上设备真的只需要一个Web Browsers.
想在Web上远程控制远端的电脑吗? Guacamole 开源项目提供了这样的解决方案,其主要使用了HTML5和Ajax。下面是一个载图。如果你能够访问Youtube的话,你可以看看这个 视频 。
是啊,HTML5强大了,什么都能干了, 连Flash也要取代了 。现如今,什么事都在往Web上移植了,Chrome也OS了。可以预见在HTML5出来后,未来这样的事情会越来越多,以后的一些移动和掌上设备真的只需要一个Web Browsers.
大家看到标题后的第一个问题可能是:“我们需要这样做吗?”
如果我们开发的是局域网 Web 应用的话,可能没有必要这样做。但如果我们的 Web 应用面向的是互联网上的成千上万的用户,这样做就很必要了。因为在现实世界中并不是所有的用户都有高数率的网络连接,也许用户使用的是拨号接入,移动设备,3G,或者是 USB 网络加密狗。如果我们没有在低数率的网络环境中测试过我们 Web 应用,极有可能在上线后收到一些意想不到的关于系统性能方面的抱怨。这个时候无论我们的 Web 应用界面多么地 Web 2.0,功能多么地强大,对于用户来说都失去了使用价值。
目前有很多工具能够模拟慢速网络,值得一提的是 Firefox Throttle ,这是一个 Firefox 插件,你可以设置上载和下载的数率,并且监控当前带宽的使用情况。另一个非常有用的特性是它可以控制你的 localhost 的连接数率,对本地测试很有用。
Firefox Throttle 的截图
另一个工具是 Sloppy ,它是一个 Java Web Start application。
2010年6月23日 Eclipse 3.6 Helios 正式发布,对 Java 程序员来说有哪些新特性值得关注?
1、检查并报告是否有缺失的 @Override 注解,此功能仅对 Java 1.6 版本适用。在以前版本中,当我们为一个方法加上 @Override 注解,但是这个方法实际上并没有过载(override)任何父类的方法时,将会得到警告信息。在新版本中,如果我们忘记为一个过载方法加上 @Override 注解,同样也会得到警告信息。
2、变量视图中新增了一个列用于显示当前变量类型的实例数(Layout -> Select Column)。
3、Java 视图中的包名称可以用自定义的规则来显示(Window –> Preferences –> Java –> Appearance)。
数量级25(10^25)是 Uncle Bob 在 RailsConf 演讲的主题。如果你用一台 PDP 8( 1960年代的计算机)和 Mac PowerBook 做比较的话,你会发现 Mac PowerBook 比 PDP 8 快8000倍,有6百万倍大的内存,11000倍的耗能,1500倍的容量等等。如果将这些0累加起来,很容易达到10^25。在过去40年里,我们的硬件计算能力获得了10^25倍的提升,而作为软件开发人员的我们并没有利用这些计算能力来提升多少我们的软件开发能力。没错,我们是写了不少的代码,但是它们基本上都是一些顺序语句,if 语句,和 while 循环等,没有什么新鲜的东西。你可能会说面向对象是新东西呀,但是那只是另外一种组织顺序、选择和迭代等语句的方法而已。除我们现有的编程语言之外,如果有新的编程语言能够产生并创造新的“微积分学”,从而将软件开发提高到一个新的高度,将会是一件非常令人期待的事情,因为顺序语句,选择语句和迭代等最终将成为历史。
Uncle Bob 认为以下四本书是软件开发人员必须阅读的,并由他自己来排名。
1. The Structure & Interpretation of Computer Programs 计算机程序的构造和解释 (By Harold Abelson & Gerald Sussman)
书中使用的是 Scheme 语言(Lisp 的一个变种),此书的内容曾经是 MIT 计算机系的一门课程,当然现在已经不是了。
2. Structured Programming 结构化程序设计 (By Edsger W. Dijkstra)
相信软件专业的同学们都上过此课程,我们的启蒙书籍。这本书讨论了 go to 是怎样的邪恶,同时也讨论了面向对象。对比一下今天我们视为 best practice 的测试驱动开发(TDD),go to 在过去也曾经是 Fortran,Cobol 等语言的核心。
3. The Annotated TURING (By Charles Petzold)
Uncle Bob 令人尴尬地忘记了这本书的名字,他自嘲说自己从来记不住这本书名。但是此书在他的推荐列表中列第三位。
4. Clean Code (By Robert C. Martin)
Uncle Bob 本人的大作。
我的一位同事将这位 Uncle Bob 视为软件开发领域中的上帝,Uncle Bob 这位大师在当下各类编程语言和平台层出不穷的时候,在我们为该学什么语言买什么书举棋不定的时候,推荐给读者这几本经典,也许是煞费苦心地想让我们参透软件开发的本质吧。不过会不会也是因为我们都在慢慢变老,许多旧的东西如今又变成了新鲜有趣的事情啦?(出自采访记者之口)
不知道大家有没有注意到StakeOverflow的 404错误页面 ?其显示了下面的这个图片:
这个是一个很有意思的图片,不知道你看懂了吗?看上去像Python,又像 Ruby,还像 Perl,当然也有 C的影子,还有 Brainfuck 。是的,这是一个杂交程序,杂交了Python,Ruby,Perl,C,还有Brainfuck(注意其中的#号),所有的语句都是输出“404”字符串。
关于这种杂交程序,本站以前也发布过《 C语言和sh脚本的杂交代码 》,大家可以前往一看。这样的有趣的玩法叫“ Polyglot ”,也就是说,把N种语言写在一个文件中,然后,该文件在任何编译器下都可以运行,上述的那段代码在Python,Ruby,Perl,Brainfuck下都可以正常运行,也可以被C和的编译器编译通过,并被运行。
下面是这个图片的字符码,以供各位试试。
首先一个先给大家介绍一个HTML5的资源网站: http://www.html5rocks.com/ ,在这个网站上,有三个子站:
第二个,给大家推荐一个Javascript库,叫—— DragDealer 。这个JS主要是处理Web上的各种拖动效果,脚本很小,在没有压缩的情况下也只有12K,而且没有任何的dependence,使用起来也比较方便。
第三个,是Apple的Showcase,我们都知道,iPhone不支持flash,但支持HTML5,大家可以点下面这些链接看看Apple公司自己做的HTML5的一些效果。当然,有一些需要safari浏览器。
下面这篇文章是从 StackOverflow 来的。LZ面试的时候遇到了一道面试题:“如果有三个Bool型变量,请写出一程序得知其中有2个以上变量的值是true”,于是LZ做了下面的这样的程序:
boolean atLeastTwo(boolean a, boolean b, boolean c) { if ((a && b) || (b && c) || (a && c)) { return true; } else { return false; } }
面试官接着问到,请对你的这个程序改进一下,但LZ不知道怎么改进,于是上StackOverflow上问了一下,下面是StackOverflow上的众网友的回答。再往下看的时候,希望你自己能先想一想怎么改进。
下面这个网站是关于伦敦地铁实时的运行图: http://traintimes.org.uk:81/map/tube/
这是个很有意思的网站,其数据是通过伦敦政府发布的 TfL API 获得的,然后再加上Google Maps的API,于是就有了这样的一个页面。很不错哦。
从这个事情,我们可以得到,英国的信息化的发达,首先地铁部门有实时监控的数据,然后以Web API的方式发布,从这点看来,我国的信息化水平还很差。主要是钱都投到G/F/W上去了。
以前本站发过“ 1980年和2009年的1GB电脑内存的比较 ”,下面是2000年的iMac和2010年的iPhone的比较。
2000 – iMac
操作系统 – Mac OS 9.0.4
处理器 – 500 MHz PowerPC G3 CPU, 128MB Memory
显示卡 – ATI Rage 128 Pro, 8MB of memory (8 million triangles)
屏幕- 786K pixels
数据传输速度 – 1.3-12.5 MB/s (DVD-ROM-1/100 Ethernet)
存储设备 – 30GB Hard Drive
显示器 – 15.0 x 15.0 x 17.1 inches
重量 – 12.25公斤
2010 – iPhone 4
操作系统 – iOS 4.0
处理器 – 1 Ghz ARM A4 CPU, 512MB Memory
显示卡 – PowerVR SGX 535, uses system memory (28 million triangles)
屏幕 – 614K pixels
数据传输速度 – .04-20MB/s (3G-WiFi)
存储设备 – 32GB Flash Drive
显示器 – 4.5 x 2.31 x .31 inches
重量 – 136克
那么,2020年的产品会是怎么样的?
在计算机的世界里,什么最牛? Javascript ? C语言 ? C++ ? iPad ?还是 brainfuck ?我个人觉得都不是,这个世界里,XML最NB,这世界到处都充斥着XML,正如在“ 十条不错的编程观点 ”文中所说,我们不用XML我们都不知道怎么编程了。下面,让我们来看一看XML的几个真实的示例,相信你会同意我的观点的。
<?xml version="1.0" encoding="iso-8859-1" ?> <result> <fields> <field>NAME</field> <field>LAST NAME</field> <field>MOTHER MAIDEN NAME</field> <field>BIRTHDATE</field> ... </fields> <data> <row> <value>MARLENE</value> <value>RUTH</value> <value>DE MARCO</value> <value>1973-02-24 00:00:00</value> ... </row> </data> </result>