Vincent Chan 的巴士站 🚉

兴趣 · Interests

  • 编译原理
  • 数据库
  • 编辑器

最近阅读 · Recently Read

  • 📖 一生的旅程 by 罗伯特·艾格
  • ✅ 浪潮之巅(上册)by 吴军
  • ✅ SQLite Database System Design and Implementation by Sibsankar Haldar
  • ...

项目 · Projects

PoloDB

一个嵌入式的 NoSQL 数据库

主打轻量级、跨平台、可移植,可以像 SQLite 一样嵌入在你的程序里面。
有着类似 MongoDB 的 API,易学易用。 功能齐全、一致性好。
支持各种语言绑定,包括 Python/Node.js/C/C++/Swift 等。

Jetpack.js

一个飞快的 JavaScript 打包压缩工具

C++ 编写,运行飞快。 编译成可以独立运行的二进制,没有运行时(Node.js)依赖。
完整支持 ECMAScript 2017。
支持 JSX 语法。
友好的错误提示。

Webpack 深作用域分析 Plugin(停止维护)

一个 JavaScript 深作用域分析插件,可帮助 webpack 进行 tree-shaking

GSoC 2018 年项目,Google 认证通过。
在 Webpack 4 上运行,帮助 tree-shaking。
Webpack 5 已经集成此功能,无需额外安装插件。

更多项目...

文章 · Articles

QuickJS 源码解读(二):基础设施和标准库

Posted at 2020-12-26

上一篇文章 里面主要解释了 了 QuickJS 虚拟机的运作。第二篇文章打算介绍一下 QuickJS 里面 JavaScript 基础设施的实现。 基础设施 注意,使用 QuickJS 新建 JSContext 的时候,默认是不带基础设施的 (比如说 JSON 解析、Object、等等)。 这时候,可以调用以下命令进…

多线程 SQLite with C++ 踩坑汇总

Posted at 2020-01-14

因为工作的原因使用 SQLite 作为本地数据库,然而 SQLite 和 C++ 配合使用有许许多多的坑,此文用于记录工作过程中使用 SQLite 的坑。 Last Insert rowId Last Insert Rowid SQLite 中有一个函数可以获得最最近 insert 的一行的 id。也就是说,当你 i…

QuickJS 源码解读(一):虚拟机的实现

Posted at 2019-08-27

简介 Quick JS 是 Fabrice Bellard 今年发布的一款 JavaScript 引擎,具有以下特性: 轻量而且易于嵌入:只需几个C文件,没有外部依赖,一个x86下的简单的“hello world”程序只要180 KiB。 具有极低启动时间的快速解释器: 在一台单核的台式PC上,大约在100秒内运行E…

更多文章...