摘要: JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。 一个 Buffer 类似于一个整数数组,但它对应于 V8 堆内存之外的一块原始内存。 Buffer对象占用的内存空间是不计算在Node.js进程内存空间限制上的,因此 阅读全文
posted @ 2017-07-22 22:43 buzzjan 阅读(7156) 评论(0) 推荐(2) 编辑
摘要: 最近有在做 stream 下载,并且边下载 stream 边处理功能、解析二进制的功能。最初参考了 flv.js 的 flv stream 下载处理功能,发现他并没有使用的 XMLHttpRequest 的 responseType = ‘arraybuffer’ 这个功能,而是使用的fetch a 阅读全文
posted @ 2017-07-22 21:29 buzzjan 阅读(2486) 评论(1) 推荐(0) 编辑
摘要: 所有的按位操作符的操作数都会被转成补码(two's complement)形式的有符号32位整数。正数的补码是自己本身,负数的补码是取反后加一,所以经过操作运算后的值是补码形式。 描述 "按位与( AND)" a & b 对于每一个比特位,只有两个操作数相应的比特位都是1时,结果才为1,否则为0。 阅读全文
posted @ 2017-07-18 19:54 buzzjan 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 计算机可以有三种编码方式表示一个数。对于正数因为三种编码方式的结果都相同 出于计算方便的原因需要有反码、补码的存在 原码 第一位表示符号, 其余位表示值 8位二进制 范围为: 反码 正数的反码是其本身 负数的反码是在其原码的基础上, 符号位不变,其余各个位取反. 补码 正数的补码就是其本身 负数的补 阅读全文
posted @ 2017-07-18 15:51 buzzjan 阅读(227) 评论(0) 推荐(0) 编辑
摘要: Number 转为不同的进制(二进制、十进制、十六进制、三十六进制) Number.prototype.toString([radix]) radix:指定要用于数字到字符串的转换的基数(从2到36)。如果未指定 radix 参数,则默认值为 10。 注意 Number.prototype.toSt 阅读全文
posted @ 2017-07-18 15:48 buzzjan 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 最近在使用 egg.js ,这个框架提供多进程管理机制 我们知道 JavaScript 代码是运行在单线程上的,换句话说一个 Node.js 进程只能运行在一个 CPU 上。如何榨干服务器资源,利用上多核 CPU 的并发优势?而 Node.js 官方提供的解决方案是 "Cluster 模块" clu 阅读全文
posted @ 2017-07-16 21:04 buzzjan 阅读(422) 评论(0) 推荐(0) 编辑
摘要: " " 示例:https://young cowboy.github.io/gallery/rtmp_client/index.html 在国内的直播场景中通常使用,rtmp协议作为推流协议。 RTMP 是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写,由A 阅读全文
posted @ 2017-07-06 23:21 buzzjan 阅读(20642) 评论(10) 推荐(2) 编辑
摘要: drawImage() 方法在画布上绘制图像、画布或视频。 drawImage() 方法也能够绘制图像的某些部分,以及/或者增加或减少图像的尺寸。 这个方法有三张传参模式,3个参数,5个参数,9个参数 3个参数 被画的图片不进行裁切和压缩,原大小绘制到canvas上。 x, y 表示绘制到canva 阅读全文
posted @ 2017-06-30 18:25 buzzjan 阅读(725) 评论(0) 推荐(0) 编辑
摘要: 解释 PNG8 : 8位的PNG最多支持256(2的8次方)种颜色,8位的PNG支持不透明、索引透明、alpha透明。 PNG24 : 支持2的24次方种颜色,表现为 不透明 。PS导出PNG24是会根据你是否需要半透明选择PNG24还是PNG32,所以你导出的有半透明的PNG24实际上是有alph 阅读全文
posted @ 2017-06-30 17:51 buzzjan 阅读(689) 评论(0) 推荐(0) 编辑
摘要: 参考资料 "I,P,B帧和PTS,DTS的关系" "[总结\]视音频编解码技术零基础学习方法" 以下是学习总结 播放器的原理 先说播放器处理视频的流程 图片来源 "[总结\]视音频编解码技术零基础学习方法" 解协议:针对视频源不在本地的情况,HTTP,RTMP 解封装: 输入的封装格式的数据,分离成 阅读全文
posted @ 2017-06-30 16:08 buzzjan 阅读(1472) 评论(0) 推荐(0) 编辑
摘要: The meta viewport tag contains instructions to the browser in the matter of viewports and zooming. In particular, it allows web developers to set the 阅读全文
posted @ 2017-06-29 19:05 buzzjan 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 步骤 异步获取图片内容 使用drawImage将图片画到canvas 使用getImageData方法获取图片的RGBA信息 使用滤镜算法处理RGBA信息 使用toDataURL方法获取canvas的base64信息 将base64赋值image 预览地址: https://young cowboy 阅读全文
posted @ 2017-06-27 16:59 buzzjan 阅读(1316) 评论(0) 推荐(0) 编辑
摘要: 测试地址:https://young cowboy.github.io/gallery/html5_video/index.html 属性 一些属性是只读的,一些属性是可以修改从而影响视频播放的。 autoplay:视频会马上自动开始播放,不会停下来等着数据载入结束。 值可以是:autoplay;空 阅读全文
posted @ 2017-06-25 21:59 buzzjan 阅读(1137) 评论(0) 推荐(0) 编辑
摘要: 如果想要在前端中处理音频和视频。那你必须要对二进制数据有很好地掌握和操作能力。这篇文章主要是记录和汇总。前端处理二进制数据用到的一些方法和联系。 Base64 btoa atob String.fromCharCode() string.charCodeAt(index) string.chatAt 阅读全文
posted @ 2017-06-25 15:31 buzzjan 阅读(3133) 评论(0) 推荐(0) 编辑
摘要: 有时我们需要把远程的视频、图片数据异步下载下来,然后在js里进行特殊处理。比如把VR的图片特殊处理,把不同封装格式的视频做一次 处理等等,这类操作都要先获取二进制数据,然后特殊处理。 这个时候就需要用到 2.0 的 属性了。 XMLHttpRequest.responseType 属性是一个枚举值, 阅读全文
posted @ 2017-06-24 21:04 buzzjan 阅读(2553) 评论(0) 推荐(0) 编辑
摘要: Babel 默认只转换新的 JavaScript 语法 https://excaliburhan.com/post/babel preset and plugins.html babel plugin transform runtime:babel打包的一个plugin,用来把babel runti 阅读全文
posted @ 2017-06-14 16:50 buzzjan 阅读(3088) 评论(0) 推荐(0) 编辑
摘要: 参考资料: "difference between spawn and exec of node js child_process" "process_child" 最近在用nodejs 的child_process 模块调用系统的shell脚本,但是发现遇到一些问题 1. child_proces 阅读全文
posted @ 2017-05-22 14:04 buzzjan 阅读(11705) 评论(0) 推荐(0) 编辑
摘要: JavaScript里值比较的方法 参考资料 "一张图彻底搞懂JavaScript的==运算" "toString()和valueof()方法的区别" Object.is 和 == 与 === 不同 == 运算符会对它两边的操作数做隐式的类型转换 === 也不会对操作数进行类型转换,但是它会把 和 阅读全文
posted @ 2017-05-21 17:06 buzzjan 阅读(910) 评论(0) 推荐(1) 编辑
摘要: 之前对form单提交的操作一直都是迷迷糊糊,知道怎么用,但是随着ajax2的出现,我们有更多的方式操作form表单提交,但是底层的原理我们要好好的做个梳理。 常见的form提交有post和get这两种形式,他们对各自的编码都有不同的理解,post适合大量数据的提交,语义上改变了数据状态,get是一种 阅读全文
posted @ 2017-05-21 16:23 buzzjan 阅读(8733) 评论(0) 推荐(0) 编辑
摘要: 捕获视频/音频 "PPT地址" 长久以来,音频/视频捕获都是网络开发中的“圣杯”。多年来,我们总是依赖于浏览器插件( "Flash" 或 "Silverlight" )实现这一点。 依靠 "WebRTC" (网络即时通信)的大力协助,寻找合适捕获 API 的步伐加快了很多。该规范由 "W3C Web 阅读全文
posted @ 2017-05-07 23:13 buzzjan 阅读(5371) 评论(0) 推荐(0) 编辑
摘要: Object 创建对象 我们有很多种方法创建一个对象, , Object.create Object.assign 方法只会拷贝源对象 自身的 并且 可枚举的 属性到目标对象身上,该方法使用源对象的 [ [ Get ] ] 和目标对象的 [ [ Set ] ],所以它会调用相关 getter 和 s 阅读全文
posted @ 2017-05-07 21:14 buzzjan 阅读(312) 评论(0) 推荐(0) 编辑
摘要: Dat.gui 是一个 GUI 组件,他可以为你的 demo 提供参数的设置。并且很容易上手。 阅读全文
posted @ 2017-04-09 17:24 buzzjan 阅读(31744) 评论(6) 推荐(2) 编辑
摘要: 先看一个 实例 案例 输出 Macrotask 和 Microtask Macrotask 和 Microtask 都是属于异步任务中的一种 Macrotasks : setTimeout, setInterval, setImmediate, I/O, UI rendering Microtask 阅读全文
posted @ 2017-03-25 22:35 buzzjan 阅读(1458) 评论(0) 推荐(0) 编辑
摘要: 我以前一直有几个疑惑 无法理解为什么美联储加息中国政府为什么会这么关注 为什么中国人民银行加息会影响市场经济 美国08年为什么会产生金融海啸 等等经济问我一直无法很好的理解,但是随着步入社会我越发的认为自己处在经济里,就越要好好的理解经济,而不是被经济牵着鼻子走。看了几遍《经济机器是如何运行的》以及 阅读全文
posted @ 2017-03-23 09:58 buzzjan 阅读(11167) 评论(0) 推荐(0) 编辑
摘要: 我们是如何陷入贫穷和忙碌的 贫穷者为什么贫穷、忙碌的人为什么一直都是忙碌?作者从稀缺这个角度做了一番解释,而且告诉为什么如何避免贫穷和忙碌。 在本书中作者一直在强调稀缺会严重影响我们的生活、工作等等: 稀缺对人类大脑产生的影响,存在于潜意识之中。 稀缺俘获了我们的注意力时,就会改变我们的思维方式 概 阅读全文
posted @ 2017-03-18 22:49 buzzjan 阅读(1227) 评论(0) 推荐(0) 编辑
摘要: "原文" 是著名的前端大牛Nicholas C. Zakas,我就是看他写的《JavaScript 高级程序设计》入门前端的。网上看到他的这篇文章,感觉不错,与编码无太多相关,在别的行业也有通用性,在此总结下。 不要成为只会做快餐的厨师 自我推销 领导能力 工作不是你生命的全部 权威,你有自己的风格 阅读全文
posted @ 2017-03-11 11:31 buzzjan 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 参考资料: "语义化版本2.0.0" "the semantic versioner for npm" 在package的devDependencies和dependencies2个字段中有指定依赖包版本,这个版本返回一个由一个或多个空格分隔的字符串,这些版本是有一定的语义的,当然依赖还可以用tar 阅读全文
posted @ 2017-03-11 11:27 buzzjan 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 参考文档 "harmony:generators" Generator是ES6的新特性,通过yield关键字,可以让函数的执行流挂起,那么便为改变执行流程提供了可能。 创建Generator 使用以上语法就可以声明一个generator,注意main是一个函数 判断是否为generator gene 阅读全文
posted @ 2017-03-11 11:26 buzzjan 阅读(3573) 评论(0) 推荐(0) 编辑
摘要: Tags: ECMAScript6 参考资料 "promises book" "Promise对象" "we have a problem with promises" Promise最初被提出是在 E语言中, 它是基于并列/并行处理设计的一种编程语言。 概念 ES6规定,Promise对象是一个构 阅读全文
posted @ 2017-03-11 11:13 buzzjan 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 原文地址: "how to use arguments and parameters in ecmascript 6" ES6是最新版本的ECMAScript标准,而且显著的改善了JS里的参数处理。我们现在可以在函数里使用rest参数、默认值,结构赋值,等等语法 在这个教程里,我们将会仔细的探索实参 阅读全文
posted @ 2017-03-11 11:11 buzzjan 阅读(4825) 评论(0) 推荐(0) 编辑