Simple is Happiness
Less is more
NodeJS中的客户端缓存、浏览器缓存、304缓存和OnceIO的缓存控制
by newghost keys Node.JS OnceIO 1478271465830

这里讨论的缓存是指 web 缓存:一个 web 资源(如 html 页面、图片、文件等)在服务器和客户端(浏览器)之间的副本。缓存会根据进来的请求保存请求输出的内容的副本;然后,如果下一个请求是相同的 URL,且网页在这段时间内没有更新,浏览器就不会再次下载网页,而是直接使用本地缓存的网页副本。

缓存的作用主要有:

  • 节约带宽。
  • 减少延迟。
  • 降低服务器压力。

所有的缓存都有一套规则来帮助它们决定什么情况下使用缓存中的副本,什么情况下向源服务器再次发送请求。这些规则有的在协议(如 HTTP 协议 1.0 和 1.1)中有定义,有的则是由缓存的管理员(如 DBA、浏览器的用户、代理服务器管理员或者应用开发者)设置。

OnceVI前后端分离的数据可视化报表工具简介
by newghost keys OnceVI 可视化 报表 1488769812558

企业管理软件在报表的应用上有大量需求,也存在大量困扰。OnceVI是一款使用Web和H5技术打造的前后端分离的报表开发工具。OnceVI支持直接在SVG矢量图上绑定数据,并通过JSON数据格式将后台数据呈现到前端报表界面。开发者可使用任何编程语言来编写JSON数据服务,OnceVI使用内存数据库来缓存数据,使用者不再需要考虑高并发下的性能问题。

OnceIO(Node.JS)的网页(模板)的引用与深层嵌套
by newghost keys OnceIO Node.JS 1479130400491

OnceIO 提供将一个网页文件嵌套在另一个网页文件中的机制。文件嵌套与模板引擎无关,语法固定为 。

使用网页嵌套时,服务器需要时间加载所有被嵌套网页,因此用户第一次访问时浏览器可能无法显示被嵌套网页的内容,刷新后才能显示完整网页,OnceIO 内置的 preload 方法能解决这个问题。对当前目录下的 html 后缀的文件使用 preload 的示例代码如下:

OnceIO(Node.JS)中Session简介与Cookie的关系和使用方法
by newghost keys OnceIO Node 1479871167070

HTTP 是一种无状态的协议,服务器单从网络连接上无从知道客户身份,这给交互式 Web 应用程序的实现带来了阻碍。Session 和 Cookie 一样,也是用来绕开 HTTP 的无状态性的手段之一,但与 Cookie 在客户端保存状态信息不同,Session 将用户的状态信息保存在服务器端。

当应用程序需要为某个客户端的请求创建一个 Session 的时候,服务器会首先检查这个客户端的请求里是否已包含了一个 Session 标识,即 SessionID。如果已包含一个 SessionID,则说明服务器为此客户端创建过 Session,服务器就会把这个 SessionID 对应的 Session 检索出来使用(如果检索不到,可能会新建一个);如果客户端请求不包含 SessionID,服务器就会为此客户端创建一个新的 Session 并且生成一个与此 Session 相关联的 SessionID。SessionID 的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串。这个 SessionID 将在本次响应中被返回给客户端保存(常放在 Cookie 中返回,客户端 Cookie 禁用时也可放在 URL 中)。

OnceIO(Node.JS)服务器端Cookie设置、添加、删除、显示及其实现原理
by newghost keys OnceIO Node.JS 1479562162288

HTTP 是一种无状态的协议,服务器单从网络连接上无从知道客户身份,这给交互式 Web 应用程序的实现带来了阻碍。Cookie 就是用来绕开 HTTP 的无状态性的手段之一。Cookie 实际上是一小段的文本信息。客户端(浏览器)向服务器发送请求,如果 服务器需要记录该用户状态,就会将 Cookie 放在响应头中向客户端浏览器发送。如果浏览器启用了 Cookie,就会把 Cookie 保存起来,并且在再次请求该网站时把请求的网址连同 Cookie 一同提交给服务器。服务器通过读取 Cookie 来辨认用户状态。服务器还可以根据需要修改 Cookie 的内容。

OnceIO(Node.js)模块拦截与注入:模板文件路由重定向与Model数据改写
by newghost keys OnceIO OnceDoc Node.JS 1483347221088

OnceIO 的模块路由和模板注入机制是与其它Web框架最主要的区别之一。软件系统时常需要针对不同的客户定制不同的功能。OnceIO的模块路由可以通过一个扩展包,对系统原有模板(Template)和填充数据(Model)进行重定向或复写。可以在不更改系统源代码的情况下,以非侵入的方式对系统进行深度定制和扩展。

传言Github正在寻求第二轮融资,或面临估值下降、清算或被微软收购
by newghost keys Github IT新闻 1476198829245

Github在去年7月刚刚完成了一轮2.5亿美元的融资。然而据TechCrunch报道,Github正在寻求第二轮融,或是为了投资者或员工的清算做准备。

此传言有两点,此轮融资可能低于之前的20亿美元的估值。消息来源方透露此轮估值可能在15亿美元左右,目前还不能透露具体数额。然而另外也有传闻称此轮融资或为普通股。所以这一轮的估值可能可能比较模糊,或者不是传统意义上的下一轮融资。

OnceIO(Node.JS)中的模板引擎是什么及MVC设计模式的使用与实现
by newghost keys OnceIO Node.JS 模板引擎 MVC 1477374848863

这一节主要介绍OnceIO(NodeJS)中模板引擎的使用。模板引擎是为了使用户界面与业务数据(内容)分离而产生的,模板引擎可以让(网站)程序实现界面与数据分离,在将数据填充到模板并最终生成HTML的过程中,天然就体现了MVC设计模式(Model-view-controller)。 MVC 模式是一种动态的程序设计架构,用一种将业务逻辑、数据、界面显示分离的方法组织代码。简化后续对程序的修改和扩展,并且使程序的某一部分的重复利用成为可能。

Node.JS的表单提交及OnceIO中接受GET/POST数据的三种方法
by newghost keys Node.JS OnceIO 1477920439145

在互联网上, QueryString是地址的一部分, 其中包含着需要传给后台的数据,通常以?开始,以&号分割。在表单提交时,会默认以QueryString的形式向后台发送数据,OnceIO会将其存储在res.query对象上。

OnceIO(Node.JS)中安装、使用和更换doT、EJS、pug等模板引擎
by newghost keys Node.JS OnceIO 模板引擎 1477534323521

由于 doT.js 模板引擎的整体性能较优,OnceIO 采用 doT.js 作为默认模板引擎。在使用任何一种除了 doT.js 之外的模板引擎之前都需要先用 cmd 在项目文件夹安装这种模板引擎。以使用 Git Bash 安装 EJS 为例,使用的命令是:

$ npm install ejs  
关注
扫一扫即可关注我们:
OnceDoc - OnceOA旺司企业管理私有云

ourjs官方微信号