うめすこんぶ

日々のプログラミングで残しておきたいメモ.何かの役に立てれば幸いです.

javascript

「JavaScript: The Good Parts」でjavascriptの悪さを追う

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス作者: Douglas Crockford,水野貴明出版社/メーカー: オライリージャパン発売日: 2008/12/22メディア: 大型本購入: 94人 クリック: 1,643回この商品を含むブログ (190件) を見る 読んだ感…

言語別Sprintfのまとめ

研究で実験をしていると、ファイル名を連番で出力したいという時が良くあります。 連番をtest1, test2, ..test10などとすると、ファイル名でソートすると、都合よくソートされないんですよね (test1 test10 test2の順になる) ファイル名でソートした時にうま…

nodeのuninstallとnodebrewのインストール

nodeとnpmを再インストールする 久々にnodeをさわろうとして、npmとうつと、 module.js:340 throw err; ^ Error: Cannot find module './lib/optional' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25…

Emacsのjavascript用モード

Emacsでは標準でjavascript用のモードがついていますが、あまり機能がないです。 そこで、javascriptモードを作ってくれている人の便利なプラグインを借りましょう。 最低限設定 gitでjs2-mode.elをemacsのロードパスの通ったところにクローンもしくはダウン…

localstorageの保存場所

windowsにて、愛用しているchromeのlocalstorageの場所は、以下です。 C:\Documents and Settings\ユーザ名\Local Settings\Application Data\Google\Chrome\User Data\Default\Local Storage 幾つか.localstorageの中身を見たのですが、おそらく独自?の形式…

Backboneの導入

今更ながらbackboneの導入のメモ。 Backbone.js Backboneの本家サイト。ここからDownloads & Dependenciesの部分のDeveloped Versionをダウンロードします(右クリックでファイルを保存)。 そして、htmlにスクリプトタグを記入。backboneのソースを呼び出すた…

localStorageを使ってデータ保存!

javascriptで、ブラウザに値を保存しておきたい時があります。 いろいろ調べたのですが、localStorage、というものを使うと保存できるようです。 ブラウザ上で、情報を管理するというと、Cookieではどうなのか、となりますが、 Cookieより安全、大容量が可能…

BackBone.jsのソースに出てきたscript type=text/templateの意味は?

backbone.jsのExsampleに出てくるTODOアプリのソースを見たところ、 todo.htmlにこんなコードが。jspみたいな構文が書いてあります。 <script type="text/template" id="item-template"> <div class="view"> <input class="toggle" type="checkbox" <%= done ? 'checked="checked"' : '' %> /> <label><%- title %></label> <a class="destroy"></a> </div>

javascriptの様々なフレームワークで作られたtodoアプリが勉強になります

最近のjavascriptですと、BackboneJsだったり、AngularJSだったりと、いろいろなフレームワークを駆使してアプリを作るのが流行っています。 そんな中、様々なフレームワークで仕様の全く同じTODOアプリを作ってみた方々がいるようです。 tastejs/todomvc to…

ajaxで外部サイトのページ(html)を読み込む方法

ajaxを利用して、javascriptとjqueryで外部サイトのhtmlを取得する方法を紹介します。 正直、クロスドメインの問題があったので、かなりいろいろページ見て唸っていました。 No 'Access-Control-Allow-Origin' header is present on the requested resource.…

javascriptで配列宣言は`new Array`がいいのか,`[ ]`が速いのか確かめた

javascriptで空の配列を宣言する場合,次の3通りがあります.いったいどれが一番速いか,という問題. var a = new Array(); var b = new Array(n); var c = []; おそらくbは,nの大きさによって変わるでしょう.

再帰なしでマージソートやってみたら驚くほど高速化した話

前回もマージソートを書いてみましたが,javascriptで再帰関数を使うと, 関数のコールによる時間がかかるため,結果として遅くなってしまうのではないかと考えました. 今回は再帰関数ではなく,ループだけでマージソートを作ってみます. 結果として,ルー…

javascriptでマージソートの勉強

javascriptでマージソートやってみました. 最初は,spliceとかで簡単に書けるじゃん!と思ったら, 引数の配列を消してしまうことに気が付きちょっと変更. マージソート自体のアルゴリズムは簡単なので,コード書くのも楽. spliceとshiftでマージソート 元…

javascriptの公式仕様初めて見ました.

