theanarkh

LV1
发表了文章

No.js---基于V8和io_uring的JS运行时

前言:阅读Node.js的源码已经有一段时间了,最近也看了一下新的JS运行时Just的一些实现,就产生了自己写一个JS运行时的想法,虽然几个月前就基于V8写了一...

theanarkh
发表了文章

编译和使用V8

V8编译是个比较麻烦的事情,不仅是下载、编译的过程,不同系统、不同编译器、不同C++版本都可能会出现不同的问题。之前编译的时候没有记录步骤,这次简单记录一下编译...

theanarkh
发表了文章

JS运行时Just源码解读

像Node.js一样,Just也分为内置JS和C++模块,同样是在运行时初始化时会处理相关的逻辑。

theanarkh
发表了文章

vscode调试Node.js指南

前言:调试代码不管对于开发还是学习源码都是非常重要的技能,本文简单介绍vscode调试Node.js相关代码的调试技巧。

theanarkh
发表了文章

Node.js子线程调试和诊断指南

调试、诊断子线程最直接的方式就是像调试、诊断主线程一样,但是无论是动态开启还是静态开启,子线程都不可避免地需要内置一些相关的非业务代码,本文介绍另外一种对子线程...

theanarkh
发表了文章

深入理解Node.js的Async hooks

前言:虽然Async hooks至此还是实验性API,但是他的确可以解决应用中的一些问题,比如日志和调用栈跟踪。本文从应用和原理方便介绍一下Node.js的As...

theanarkh
发表了文章

好玩的lua

前言:最近体验了一下Openresty,了解到Openresty里使用lua语言来增强了Nginx的能力,所以又去了解了一下lua,lua语言小而精悍,lua引...

theanarkh
发表了文章

好玩的Openresty

Openresty是国人发起的一个开源项目,大概看了一下,也体验了一下,在技术实现上,角度挺有意思的。Openresty是基于Nginx的web服务器,有意思的...

theanarkh
发表了文章

【误删,补回来】智能指针和所有权

在编程语言中,对堆对象的内存管理是一个麻烦又复杂的问题。一不小心就会带来问题,比如JS里一直引用一个已经不使用的对象导致gc无法回收,或者C++里多个变量指向同...

theanarkh
发表了文章

web程序员

前言:同步一篇2017年1月在QQ空间写的随笔,2017年,我还在实习,现在回首,已经好几年过去,现在看起来,还挺有意思的。

theanarkh
发表了文章

RAII机制和智能指针

RAII全称是Resource Acquisition Is Initialization,翻译过来是资源获取即初始化,RAII机制用于管理资源的申请和释放。对...

theanarkh
发表了文章

在Node.js中使用SO_RESUEPORT

前言:今天下载了Node.js最新版代码,并为Node.js的TCP模块增加了SO_RESUEPORT的能力,本文介绍一下具体的实现,关于SO_RESUEPOR...

theanarkh
发表了文章

使用Node.js Addon实现类继承

前言:昨天有个同学问怎么通过NAPI把C++类的继承关系映射到JS,很遗憾,NAPI貌似还不支持,但是V8支持,因为V8在头文件里导出了这些API,并Node....

theanarkh
发表了文章

node-addon-api的设计和实现

前言:开发Nodej.js Addon的方式经过不断地改进,已经逐步完善,至少我们不需要在升级Node.js版本的同时担心Addon用不了或者重新编译。目前No...

theanarkh
发表了文章

在Libuv中使用io_uring

1 git clone https://github.com/axboe/liburing.git。执行./configure && make -j2 && s...

theanarkh
发表了文章

编写自己的js运行时第二篇

前言:第一版基于V8实现了一个朴素版的服务器,第二版支持了多进程架构,并且支持了SO_REUSEPORT。本文介绍一下第二版的一些实现,设计上还是比较随意的,目...

theanarkh
发表了文章

从No.js看Node.js原理

前言:越来越多同学在使用Node.js,大家也不同程度地理解Node.js是什么。比如Node.js是由V8、Libuv、JS组成的,Node.js底层是C\C...

theanarkh
发表了文章

从内核看io_uring的实现---第一篇(基于5.9.9)

前言:最近研究了一下Linux的高性能异步IO框架io_uring,并尝试引入Node.js中应用起来。所以本文打算介绍一下io_uring在内核的实现,因为i...

theanarkh
发表了文章

io_uring和Node.js

前言:io_uring是大神Jens Axboe开发的异步IO框架,在Linux内核5.1引入。本文介绍什么是异步框架和io_uring的一些基础内容,最后介绍...

theanarkh
发表了文章

提升Node.js性能之SO_REUSEPORT的探讨

前言:多个进程不能同时绑定同一个IP和端口,这是早期Linux内核的一个限制,这个限制给服务器带来了很多不便之处,因为服务器的架构通常不是单进程的,尤其在多核的...

theanarkh

个人简介

个人成就

扫码关注云+社区

领取腾讯云代金券