NodeJS
文章平均质量分 90
zhulin2609
这个作者很懒,什么都没留下…
展开
-
记一次TCP抓包
背景:为啥想着抓TCP,源于跟同事的一次讨论,在client端发起一次http请求(短连接),以client端的维度,从请求到响应的耗时,是否包括TCP四次挥手。因为,我们遇到一个问题:同一个集群去请求两个不同的集群,每0.5个rt 其中一个比另一个慢1.8ms,我们nodejs请求后端的http接口用得都是短链接,算上三次握手(1.5个rt)和实际数据传输(慢启动+接口数据有好几百k)加起来有3-4rt问题不大,累计下来,请求a集群比请求b集群稳定慢10ms。于是我们争论,这10ms里,是否包括了四次挥.原创 2021-11-24 02:41:34 · 265 阅读 · 0 评论 -
网络序?本地序?傻傻分不清楚。。。
网络序?本地序?傻傻分不清楚。。。这个问题源于最近做的一个项目,需要用Node.js进行socket网络编程,涉及到使用TCP/UDP通过自定义的二进制数据序列化协议与android/iOS客户端进行通信。 当协商通信协议时,对接的客户端同学告诉我在发送数据的时候要将要发送的Buffer从本地序转换为网络序,当收到客户端的回包时,需要将收到的Buffer从网络序转换为本地序。 作为一个前端工程师原创 2016-10-12 14:49:27 · 3248 阅读 · 0 评论 -
NodeJS的文件引用路径
只有在 require() 时才使用相对路径(./, ../) 的写法,其他地方一律使用绝对路径,如下:// 当前目录下path.dirname(__filename) + '/test.js';// 相邻目录下path.resolve(__dirname, '../lib/common.js');不推荐__dirname + '/../lib/common.js'的写法,而应该使用path.原创 2017-03-09 12:34:34 · 5316 阅读 · 0 评论 -
RPC in node.js
RPC in node.js原创 2017-05-31 22:44:45 · 1043 阅读 · 0 评论 -
Node知识图谱
Node研发开发环境搭建下载/安装:nodejs.orgwindows:执行exe文件linux:源码安装或者使用wget、yum之类的下载工具编辑器:webstorm、sublime、vimwebstorm:功能强大,吃内存,要钱sublime:简洁,免费,插件多,插件装多了也卡vim:初学曲线较陡,插件丰富,linux自带命令行工具:cmd、xshell包管理器npmyarn(会缓存下载的包,避原创 2017-05-31 22:47:27 · 2135 阅读 · 0 评论 -
NodeJS path模块详解
先占坑__dirname原创 2017-07-11 16:01:05 · 699 阅读 · 0 评论 -
《GraphQL 名词 101:解析 GraphQL 的查询语法》【译】
The Anatomy of a GraphQL Query《GraphQL 名词 101:解析 GraphQL 的查询语法》【译】 GraphQL 日渐成为数据查询的主流标准之一,整个生态圈也蓬勃发展。本文则由浅入深地详细介绍基础的 GraphQL 格式与关键字,有助于初学者对于 GraphQL 的使用形成体系认知。GraphQL 日渐成为数据查询的主流标准之一。每天都会产生许多围绕这项技术翻译 2017-05-09 10:11:25 · 4266 阅读 · 0 评论 -
【译】npx简介:一种npm包的执行器
npx简介:一种npm包的执行器使用本地已安装的可执行工具,而不需要配置npm run-script执行一次性命令使用不同的node版本运行命令用交互的方式开发npm的run-script跟你的好基友们共享基于gist的脚本!加分环节:shell auto-fallback动起来!npx简介:一种npm包的执行器 原文链接:Introducing np...翻译 2018-05-22 16:58:08 · 6731 阅读 · 0 评论 -
【译】Graphql, gRPC和端对端类型检验
原文地址:Graphql, gRPC, and End-to-End Type Coverage作者:Kaitlyn Barnard注:本文采用意译背景介绍StackPath最近发布了新的门户网站,它让用户可以一站式地配置我们所提供的服务(CDN,WAF, DNS以及Monitoring)。这个项目涉及到整合不同的数据源,以及一些现有和全新的系统。虽然我们认为开发效率的优先级在一个...翻译 2018-12-29 01:03:21 · 1158 阅读 · 0 评论 -
【译】啥是Deno?跟Node.js有啥区别?
原文:What’s Deno, and how is it different from Node.js?Node.js的作者Ryan Dahl,过去一年半的时间都在打造一个新的JavaScript运行环境Deno来解决Node的一些内在问题。不过不要误会,得益于JavaScript庞大的社区生态和使用范围,Node是一个非常不错的JavaScript运行环境。然而,Dahl 也承认在N...翻译 2019-07-13 19:57:00 · 1032 阅读 · 0 评论 -
当JavaScript遇上UINT64
导语:写下这篇文章的缘由是因为在项目过程中,碰到了一个使用JavaScript处理 UINT64 类型数字的坑。与大部分现代编程语言(包括几乎所有的脚本语言)一样,JavaScript中的数字类型是基于 IEEE 754 标准来实现的,该标准通常也被称为“浮点数”。JavaScript使用的是“双精度”格式(即64位二进制)。较小的数值不仅仅是JavaScript,所有遵循 IEEE 754 规范原创 2016-11-03 09:00:53 · 10756 阅读 · 0 评论 -
使用Node.js实现一个简单的ZooKeeper客户端
https://github.com/yfinkelstein/node-zookeeper什么是ZooKeeper Zookeeper 是一个分布式的、开源的协调服务,用在分布式应用程序中。它提出了一组简单的原语,分布式应用程序可以基于这些原语之上构建更高层的分布式服务用于实现同步、配置管理、分组和命名等。Zookeeper 设计的容易进行编程,它使用一种类似于文件系统的目录树结构的数据模型,原创 2016-05-12 16:06:49 · 1097 阅读 · 0 评论 -
在NodeJS中利用bookshelf.js进行事务(transaction)管理
术语事务指的是构成单一逻辑工作单元的操作的集合。比如:将钱从一个账户转到另一个账户就是一个事务,该事务包括分别针对每个账户的两个更新。 英文中transaction又是交易的意思,我想应该是因为事务(transaction)管理的场景首先是出现在利用银行账户进行交易(transaction)的过程中,所以计算机科学家们把数据库的这一特性称为事务(transaction)。事务有以下几原创 2015-12-05 12:41:34 · 5895 阅读 · 0 评论 -
PhantomJS基础及示例
概述 PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG.(http://phantomjs.org/)原创 2015-10-17 00:50:14 · 2870 阅读 · 0 评论 -
ECMAScript 2015 (ES6) in Node.js(译)
ECMAScript 2015 ES6 in Nodejs译有哪些特性在Nodejs中是默认开启的不需要设置运行时标志位Which features are behind the es_staging flagWhich features are in progressI have my infrastructure set up to leverage the harmony flag S翻译 2016-04-04 22:37:25 · 1132 阅读 · 0 评论 -
在NodeJS中玩转Protocol Buffer
Protocol Buffer入门教程Protocol Buffer是个什么鬼NodeJS开发者为何要跟Protocol Buffer打交道在NodeJS中实践Protocol Buffer协议选择支持protobuf的NodeJS第三方模块一个栗子书写proto文件编译 proto 文件编写 Writer编写Reader运行结果再举一个栗子编写proto编写client原创 2016-04-03 18:08:05 · 12332 阅读 · 5 评论 -
Dockerizing a Node.js web app
The goal of this example is to show you how to get a Node.js application into a Docker container. The guide is intended for development, and not for a production deployment. The guide also assumes you翻译 2016-05-12 09:40:31 · 536 阅读 · 0 评论 -
使用request.js时遇到的url编码问题
request.js会将查询字符串中的”*”编码成”%2A”,然而在真实的浏览器地址栏中是不会对”*”做这种编码的。但是对”%2A”做url decode确实是”*”。原创 2016-05-21 10:20:24 · 947 阅读 · 0 评论 -
通过ffi在nodejs中调用动态链接库(.so文件)
通过ffi在nodejs中调用C接口概述获取C接口的指针内容异步调用实际案例通过ffi在nodejs中调用C接口概述注意事项!ffi只能调用C风格的模块。需要将C源码build成动态链接库以供调用,在Linux下将C源码build成.so文件,在windows下build成.dll文件。获取C接口的指针内容异步调用实际案例原创 2016-05-03 20:51:38 · 12652 阅读 · 3 评论 -
使用bookshelf.js进行left join操作
LEFT JOIN的工作情况是这样的:你给出用来匹配两个数据表里的数据行的数据列,当来自左数据表的某个数据行与来自右数据表的某个数据行匹配时,那两个数据行的内容就会被选取为一个输出数据行;如果来自左数据表的某个数据行在右数据表里找不到匹配,它也会被选取为一个输出数据行,此时与它联结的是一个来自右数据表的“假”数据行,这个“假”数据行的所有数据列都包含NULL值。换句话说,在LEFT JOIN操作里,原创 2016-05-23 16:31:53 · 1431 阅读 · 0 评论 -
通过ffi在node.js中调用动态链接库
通过ffi在nodejs中调用动态链接库sodll文件概述为什么要在nodejs中调用动态链接库ffi简介与安装注意事项煎蛋栗子获取C接口的指针内容异步调用实际案例通过ffi在node.js中调用动态链接库(.so/.dll文件)概述为什么要在node.js中调用动态链接库由于腾讯体系下的许多公共的后台服务(L5, CKV, msgQ等)已经有了非常成熟的C/C++编写的API,原创 2016-05-22 13:08:07 · 20316 阅读 · 7 评论