Leon's blog

关注: 开源&互联网, GTD with open source and Web

正在浏览 IT与互联网 里的文章

最近学习了一下backbone.js。这是一个只有不到6k的一个前端javascript框架,力图解决全端开发时常见的代码松散,不够模块化的问题。backbone.js号称是MVC框架,但是最强大的就是Model/Collection和View部分,C在backbone.js其实主要是对URL hash对界面功能进行router。 感觉backbone.js确实解决了很大的问题,使得前端的开发更加模块化,更有利于开发相对复杂些的单页面应用、webapp和手机native+Html5的混合应用。典型的成功案例有Linkedin的手机应用、教育网站Khan Academy,团购网站Groupon Now!,任务管理应用Trello等。 我也学着backbone.js的著名例子Todos,试验了一些。简单修个Todos,实现了两个小应用:4Blocks和9Blocks。 4Blocks,在Todos的基础上把任务列表复制成了4个,结合《高效人士的7个习惯》里的把任务划分为轻重缓急的概念而来。可以作为自己日常的Task管理器。 9Blocks,则把Todos的任务列表复制了9个,结合Business Model Generation的商业模式画板,可以用来做简单的商业模式分析工具。

Draw Something的玩法很简单: 创建游戏,找个玩家作对手 获得3个单词,挑选一个,画一幅关于这个单词的图,发给对手 对手根据你的图画,猜测单词 交换角色,进入下一轮 感觉Draw Something就像个社交化了Hangman。Yoyo最近在课堂上经常玩Hangman,毫无悬念,他马上也喜欢上了Draw Something。 感觉类似Hangman和Draw Something这样的单词游戏,确实挺适合中小学生在游戏中学习单词的。如果能专门针对中小学课本内容,提供一些单词列表,一定会很受欢迎。 绘画方面,也很有意。这里的绘画追求的是表达意思,而不是画的精致图片。这也很有利于小朋友独立思考,同时让别人理解自己是如何思考的。如果特别有兴趣,其实可以学习些简笔画的基础。 互动应该是Draw Something的最大特色了。游戏的绘画和猜字过程都会回放给对手。我们可以很清晰的看到画画的人的思路,如何修改内容的,如何努力把概念表达清除。也可以看到猜字的人的心理历程,有的人很聪明,很快就能直接猜到;有的耗尽脑汁也想不出,有时候就不停的重试各种字母的排序。 Yoyo在玩的时候,说的最多的话就是”我…”和”他…”,这就是游戏互动的最好表现吧。特别是在别人猜出自己的拙劣的图画,或者是猜出别的的图画时,成就感真的很足呀。 虽然我和Yoyo只是跟陌生人完了几局,但已经感到很有趣了。如果是通过Facebook/Linkedin连上好友,各种杰出绘画作品一定会成为大家重要的话题。 有时候碰到很难表达的单词,我们最常见的一着就是直接把单词写出来,这应该不算是作弊,只能算是耍赖吧。由于猜英文单词对有些人来说实在时不那么容易,比如我的词汇量就很有限,于是催生了各种辅助工具,估且叫做作弊吧。不过这和其他游戏的作弊不同,是好的作弊,是辅助你多认识些单词。其实我们还没有使用过任何辅助工具,如果有道字典不算的话。 奇怪的是我在游戏里没看到有share自己的作品的功能,难道一定要连上Facebook以后才能吗?Share应该会是很有趣的功能。 绘画的时候,会明显感觉到用手指的不方便,看来真的需要一个触摸笔了。 最后我学着Business model generation用9Blocks画了一个Draw Something的商业模式图,有兴趣的朋友可以看看,交流交流。

Adobe Shadow是Adobe labs针对移动设备开发的一个开发调试工具。如果你跟我一样,最近也涉及到一些在手机上调试页面,webapp拉这样的工作,我想Shadow对你应该是满有用的。

lesscss 初学注意事项

抢沙发

less的嵌套 less支持嵌套,而且习惯上使用嵌套时使用缩进。但是嵌套的语法还是使用{},而不是缩进。所以下面的写法是错误的。 .classA { display: block; } .classB { display: none; } //生成的css如下 .classA { display: block; } .classB { display: none; } 正确的写法是 .classA { display: block; .classB { display: none; } } //生成的css如下 .classA { display: block; } .classA .classB { display: none; } 串联选择器 默认情况下less嵌套生成的是后代选择器。如果要生成串联选择器,一定记得要在前面加上&符号。这对伪类尤其有用如 :hover 和 :focus。这点我搞错了好几次。例如: .button{ background-color: #aaa; :hover{ [...]

今天设置ssh的key的时候,需要编辑隐藏文件。这时候,如果想在Mac的Finder里显示隐藏文件,然后再打开,太慢麻烦了。需要修改Mac的系统配置,感觉有点像是Windows的注册表。而且如果以后不想在Finder里显示隐藏文件了,想要该回去,也很麻烦。Anyway,通过下面这条命令能够设置Finder里显示,还是不显示,隐藏文件。 #设置Finder里显示隐藏文件 defaults write com.apple.finder AppleShowAllFiles -bool true #设置Finder里不显示隐藏文件 defaults write com.apple.finder AppleShowAllFiles -bool false 其实不就是要编辑隐藏文件吗?vim一下就好了吗。但是如果你跟我一样最近很着迷Sublime text 2,那么其实你可以使用它提供的命令行工具。这个命令行工具位于/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl,缺省情况下这个命令不在$PATH环境中,需要通过下面这个命令做个符号链接。 ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/bin/subl 这样,以后你想要在Sublime Text 2里编辑什么文件,只要在Terminal来输入subl xxx.txt; 想要以Sublime Text 2的项目形式打开某个目录,只需要输入cd yyy; subl .. 呵呵,还挺方便的吧。