ブックマーク / qiita.com/mohayonao (8)

  • JavaScript のクラス構文で setter/getter をオーバーライドするとき - Qiita

    たとえば以下のような 数値 を格納するクラスがあって、それを継承した 整数 を格納するクラスを作る場合。 class NumberHolder { constructor(value) { this.value = value; } set value(value) { this._value = +value || 0; } get value() { return this._value; } } class IntHolder extends NumberHolder {}

    JavaScript のクラス構文で setter/getter をオーバーライドするとき - Qiita
    kkeisuke
    kkeisuke 2016/03/09
  • AudioWorker を試してみる - Qiita

    2016.09.08 追記 AudioWorkerは編纂中の仕様から削除されました。Web Audio API先生の次回作AudioWorkletにご期待ください!! Web Audio API には ScriptProcessorNode という、JavaScript で信号処理を記述するための部品があります。Web Audio API で用意されている部品の組み合わせではやりようがない処理をしたいときに重宝するのですが、最新のドラフト仕様では DEPRECATED となっていて将来的には廃止されるようです。 そして廃止される ScriptProcessorNode に変わって提案されているのが AudioWorker という仕組みで、ScriptProcessorNode との大きな違いとしてメインスレッドで行っていた信号処理をワーカースレッドで行うようになります。また、任意の Aud

    AudioWorker を試してみる - Qiita
    kkeisuke
    kkeisuke 2016/01/06
  • ES6 でこのように書いている - Qiita

    最初は引数の順番を気にしなくて良いとか、あとから雑な気持ちで引数を増やせて便利だなくらいに思っていたのだけど、最近はイベント発行側が受け取り側の変数名を束縛できるのでコードに一貫性を持たせられるというのが実はけっこう良いのではと思っている。 Symbol 2015/07/28 13:45 記述修正 外部からアクセスしにくい、もしくは重複しない変数を作るのに使っている。 import { EventEmitter } from "events"; export const EVENTS = typeof Symbol !== "undefined" ? Symbol("EVENTS") : "@mohayonao/${package-name}:EVENTS"; export default class SummerVacation extends EventEmitter { constr

    ES6 でこのように書いている - Qiita
    kkeisuke
    kkeisuke 2015/07/28
  • Web Audioの新しいAPIについてざっくり解説 - Qiita

    Web Audio API の仕様は日々 GitHub上で議論 されていて、ある程度同意が得られたものは ドラフトページ で公開されています。仕様のブラッシュアップのほかに追加される API や変更のある API があり、それらはちらほらとブラウザに実装もされてきているので、簡単な説明とサポート状況、ポリフィルについてまとめました。 この記事に書いてあるポリフィルは下記のリポジトリにまとめてあります。 また、各API対応状況は下記のページでも確認できます。 http://mohayonao.github.io/web-audio-api-shim/test/impl.html http://compatibility.shwups-cms.ch/en/home Microsoft Edge / Safari 9 の対応状況が調べられていないので、どなたか情報ください!! 新しく追加されるA

    Web Audioの新しいAPIについてざっくり解説 - Qiita
    kkeisuke
    kkeisuke 2015/07/01
  • 4パターンのWebWorker生成方法とインラインワーカーの技法 - Qiita

    WebWorker の作り方を4つ紹介するついでに、ライブラリ作るマンから見た それぞれの所感 と node.js でも動かせる & テストしやすい インラインワーカーの技法 について書きます。 1. 外部のワーカーファイルを読み込む 基のやり方。 一番わかりやすいので良いけど、ライブラリとして配布することを考えると複数ファイルの管理をする/してもらうのが面倒い。ライブラリの中で書くならワーカーのパスは設定で変更できるようにしたほうが良い。 シンプルでわかりやすい 管理が面倒い var worker = new Worker("worker.js"); worker.onmessage = function(e) { console.log(e.data); // (3) hello!! }; worker.postMessage("hello"); // (1)

    4パターンのWebWorker生成方法とインラインワーカーの技法 - Qiita
    kkeisuke
    kkeisuke 2015/03/16
  • ES7 の Async/Await を使ってみた - Qiita

    Taming the asynchronous beast with ES7 babel の experimental に ES7 の Async/Await が入ったというので、さっそく導入してみた。対象は画像を点字を変換するわりかしどうでも良いモジュール。 seurat - JavaScript utility to generate a braille text from an image 導入前 ファイル読み込みや画像の変換に非同期処理を多用しており、node.js スタイルの 非同期API(コールバックを渡すやつ) を prominence というユーティリティ関数で Promise 化していたが、行ごとに then が出てきたり、複数の値を渡すために Promise.all を使ったりと、あまり読みやすいとは言えないコードだった。(コールバック地獄になるよりはマシだと思うけど.

    ES7 の Async/Await を使ってみた - Qiita
    kkeisuke
    kkeisuke 2015/03/13
  • ぼくのかんがえたさいきょうのES6プロジェクトテンプレート - Qiita

    というのを考えたので紹介します。 2015.09.04 内容が古くなっていたので修正 リンティングツールを jshint から eslint に変更 テストでの power-assert 用のオプション指定方法の変更 概要 基的にはこの記事 ライブラリをES6で書いて公開する所から始めよう (必読) と同じで、それにいくつかのタスクを追加しています。やることと使用しているライブラリは以下の通りです。 ES6のコードをES5ベースに変換する / babel ブラウザ用コードを生成する / browserify ミニファイする / UglifyJS テストする / mocha, power-assert カバレッジレポートを作る / isparta リンティング / eslint ディレクトリ構成 build: ブラウザ用にビルドされたコード bower install されたときに読み込ま

    ぼくのかんがえたさいきょうのES6プロジェクトテンプレート - Qiita
    kkeisuke
    kkeisuke 2015/02/20
  • 音を扱うJavaScriptライブラリや記事 - Qiita

    Web Audio API を中心に音を扱うライブラリや記事をざっとまとめました。 サウンドファイルの再生に特化したやつ ゲーム用途とかならこのあたりで十分っぽい howler.js SoundJS 簡単に演奏できるやつ beeplay / 記事 メソッドチェーンで音をつなげていく abeck ABC記譜法 で書ける テンプレート的なやつ TemplateSynth / 記事 ポリシンセ用のテンプレート mml-emitter MMLをイベントとして発火する 信号処理するやつ Tone.js 必要な機能がひととおり揃っている tuna Web Audio API 用のエフェクター flocking 音の構造をJSONで書く。node.jsでも動く。 neume.js jQueryっぽく書けるインターフェースが特徴だけど色々雑い。 pico.js Web Audio API, flash f

    音を扱うJavaScriptライブラリや記事 - Qiita
    kkeisuke
    kkeisuke 2015/02/20
  • 1