
谁说 JS 不能做后端
文章平均质量分 75
Node.js / Typescript 后端相关设计、开发
Willin 老王躺平不摆烂
付费咨询/顾问/兼职。To be Willin is to be willing.
欢迎在各社交平台交流学习。96 年起学习编程,现在主要使用:Node.js/Typescript,前后端架构设计团队管理皆略知一二。阿里云MVP,Node.js基金会成员(17-23),腾讯应急响应中心白帽子,诸多国际编程竞赛网站(如CodeWars、HackerRank)进过榜 Top 100……
展开
-
Node.js 20.6支持.env配置文件,加入C++垃圾回收函式库Oilpan
env文件用于配置将存在于正在运行的应用程序中的环境变量。这个想法来自十二因素应用程序方法,该方法说要存储环境中部署之间可能有所不同的所有内容(例如开发,暂存,生产)。配置不应是应用程序代码的一部分,也不应签入到版本控制中。API 凭据或其他机密等内容应单独存储,并加载到需要它们的环境中。通过文件,.env可以管理在环境中设置变量不切实际的应用程序(如开发计算机或 CI)的配置。有许多不同的语言的库支持使用.env文件将变量加载到环境中,它们通常被称为“dotenv”,也不例外。原创 2023-09-07 11:03:48 · 859 阅读 · 0 评论 -
PM2 守护进程
当前使用场景产品环境守护进程。原创 2022-07-25 18:13:54 · 1340 阅读 · 0 评论 -
MySQL 向 GraphQL 迁移
GraphQL是一个开源的图形数据库(基于Node.js实现),中文文档。原创 2022-07-21 10:04:15 · 332 阅读 · 0 评论 -
GraphQL 进阶——DataLoader
Dataloader是由Facebook推出,能大幅降低数据库的访问频次,经常在Graphql场景中使用。原创 2022-07-21 10:02:54 · 729 阅读 · 0 评论 -
基于 API 快速搭建前后分离的项目
以我们目前的开放平台为例。Sandbox(沙盒)的在线文档可以在找到。原创 2022-07-15 09:45:25 · 360 阅读 · 0 评论 -
GraphQL SubGraph
使用 GraphQL 替代 RESTful 接口。类似于传统的微服务架构及负载均衡架构,将 GraphQL 的模型定义(SDL)拆分成 SubGraph。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7QCQVsOZ-1657539190450)(https://cdn.nlark.com/yuque/__mermaid_v3/70df38234687b9975e932f993d52487f.svg)]其中,包括以下核心组成部分:各个服务的数据来源包括不限于:同时,各个服务也原创 2022-07-11 19:33:39 · 391 阅读 · 0 评论 -
像盖房子一样写代码——测试驱动开发
当我写一个功能模块方法时,我在想些什么// 无论什么方法,都是这样一个结构const fn = () => {};比如,我要写一个接口,查询组织下的设备列表 /api/device/list地基const deviceList = (params) => { // 传入一些参数 return []; // 返回一个列表};我需要哪些参数:用户基本信息(主要是用户 id,用户的组织 id)用户对应的组织基本信息(主要是组织 id,组织管理员 id,层级关系,以及权限原创 2022-01-11 10:03:17 · 123 阅读 · 0 评论 -
Apollo Federated Schema 最优实践指南
1、从实体设计出发根据需要定义、引用、继承实体。Object和Interface可以通过添加 @key 变为一个实体。@key 修饰符给实体定义了主键,fields参数可以包含一个或多个该实体的字段。 下面的例子中,Product实体的主键是他的upc字段。Products Subgraphtype Product @key(fields: "upc") { upc: String! name: String! description: String}换句话说,把upc设为key原创 2022-01-10 13:26:21 · 574 阅读 · 0 评论 -
RxJS 基础入门
英文资源官方文档: https://rxjs.dev/guide/overview教程: https://www.learnrxjs.io/Learn RxJS operators and Reactive Programming principles: https://reactive.how/Animated playground for Rx Observables: https://rxviz.com/动画讲解: https://indepth.dev/posts/11原创 2022-01-10 13:22:31 · 844 阅读 · 1 评论 -
Schema-First 还是 Code-First
什么是 Schema-First优先设计 Schema,又称 SDL-First (Schema Definition Language)。优势大多数情况下,该方式能够产生设计良好的API遵循依赖倒置原则(DIP),更加抽象,更少的依赖项减少开发时间,允许前端和后端开发团队同时进行开发(因为 Schema 数据可以更容易地模拟,示例 Mock: https://github.com/graphql-editor/graphql-editor)劣势Schema 与 解析器(.原创 2022-01-09 13:36:29 · 498 阅读 · 0 评论 -
Promise、async/await 使用经验
Promise产生:改善 Callback Hell 问题什么样的方法可以用 Promise 重写例 1:mysql.query('SELECT 1 + 1 AS solution', function (err, rows, fields) { if (err) { throw err; } // 对查询结果进行操作 console.log('The solution is: ', rows[0].solution);});例 2:fs.readFile('myfi原创 2022-01-09 13:34:31 · 443 阅读 · 0 评论 -
由浅入深正则表达式
目录基础字符类字符集合 `[ABC]`否定集合 `[^ABC]`范围 `[A-Z]`点 `.`匹配任意 `[\s\S]`单词 `\w`非单词 `\W`数字字符 `\d`非数字字符 `\D`空白 `\s`非空白 `\S`Unicode 分类 `\p{L}`锚点开始 `^`结束 `$`单词边界 `\b`非单词边界 `\B`转义字符保留字符 `\+`八进制转义 `\000`十六进制转义 `\xFF`Unicode 转义 `\uFFFF`扩展 Unicode 转义 `\u{FFFF}`控制字符转义 `\cI`制表符原创 2021-12-27 13:07:53 · 3288 阅读 · 0 评论 -
Nuxtpress - Node.js 动态网站静态化之路
相信 Hexo、Ghost、WordPress 等常见的开源内容框架对于很多人来说都不陌生。看到这张简单的示意图,应该能够发现,传统的网站生成有两种方式:一种是类似于 Hexo,纯静态的,通过 markdown 编辑文章内容,然后执行命令生成静态网站;另一种是类似于 Ghost,纯动态的,通过管理后台编辑文章(存入数据库,如 MySQL),然后通过渲染器进行渲染,网站内容为动态的,需要在服务器上跑一个服务(程序)。而 WordPress(PHP)之类的框架有一些天然的优势,就是能够很方便地生成原创 2021-12-25 20:28:22 · 1092 阅读 · 0 评论