音频可视化与音频处理

前言

来自于 Web Audio Api

使用 audioContext 演奏音乐

前言

好久没有更新博客,最近研究了web音频。对音频编码格式和音频容器格式略有了解。同时也关注了 Web Audio Api,发现了一些好玩的东西。
例如:

  • 音频可视化
  • 音频处理
  • 创建和弦

等等

zara websocket based rpc lib

zara

zara is an rpc lib zara

Usage

install

1
2
3
npm install zara --save
// ...or
yarn add zara

server

In Sandbox class, it will save env object when a client connect, different connection with
different env. env will contain userId in default, which is connection id. when disconnect
sandbox will destory automatically.

Then you shou pass ws listen port and Sandbox to Server function to start rpc. default port
is 3189

decorator 修饰符

修饰器 decorator 是ES7的一个提案,可以用babel转来使用。

修饰类

js排序算法

前言

填之前的坑几种排序算法的javascript实现
上篇文章只写了冒泡排序,插入排序和快速排序,这篇写一下其他的。

setState异步问题

关于setState

因为react的setState是个异步方法,所以有些时候可能会导致ui响应不及时或者不能通过state来准确的上传数据。
这里可能需要把setState转变成同步方法

实现一个lazyMan

今天年初一,鸡年大吉@所有人

前言

之前有看到lazyMan面试题。这里我写实现一次看看。
lazyMan应该是用单例模式来实现。

几种排序算法的javascript实现

排序算法

之前有用php总结过几个排序算法,也用js实现过,但是demo早就消失不见,刚好有题目是用js写一种排序算法,我就吧几种算法总结下。

冒泡排序

冒泡排序简单来说就是把最大的冒泡出来,时间复杂度 O(n^2),最简单是 O(n)

nodejs的EventEmitter

EventEmitter

这里我观看了 @Richard Gong 的node.js高级编程03:events对象以及查阅书籍做出的简单模仿(ES6写法)。

构造

首先新建个名字为 EventEmitter 的 class 。
之后给其添加属性以及原型方法。

ES6-calss 以及理解原型链

Class

在ES6中,引入了Class,可以很方便的来定义类。例如

1
2
3
4
5
6
7
8
9
class A {
constructor(x,y){
this.x=x;
this.y=y;
}
toString(){
return this.x+this.y;
}
}

事实上ES6的class只是一个语法糖。上述代码等同于:

1
2
3
4
5
6
7
function AA(x,y){
this.x=x;
this.y=y;
}
AA.prototype.toString=function(){
return this.x+this.y;
}

所以 在实例化后

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×