ECMAScript Language Specification - ECMA-262 Edition 5.1 javascriptの仕様が詳細に書いてあり,非常に参考になります. 例えば,==と===の比較演算子のアルゴリズムって,これを見ると全然違うことがわかります. (→ECMAScript ===の部分) 基本的に,===…

javascriptの配列操作関数いろいろ作ってみた

javascriptで,rubyの配列操作みたいなことをやりたかったので,いろいろなメソッドを作ってみました.名前は大体rubyから取ってきてます.簡単なメソッドばかりなのでソース書くのは苦労しません.間違いありましたらご指摘いただければ幸いです. まとめ:…

javascriptで実行時間を計りたいとき,Date.now() と new Date()はどちらを使うべき?

タイトル通り.ベンチマーク関数を作って計測. 百万回やった合計時間でどちらが速いか算出します. (ブラウザ: Chrome Ver 32.0.1700.107 m)

javascriptのreverse関数をかっこよくする

javascriptのArray.prototype.reverse()は配列の要素を逆順に並べ替えます. 暇だったので,配列の一部だけ反転するような関数を作ってみました. ただでさえ,Array.prototype.reverse()の需要がなさそうなのに,一部だけ反転する場面は在るのでしょうか,…

jQueryでたった5行で書くアコーディオンパネル

なんだかんだで,jQueryを使えばカッコイイアコーディオンパネルが5行のjavascriptで作れます. スマートフォンにも使える、クリックで開くアコーディオンメニューjQuery - ホームページ制作やリニューアル印刷物デザインなら大阪のWPC ↑のページを参考にア…

jqueryの基本をまとめておく

jquery入門用のメモ. jqueryの読み込み(前準備) html内に次の文を書きます. 必須です. <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script> jqueryをソース内で使用する 必須です. $(function(){ //jqueryをつかった処理をここに書く }); htmlの要素を選択して処理をする(selector) 下のソースのselectorと…

javascriptで配列をシャッフルする関数

配列内の要素をカードのシャッフルのようにでたらめな順序にする関数, shuffleを作ってみます. 簡単な例から行きます. 簡単な例 とりあえず,現実でカードをシャッフルすることを考えてみましょう. カードの中から適当に2枚を選んで,交換.これを何回も…

配列中でk番目に小さい要素を見つける,O(N)の関数

珠玉のプログラミングの問題をやってます. コラム11の問題のなかで,「配列中でk番目に小さい要素を見つける関数で,O(N)のものを 作れ」というのがあったので解いてみました. 結構悩んだんですけど,要はクイックソートを片側のみ行うようにすれば解けま…

htmlとjavascriptでストップウォッチ作ってみた

仕事中,作業時間を計りたいと思い,ストップウォッチを作ってみました. かなりコードを削ったんですが,結局jqueryを使ってもjavascriptが80行. ただ,かなり殺風景なストップウォッチになりました.CSS必須です. 以下がhtmlとjavascriptのコードになり…

javascriptで日付時刻表示用関数

javascriptで日付時刻表示. function dateTime(time) { var date = new Date(); var year = date.getYear(); var month = date.getMonth() + 1; var day = date.getDate(); if (year < 2000) { year += 1900; } if (month < 10) { month = "0" + month; } i…

クイックソートをjavascriptsで書いてみた

珠玉のプログラミング―本質を見抜いたアルゴリズムとデータ構造作者: ジョンベントリー,Jon Bentley,小林健一郎出版社/メーカー: ピアソンエデュケーション発売日: 2000/10メディア: 単行本購入: 30人 クリック: 551回この商品を含むブログ (162件) を見る …

javascriptの文字列→整数変換で最速な方法は?

javascriptでは文字列から整数への変換方法は色々あります.せっかくなので処理速度が良い物を使いたいものです.ですので,簡単に処理速度を計測してみました. 文字列→整数以外も今後測ってみます. 文字列から整数の変換方法まとめ parseInt(str, 10); st…

javascriptのswap関数いろいろ

swap関数の書き方いろいろあります. 1 function swap(x, i, j) { x.splice(j, 1, x.splice(i, 1, x[j])[0]); } 2 function swap(x, i, j) { x[j] = x.splice(i, 1, x[j]); } 3 function swap(x, i, j) { x[j] = (x[i] += (x[j] -= x[i])) - x[j]; } 4 var i…