Fantasy

Programming & Thinking

Front-end

在去年的时候,曾经写过一篇博客介绍Grunt: GruntJS初体验,以及当时使用的时候遇到的一些问题。 不过从那之后,就一直听说有一个更好用的Task runner – gulp。尽管现在才使用有点落伍了,但是还是想分享一下使用gulp轻松而愉快的经历。 gulp和Grunt一样都是通过项目根目录下的「配置文件」来进行「任务」的定义的。 配置文件 在我使用Grunt的经历看来,Grunt的配置文件比较固定: module.exports...

Node.js

前天晚上闲着的时候,研究了一下如何开发、发布一个NPM package,于是选了一个比较简单的想法实现了一下。 这个package的名字叫做node-weather,想必看名字就知道他的功能了。从前天开发到现在版本已经衍生到0.1.4。主要实现的功能是调取百度LBS云的天气接口,在终端中查询今明后三天的指定城市的天气情况。 先简单的介绍一下NPM吧(若你未曾听闻过)。 NPM NPM也就是Node Package Manager,就如同Ruby中的Gem,Python中的pip等,是一个开源的Node的包管理工具。 截至我写这篇博客为止,NPM上已经有84849个包。当然,由于NPM的自由度极高,其中包含了很多参差不齐的开发者所开发的包;也有很多几乎已经「阵亡」的包,占着NPM的坑。 所有NPM中的包都可以通过npm命令来进行操作,这当然不具体展开了,可以查询NPM的api或者在终端中输入npm来查看其用法。...

iOS

上周初步研究了一下如何开发iOS应用。然后想到了当时@zc在学校里做的一个HTML 5的小应用 – Musiculator – Music + Calculator. 本文简单的介绍一下上周做应用的几个步骤以及一些想法,当然也为那些像我一样想尝尝鲜的小菜鸟在不知从而下手的时候来上那么一缕春风~ UI...

Front-end

同事在自己的电脑上装了一个Android模拟器,用来在电脑上查看现在做的M站的效果。(这让我想到了当年在学校里还折腾过ADT(Android Develop Tool),只依稀记得电脑各种卡翻着实痛苦难堪。)不过相隔多时,感觉模拟器比之前的看起来好多了。 而之前还尝试着用过Chrome的远程调试,也就是连着USB线在Android的Chrome上调试网页 – 不过很不幸的是总是「时有时无」,所以我觉得这种方法不太稳(kao)定(pu)。 后来突然想起来电脑上是装了Xcode的,于是找到了iOS Simulator。 Simulator 如果有机会,也准备学习开发iOS,不过这次是用来调试网页。...

Racket

忘掉类似微软PowerPoint和Apple Keynote这样时髦的软件,忘掉类似impress.js及reveal.js这样酷炫的前端技术,在此,我将会给大家介绍一种特别的方式来制作幻灯片。 我们将要使用的是 – 铛铛铛铛 – Racket. 如果你是一名程序语言爱好者,那么对Racket这个名词一定不会陌生。(我当然不会介绍一下Racket这门语言,然后再梳理一下整个Lisp语言的族谱,要是你无比厌烦Lisp那「Lots of Irritating...

Essay

去年四月份的时候机缘巧合之下注册了GitHub的账号,至今也将近两年了。不过也是到了2013这一年,我才开始逐渐熟悉、了解了GitHub这个平台。你可以点此访问我的GitHub主页:SFantasy。 这一年来,怎么说也有不少想法和感慨,所以我希望我在文中分享的一些看法和思考能够勾起那些GitHub重度用户的共鸣和未曾用过者的「跃跃欲试」。 拥抱 Git 在我接触Git之前,使用的是Subversion。不过开始切换并使用Git倒是无痛的,因为SVN的经历都是在客户端中完成的 – 没有用到命令行。 (反而如果把时间轴推进到现在,在工作中使用的仍然是SVN,在自己的学习中使用的是Git;两者的命令在大部分情况下是不会被大脑混淆的,而能够被混淆的一般都是cd到一个项目路径下,不太能一下子记得这个项目使用的是SVN还是Git。) 很多人都会讨论Git和SVN的区别 –...

Shell

最近发现了几个比较有意思的命令行工具,分享一下。 FIGlet FIGlet的介绍可以看看他的man page。 简单来说,FIGlet就是一个用「更大」的字符来输出字母的工具。 「这有啥好玩的?」 来看看例子: figlet happy 这时候输出的结果是:...

JavaScript

原文: NCZOnline, 译者:Fantasy Shao 随着各种JavaScript引擎对ECMAScript 6的一些特性开始实现,相信ECMAScript也离我们不远了。这份规范中的一些部分引起了广泛的关注:WeakMap, classes, generators, modules等等。这些都是有代表性的、在ECMAScript 5基础上的重大改变和增强。可是,在规范中仍然有一小部分的内容不那么引人注目,但是对于JavaScript的未来而言却同样重要。它们如此之小,以至于很少有人谈论到它们,除非你花一点时间阅读实际的规范,不然你可能根本不知道它们的存在。其中一个特性就是native...

JavaScript

最近开始做一个小项目,不过需要实现一些目标,能够使用自动化以下步骤: Sass和Coffee的compile JavaScript的压缩 原来实现这几个任务需要至少开两个terminal的tab: 一个开著编译Sass: sass --style compressed --watch foo.sass:foo.css...

Mac

前两天折腾了一把自己的工作空间,原因是用笔记本工作确实有点累:屏幕小、需要略微低头等。所以就准备把原来台式机的显示器用起来,屏幕大对于编程而言还是很有好处的。 于是乎,先买了一个thunderbolt转VGA的接口,让Mac可以连接到显示器上。这个过程一点问题都没有,只是想吐槽一下所谓的「次日必达」:在淘宝上买的,也不知道孰好孰坏,就挑了个「次日必达」的买了,40+RMB。 当然,如果用作扩展屏的话,就到此结束了。不过笔记本+扩展屏还是挺累的,加上键盘鼠标,就完全可以把Mac当做主机用了。不过悲剧的是我的键盘是Nooppoo Choc Mid,USB连上去之后就打字就成了问题(具体原因不明,据说是因为「全键无冲」?) 之后Google了好久,不过方法几乎都是一致的:http://www.douban.com/review/5981251/ 。具体细节就不展开了……总之就是那软解的方法折腾了好久,无果。 最后,你懂的,用了硬解的办法 – USB转ps/2,再ps/2转成USB(哪位大神知道原理的求指导!)...