Meteor 应用开发,前端选 Blaze,Angular 还是 React?

从 Meteor 1.2 开始,这三个框架都是官方支持的了。如果你开始一个新的 Meteor 项目,还没有确定用什么前端框架的时候,估计会遇到这个问题。 Blaze Blaze 是这三个里最简单的,特别是用过 Handlebar 的话。几乎没有什么 learning curve,直观、容易上手。它的问题是除非你只用 Meteor,否则当你改用别的后端框架时,你得使用别的前端框架, »

Meteor 的响应式编程

Principles of Meteor Meteor 是一个实时 full stack JavaScript 框架。Reactivity 是它的一个非常重要的特点。官网上列出了 Meteor 的7大原则或者说是特点: Data on the Wire. Meteor 不发 HTML,服务器端只负责发送数据,让客户端来渲染 One Language. 前后端都是 »

Document of Meteor Session

I just want to clarify the document about the Session of Meteor. In the Session.equals and Session.get doc, there is a sentence "..., invalidate the »

JavaScript - Object prototype Function __proto__

对象查找属性名是先查找对象自身的属性,然后再是原型链,就是 __proto__, 然后再 __proto__ 的 __proto__,如果还没有的话,一直到 Object.prototype。(Object:所有对象的构造函数) 字面量对象链接到 Object.prototype. 函数 Function(也是对象)链接到 Function.prototype, Function.prototype 链接到 »

Node.js Require Tip

注意Require 是同步 I/O 操作。 Node.js 的包管理函数 require 是 Node 少有的同步函数。这就意味着 Node 在加载包的时候其他操作的被阻塞住的。所以假设要是加载一个巨大的包的话,整个程序都要停下来等这个包加载完毕。虽然 Node 有 cache 支持再次调用同一个模块,不会再读取硬盘,但是 require 还是会有一些寻址操作。 »

香港茶餐厅的青岛 style

10月9号我来到香港尖沙咀。觉着国庆过后应该不会那么拥挤了,iPhone 6s 也应该好买了吧。果然从广州过来不是很多人,半截车厢都是空着的。 逛了一阵后我就打算吃点东西。路过 Burger King 差点进去,想起了加州 In-N-Out 汉堡的美味。但是心想这里是香港,应该试试港人的茶餐厅。结果这个念头就引发了后面的故事。 不久就发现了这家 新源粉面饭茶餐厅 (位于尖沙咀汉口路汉宜大厦, Adidas 店旁) -- 牛什专家 -- »

JavaScript - Some Tips

The difference of JSON and object: JSON can't have function. JSON can't have circle reference,key and value must be in double quotes. Lambda A lambda »

设计优雅 UI 的 7 条准则(精简版)

英文原文分两篇。Part 1, Part 2. 网上有中文翻译,不过翻译得比较随意,这里就不发链接了。 如果你认为原文 TL;DR, 可以看下面的精简版。 文章是面向初学者的,没有理论,都是如何应用,所以极易上手。 原文作者曾经以自己的工程出身为由,对自己设计的丑陋作品不以为耻,反以为荣。不过后来幡然悔悟,理解到美学其实和其他创造性工作一样,可以通过理性准确的分析和无耻的拷贝来熟练掌握。他曾经设计一个 UI 花了 10 »

中文字体

介绍 首先说分类。 在阮一峰的这篇文章里,(英文)字体分 6 类。我觉得中文的可以分为三大类,serif(衬底类),(sans-serif)非衬底类,其他所有(比如手写体什么的)。 阮的另外一篇文章《中文字体网页开发指南》 讲网站开发遇到的中文字体问题,他引用的英文原文在这里。总结得都很好。 在那篇英文里,博主有几条原则,首要一条就是在 font-family 里先申明英文字体,因为如果先申明中文的话,英文显示会使用中文字体里的英文字母, »

Popular Single-Board-Comptuer

There are lots of Single-Board-Computers (SBC) nowadays. See this wikipedia page for the details. Raspberry Pi Designed in UK. The are 5 models of Raspberry Pi: »

2015 5月 CampJS 墨尔本

React / Angular / Mercury Angular 其实有很多人在用,但是没有人谈论了, 不再 cool,现在是 React 风头正劲的时候。JavaScript 的 framework 演化太快,碰到一个人他很不好意思的说他们是 old school,因为还在用 Backbone, 我说 Backbone 出来也没几年啊;真是 C++ 一日, »

