Advanced JavaScript

花费了一个星期业余时间的PPT终于写完了,主题是Advanced JavaScript,主要介绍JavaScript里面一些比较重要和复杂的概念。整个PPT在这里。

 

由于时间关系,目前只有英文版本的。中文版的内容请参看我之前写的文章:使用 Dojo 的 Ajax 应用开发进阶教程,第 1 部分:JavaScript 技巧与高级特性 

 

写比读困难多了

 最近试着在总结一些东西,写一些PPT之类的。总体的感觉是要把一个东西写出来的确是一件非常困难和耗时的事情。写东西不比平时的阅读。阅读的时候,多半不会怎么集中精力。对于所读的内容也就了解一个大概就算完了,并不用浪费太多的脑细胞。而但凡想写点东西,尤其想写一些让别人看着觉得不错的东西,多半会很累人。它需要把你大脑里面的很多脑细胞都调动起来。把你对某个问题的理解梳理清楚,用别人可以理解的语言描述出来。这中间你还需要不断的阅读其它的资料来扩充自己的认识。这是一个循环往复的迭代过程。
 
相对写文章或是PPT来说,写代码就要相对简单一些了。因为你所面对的只是计算机而已。计算机的语言比人的语言要简单太多了。就算是想在代码的可读性上花些功夫,所花费的精力也相对要小得多。所以很多时候我都宁愿去写代码,而不愿写文章或是PPT。不过这样的能力始终是需要锻炼和提高的。

简约在线视频播放器成功迁移到本网站内

在上一篇博文中提到了个人网站的转型,首先第一个尝试就是把之前运行在Google App Engine上的“简约在线视频播放器”迁移到本网站上来。之前从来没有写过PHP,花了一些时间看了看PHP手册,然后就开始边学边写,终于用差不多一天的时间完成了迁移。除此之外,对原来的应用也做了优化。

个人网站的转型

这个网站从08年5月份开通以来到现在,一直都只是承担我的个人博客的功能。不过由于工作上的事情越来越多,能够写博客的时间也越来越少,偶尔有些只言片语也只出现在了twitter和buzz上面。之前我也开发过一些小应用,不过是放在Google App Engine上面的,但是GAE的访问速度较慢而且经常被墙,效果一直都不好。
 
目前我的想法是把一部分应用迁移到这个主机上来,同时可以实践一些简单的想法。这个过程可能会花费不少的时间,毕竟我从来没有写过PHP的东西,自己的精力也有限,除了工作,还要抽时间在写作、项目和阅读上。不过这应该是我今年打算要重点做的事情之一吧,希望能积累一些有用的资产。
 
自从换了在香港的主机之后,在访问速度上有所提升,也省去了备案的麻烦。总之先学学PHP吧。

document.write

有段时间没有写技术相关的东西了,今天就写一写document.write
 
一般来说,在我们日常的开发中,比较少会和document.write这个方法打交道。不过document.write在引人第三方的脚本库的时候非常常用。比如经常的写法是用一个<script>标签添加一个JavaScript文件,然后就可以生成出来很多内容。这种做法在Google Map等地图类的库上都用到了。在这个JavaScript文件里面就是用的document.write来输出额外的<script>元素、CSS链接和各种DOM元素的。
 
这里需要注意的是document.write只在页面正在加载中的时候起作用。如果在页面已经加载完成之后,再调用document.write的话,会冲掉当前页面的所有内容。这显然不是一个理想的行为。这就使得延迟加载很多JavaScript库变得复杂起来,不能简单的在页面加载完成之后通过动态创建<script>元素来加载,因为那样会导致页面的内容被冲掉。

Lucida Sans Typewriter字体又回来了

Lucida Sans Typewriter是我看着觉得最舒服的等宽字体,我的开发工具配置的都是这个字体。我的系统估计是用的时间太长,总出一些奇怪的问题。比如之前我的电脑上的这个字体就找不到了。查看了C:\Windows\fonts目录,字体的文件是存在的。没办法,只能从网上再下载新的字体文件,把fonts目录下面原来的字体文件删除,再利用菜单项里面的“安装字体”的功能,把字体文件再重新安装一遍,然后就可以了。
 
推荐大家开发时使用这款等宽字体,看着比Courier New舒服多了。

与.Net Framework补丁做斗争

公司出了新的政策,电脑上面必须装上所有需要打的系统补丁。我的问题是.Net Framework有几个补丁一直打不上去,安装就直接失败了。其根本原因在于我之前错误的把Windows Installer的安装缓存文件给删除了。安装更新补丁的时候一般需要卸载再重装,而缺少这些缓存文件就导致卸载失败,从而无法安装更新。
 
我的做法是卸载之后重新安装,首先需要用注册表编辑器把与.Net Framework相关的内容删掉。在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework下面可以找到各种版本的.Net Framework的信息,把它们删除。然后就可以重新进行安装了。
在安装之前,可能需要把Windows Installer升级到最新的4.5版本,不然可能会出现错误。

人人都爱“浅阅读”

 不知道从什么时候开始,感觉自己阅读东西越来越浅,就是所谓的浅阅读。那些经典的好书,不管是厚厚的大部头(如TAOCP)或是比较薄的好书(如SICP),自从买了之后,就发现很少有毅力和动力去翻开看一眼。是自己太忙了吗?好像也不是。自己还可以抽时间看看新闻,关注一下明星八卦,去看看水木的IBM版,守着One Piece的最新情报,或是在PPS上看康熙来了。感觉上自己虽然花了时间去吸收一些东西,但是这些都是没营养的快餐,看了和不看,其实并没有太大的区别。
 
后来我想了想,我要的可能是那种虚假的充实感吧。不管做点什么都好,只要把剩下的这些时间用掉就好了。从这样的角度出发,做些浅阅读明显要比深度阅读要容易得多,不用费什么脑子,然后内心也不会有很强的负罪感,毕竟还是做了点事情的。可能是随着时间的推移,工作的压力,人都会变得比较浮躁吧,什么都想速成。对于要积累的东西,就不太愿意去花时间了。
 

SSH, 又见SSH

这里的SSH不是指的Secure Shell,而是指的Struts + Spring + Hibernate。关于这3个东西,大家都不陌生了。合在一起是目前主流的Java Web应用开发模式。写这篇博文的出发点是我今天的一个面试。实际上我之前也面试过一些人,SSH是我很常听到的一个词。每次听到这个词,我不由自主的有种感觉,是不知道该如何发问。我并非SSH的专家,我所用到SSH的地方也就是之前自己做过一两个小应用,纯粹是学习的用途。SSH肯定也有很多我不知道的技术细节。
 

个人网站终于恢复了

看来要搞一个自己的网站,真的是一件比较麻烦的事情。之前是没有备案,被封掉了。这次说是机房要封查,又不能访问了。好在红色主机的服务还不错,给免费换了一个香港的主机,不需要备案的。不过价格要贵100块每年。暂时先用着吧。
有了新主机之后,就开始从原来的站点备份文件和数据库,然后导入到新的站点上来。顺便把Drupal也升级了一下。中间遇到了一个问题,就是首页可以打开,但是访问其它页面,如/node之类的,都是出现404错误,后来才发现,是根目录有个.htaccess文件没有被拷贝过去。这个文件在drupal的安装包里面是有的,我用的是主机的在线解压功能,看来这个功能有问题,把这个文件通过FTP传上去之后就好了。
 
最近有比较长的一段时间没有更新了,等过年放假的时候再更新几篇。
 
更新:原来文章的评论不能正确显式了。

同步内容