Simple is Happiness
Less is more
如何将OnceAir顽石云盘变为个人照片相册服务器, 储存,管理和浏览图片
by dawnguard keys OnceAir 网站开发 1517624023116

OnceAir顽石云盘在使用时可以改变一些默认的设置,实现新的功能,比如本文就将云盘变为了相册服务器,便于更好的浏览图片。

如何查看是否分配有公网IP
by dawnguard keys OnceAir 外网访问 1515115054194

通过将路由器显示的公网IP地址和find页面显示的IP地址进行对比,相同就是公网,不相同就是内网。

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

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

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

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

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

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

OnceIO(Node.JS)的静态文件路由(app.static)
by newghost keys OnceIO Node.JS 1478162635403

为了提供静态资源,比如图像、CSS 文件和 JavaScript 文件等,可以将这些资源放在专门的文件夹中,然后用 app.static('folder') 将文件夹设置为 static 模式,使其中的资源可以直接被提供,而不参与中间件、Handler、会话、POST 和 Cookie,以达到节约带宽、减少延迟和降低服务器压力的目的。示例代码如下:

app.static('css')
OnceIO(Node.JS)模块开发:模块注册、模块路由、静态文件重定向以及如何开发与设计一个功能扩展模块
by newghost keys OnceIO OnceDoc Node.JS 1482651803957

OnceIO是OnceDoc企业网盘的底层Web框架。可以对Web应用进行分布式模块化存储,并基于模块路由对http请求进行重定向。这样模块的前端、后端和数据库定义就可以集中存储在一个扩展包里,每一个扩展包都是一个功能独立的应用,只需通过添加/删除文件夹的方式就可实现功能删减,从而实现功能模块的自由组装。正是因为OnceIO的这种模块化机制,才可以让OnceDoc有能力扩展成邮箱、流程管理、分享社区、资产管理、商城等系统。这篇文章主要介绍如何开发一个简单的OnceIO模块,以及资源文件的模块路由规则。

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

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

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

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

缓存的作用主要有:

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

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

在OnceIO(Node.JS)中用Redis储存Session
by newghost keys OnceIO OnceDB Node.JS 1483689857543

单线程的 Node.js 为了充分利用 CPU 的多核特性,采用了 cluster 模块,利用主从模式,生成与 CPU 核心数量相当的子进程,主进程捕获请求随机分配给子进程处理,并负责子进程的崩溃重启。进程与进程之间是不能共享数据的,如果把 Session 存储在内存里,存储在不同进程的内存中的 Session 将无法共享,Session 认证机制会出现问题。例如,用户 A 认证的过程是由进程 1 处理的,那么维持会话的 Session 将保存在进程 1 的内存数据中;用户 A 接下来的请求被分配给进程 2 处理,因为进程 2 没有处理过用户 A 的认证,没有维持这个会话的 Session,所以进程 2 会判断用户 A 并没有授权。这样用户 A 需要多次重复认证访问才能继续下去。

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

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

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

ourjs官方微信号