Babel学习 发表于 2021-01-03 Babel的主要功能就是将ES6+的代码转换成ES5等向后兼容的代码,代码向后转换就是两种途径,一种是改变代码,一种是改变代码运行的环境。Babel7相对于Babel6更加的精简和聚焦,核心npm包都在@babel这个域下, 主要是@babel/core、@babel/cli。cli安装之后就可以在 ... 这是小时哥的第 68 篇原创文章 »
前端入门音视频-NodeJS处理像素数据 发表于 2020-12-12 通过上一篇前端入门音视频-基础篇 我们知道了音视频的底层数据是PCM和YUV,那对这些数据如何处理呢?通过用NodeJs实现,加深对PCM和YUV数据的理解。为了能够验证我们的实现是否有问题,使用ffmpeg作为工具。 ffmpeg的安装可以看这篇文章 macOS上编译FFmpeg. 以下是将要使用 ... 这是小时哥的第 67 篇原创文章 »
前端入门音视频-基础篇 发表于 2020-10-11 2020年基本没怎么写文章,主要是换了一个新的环境,用了大半年更新了一下技术栈,后面开始逐渐把自己的输入收获分享出来。😄 音频声音是通过物体振动,经过介质,从而到达人耳,引起耳膜振动。这些大自然的声音都是模拟信号,计算机通过麦克风之类的采样,转化为数字信号。 音频的要素音频包括采样频率,采样大 ... 这是小时哥的第 66 篇原创文章 »
在Electron中实现JS Bridge容器 发表于 2020-06-06 这是工作中分享的一篇文章,替换了代码,只保留了技术实现。 容器的底层实现都是一致的,都是通过webview。如下所示就是一个简单的webview组件。 1<webview src={url} preload={sdk} /> preload的内容会 ... 这是小时哥的第 65 篇原创文章 »
2019个人总结 发表于 2020-02-02 18年毕业,转眼间毕业快两年了,19年初的时候还属于职场小白,当时的就觉得自己还很小,也没有太多的职业规划,完全被网络舆论带着走,没有执行力。恍忽半年过去,个人能力毫无长进,反倒是一副初生牛犊,也不懂沟通,当然现在沟通能力也是短板。于是开始自省,也开始了个人的规划。。。 简单的来说,就是把工作中用到 ... 这是小时哥的第 64 篇原创文章 »
NodeJS参数校验 发表于 2020-01-12 ES属于动态弱类型语言,因此只有在运行时才能确认变量的类型,所以往往在代码的实现中,往往能看到非常多的&&校验,当然这种校验是符合安全策略的,因为这样使用的时候就表明这个变量不是我们自己定义的,例如后端接口发送过来的内容,那么就没有办法保证任何时刻返回的数据类型都是和我们想要的一致。 ... 这是小时哥的第 63 篇原创文章 »
每周算法-排列组合 发表于 2019-12-29 最近一段时间在学习排列组合算法,现在的进度也只能算属于刚入门的状态,不过两周没写总结了,这篇文章应当属于入门级别的,慢慢来不急。 排列组合这是我们在高中数学中都学过的内容,如从1到N,N个数全排列,或者从中取出m个数组合在一起,总共有多少个结果。如果把每个结果都写出来的话,按照顺序一个一个的就写出来 ... 这是小时哥的第 62 篇原创文章 »
每周算法-BST的遍历 发表于 2019-12-14 BST的遍历,这是一个相对来说比较简单的问题,前序遍历就是每次在第一次访问该节点的时候做操作,而中序遍历可以理解从左孩子节点递归回溯过来的时候做操作,后序遍历同样能够理解为从右孩子节点递归回溯回来的时候做操作。针对整个二叉搜索树的遍历来说,可以理解为访问每个节点都访问了三次,在这三个时机的操作就是前 ... 这是小时哥的第 61 篇原创文章 »
每周算法-链表排序 发表于 2019-11-30 题目描述在leetcode第148道题,在 O(nlogn) 时间复杂度和常数级空间复杂度下,对链表进行排序。链表的数据结构如下: 1234function ListNode(val) { this.val = val; this.next = null;} 示例 1: 输入 ... 这是小时哥的第 60 篇原创文章 »
webpack实践总结 发表于 2019-11-23 webpack作为前端打包构建工具,在以前也写过几篇相关的文章,相对来说还是比较入门的内容。本文是对使用webpack的一个总结。 sourceMapwebpack的作用是打包构建,同样内部可以通过使用babel-loader来编译最新的ES版本,从而可以兼容浏览器老版本。这里可以简单的说下,bab ... 这是小时哥的第 59 篇原创文章 »