NodeJS中npm3相对于npm2模块依赖目录层次的改进 npm是node.js的包依赖管理工具,不过有的时侯项目依赖过多,造成路径过深,超过了操作系统的文件深度限制。NPM3对此做了很大改进。简单的来说将传统的嵌套结构改为了平铺结构
比如,有一个模块A,依赖 B.
用纯CSS停止冒泡和阻止浏览器默认行为及事件响应,达到禁用(disable)的目的 JavaScript有一个preventDefault方法, 他可用以来
取消事件的默认动作。比如取消打开链接,选择文本或拖放等。
event.preventDefault()
其实还有一种用纯css就能实现取消事件响应的方法,pointer-events,使用起来更加简单。
使用Bootstrap、Electron和JavaScript开发桌面应用 HTML一直是桌面软件的重点,各种桌面软件或者多或少都会嵌入一些HTML的代码。而自从在了Nodejs后,使用HTML制作桌面就成为了可能。
这要感谢node-webkit引入了对桌面的支持,然后electron推动了这个趋势。
由于node-webkit的支持力度似乎不够大,而electron已经有相应的比较成熟的产品Atom/VSCode,所以我倾向了electron.
今天我要介绍如何使用electron与bootsrap做一个桌面的应用。
乌云和漏洞盒子停业整顿—可能与国内“白帽子”黑客圈高度关注的“袁炜事件”有关 据京华时报报道,袁炜是乌云上的一名白帽子。2015年12月,他在乌云提交了其发现的婚恋交友网站世纪佳缘的系统漏洞。在世纪佳缘确认、修复了漏洞并按乌云平台惯例向漏洞提交者致谢后,事情突然发生转折。世纪佳缘在一个多月后以“网站数据被非法窃取”为由报警,4月份,袁炜被司法机关逮捕。在不久前的第四届网络安全大会上,袁炜的父亲发出公开信为儿子鸣冤,让袁炜的遭遇成为网络安全圈的热门事件。
世纪佳缘CEO吴琳光对此事也高度关注,并亲自回应称:“在警方披露调查结果前,世纪佳缘并不了解网站攻击者与漏洞提交者有何种关联。世纪佳缘报警是出于对用户隐私和公民信息安全的考虑,并不针对任何个人或组织。”
Redis和Memcached的区别-从源码解读Reids的实现原理 Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较:
- Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET一样高效。所以,如果需要缓存能够支持更复杂的结构和操作,那么Redis会是不错的选择。
- 内存使用效率对比:使用简单的key-value存储的话,Memcached的内存利用率更高,而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached。
- 性能对比:由于Redis只使用单核,而Memcached可以使用多核,所以平均每一个核上Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis最近也在存储大数据的性能上进行优化,但是比起Memcached,还是稍有逊色。
JavaScript的 Event Loop 模型 现如今,作为浏览器脚本语言的JavaScript几乎无处不在。作为软件开发人员,接触JavaScript语言也是不可避免的。由于项目需要,本人接触这门语言也有将近一年了。写这篇文章的原因也是对JavaScript语言本身的编程模型做一个总结,借以巩固自己对JavaScript的理解,并希望举一反三,通过了解其独特的编程模型,进一步消化吸收,提高自己知识的深度与广度。本文将介绍一些有关JavaScript并发模型的一些核心概念,包括event loop和消息队列等…
三星拟收购NodeJS主要赞助商Joyent 2016年6月16日三星在基官网上宣布,将收购Joyent,以加强其在移动、物联网和云服务方面的能力。
值得注意的是Joyent一直以来都是NodeJS的主要赞助商和维护者,Node.JS的核心开发成员大多在Joyent工作。
三星的收购可能会影响Node.js以后的发展方向。
JavaScript中该如何安排后台任务 关于JavaScript,大家要牢记一点:它阻塞。
想象一下,浏览器里有一个进程小精灵,负责处理一切。渲染HTML、响应菜单命令、绘制屏幕、处理鼠标点击、运行JavaScript函数……。跟我们人一样,这个小精灵每次只能做一件事。如果一次交给它很多任务,那么就会有一个待办事项列表,小精灵按顺序一项一项去处理。
小精灵在碰到script
标签或者要运行JavaScript函数时,会停下其他任务。下载代码(必要时)然后立即运行,之后才会触发其他事件 ,以及渲染页面。这是必要的,因为脚本几乎什么都可能做:加载更多代码、删除DOM元素、重定向URL,等等。就算有两个甚至更多小精灵,那其他小精灵也需要在首次处理代码时停下来。这就是阻塞。这也是为什么运行时间过长的脚本会导致浏览器无响应的原因。
Node.js面试题:侧重后端应用与对Node核心的理解 Node是搞后端的,不应该被被归为前端,更不应该用前端的观点去理解,去面试node开发人员。所以这份面试题大全,更侧重后端应用与对Node核心的理解。