2016-04-16 jude
声明 文中的 promisify 函数原型出自 月影 的这篇博客。 了解Promise 继续阅读 »
2016-11-25 Lim Geng
前言 每次写文章都想在前面提提~~事实~~时事,今天想说的是:*******,如果你看到的是星号,那很抱歉,“福利”被和谐了,你可以更换浏览器试试。本文对setTimeout、setImmediate、process.nextTick的区别做了简单阐述,如有疑问,请留言。 api介绍 setTimeout(callback, delay):经过delay时间后只执行一次callback,但是并不能保证时间点的精确性。delay的意思是,告诉callback可以被执行了,如果callback所在队列前面还有任务没执行,那它也得稍等等。 **setImmediate(callback)**:执行callback的时机是在IO 继续阅读 »
2016-10-17 Alex Sun
参考文章 iOS学习笔记——HTTPS原理篇 HTTPS工作原理和TCP握手机制 图解SSL/TLS协议 How to Use SSL/TLS with Node.js 在上一篇博文《Node核心模块之crypto》中,提到了加密(摘要,加密解密,签名等)的四种常见类型: Hash(哈希) HMAC(基于哈希的消息认证码) 加密,解密 签名,验证 HTTPS的整个过程和以上几种方法密切相关。 CA证书 CA 即 Certificate Authority (数字证书认证机构),CA证书的签发以及验证包含以下三方: CA Server Client 过程包括: Server生成一对公钥和私钥 Server将公钥以及域名等信 继续阅读 »
2014-02-01 Lingxian Kong
ssh 在本地使用 ssh $RemoteNode 可以在执行远程机器上的命令,例如 ssh user@node ls /local 会执行远程机器上的 ls /local 命令,如果想在远程机器上连续执行多条命令,可以用单引号或者双引号将这些命令括起来。 如果想在本地启动远程机器上的命令后就返回,可以这样: ssh user@node "/local/x.sh >/dev/null 2>&1" 继续阅读 »
2015-11-25 曹强
在搭建这个博客期间参考了很多资料,因为不是所有的资料都能完整并且顺利搭建出来,经过我本人实践,整理出来这篇文章,希望可以帮助大家减少不必要的麻烦,不用再到处找搭建方法,本文的共分为一下几章: 第一节: 什么是hexo 第二节: 为什么要用hexo 第三节: 谁使用hexo 第四节: 怎样搭建hexo博客 第五节: 如何更换自己的主题 第六节: 如何发表文章 第一节:什么是hexo hexo是一个基于Node.js的静态博客程序,可以方便的生成静态网页托管在github和Heroku上。作者是来自台湾的@tommy351。引用@tommy351的话,hexo: 快速、简单且功能强大的 Node.js 博客框架。 A fast 继续阅读 »
2016-07-21 Jamling
痛点 从2013年开始,本人开始活跃于github,以前托管于sourceforge、svn spot和oschina的开源项目,陆续迁移到了github。此前,我一直使用的是wiki系统来维护相关开源项目的文档及下载等。那时,Markdown还没有现在这么流行,在sourceforge等网站,我几乎不放文档。但迁移到github后,将之前的wiki页面渐渐转成了Markdown页面。在迁移到github之后,我比较重视文档,源代码的修改,有可能需要更新文档。此前wiki网站因为访问太慢,空间也不是特别稳定,在今年终于决定放弃维护,转而使用github pages功能来托管这些项目文档。 github pages是一个静态空间, 继续阅读 »
2016-08-24 Wenjie Yao
本文翻译自liusy182   Jest框架是facebook旗下一款单元测试框架,我个人十分喜欢它,因为它自动mock这一点十分强大。然而,当它遇到问题的时候,就会经常抛出一些模糊的调用栈信息。我在网上搜索尝试找到如何debug Jest测试的方法,却很难找到有用的信息。总之,它仍然还是一个比较新的测试框架。   Jest使用虚拟DOM来运行测试。这一点不同于Karma和Jasmine(它们是利用浏览器来运行测试的)。我觉得这就会给它带来一个很大的缺点:不能使用浏览器上的调试工具来调试Jest的测试。因此,我们需要借助于Node/V8引擎自带的调试器。Node默认的调试器是完全基于命令行形式的,类似于GDB - 虽然我从来就不 继续阅读 »
2016-03-22 Xiaosong Gao
Node.js中exports和module.exports有什么不同? 你肯定对Node.js模块中用来创建函数的exports对象很熟悉(假设一个名为rocker.js的文件): exports.name = function() { console.log('My name is Lemmy Kilmister'); }; 继续阅读 »
2016-03-21 曹强
在Javascript的开发过程中,经常会遇到一些重复性的任务,比如合并文件、压缩代码、检查语法错误、将Sass代码转成CSS代码等等。通常,我们需要使用不同的工具,来完成不同的任务,既重复劳动又非常耗时。Grunt就是为了解决这个问题而发明的工具,可以帮助我们自动管理和运行各种任务。 简单说,Grunt是一个自动任务运行器,会按照预先设定的顺序自动运行一系列的任务。这可以简化工作流程,减轻重复性工作带来的负担。 安装 Grunt基于Node.js,安装之前要先安装Node.js,然后运行下面的命令。 ```javascript sudo npm install grunt-cli -g ``` grunt-cli表示 继续阅读 »
2016-12-20 Bruce Wang
最近给我的装备(Thinkpad S3-s431)升了一下级,将原本用来加速缓存的24G固态硬盘换成了128G。所以得重装系统,然后一堆软件也得重装。包括Node.js。 安装了最新的Node.js(v6.9.2),npm(v3.10.9)。由于node_modules里的文件夹结构太深,无法移动,只能去项目中使用npm install重新安装依赖,然后发现node_modules文件夹结构是这样的: 一个模块被分在了不同文件夹下,满足下好奇心,去看了npm的官方文档。 果然NPM开发团队还是解决了这个包冗余和包结构太深的问题,下面我们来看看他们是如何做的。 npm2以一种嵌套的方式安装所有的依赖,而npm3将所有依赖都 继续阅读 »