JavaScriptを高速化するコードの書き方

JavaScriptのことを調べていて勉強になったところがあったので、以下にメモをしておく。

 

for (var i = 0; i < a.length; i++) {
    ...
}

 上のコードは、下のようにするとパフォーマンスが大きく向上します。その理由は、「a.length」を最初の一度しか参照しないためです。JavaScriptのドット(.)演算子は、すでにご存じの通りハッシュテーブルの検索処理を伴いますので、かなりの処理コストを伴うためです。

for (var i = 0, n = a.length; i < n; i++) {
    ...
}

 

 

 


一昔前はよくJavascriptをheadタグのなかに記述している事が多かったと思いますが、最近ではbodyの閉じタグの直前に記述するのが主流です。(ただし、Google アナリティクスの計測用コードなどはhead内に記述したほうがより正確な計測が出来るといった事情もあるように、必ず・全てということではありません。) headタグ内への記述を推奨されない理由は、ブラウザの表示速度が低下してしまうからです。

たとえばheadの中に外部Javascriptの読み込みがあると、その時点でJavascriptの読み込み、実行がされてしまいます。その間ブラウザは表示に関する処理は止まってしまうので、ユーザーに取ってはその分表示されるのが遅く感じてしまいます。

 


以上

音楽アプリを作りたい!著作権と原盤権

f:id:yuya0120117117:20140707183754j:plain

音楽アプリを作りたいと思っていたので、音楽のことについて調べてみた。

音楽を使用する際、問題になるのは著作権だけだと思っていたが、原盤権と言うものもあるようだ。

この2つについて説明すると、まず著作権というのは音楽自体に適用される権利らしい。音楽自体というのは、歌詞であったりメロディーであったりで、その音楽を作った人に与えられる権利だ。日本ではjasracがこの権利を管理し(例外もある)、著作権使用料を回収している。

対して原盤権というのは、その音楽を録音した音源に与えられる権利だ。音楽を録音するにはスタジオを借りたり、演奏家を呼んだりとさまざまな経費が必要となってくる。なのでこの権利は、ほとんどがレコード会社が保持している。

例えば、街のCDショップで買ってきたEXILEの音楽をアプリで使いたい場合、jasrac著作権使用料を払い使用の許可得るのと、レコード会社のエイベックスに原盤権の使用の許可をなければならない。しかし、EXILEの音楽を自ら演奏し録音すれば原盤権の使用の許可はいらず、著作権使用料jasracに払うだけで良い。

 

そして、いざアプリで音楽を使用しようとして問題となるのは原盤権の方らしい。著作権の方はjasracに連絡すれば容易に使用okがもらえるようだ。

しかし原盤権の方はなかなか使用許可が降りないらしく、降りたとしても使用料が高いらしい。なので個人でそういったアプリを作るのはなかなか難しいようだ。

 

そういえば、太鼓の達人も歌はそっくりさんに歌ってもらっているらしく、昔はなぜそんなことをするのか意味がよくわからなかったか、原盤権の問題なんだろうな。。

 

休学

f:id:yuya0120117117:20140704222049j:plain

学校を休学した。とりあえず来年の3月まで何も予定がない。

休学した理由はまあいろいろあるが、大きな理由にプログラミングを身につけたいというのがあります。

プログラミングを身につけていろんなことを試したい。

だからまずは休学中にプログラミングを身につけよう。

そして、いろいろ試しながらやっていきたいと思う。

生半可な気持ちでやるつもりはない。このブログのタイトルにあるように死狂う。

9ヶ月間死狂ったらどこまで行けるか、試そうと思う。

今日からスタートやー!!!!!!!!