Raspberry Pi Time

The low-budget mini computer Raspberry Pi doesn't have a Real Time Clcok on board. So each time you turned off the device, the time would be »

About var and this in JavaScript

First of all, always use var to declare your variables. Otherwise the variable will become global variables no matter wherever you 'declare' them. Failing to do »

JavaScript 里的 3 个 6

一. 6 种 type JavaScript 虽然是弱类型的语言,但是也是有类型的。它有 5 种简单类型,分别是: 1. number 2. string 3. boolean 4. undefined 5. null(其实是一种特殊的对象,历史原因.typeof(null)的结果是 »

Node.js 在 Linux 上连接 SQL Server

不断遇到有人问这个问题。 Linux 支持,但是不好。更多可以看这个链接:http://jsnoder.com/blog/chang-yong-shu-ju-ku-xuan-yong/ 这里要提一下:不要使用微软的 SQL Server,如果你是在 Linux 上使用 Node.js 开发的话。假如是使用 SQL Server 的认证方式还好说,但是一旦 SQL »

使用 socket.io 解决多用户同时更新同一个文档的问题

问题 对于涉及文档编辑的应用,一个常见的应用场景就是多个用户试图修改同一个文档的问题。 某些情况下,多个用户可能先后读取同一个文档到本地浏览器,然后编辑修改。有的人可能只是需要简单修改,然后很快就保存离开;而有的用户可能需要修改多些内容,然后在前一个保存离开之后再存档离开。这种情景,如果不做任何处理,第二个离开的用户的存档会覆盖掉第一个用户的修改,我想这是第一个用户不愿意看到的。 方法 那么我想这里有两种解决办法: 合并两次修改。但是如果有冲突怎么办?像 Git 那样修改 conflicts?这个办法还可能需要多个用户沟通解决,实现起来也比较复杂。 锁定。只让一人修改, »

加州的 Geek 之旅照片

旧金山附近的太浩湖。滑雪胜地,风景也很不错。 TCP 协议里的 Tahoe 算法就是以这个湖命名的。还有一个 Reno 算法,是以太浩湖附近的一座城市 Reno 命令。wikipedia link 计算机博物馆里的打开机卡片。当时写个程序得多费力啊。 Google 的自动驾驶车。用的是 Lexus 。 自动驾驶加上 Tesla 电动车,再加上美国的页岩气技术。那些依赖石油出口的国家要被革命了。 »

Kiosk Mode of Raspberry Pi

This is for OS Raspbian. rotate the screen before each boot Go to /boot/config.txt, set display_rotate=0 //normal display_rotate=1 //rotate 90 »

Raspbian WiFi Setting

Connect to Home WiFi: WPA/WPA2 (no id required): /etc/network/interfaces auto wlan0 iface wlan0 inet dhcp wpa-ssid <ssid> wpa-psk <psd> »

exports vs module.exports

Node.js 的 exports 和 module.exports 两者之间的联系。 相同之处 exports 和 module.exports 并不是全局变量,而只是对各自的 module 可见。 它们指向同一个对象,其缺省初始值为空 {}。 如果 exports 和 module.exports 没有被重新赋值,这个对象就是将要输出的对象。 »

设计原则 - 适应变化

发现 JavaScript 很好的一点就是不太受设计模式的荼毒,也没有什么多重继承,多态的困扰,更没有强制使用接口或者虚函数来实现抽象类,虽然也有办法来模拟这些功能,但是那么做的人估计不多。估计这和 JavaScript 不是严格面向对象,而偏向函数式有关,估计也是 JavaScript 这么流行的部分原因吧。 很多时候感觉设计模式有点过了,特别是 Java 里,非常啰嗦。Web app 的开发迭代太快,代码的生存周期也更短,所以不太讲究设计模式。不过我认为很多通用的设计原则还是要的, »

AngularJS 介绍

首先,AngularJS 是建立在轻量 jQuery 之上的一个结构化前端 MVVM 框架。 相比较 Facebook 的 React,个人觉得 AngularJS 可能更适合企业用户,创建单页面的 CRUD 应用。例如对表格表单的处理,AngularJS 就能展现其强大快捷的一面。 另外,AngularJS 非常结构化,大而全,坏处就是规定比较严格,好处是代码更一致, »