分类 Node.js

2018年书单整理

[TOC]

2018年书单

  • 经济
    • 文一:《伟大的中国工业革命:“发展政治经济学”一般原理批判纲要》 ★★☆
    • 野口悠纪雄:《战后日本经济史》#值得二刷# ★★★
    • 廖连中:《企业融资:从天使投资到IPO》★★★
    • Michael Lewis:《大空头》
    • 克里斯蒂娜·柯利娅:《3G资本帝国》
    • 安德鲁·罗斯·索尔金:《大而不倒》
    • 本杰明·格雷厄姆:《聪明的投资者》
  • 政治&社科&历史
    • 傅高义:《邓小平时代》#有机会看英文原版# ★★★
    • Sean McMeekin:《奥斯曼帝国的终结:战争、革命以及现代中东的诞生》 #没看懂#★★☆
    • 我们外教的作品,讲中国之行 https://www.amazon.com/Where-Great-Wall-Ends-Memoir/dp/1732047413
    • 西蒙·蒙蒂菲奥里:《耶路撒冷三千年》
    • 拉莱·科林斯和多米尼克·拉皮埃尔:《为你,耶路撒冷》
    • 拉莱·科林斯和多米尼克·拉皮埃尔:《巴黎烧了吗?》
  • 传记
    • 李志刚:《创京东:刘强东亲述创业之路》 ★★☆
    • 李志刚:《九败一胜:美团创始人王兴创业十年》
    • 范海涛:《颠覆者:周鸿祎自传》 ★★☆
    • 艾萨克森:《乔布斯传》 ★★★
    • 艾萨克森:《富兰克林传》
    • 艾萨克森:《达芬奇传》 ★★☆
    • 万斯:《硅谷钢铁侠》 ★★☆
    • 山姆·沃尔顿:《富甲美国:沃尔玛创始人山姆·沃尔顿自传》★★☆
    • 伯迪·托尔卡:《宜家故事:IKEA创始人英格瓦·坎普拉德传》★☆☆
    • 李咏:《咏远有李》 #直男追女爱妻疼女儿手册+央视大众娱乐兴衰史# ★★★
    • 默克尔的传记
    • 李光耀的传记
    • 马哈蒂尔的传记
  • 哲学&心理
    • 威尔·杜兰特:《哲学的故事》
    • 盖伊·特立斯:《邻人之妻》 ★★★
    • 詩麗・詩麗・若威香卡(Sri Sri Ravi Shankar):《世紀意識的覺醒》https://www.kobo.com/tw/zh/ebook/1arvu1jvvt6yewlor1-z0w #谷歌图书#
    • 斯瓦米·拉玛:《冥想》 #谷歌图书# ★★★
    • Michael Fischman:《鑽石切割師:一個凡夫俗子的悟境之旅》#谷歌图书#
  • 管理
    • 克里斯蒂娜·柯利娅《3G资本帝国》
    • 萨提亚·纳德拉:《刷新》#微软重生的方法论# ★★☆
    • 瑞·达利欧:《原则》 ★★★
    • 亚历克斯·迈克尔:《领导力》#曼联主教练弗格森方法论,适合初当leader的同学# ★★★
    • [日] 盛田昭夫(Akio Morita),[日] 下村满子(Mitsuko Shimomura):《日本制造》
    • 斯图尔特:《迪斯尼战争》
    • 约翰内森:《索尼秘史》
  • 技术
    • 《淘宝技术这十年》★★☆
    • 《人月神话》
  • 小说&科幻&杂记
    • 刘慈欣:《流浪地球》#是还不错,就是有点短#★★★
    • 李诞:《笑场》★★☆
read more
Node.js

[译]在Docker中构建平滑的Nodejs应用

翻译来源:https://medium.com/@becintec/building-graceful-node-applications-in-docker-4d2cd4d5d392

当你有一个启动了并稳定运行,而且能提供流量的Node应用,你可能无法做到高枕无忧。比如有些时候你的应用会出现一些意外,比如,数据库链接超时、内存溢出、部署会迫使Nodejs服务需要重新启动。这个时候,你需要关注的是这个时候正在提供服务的进程会发生什么情况?不言而喻,随着进程终止,正在提供服务的请求也会终止服务。

Graceful exiting(译者注:下文称“平滑退出”)就是处理这类的问题的方法,它允许Nodejs应用完成对所有正常请求的响应之后然后再关闭进程。虽然Nodejs应用添加平滑退出机制相对比较容易,但Docker和npm启动子进程并处理信号的方式,会导致本地直接启动和Dockerized启动两种方式出现一些意想不到的差异。

