node直出与同构javascript

node直出简要介绍

node直出,简单地来说,就是把数据直出和页面直出都放在服务端来做,即,在混淆构建阶段服务端完成数据与页面的拼接,最后传给前端一个拼接完成的HTML,那么用户打开页面时,前端只需要进行页面的渲染。为了更好地进行优化,还可以把首屏的CSS也放进内联的CSS里,减少HTTP请求。

Read More

JavaScript错误处理

基本介绍

JavaScript Error Hadler

error事件的event handler,Error事件会在不同目标上因各种错误而触发:

  • 当JavaScript运行时错误(包括语法错误)发生时,window会触发一个ErrorEvent接口的error事件,并执行window.onerror()

  • 当一项资源(如<img><script>)加载失败,加载资源的元素会触发一个Event接口的error事件,并执行该元素上的onerror()处理函数。这些error事件不会向上冒泡到window,不过(至少在Firefox中)能被单一的window.addEventListener捕获。

Read More

正向代理与反向代理

正向代理

使用正向代理的主要原因

  1. 访问本无法访问的服务器

    代理服务器代替用户通过其他路由器节点进行访问服务器,从而得到服务器的数据。
    例如翻墙,翻墙除了正向代理,还使用了VPN技术。

Read More

JavaScript异步编程

如果你想要更正式一点的 JavaScript 语言介绍,请揣摩Marijn Haverbeke 的Eloquent JavaScript一书 。
如果你只是JavaScript的初学者,想按部就班提高,避免掉入常见的陷阱,请花点时间看看 JavaScript Garden。

Read More

《Coffeescript小书》笔记

优点

  • 简洁、充分地利用空格
  • 有一些优雅的特性,比如列表解析、原型符号别名和类等等,能够有效减少输入
  • 有原则地选择了一些JavaScript的特性,巧妙地避开了JavaScript的一些怪癖
  • CoffeeScript不是JavaScript的超集

为什么CoffeeScript不是超集?阻止其成为超集最直接的原因是在CoffeeScript程序中空格是有意义的。

Read More

git学习笔记

版本控制(VCS)的类型

  • 本地版本控制系统
  • 集中化的版本控制系统(Centralized Version Control Systems)
  • 分布式版本控制系统(Distributed Version Control System)
    分布式版本控制系统的客户端,每一次的提取操作,实际上都是一次对代码仓库的完整备份。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。

Read More

高性能网站建设指南

  • 性能黄金法则(Performance Golden Rule)揭示了只有10%~20%的最终用户响应时间花在接收所请求的HTML文档上。剩下的80%~90%时间花在为HTML文档所引用的所有组件(图片、脚本、样式表、Flash等)进行的HTTP请求上。

Read More

mongodb

#MongoDB

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据库存储解决方案。

Read More

Linux入门

UNIX哲学

UNIX操作系统(包括Linux)鼓励一种特定的编程风格。下面列出了一些典型的UNIX程序和系统所具有的特点。

  • 简单性 KISS keep it small and simple
  • 集中性
  • 可重用组件
  • 过滤器
  • 开放的文件格式
  • 灵活性

Read More