OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

OnceDB支持全文搜索和关系查询的Redis内存数据库:驱动安装及使用教程

JS学习 by ourjs key Node.JS 1484557070633 评论 (0)
我们的企业网盘OnceDoc和管理软件采用内存数据库Redis。Redis 是一个使用 C 语言编写的键值对存储数据库,体积小巧,性能优异,实施简单。很多大并发网站如Twitter、GitHub Weibo、Snapchat、Flickr、阿里等都将其用作SESSION存储及缓存的管理。出于性能的考虑 Redis 自带的命令一般不支持按值查找。但是企业软件又需要数据库有搜索、复杂条件查询以及聚合分析的能力。为了实现这些功能我们修改了Redis的源码。并创建了一个新的开源分支 OnceDB,用户可以到Github下载最新的Windows版本进行测试。

在OnceIO(Node.JS)中用Redis储存Session

JS学习 by ourjs key Node.JS 1483692259099 评论 (0)

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

OnceIO的模块拦截与注入:模板文件路由重定向与Model数据改写

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

OnceIO模块开发:模块注册、模块路由、静态文件重定向以及如何开发与设计一个功能扩展模块

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

少年,不要滥用箭头函数啊:JS中lambda表达式的优缺点和使用场景

JS学习 by ourjs key JavaScript 1481605994199 评论 (1)

箭头函数的语法我就不讲了,相信大家都见识过。跟我一样,大家喜欢箭头函数90%的原因是它好看。除了好看,它是不是与function等价呢?肯定不等价,因为TC39不可能仅因为好看而引入一个语法糖(class除外)。

箭头函数的渊源可以追溯到上古时期一个叫lambda演算的东西。lambda演算是数学家提出来的,有些数学家跟我们程序员一样也很懒,数学定理那么多,今天要证三角定律,明天要证勾股定律,累不累!那能不能将所有的证明问题用一个统一的体系进行形式化描述,然后由机器来完成自动推导呢?lambda演算就是干这个的,图灵也搞了一套体系叫图灵机,两者是等价的。

NodeJS教程:基于OnceIO框架实现文件上传和验证

JS学习 by ourjs key Node.JS 1480464961780 评论 (3)
before是OnceIO与其它Web框架的主要区别之一。它可以在文件接收之前就对文件进行一些基本验证,如大小、类型等,以求获得最侍性能。return true 表示验证通并开始接收文件,否则就关闭连接,取消上传。在 before 中,req.session对象是不可用的,因为session可能存在文件或数据库redis中,取得session是一个异步过程需要时间。而before函数需要立刻对文件合法性做出判断。

在Debian(Raspberry Pi)树莓派上安装NodeJS

JS学习 by ourjs key JavaScript 1479879912554 评论 (1)
在树莓派上运行NodeJS并不需要特别的配置,你只需要确保可以用openssh远程连接到你的树莓派。并不是所有最新版的NodeJS都能在树莓派上使用。因为有些没有正确地指定ARM的指令集。
注* 树莓派使用的是ARM v6指令集的CPU,但Chriumun V8最版JavaScript引擎,可能使用了一些ARM v7的功能,比如内存保护等。

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

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

OnceIO(Node.JS)的网页(模板)的引用与嵌套

JS学习 by ourjs key Node.JS 1479171499068 评论 (0)
OnceIO 提供将一个网页文件嵌套在另一个网页文件中的机制。文件嵌套与模板引擎无关,语法固定为 <!--#include="path"--> ,其中 path 为文件相对路径,引号必须为双引号,中间不能有空格。
<html>
<body>
  <!--#include="header.html"--> 
  <div> 
    Main content 
  </div>
  <!--#include="footer.html"--> 
</body>
</html>

OnceIO(NodeJS)中的服务器端缓存、模板预加载和静态资源文件的缓存和Gzip压缩机制

JS学习 by ourjs key Node.JS 1478737585668 评论 (0)
Web 资源在服务器和客户端(浏览器)之间的副本不仅能保存在客户端,也可以保存在服务器端。缓存会根据进来的请求将输出内容的副本保存在服务器内存中;然后,如果下一个请求是相同的 URL,且网页在这段时间内没有更新,服务器就不会再次从硬盘中获取内容,而是直接使用内存中缓存的网页副本,达到节约带宽,减少延迟的作用。

下面我们将介绍一些 OnceIO 中和服务器端缓存有关的函数和属性。

广告投放

 近期热门 - 点击最多
  1. NodeJS教程:基于OnceIO框架实现文件上传和验证
  2. 2016年前端技术观察
  3. 在Debian上安装Nginx并搭建一个最简单的静态网站服务器(以OnceAI为例)
  4. 少年,不要滥用箭头函数啊:JS中lambda表达式的优缺点和使用场景
  5. GitHub 第一坑:换行符自动转换
  6. OnceIO的模块拦截与注入:模板文件路由重定向与Model数据改写
  7. 如何搭建个人SASS云盘:30秒快速安装OnceDoc企业私有网盘
  8. 在OnceIO(Node.JS)中用Redis储存Session
  9. OnceIO模块开发:模块注册、模块路由、静态文件重定向以及如何开发与设计一个功能扩展模块
  10. OnceDB支持全文搜索和关系查询的Redis内存数据库:驱动安装及使用教程
  11. AirJD-简单好用的免费建站工具

  全端社区 - 最新回复
  1. 5个经典的前端面试问题
  2. wemall水果版商城系统源码,开源可更改
  3. 2017大数据领域十大必读书籍
  4. DevOps:全能开发是如何扼杀程序员的
  5. Parasoft C++test使用教程:执行测试用例(下)
  6. LESS vs SASS?选择哪种CSS样式编程语言?
  7. wemall外卖版商城系统源码,开源可更改
  8. 2016年收入最高的5个编程语言,JavaScript最流行,Java和C没在前5
  9. 5个现在就该使用的数组Array方法: indexOf/filter/forEach/map/reduce详解
  10. wemall团购版商城系统源码,开源可更改

  开源的 OurJS
Demo (EN), Demo (CN), Github
  关注我们 RSS

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号

加载中...