请求生命周期与优雅退出(正在进行的请求仍将中止,但处理请求将完成)

平滑退出

read more
Node.js

Node.js 8 中的重要新特性及优化

Node.js 8是下一个进入长期支持(LTS)的发行版。 这将于2017年10月发生。 一旦Node.js 8转换到LTS,它的代号将变为Carbon。

官方介绍 node 8.0.0

  • Async Hooks API 简介
    • Async Hooks API 如何在 Node.js 8 中工作的?
  • N-API 简介
  • Node 8 中 Buffer 安全性的改进
  • Pending Deprecations
  • 提升对Promises的支持
  • Console 的改变
  • 静态错误码
  • 重定向过程警告
  • Stream API 改进
  • Debugger 的改变
  • 实验性的检查器 JavaScript API
  • 将V8升级到5.8:为 TurboFan 和Ingnition 做准备
  • npm 升级到 5.0.0
  • WHATWG URL parser
  • Node.js 8中的其他显着变化
    • 异步钩子Async Hooks
    • 缓冲区Buffer
    • Child Process
    • Console
    • Dependencies
    • Domains
    • Errors
    • File System
    • HTTP
    • Lib
    • N-API
    • Process
    • REPL
    • Stream
    • TLS
    • URL

Async Hooks API 简介

Async Hooks(以前称为 AsyncWrap )API允许您获取有关句柄对象生命周期的结构跟踪信息。

read more
Node.js

[转]Rem布局的原理解析

面试中发现很多人对rem布局的原理不是很清楚,只停留在会使用的阶段,或者理解完全是错误的,本文将给大家讲清楚rem布局的原理,使用方案等知识

什么是Rem

rem和em很容易混淆,其实两个都是css的单位,并且也都是相对单位,现有的em,css3才引入的rem,在介绍rem之前,我们先来了解下em

em作为font-size的单位时,其代表父元素的字体大小,em作为其他属性单位时,代表自身字体大小——MDN

我在面试时经常问会一道和em有关的题,来看一下面试者对css细节的了解程度,如下,问s1、s2、s5、s6的font-sizeline-height分别是多少px,先来想一想,结尾处有答案和解释

read more
Node.js

[转]Node.js的线程和进程详解

前言

很多Node.js初学者都会有这样的疑惑,Node.js到底是单线程的还是多线程的?通过本章的学习,能够让读者较为清晰的理解Node.js对于单/多线程的关系和支持情况。同时本章还将列举一些让Node.js的web服务器线程阻塞的例子,最后会提供Node.js碰到这类cpu密集型问题的解决方案。

在学习本章之前,读者需要对Node.js有一个初步的认识,熟悉Node.js基本语法、cluster模块、child_process模块和express框架;接触过apachehttp压力测试工具ab;了解一般web服务器对于静态文件的处理流程。

Node.js和PHP

早期有很多关于Node.js争论的焦点都在它的单线程模型方面,在由Jani Hartikainen写的一篇著名的文章《PHP优于Node.js的五大理由》中,更有一条矛头直接指向Node.js单线程脆弱的问题。

read more
Node.js

深入理解JavaScript执行上下文、函数堆栈、提升的概念

首先明确几个概念:

  • EC:函数执行环境(或执行上下文),Execution Context
  • ECS:执行环境栈,Execution Context Stack
  • VO:变量对象,Variable Object
  • AO:活动对象,Active Object
  • scope chain:作用域链

想当初自己看到这几个概念的时候是一(m)脸(d)懵(z)逼(z),但是不得不说这几个概念对以后深入学习JS有很大的帮助。来不及解释了,赶紧上车~

EC(执行上下文)

每次当控制器转到ECMAScript可执行代码的时候,就会进入到一个执行上下文。

read more
Node.js

iBlog:基于Gracejs及github issues的全功能博客方案

iBlog 是完全基于github API 并充分利用 gracejs 数据代理特性实现的全功能博客方案。

简介

github作为全球最大同性交友网站,已经有人在其上面做了很多匪夷所思的事情,利用issues功能写博客就是其中之一……

背景

read more
Node.js

Node.js模块化机制原理探究

前言

Node应用是由模块组成的,Node遵循了CommonJS的模块规范,来隔离每个模块的作用域,使每个模块在它自身的命名空间中执行。

CommonJS规范的主要内容:

模块必须通过 module.exports 导出对外的变量或接口,通过 require() 来导入其他模块的输出到当前模块作用域中。

CommonJS模块的特点:

read more
Node.js