Tag: node
All the articles with the tag "node".
在 VS Code 中调试 nodejs
Published: at 05:37大家好,我是山月。 不啰嗦,直接开始。 由于 VSCode 内置 Node 调试器,调试 Node 极其简单,遵循以下步骤 1. 在 ToolBar 中找到 Run And Debug 按钮并点击,或直接 <Command+Shift+D> 打开调试 1. 在调试面板顶测选择 Run Current File 1. 点击绿色调试小按钮,开
如何写一个 C 扩展
Published: at 03:31大家好,我是山月。 我还有工作的时候,据我同事说,他作为一个 Node 开发者去字节跳动面试时,面试官问到: 你写过 C++ 的扩展吗? 自此之后,他再也没有面试过 Node,前几天听闻他的消息时,他的 title 已变成前端开发工程师,当他再次大厂面试时,对以前的 Node 经验闭口不提。 今天将学习 node 中的 napi , 并从
FileSystem API
Published: at 17:18+ fsevents + fs-extra + chokidar + graceful-fs + readdirp + fstream
Node 服务端框架路由解析
Published: at 04:15大家好,我是山月。在上篇文章介绍了 HTTP 报文及简单的服务端框架要素,如如何接受请求参数等。这篇文章介绍另一个常见的主题:路由。 最简单的路由可使用 req.url 进行路由分发不同的逻辑,代码如下所示。 但是对于一个非Demo式的页面,业务逻辑都堆在一起,这显得太为简陋。 作为一个能够在生产环境使用,较为复杂的路由至少能够解析以下路
我是如何高效地组织 npm scripts
Published: at 16:00众所周知,一个 Javasript 项目的脚本类工具,可以使用 package.json 中的 scripts 字段来组织,简单来说,这就是 npm script 。 最典型最常用约定俗成的一个是 npm start ,用以启动项目: 约定俗成的还有很多,如下所列 + npm install + npm test + npm publis
如何使用 Node 开发一个命令行工具
Published: at 14:18一个 Node 脚本,一个 PATH 环境变量,npm 安装全局模块时是如何处理命令行脚本的?本文将引导你使用 Node 开发一个好用漂亮的命令行工具
环境变量应该扔在哪里
Published: at 05:06+ Application: .env + Container: .env + CI: Gitlab CI + Kubernetes Config/Environment + Consul/Vault
如何高效及正确地打日志
Published: at 13:00在服务器应用(后端项目)中,完善并结构化的日志不仅可以更好地帮助定位问题及复现,也能够发现性能问题的端倪,甚至能够帮忙用来解决线上 CPU 及内存爆掉的问题。
使用 Docker 部署 Node 应用
Published: at 00:53如何在生产环境部署一个 Node 应用?
Node 进程内存监控
Published: at 11:06如何知道跑在线上的 Node 服务消耗了多少内存呢?
Node 应用中的单元测试
Published: at 07:06当新增一个新功能或迭代已有功能时,如何保证不会影响到旧功能的正常运作?
async_hooks、CLS 与 ALS
Published: at 12:01为什么需要监听异步资源?在一个 Node 应用中,异步资源监听使用场景最多的地方在于:异常捕捉时需要提供用户信息,在每次客户端请求中保持一致的用户信息
40 行代码实现精简版 koa
Published: at 08:10当我们在深入学习一个框架或者库时,为了了解它的思想及设计思路,也为了更好地使用和避免无意的 Bug,有时很有必要研究源码。对于 koa 这种极为简单,而应用却很广泛的框架/库更应该了解它的源码。
Javascript 调试基础与示例
Published: at 02:20使用 Javascript 写代码,如论是在 Node 后端环境还是前端单页应用,调试是资深程序员的进身之阶! 程序员的水平提示之路只有一条,那就是乐此不疲地调试代码。某非著名非大师山月如是说道。 + Resume : 执行到下一个断点 + Step Over : 执行下一语句 + Step Into : 执行下一语句,如遇到函数,则进入
Body Parse / Raw Body
Published: at 16:00在 Node Server 中, HTTP Request 基于 Readable Stream ,我们可以通过读取可读流的方式,将原始请求体读取出来。 简单粗暴的解析代码如下: 我们知道,为了节省带宽,在针对静态资源进行部署时,往往会做 gzip/brotli 的压缩。 从浏览器发的请求来看,也会有经过压缩的内容,此时在服务器端需要先把
浏览器跨域问题与服务器中的 CORS 配置
Published: at 16:00跨域,这或许是前端面试中最常碰到的问题了,大概因为跨域问题是浏览器环境中的特有问题,而且随处可见,如同蚊子不仅盯你肉而且处处围着你转让你心烦。你看,在服务器发起 HTTP 请求就不会有跨域问题的。当谈到跨域问题的解决方案时,最流行也最简单的当属 CORS 了。
如何调试 node.js 源码
Published: at 16:00node.js 源码托管在 $1。 通过以下命令对 node.js 源码进行编译。 **等待的时间较长,需要一顿吃火锅的功夫。** 源码编译之后会生成 ./out 目录,在根目录中会生成可执行命令行工具 node 与 node_g ,指向 ./out 中的符号链接。 **使用 node_g 替代全局的 node ,可对源码进行调试。**
Node 中异常上报与监控
Published: at 16:00date: 2018-07-18 21:00 --- 在一个后端服务设计中,异常捕获是必不可少需要考虑的因素 **而当异常发生时,能够第一时间捕捉到并且能够获得足够的信息定位到问题至关重要** 这也是本篇文章的内容 刚开始,先抛出两个问题 1. 在生产环境中后端连接的数据库挂了,是否能够第一时间收到通知并定位到问题,而不是等到用户反馈之后
Node 中的事件循环
Published: at 16:00> 你只能看到你想看到的观点,面试官只想听到他所背会的面试题 ##
Node 脚本异常时如何安全退出
Published: at 16:00最近观察项目镜像构建,会偶尔发现一两个镜像虽然构建成功,但容器却跑不起来的情况。