node js
风不二
一个不正经的业余程序员
展开
-
[qiankun] 微前端实践(一)
新的项目新的开始,为了避免后期冗余,这次就花了些时间学习了下,其实中间没怎么发现什么坑,如果非说一个 那就是 主应用和子应用的路由 这块绕了一点,有可能场景比较简单吧;这边主应用是用了 vue element admin 的模板 其实主要是 用左侧的菜单栏部分;在layout 声明 挂载的 dom节点,剩下的只是配置路由部分,如下:children 部分不需要组件{ path: '/test', name: 'testname', component: Layout,原创 2021-04-27 21:05:55 · 301 阅读 · 0 评论 -
windows 下可执行node处理 对比记录
mac#!/usr/bin/env nodeconst { program } = require('commander');program .description('An application for pizza ordering') .option('-p, --peppers', 'Add peppers') .option('-c, --cheese <type>', 'Add the specified type of cheese', 'marble')原创 2021-04-09 12:42:03 · 183 阅读 · 0 评论 -
【reactjs】requestIdleCallback 和 requestAnimationFrame对比
react 16 以后 引入了Fiber,对核心算法进行重构,花一些时间来学习研究下,还是蛮有收获的。大家都知道requestAnimationFrame,在canvas绘制动画方面使用较多,前面应该也对比过requestAnimationFrame 和 setTimeout (setInterval) ,requestAnimationFrame一些性能优化点,比如说 窗口失去焦点后的区别;原创 2021-03-23 18:06:22 · 893 阅读 · 0 评论 -
【ffmpeg】ffmpeg如何设置header信息亲测
从网上搜了一些文章,各式各样的都有,也不知道是不是有效,大部分都是设置ua或者其他某一项的,但是有时候有需要设置多项,这时候就区分不出来那个是正确的那个是错误的,整理下记录下来了,避免后期踩坑我本地的ffmpegffmpeg version 3.3.2 Copyright (c) 2000-2017 the FFmpeg developers正确写法ffmpeg -user_agent "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10原创 2021-02-28 11:32:23 · 6083 阅读 · 1 评论 -
SPA绕坑指南,聊聊你也许会遇到的问题
在进入正题之前,敲下黑板,不同的浏览器对同域限制并发数量是不一样的,这也是为什么大厂都有很多不同的域名去加载资源,拿chrome浏览器来说这张图应该一目了然,同域的资源最多同时请求一定数量(6),知道这个前提,就开始进入正题SPA作为前端一员应该熟悉不过了,对前后端的分离有着重大意义。这里要说的,当你的 pwa 项目中路由过多,每个route下查询的数据也比较多,当你快速切换route的时候,就有可能出现上述说的问题,会阻塞你的连接。当然如果你的服务响应很快,从用户获取结果上没有任何问题,原创 2020-07-17 17:45:25 · 959 阅读 · 0 评论 -
轮询不得不考虑的异常 close 事件侦听
最近想在服务端做个功能,用到了 长轮询, 不管是用eggjs 、 expressjs, 在开发过程中不断的会发现一些未处理的异常抛出。errno: "ECONNRESET"code: "ECONNRESET"syscall: "read"最后发现 原来长连接未侦听 close 的事件, 流程大概是这样的1、用户建立请求 pending状态2、服务端 emit 事件 用于执行特定任务3、执行完成 或者 时间到了, response 返回信息如果在 2 和3 的环节之间 用户 close原创 2020-06-01 18:16:12 · 458 阅读 · 0 评论 -
rtmp 调研整理
涉及技术点nginxffmpegrtmp 协议webrtcWCS服务器其实整体来说可能跟 mediasoup 没有太多紧密联系(站在bs结构)h5的方式没有办法直接推流到 rtmp地址,下面一点一点来总结整理。nginx 方面这里研究了 nginx 搭建rtmp, 安装nginx 需要 --with-rtmp-module,安装成功之后配置rtmp服务,rtmp { ...原创 2020-05-08 16:38:39 · 372 阅读 · 0 评论 -
rabbitmq 学习笔记 node环境
amqp 队列安装 rabbitmqbrew install rabbitmq;需要配置环境变量export AMQP_HOME=/usr/local/Cellar/rabbitmq/3.8.3/sbinexport PATH="${AMQP_HOME}:${PATH}"rabbitmq-defaults rabbitmq-plugins rabbitmq-upg...原创 2020-04-12 19:14:06 · 533 阅读 · 0 评论 -
mediasoup 学习笔记,整体了解
疫情在家办公,一起学点东西吧,webrtc前面已经有一些基础api学习了以下,其实前面已经听说过这个,把demo跑起来之后也一直没时间看,这段时间可以安排到计划内了,进一步的了解。mediasoup 提供了一套简单方便的搭建一套即时音视频通话系统,上层提供nodejs接口,nodejser比较亲民。但是里面也包含了不少音视频媒体相关的一些知识,比如说 媒体编解码方面等等。这个官方文档确实很多...原创 2020-03-04 17:36:24 · 3506 阅读 · 1 评论 -
mediasoup 学习笔记【一】 worker
如果以前接触过nodejs,应该对cluster有所了解,不管是 expressjs, eggjs 等等框架,都启用了多进程方案以提升性能。当然mediasoup也不例外。今天再一起回忆下,cluster这个node模块。官网给的例子,开代码就可以清楚,这里区分主进程和子进程,主进程不负责业务代码部分,只负责子进程的监控方面的工作。cluster fork 就是 起个进程 再次执行非 ma...原创 2020-03-03 15:50:55 · 2020 阅读 · 1 评论 -
lowdb 数据库学习笔记
lowdb json文件数据库,基于lodash方式,链式调用;初始化 (其实也区分客户端和服务端用法)https://github.com/typicode/lowdb/tree/master/examplesconst low = requre('lowdb');const FileSync = require('lowdb/adapters/FileSync')const adap...原创 2020-02-27 15:07:49 · 3216 阅读 · 0 评论 -
protoojs的学习整理server,client
春节后第一篇文章,肺炎疫情期间,大家都应该安排在家办公或者休假吧,我也和大家一样,小区门卫都只让每两天才能出去一次,出入都得测温消毒,实属不便。闲话就撤这么多了,这几天任务不忙的时候,学习了mediasoup, 今天先说下里面的依赖 protoojs部分...原创 2020-02-16 17:15:36 · 2720 阅读 · 0 评论 -
webassembly 常见错误整理
错误一RuntimeError: memory access out of bounds原因打包的时候添加 --importMemoryasc assembly/index.ts -b build/optimized.wasm -t build/optimized.wat --sourceMap --validate --optimize --runtime none --import...原创 2019-12-24 22:47:55 · 10648 阅读 · 2 评论 -
二进制通信方式数据混淆
今天在调研互动白板的功能,顺便把以前发现的二进制socket消息研究了下,以往的socket消息 都是明文的,有的我发现是二进制的。原创 2019-10-22 13:56:34 · 1125 阅读 · 0 评论 -
深层递归异步回调处理方案
这两天在用oss的时候,用脚本去部署前端静态资源的时候,需要删除远端的文件操作这里就需要递归文件删除objectvar list = [], step = 0;async function listDir(dir) { step++; let result = await client.list({ prefix: dir, delimiter: '/' }); if (r...原创 2019-06-26 14:00:19 · 1352 阅读 · 0 评论 -
inquirer 如何动态设置题目
inquirer 大家先看个图片就明白是干什么的了有时候中间的一些选择会跳过或者新增题目,这样就需要每次选择动态的出题实现方式全部代码const inquirer = require('inquirer')const Rx = require('rxjs')var questionIndex = 0;function answer() { var prompts = new R...原创 2019-06-21 15:26:26 · 1229 阅读 · 2 评论 -
【npm】npm不常用的命令整理
npm list 查看项目中的依赖转载 2019-05-17 13:43:22 · 181 阅读 · 0 评论 -
使用npm 安装速度慢的解决方案
镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在):1.通过config命令npm config set registry http://registry.cnpmjs.org npm info underscore (如果上面配置正确这个命令会有字符串response)2.命令行指定 npm --regis转载 2014-03-25 10:26:45 · 4094 阅读 · 0 评论 -
phantomjs render options
// render to file named "test.jpg" with JPEG formatpage.render("test.jpg"); // render to file named "test.jpg" with PNG format. format option will override format of file extension.page.render("tes转载 2014-05-07 16:28:16 · 1310 阅读 · 0 评论 -
nodejs canvas to base64 and post server write to image
客户端代码呈现原创 2014-05-13 17:46:36 · 1310 阅读 · 0 评论 -
child_process spawn 开辟子进程,执行终端命令,获取数据
直接上代码,比较直观:原创 2014-06-18 21:06:08 · 3690 阅读 · 0 评论 -
nodejs 加密 Crypto
crypto nodejs 常用的加密方式,简单使用教程,拼接字符串方式进行加密。原创 2015-04-27 19:08:48 · 594 阅读 · 0 评论 -
node msgpack5 数据传输 简单实现
msgpack5nodeserver 部分 安装: npm install msgpack5 server代码 基于express 4.x var msgpack = require(“msgpack5”)(); //设置类型 res.set(“Content-Type”, “application/msgpack”); //数据格式化 var _原创 2015-08-07 17:24:53 · 3087 阅读 · 0 评论 -
【react-native】android 打包方法记录
web前端发展到今天,可以说已经跨多个平台了, 从一开始的响应式页面,到现在的打包app,pcApp等等已经变为现实了,这个方式方式还是在4年前的方式,可能有新的版本了,或者新的方式。这块就回忆下怎么使用 react-native 打包app的步骤。不变的步骤版本:react-native-cli: 2.0.1react-native bundlereact-native bundle...原创 2019-03-04 22:05:00 · 260 阅读 · 0 评论 -
export 和 import 常用技巧
export基本的两种用法:export function foo() {// ..}export var awesome = 42;var bar = [1,2,3];export { bar };function foo() {// ..}var awesome = 42;var bar = [1,2,3];export { foo, awesome, bar ...原创 2019-03-01 21:58:14 · 1824 阅读 · 0 评论 -
【微信】微信下单支付开发小结(服务端)
这篇文章出现也算是机缘巧合,去年年初,还在上家公司的时候,由于java后端工作量大抽不出人员进行微信支付开发的工作,我就硬着头皮上了,用nodejs (expressjs)+ mongodb 开发完成,迭代修复了几次bug,要不就没缘分给大家分享了。因为涉及到money 所以这块我尽可能把容易出问题的地方说下。步骤大概是这样的1、下单:携带自己的订单id [‘out_trade_no’]2、...原创 2019-02-26 17:14:47 · 583 阅读 · 0 评论 -
用vue 创建工程或者是创建组件注意事项
背景:原来都是一直在使用react,现在换成了vue因为中途进来的项目,一直没有从头开始理清楚,今天花了一些时间梳理了一下。@vue/cli 全局安装就不说了这里主要说下创建vue组件和创建vue项目刚开始的时候一直在用vue create projectname每次创建之后发现和自己的工程结构不一样后来发现Usage: vue &amp;lt;command&amp;gt; [options...原创 2019-03-09 18:08:58 · 2750 阅读 · 0 评论 -
前端工程师本地开发环境配置注意事项
前后端分离已经不是什么新鲜事件了,虽说仓库已经分开开发了,但是数据接口还是避免不了的,如何方面快速成功的调用到后台的服务也需要前端不断的get新技能,今天就分享一下前端本地开发环境的配置。可能涉及的知识点:1、后台:跨域、鉴权2、nginx 配置3、webpack 配置就拿 vue 项目 vue init webpack 创建的项目,以前的文章介绍过vue create 和 vue i...原创 2019-03-12 20:37:22 · 2791 阅读 · 0 评论 -
【微信】公众号前端开发三两事
微信开发,签名算法,js-sdk, access_token获取方式,开发中的问题原创 2019-04-24 00:23:23 · 2394 阅读 · 0 评论 -
mongodb 常用驱动写法 如何连接mongodb
mongo数据库在nodejs平台有2个常用驱动,mongodb和mongoose,mongodb接口非常接近mongo数据库原生的操作方式,是helloworld之类演示代码的首选mongo数据库连接驱动,因此成为大部分nodejs初学者最先接触的mongo数据库驱动。初学者在学会mongo连接的同时,却也可悲的被helloword这种演示性质的数据库操作习惯潜移默化了。var server转载 2014-03-27 15:29:16 · 1681 阅读 · 0 评论