<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_George Wing 的学习笔记</title><subtitle type="text">{Name:"George Wing",Job:"F2E"}</subtitle><id>http://feed.cnblogs.com/blog/u/15173/rss</id><updated>2011-11-17T04:37:51Z</updated><author><name>George Wing</name><uri>http://www.cnblogs.com/georgewing/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/georgewing/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/15173/rss"/><entry><id>http://www.cnblogs.com/georgewing/archive/2011/05/27/2060189.html</id><title type="text">[公告]这儿就停止了</title><summary type="text">以后所有在网上发表的技术文章全在http://w3er.com/ (是多人发表的blog)上发表。我也懒得维护多个blog。因为同时还要在公司UED内部写blog。请各位重新订阅下~谢谢支持~</summary><published>2011-05-27T10:41:00Z</published><updated>2011-05-27T10:41:00Z</updated><author><name>George Wing</name><uri>http://www.cnblogs.com/georgewing/</uri></author><link rel="alternate" href="http://www.cnblogs.com/georgewing/archive/2011/05/27/2060189.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/georgewing/archive/2011/05/27/2060189.html"/><content type="html">&lt;p&gt;以后所有在网上发表的技术文章全在&lt;a href="http://w3er.com/"&gt;http://w3er.com/&lt;/a&gt;&amp;nbsp; (是多人发表的blog)上发表。我也懒得维护多个blog。因为同时还要在公司UED内部写blog。请各位重新订阅下~谢谢支持~&lt;/p&gt;&lt;img src="http://www.cnblogs.com/georgewing/aggbug/2060189.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/georgewing/archive/2011/05/27/2060189.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/georgewing/archive/2011/05/18/2050343.html</id><title type="text">折腾 JavaScript PC 模拟器</title><summary type="text">http://bellard.org/jslinux/ 这是满足JS程序员口味的linux模拟器。系统启动后，黑屏白字的命令行操作，让程序员的我们感觉就是舒服！ 习惯的，输入 ls 看看里面有什么东...</summary><published>2011-05-18T10:23:00Z</published><updated>2011-05-18T10:23:00Z</updated><author><name>George Wing</name><uri>http://www.cnblogs.com/georgewing/</uri></author><link rel="alternate" href="http://www.cnblogs.com/georgewing/archive/2011/05/18/2050343.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/georgewing/archive/2011/05/18/2050343.html"/><content type="html">&lt;div class="postBody"&gt; &lt;p&gt;&lt;a href="http://bellard.org/jslinux/"&gt;http://bellard.org/jslinux/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;这是满足JS程序员口味的linux模拟器。系统启动后，黑屏白字的命令行操作，让程序员的我们感觉就是舒服！&lt;/p&gt; &lt;p&gt;习惯的，输入 ls 看看里面有什么东东：&lt;/p&gt; &lt;p&gt;hello.c&lt;/p&gt; &lt;p&gt;输入vi hello.c 用 VIM 看看 hello.c 的源码。惊！还真的进入了VIM编辑器！&lt;/p&gt; &lt;p&gt;输入 i 进行 VIM 的插入模式，来随便修改下源代码。把字符串 "hello world" 改为 "hello George Wing"。然后按 Esc 键退出插入模式，输入:wq 保存所做的修改。再输入 :quit! 退出VIM。&lt;/p&gt; &lt;p&gt;输入 tcc -o hello hello.c 对 hello.c 编译一遍。输入 tcc -run hello.c运行看看：&lt;/p&gt; &lt;p&gt;显示了： hello George Wing&lt;/p&gt; &lt;p&gt;哈哈，这个模拟器实现得太强大了。对 linux 的有些命令操作就可以在这个 Web 应用程序上做做练习了。开发作者真是神一样的存在啊！&lt;/p&gt; &lt;p&gt;(完)&lt;/p&gt; &lt;/div&gt;&lt;img src="http://www.cnblogs.com/georgewing/aggbug/2050343.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/georgewing/archive/2011/05/18/2050343.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/georgewing/archive/2011/05/16/2047756.html</id><title type="text">用 rake 合并多个 JS 文件，并且用 Google Closure Compiler 压缩代码</title><summary type="text">使用一款自动化的构建工具，已经成为专业的JS程序员的必备技能之一。在国内，每个前端团队都学会了用 Ant 来自动生成一系列构建的任务。但是由于 Ant 对 XML的依赖，这一大关键缺点，使得 Ant...</summary><published>2011-05-16T07:49:00Z</published><updated>2011-05-16T07:49:00Z</updated><author><name>George Wing</name><uri>http://www.cnblogs.com/georgewing/</uri></author><link rel="alternate" href="http://www.cnblogs.com/georgewing/archive/2011/05/16/2047756.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/georgewing/archive/2011/05/16/2047756.html"/><content type="html">&lt;div class="postBody"&gt; &lt;p&gt;使用一款自动化的构建工具，已经成为专业的JS程序员的必备技能之一。在国内，每个前端团队都学会了用 Ant 来自动生成一系列构建的任务。但是由于 Ant 对 XML的依赖，这一大关键缺点，使得 Ant 脚本既难写又难读，也难进行重构，甚至难进行 diff。所以，rake(用Ruby编程的构建工具)越来越流行了。 &lt;/p&gt; &lt;p&gt;下面的代码是合并多个 JS 文件的 rake 任务：&lt;/p&gt;namespace :js do&lt;br/&gt;    desc "合并多个 JS 文件"&lt;br/&gt;    task :concatenate do&lt;br/&gt;        filename3 = "E:\\all.js"&lt;br/&gt;        logfile = File.new(filename3, 'w');&lt;br/&gt;        joinFiles = ["E:\\a.js", "E:\\b.js"];&lt;br/&gt;        for files in joinFiles&lt;br/&gt;            if File.exists?(files)&lt;br/&gt;                file = File.new(files, 'r')&lt;br/&gt;                file.each_line do |line1|&lt;br/&gt;                    logfile.puts(line1)&lt;br/&gt;                end&lt;br/&gt;            end&lt;br/&gt;        end&lt;br/&gt;    end&lt;br/&gt;end&lt;br/&gt;&lt;p&gt;如何执行 rake呢？&lt;/p&gt;&lt;p&gt;假如 Ruby 源代码文件为 build.rb，那么在 windows 命令行中输入命令：&lt;/p&gt;&lt;p&gt;rake –f build.rb js:concatenate &lt;/p&gt;&lt;p&gt;然后回车。&lt;/p&gt;&lt;p&gt;可能就会有人问了：可以结合 Google Closure Compiler 使用来进行代码压缩吗？答案是肯定的！&lt;/p&gt;&lt;p&gt;下面是带传参的调用 GCC 的 rake 任务：&lt;/p&gt;desc "用 Google Closure Compiler 进行编译"&lt;br/&gt;task :gcc, :compiled_path, :needs =&amp;gt; :concatenate do |t, args|&lt;br/&gt;    require 'rubygems'&lt;br/&gt;    require 'win32/open3'&lt;br/&gt;   &lt;br/&gt;    cmd = "java -jar D:\\compiler\\compiler.jar --js " + concatenateFilename + " --js_output_file " + args.compiled_path&lt;br/&gt;    Open3.popen3(cmd)&lt;br/&gt;end&lt;br/&gt;&lt;p&gt;在 windows 命令行中输入命令：&lt;/p&gt;&lt;p&gt;rake –f build.rb "js:gcc[E:\all-min.js]" &lt;/p&gt;&lt;p&gt;然后回车。&lt;/p&gt;&lt;p&gt;对JS程序员来说，使用rake的唯一缺点是学习Ruby的成本了。所以，用nodeJS来实现相同的功能也是在国内前端界同行们越来越流行的趋势。&lt;/p&gt;&lt;p&gt;(完)&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/georgewing/aggbug/2047756.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/georgewing/archive/2011/05/16/2047756.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/georgewing/archive/2011/04/17/2018639.html</id><title type="text">HTML 5 就是 Web Application</title><summary type="text">周末赶早与同事们一起参加了“拥抱HTML5”技术大会，为的是抢个好位置，8点半准时到了会场，抢了个第2排的位置(第1排是嘉宾的座位)。如果说上次的...</summary><published>2011-04-16T18:12:00Z</published><updated>2011-04-16T18:12:00Z</updated><author><name>George Wing</name><uri>http://www.cnblogs.com/georgewing/</uri></author><link rel="alternate" href="http://www.cnblogs.com/georgewing/archive/2011/04/17/2018639.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/georgewing/archive/2011/04/17/2018639.html"/><content type="html">&lt;div class="postBody"&gt; &lt;p&gt;周末赶早与同事们一起参加了“拥抱HTML5”技术大会，为的是抢个好位置，8点半准时到了会场，抢了个第2排的位置(第1排是嘉宾的座位)。&lt;/p&gt; &lt;p&gt;如果说上次的&lt;a href="http://www.cnblogs.com/georgewing/archive/2011/02/26/1966026.html" target="_blank"&gt;“HTML 5来敲门”技术沙龙&lt;/a&gt;被“洗脑”被“灌输”的理念是：今年是HTML 5的发展年，明年就是HTML 5的爆发年。那么这次的是：&lt;strong&gt;HTML 5 就是 Web Application&lt;/strong&gt;。&lt;/p&gt; &lt;p&gt;也就是说，HTML 5 不是简单的从HTML 4 升级到 5 而已。因为 HTML 5 就是 Web Application。随着 Web 的发展，HTML 5 使我们前端的业务需求变得有趣起来。以前，我们只是做些不太复杂的事情，还没有涉及游戏开发、音视频的处理技术、存储技术、云计算等等。&lt;/p&gt; &lt;p&gt;现在，HTML 5 作为 Web Application 的品牌的建立，让人们觉得用这个技术很拽很有格。在 HTML 5 技术的背后，应看到对桌面系统的 Web 开发人员而言还有很多的不足(兼容性、技术支持冲突等等)，不过对移动系统的 web 开发人员而言，今年你该布局了！&lt;/p&gt; &lt;p&gt;在晚餐时，有位 CTO 表示他们的用户使用 ipad 的数量仅次于桌面系统，但他们的产品对 ipad 的支持还很不够。(晚餐聚会都是些高层、大牛，本人表示压力很大)&lt;/p&gt; &lt;p&gt;在回去的地铁上，一直在看译者&lt;a href="http://www.ruanyifeng.com/" target="_blank"&gt;阮一峰&lt;/a&gt;亲笔签名的《&lt;a href="http://book.douban.com/subject/6021440/" target="_blank"&gt;黑客与画家：硅谷创业之父Paul Graham文集&lt;/a&gt;》。&lt;/p&gt; &lt;p&gt;(完)&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/georgewing/aggbug/2018639.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/georgewing/archive/2011/04/17/2018639.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/georgewing/archive/2011/04/08/2009883.html</id><title type="text">JS程序员的一天</title><summary type="text">5:53，正睡得迷糊，突然门铃响了，室友 webIM 项目 team 的同事通宵加班回来了，我回房间继续睡觉。 8:17 自己煮了市值超过8元的炒码面条，成本估计不到2元。 骑自行车上班，9:15 ...</summary><published>2011-04-08T12:29:00Z</published><updated>2011-04-08T12:29:00Z</updated><author><name>George Wing</name><uri>http://www.cnblogs.com/georgewing/</uri></author><link rel="alternate" href="http://www.cnblogs.com/georgewing/archive/2011/04/08/2009883.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/georgewing/archive/2011/04/08/2009883.html"/><content type="html">&lt;div class="postBody"&gt; &lt;p&gt;5:53，正睡得迷糊，突然门铃响了，室友 webIM 项目 team 的同事通宵加班回来了，我回房间继续睡觉。&lt;/p&gt; &lt;p&gt;8:17 自己煮了市值超过8元的炒码面条，成本估计不到2元。&lt;/p&gt; &lt;p&gt;骑自行车上班，9:15 之前到了公司，然后打开自带的笔记本电脑，开始一天的工作。先喝瓶“日加满”。&lt;/p&gt; &lt;p&gt;打开 Jasmine 网站上的文档，继续学习研究 BDD和 Jasmine。为以后前端 team 用 Jasmine 做测试驱动开发包括JS单元测试做准备。&lt;/p&gt; &lt;p&gt;上午有场公司内部培训，关于 PhotoShop 内容的。是由重构 team 做的分享。讲解了如何用切片工具来导出多个格式的图片，如何用钢笔工具点亮灯泡，演示用渐变工具调灯泡的光亮。&lt;/p&gt; &lt;p&gt;午餐是自己带的在家做的饭菜，和同事 asins 一起去公司餐厅吃的，讨论了从生宝宝到吃饭成本的问题。&lt;/p&gt; &lt;p&gt;下午研发了几种类的实例在类式继承中的实现，做到4点多完成后，去买了瓶可乐，上来后在RTX上与重构工程师交流沟通后，试着用 PhotoShop 做切片导出图片的批处理的问题。&lt;/p&gt; &lt;p&gt;5点多与同事讨论交流如何在 WOYO JS 框架上构建地图类，为以后建立 Google 与百度的地图类的API 设计接口做编程思想上的准备。&lt;/p&gt; &lt;p&gt;6点钟，写工作周报，准时下班和同事们一起骑着车回家。&lt;/p&gt; &lt;p&gt;晚上，在家吃完自己煮的水饺后，给老婆打电话，然后一边看湖南卫视的天天向上，一边做了做室内运动，上床准备睡觉。&lt;/p&gt; &lt;p&gt;(完)&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/georgewing/aggbug/2009883.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/georgewing/archive/2011/04/08/2009883.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/georgewing/archive/2011/04/07/1987534.html</id><title type="text">Google Map 类实例在类式继承中的实现</title><summary type="text">众所周知，程序的实现不可能会是完美的。《JavaScript设计模式》中的类式继承是有问题的，下面是2个google Map类的继承实现的不同写法： function extend(subClass...</summary><published>2011-04-07T09:42:00Z</published><updated>2011-04-07T09:42:00Z</updated><author><name>George Wing</name><uri>http://www.cnblogs.com/georgewing/</uri></author><link rel="alternate" href="http://www.cnblogs.com/georgewing/archive/2011/04/07/1987534.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/georgewing/archive/2011/04/07/1987534.html"/><content type="html">&lt;div class="postBody"&gt;&lt;p&gt;众所周知，程序的实现不可能会是完美的。下面是google Map类在继承实现的写法。首先是照抄《JavaScript设计模式》中的类式继承：&lt;/p&gt;function extend(subClass, superClass) {&lt;br/&gt;function F() {}&lt;br/&gt;F.prototype = superClass.prototype;&lt;br/&gt;subClass.prototype = new F();&lt;br/&gt;subClass.prototype.constructor = subClass;&lt;br/&gt;    &lt;br/&gt;    subClass.superclass = superClass.prototype;&lt;br/&gt;    if (superClass.prototype.constructor == Object.prototype.constructor) {&lt;br/&gt;        superClass.prototype.constructor = superClass;&lt;br/&gt;    }&lt;br/&gt;}&lt;br/&gt;function SubMap(elm, config) {&lt;br/&gt;    console.log(SubMap.superclass.constructor);&lt;br/&gt;    SubMap.superclass.constructor.call(this, elm, config);&lt;br/&gt;    &lt;br/&gt;}&lt;br/&gt;extend(SubMap, google.maps.Map);&lt;br/&gt;var mapObj1 = new SubMap($('#map_Box')[0], {&lt;br/&gt;       zoom: 13,&lt;br/&gt;       center: new google.maps.LatLng(31.227, 121.519),&lt;br/&gt;       mapTypeId: google.maps.MapTypeId.ROADMAP&lt;br/&gt;});&lt;br/&gt;&lt;p&gt;上面的google地图在页面中显示不了，说明代码是有问题的。下面是对上面实现的改写：&lt;/p&gt;function extend(subClass, superClass) {&lt;br/&gt;function F() {}&lt;br/&gt;F.prototype = superClass.prototype;&lt;br/&gt;subClass.prototype = new F();&lt;br/&gt;subClass.prototype.constructor = subClass;&lt;br/&gt;    &lt;br/&gt;    subClass.superclass = superClass;&lt;br/&gt;}&lt;br/&gt;function SubMap(elm, config) {&lt;br/&gt;    SubMap.superclass.call(this, elm, config);&lt;br/&gt;}&lt;br/&gt;extend(SubMap, google.maps.Map);&lt;br/&gt;&lt;br/&gt;var mapObj1 = new SubMap($('#map_Box')[0], {&lt;br/&gt;       zoom: 13,&lt;br/&gt;       center: new google.maps.LatLng(31.227, 121.519),&lt;br/&gt;       mapTypeId: google.maps.MapTypeId.ROADMAP&lt;br/&gt;});&lt;br/&gt;&lt;p&gt;嗯，这种继承实现的写法google地图在页面中显示得很好。&lt;/p&gt;&lt;p&gt;(完)&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/georgewing/aggbug/1987534.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/georgewing/archive/2011/04/07/1987534.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/georgewing/archive/2011/03/17/1987206.html</id><title type="text">写入 cookie 的过期时间时在GMT或UTC时间格式上的兼容问题</title><summary type="text">用 JavaScript中的 Date 类，可以得到格式为“年/月/日 时:分:秒”的当前本地时间。这种格式是合法的，可以用静态方法 Date.parse() 解析的,否则返回NaN的话，说明格式为...</summary><published>2011-03-17T08:33:00Z</published><updated>2011-03-17T08:33:00Z</updated><author><name>George Wing</name><uri>http://www.cnblogs.com/georgewing/</uri></author><link rel="alternate" href="http://www.cnblogs.com/georgewing/archive/2011/03/17/1987206.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/georgewing/archive/2011/03/17/1987206.html"/><content type="html">&lt;div class="postBody"&gt; &lt;p&gt;用 JavaScript中的 Date 类，可以得到格式为“年/月/日 时:分:秒”的当前本地时间。这种格式是合法的，可以用静态方法 Date.parse() 解析的,否则返回NaN的话，说明格式为非法，不能解析。&lt;/p&gt; &lt;p&gt;从北京时间转换成GMT/UTC时间有8个小时的时间差。计算方法为：&lt;/p&gt; &lt;p&gt;UTC时间 + 时间差(+8) = 本地时间&lt;/p&gt; &lt;p&gt;兼容问题为：&lt;/p&gt; &lt;p&gt;在 web 浏览器中写入cookie的过期时间的实现是不同的。Google chrome 浏览器会把转换成GMT/UTC后的时间写入cookie的过期时间，而IE和FF浏览器还是把本地时间写入cookie的过期时间，toGMTString()/toUTCString()没有起作用了。&lt;/p&gt; 写入cookie的函数JS代码如下： &lt;br/&gt;function setCookie(key, val, expires, domain, path, secure){&lt;br/&gt;    if (!path) path = '/';&lt;br/&gt;    &lt;br/&gt;    document.cookie = &lt;br/&gt;        key + '=' + encodeURIComponent(val)&lt;br/&gt;        + (expires ? '; expires=' + expires : '')&lt;br/&gt;        + (domain ? '; domain=' + domain : '')&lt;br/&gt;        + (path ? '; path=' + path : '')&lt;br/&gt;        + (secure ? '; secure' : '');&lt;br/&gt;}&lt;br/&gt;&lt;p&gt;写入cookie的代码如下：&lt;/p&gt;&lt;br/&gt;var dat = new Date();&lt;br/&gt;var dateTime = dat.getFullYear()+'/'+(dat.getMonth()+1)+'/'+(dat.getDate()+1)+ ' 8:00:00';&lt;br/&gt;setCookie('bookInfoCounts', counts, new Date(Date.parse(dateTime)).toUTCString());&lt;br/&gt;&lt;p&gt;(完)&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/georgewing/aggbug/1987206.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/georgewing/archive/2011/03/17/1987206.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/georgewing/archive/2011/02/26/1966026.html</id><title type="text">&amp;ldquo;当 HTML 5 来敲门&amp;rdquo;专题沙龙(上海)活动</title><summary type="text">今天2月26日受邀一同参加了在盛大创新院举办的“当 HTML 5 来敲门”专题沙龙(上海)活动。 首先由周裕波介绍“W3C、W3C中国和HTML 5”。 接着是携程网的祝君：《HTML 5 开发成本...</summary><published>2011-02-26T14:45:00Z</published><updated>2011-02-26T14:45:00Z</updated><author><name>George Wing</name><uri>http://www.cnblogs.com/georgewing/</uri></author><link rel="alternate" href="http://www.cnblogs.com/georgewing/archive/2011/02/26/1966026.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/georgewing/archive/2011/02/26/1966026.html"/><content type="html">&lt;div class="postBody"&gt; &lt;p&gt;&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" src="http://www.mhtml5.com/wp-content/uploads/2011/02/yaoqinghan11.jpg"&gt; &lt;/p&gt; &lt;p&gt;今天2月26日受邀一同参加了在盛大创新院举办的&lt;a href="http://www.mhtml5.com/2011/02/466.html" target="_blank"&gt;“当 HTML 5 来敲门”专题沙龙(上海)活动&lt;/a&gt;。&lt;/p&gt; &lt;p&gt;首先由周裕波介绍“W3C、W3C中国和HTML 5”。&lt;/p&gt; &lt;p&gt;接着是&lt;a href="http://www.ctrip.com/" target="_blank"&gt;携程网&lt;/a&gt;的祝君：《HTML 5 开发成本》。呃，我们公司woyo的UED重构也进行了用 HTML 5 重构的工作，但是本人主要是研发JS框架，没有关注网站页面的重构。&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.spilgames.com/" target="_blank"&gt;Spilgames&lt;/a&gt; Asia CEO 陈琦：《HTML 5 游戏的发展》。呃，讲得很给力，至少让大伙有了使用HTML5开发游戏的冲动！&lt;/p&gt; &lt;p&gt;HP WebOS 的&lt;a href="http://fins.javaeye.com/" target="_blank"&gt;巍子钧&lt;/a&gt;：《HTML 5 在2D游戏的应用》。呃，活跃气氛，让人不犯困，并且讲得很有料，感觉本人入了点门。&lt;/p&gt; &lt;p&gt;盛大研究院的&lt;a href="http://hax.javaeye.com/" target="_blank"&gt;Hax&lt;/a&gt;：《HTML 5 本地存储的应用》。呃，牛人就是牛人啊，有了 localStorage 在手，一上午就想出了个新的 idea：在 google chorme 浏览器中在多个tab页中切换随心选播的音乐而互不干扰。&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.wangke.com" target="_blank"&gt;上海网客信息有限公司&lt;/a&gt; CTO 章鑫杰：《HTML 5 在LBS社区中的应用》。呃，不好意思，本人对这款 web 应用在中国大陆的市场不太看好，所以没有认真听了。&lt;/p&gt; &lt;p&gt;最后，现场照一枚(单击进原始大图)：&lt;/p&gt; &lt;p&gt;&lt;a href="http://ww4.sinaimg.cn/large/707f991ejw6depo614234j.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="sh_1" border="0" alt="sh_1" src="http://images.cnblogs.com/cnblogs_com/georgewing/201102/201102262244317183.jpg" width="431" height="348"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;在会上有句话讲得不错：“今年是 HTML 5 的发展年，明年将会是 HTML 5 的爆发年！”让我们前端工程师们一起拥抱 HTML 5 吧。&lt;/p&gt; &lt;p&gt;资源：&lt;a href="http://www.youku.com/playlist_show/id_5586288.html" target="_blank"&gt;活动的视频&lt;/a&gt;&lt;/p&gt; &lt;p&gt;(完)&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/georgewing/aggbug/1966026.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/georgewing/archive/2011/02/26/1966026.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/georgewing/archive/2011/02/25/1965207.html</id><title type="text">PHP 的 Smarty 模板页中分离JS并避开literal标签的解决方法</title><summary type="text">在 Smartry 模板中，如何分离而做到避开{literal}呢？ 本人的解决方法是： 在&lt;script&gt;标签中先定义一部分用包含了{}符号的JS变量。示例如下： &lt;script type="te...</summary><published>2011-02-25T09:23:00Z</published><updated>2011-02-25T09:23:00Z</updated><author><name>George Wing</name><uri>http://www.cnblogs.com/georgewing/</uri></author><link rel="alternate" href="http://www.cnblogs.com/georgewing/archive/2011/02/25/1965207.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/georgewing/archive/2011/02/25/1965207.html"/><content type="html">&lt;div class="postBody"&gt; &lt;p&gt;在 Smartry 模板中，如何分离而做到避开&lt;code&gt;{literal}&lt;/code&gt;呢？&lt;/p&gt; &lt;p&gt;本人的解决方法是：&lt;/p&gt; &lt;p&gt;在&amp;lt;script&amp;gt;标签中先定义一部分用包含了&lt;code&gt;{}&lt;/code&gt;符号的JS变量。示例如下：&lt;/p&gt; &amp;lt;script type="text/javascript"&amp;gt;&lt;br&gt;var __URL = "{$DOMAIN['LOCAL_DOMAIN']}",&lt;br&gt;&amp;nbsp;&amp;nbsp; areaInfo = {$areaInfo},&lt;br&gt;&amp;nbsp;&amp;nbsp; widgetID = "{$widgetID}";&lt;br&gt;&amp;lt;/script&amp;gt; &lt;p&gt;然后，再引用后面的JS文件：&lt;/p&gt;&amp;lt;script type="text/javascript" src="{$DOMAIN.JS_DOMAIN}person_map/index.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br/&gt;&lt;p&gt;这样，后端与前端可以同时开发，tpl 模板文件只作为了前后端之间公共的部分。&lt;/p&gt;&lt;p&gt;(完)&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/georgewing/aggbug/1965207.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/georgewing/archive/2011/02/25/1965207.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/georgewing/archive/2011/01/20/1940653.html</id><title type="text">Google Maps(Google 地图) V3 在 IE7 浏览器中拖放其容器时图块被覆盖的 bug</title><summary type="text">在个人空间项目的开发中，布局在页面中的模块是可以自由拖放它的位置的，在名叫“人脉地图”的模块中，包含了 Google 地图对象的实例。我们使用了 Google Maps V3 提供的服务。 在对其容器...</summary><published>2011-01-20T14:24:00Z</published><updated>2011-01-20T14:24:00Z</updated><author><name>George Wing</name><uri>http://www.cnblogs.com/georgewing/</uri></author><link rel="alternate" href="http://www.cnblogs.com/georgewing/archive/2011/01/20/1940653.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/georgewing/archive/2011/01/20/1940653.html"/><content type="html">&lt;div class="postBody"&gt;&lt;p&gt;在个人空间项目的开发中，布局在页面中的模块是可以自由拖放它的位置的，在名叫&amp;ldquo;人脉地图&amp;rdquo;的模块中，包含了 Google 地图对象的实例。我们使用了 &lt;a target="_blank" href="http://code.google.com/intl/zh-CN/apis/maps/documentation/javascript/"&gt;Google Maps V3 提供的 API&lt;/a&gt; 服务。&lt;/p&gt;&lt;p&gt;在对其容器进行鼠标拖放操作时，在IE7中，遇到了一个 bug：地图部分的图块会被父级的body的背景及背景图片覆盖掉。这是由于在拖放事件处理函数中，JS会操作页面渲染，被拖放的容器使用了CSS滤镜对IE进行半透明的效果。这样造成了地图部分的图块被覆盖的 bug。于是，解决方法是：对IE7不使用半透明效果，也就是说，IE7不使用该CSS滤镜，对 web 浏览器做到&amp;ldquo;优雅降级&amp;rdquo;。&lt;/p&gt;&lt;p&gt;(完)&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/georgewing/aggbug/1940653.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/georgewing/archive/2011/01/20/1940653.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
