Fantasy

Programming & Thinking

Node.js

最近需要做一个微信公众平台上的服务号,但是在准备的过程中遇到了不少坎坷。 (没有找到类似的文章或教程,反而都是一些用Node写好的微信模块,如JacksonTian的wechat等) 比如刚接触Node,又比如之前使用Nitrous.io, Cloud9IDE等无法部署所需应用等(比如Nitrous.io只能Preview)。 最后总算使用Node.js的HTTP模块成功的走出了微信公众平台开发的第一步。 准备活动 我们需要一个能够发布应用的地方,这次我选择的是Appfog,传说中的PaaS。 AppFog CloudFoundry也不错,如果用PHP开发还可以选择BAE或者SAE。 我们还需要安装好Node:...

Front-end

之前的一篇Blog中也提到过最近的工作是在做手机上的网站,那篇文章中也提到过一些工作中遇到的问题,不过其实最大的问题是这篇文章中要提到的 – viewport. 事实上一开始在接触这个属性的时候并没有想到会遇到如此多的问题,而无论是Google或者StackOverflow出来的答案都没有能够完全解决我的问题.说实话网上有很多博客都谈到过viewport,但是往往他们的文章……都好不负责任,谈及viewport,介绍一下有那些属性,有那些属性值,然后就over了. 其实实战起来真的没有那么简单,特别是对付现在那么多的Android设备,那么多的分辨率,那么多不同的浏览器(不同厂商还一定要搞一个「自主研发的」内核),不是单纯的一句话就搞定了的. 好吧,废话不多说,简单的来讲讲我是怎么面对这么多「敌人」来找出一个还算兼容的方案的. 缘起 由于我们的网站一开始是按照640px宽度来设计的,所以最初我们的viewport是这样的: <meta content="target-densitydpi=device-dpi,...

JavaScript

原文地址, 作者: NCZ, 翻译:Fantasyshao. ECMAScript 6中最有意思的新内容是「arrow函数」。顾名思义,arrow函数就是一种使用叫做「arrow」(=>)的新语法来定义函数的方法。不过,arrow函数在以下几方面和「传统」的JavaScript函数表现的不同: 在词法上对this的绑定 - 函数体内this的值由其定义时而非其调用时决定. 无法被new...

Essay

在公司实习了一个月多了,说长不长,说短也不短了。至少从我个人角度来讲,经历的也不少 – 光挪地方就挪了三次了。而工作的内容相对而言也发生了比较大的转变 – 现在的工作更像一个「前端」。 工作 抛开前两周的工作不谈,就讲讲来到「无线」部门之后的工作吧。 之所以说现在的工作更像一个「前端」,是因为现在需要从静态页面开始做起(之前参与的公司后台系统基本对于样式没有要求,直接用的Bootstrap2.x) – 以及其他所有与「前端」相关的工作。...

Python

在我之前的一篇文章 – sed與正則表達式中介紹過「正則表達式」的相關內容,以及簡單的使用sed來處理文本的方法。 最近又拾起了自己喜愛的Python(雖然一直很渣,沒有好好學習,近來想做一點東西……:)),今天來扯扯「re模塊」的蛋(說實話,我是來虛心學習的!)。 函數 我們可以先來看看re模塊中的常用函數有哪些: compile(pattern, flags=0) re.compile用來將正則表達式轉換爲一個「pattern object」,我們可以稱之爲「模式對象」。將正則表達式轉換爲模式對象的作用就是可以將其保存下來,已備後續之用。...

Essay

Why are you leaving Linux desktops? 我發現越來越多的人在開始逃離Linux的「伊甸園」,不僅僅是那些剛剛開始使用Linux不久的同學,还有很多曾經的Linux「腦殘粉」都開始向其他的桌面系統逃離。 其實這是一個被很多人討論過的話題,甚至曾經在很多地方(微博,豆瓣等)引起過激烈的爭論,就連我一直崇拜的偶像王垠也「倒戈」談論起Unix/Linux的缺陷 – 雖然很多話確有其理。很多程序員在有米之後都會轉入Mac的懷抱,而很少會回到曾經年少輕狂的Windows時代(之所以那麼說,是因爲一般大家都是從「遊戲」等渠道進入電腦與互聯網的世界的)。至於其中的緣由,想必應該不用多說了。BTW,我從來都不是一個MS/Windows黑,至少現在不是;...

Shell

昨天学习了sed,有很多命令还是需要在实践的过程中学习、深入的.遇到一些需要的时候,大可以参考其man page. 回到今天要学习的内容–AWK. (sed上学期的时候还用过,AWK就完全是初学了.) AWK utility is an interpreted programming...

Shell

今天开始有「组织」地学习一些shell script中的一些工具, 如sed, awk等. sed(stream editor) is a Unix utility...

Essay

王垠一直是我很敬佩、甚至于崇拜的人,不过其实也觉得他是一个很「奇怪」的人–相信很多像我这样关注过王垠的人都会有这样的想法,当然,也曾在知乎上看到过一些人对与王垠的评价,地址在这儿。 前几个月的时候经常会去王垠的新浪博客上去看看他最近写的一些文章,不过最近突然发现他又把博客迁移到新的地址了:www.yinwang.org。有兴趣的同学可以去看看他的博文以及一些思维导图,必然受益匪浅。 「markdown的一些问题」是一篇王垠博客中的文章,之前在他的新浪博客中没有看到过。毕竟平时也都是用markdown来写作的,所以结合以下他的这篇文章来谈一谈。 关于「markdown的layout语法」 所谓「layout语法」其实也就是使用缩进来区分代码块,这也是Python使用的方法。虽然这种语法会带来一些不必要的麻烦,比如因为少打空格而造成的格式混乱等;但是事实上在基本熟练使用这种语法之后就根本不会有这种困扰。所以对于markdown中这种语法而言,HTML这种标记语言必然是要败在下风的。 特殊字符的问题 markdown中的粗体是使用**word**,而斜体是使用*word*。其实王垠博客中提出的这个问题是很低级的:原文档中出现x*y这样的表达式。可以想像,如果只是按照单纯的文本将x*y写在文档中,那就很容易发生这样的事:原来想要写的是x*y*z但是却写成了xyz。「在程序员的世界里,“乘法”显然比“强调”更加频繁。」,没错,但是事实上markdown的语法给了我们用来表示代码的标记方法,如果要书写乘法,完全可以用之,而完全避免与其他诸如“强调”的语法的冲突。 表达能力 这的确是markdown的一个问题:比如图片的大小的控制,markdown无法做到,所以仍旧需要求助HTML的帮助; 再比如其实我很想在段首加两个空格的……...

CSS

关于CSS预处理工具,我还只是在「听闻」的阶段,如LESS, Sass, Stylus……好吧,我只知道这三个。不过如果用Google搜索一下「CSS preprocessor」,其中第一条是介绍LESS和Sass,第二条题为「8 CSS preprocessors to speed up development...