Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
この記事は、日経SYSTEMS 8月号に掲載された連載「新野淳一の技術インパクト」第5回のオリジナル原稿をPublickey掲載用に編集したものです。Publickeyでは日経SYSTEMS編集部との合意を得て、雑誌発行から一定期間後に記事をPublickeyに掲載しています。 JavaScriptは1995年の登場から何年にもわたって、Webページにちょっとした動きを与えるための簡易なプログラミング言語とみなされてきた。しかしいまやJavaScriptはモバイル向けアプリケーションの開発、業務アプリケーションのフロントエンド開発、そして大規模なWebアプリケーションのサーバサイドプログラミングなど、あらゆる分野での活用が始まりつつある。最も注目を集め、急速に適用分野を広げて進化しているプログラミング言語だ。 業務システム開発の視点で見れば、今後の開発言語としてJavaScriptが有力候
クラスの使い方(初級) mofmof.js では mm("Hoge", { メソッド }) でクラス mm.Hoge を定義することができます。 mm("Hoge", { init: function(arg1, arg2) { this._arg1 = arg1; this._arg2 = arg2; }, method: function() { alert(this._arg1 + this._arg2); } }); var hoge = new mm.Hoge(1, 2); hoge.method(); new mm.Hoge(1, 2) のタイミングで init(1, 2) が呼ばれます init はコンストラクタと呼ばれ、 主に初期化に関わる処理を記述します mm.Hoge クラスのインスタンスを生成します alert(3) が実行されます クラス内部で使うプライベートなメソ
突然ですが 私立・プログラミングキャンプ 2012 東京大会 - #upcamp : ATND に行ってきました。意味不明だと思いますけど、ずっと電磁リレーで4ビット加算器作ってました。 KOBA789/relay-sim · GitHub KOBA789/four-bit-adder · GitHub ちなみに時間がなくて回路がバグってます で 今回はそのとき用いた怠惰なテストの書き方についてです。 テストを書くというのはダルいもんで、まぁとにかくダルいもんで、昔書いたテストとかなんだか意味わからんことになってたり、個人的にはユースケース的なテストがあるとサンプルの代わりにもなって便利だと思ってるんですけど、テストフレームワークとか使うとそういう雰囲気もなくなっちゃって(そりゃ当然だが)あまり嬉しくないので……(ry という愚痴はさておき、手軽に書けて嬉しいのは自明です。 どこに書くか
Ghostbuster Automated browser testing via phantom.js, with all of the pain taken out! That means you get a real browser, with a real DOM, and can do real testing! Installation To install first gem install ghostbuster. Once you've done that, you can run setup-ghostbuster. Right now this only works on Mac, so, otherwise, ghostbuster will look for a copy of the phantomjs binary in ~/.ghostbuster. Usa
CasperJS Important note: the master branch hosts the development version of CasperJS, which is now pretty stable and should be the right version to use if you ask me. Users interested in a pretty stable, recent version working with PhantomJS 2.0 and newer should choose the packaged 1.1.0 and following releases. The 1.0 branch is now obsolete. Please note that it is only recommended if you need to
JavaScriptで、もう連想配列の最後のカンマに悩まない!(※追記あり) · DQNEO起業日記 で言及いただいていたので今の自分の意見を。 その発想は無かったし、無いですね。 2012-05-02 09:55:29 via Twitter for iPhone です。 要素数が変わる、無駄なkeyが入る Node.jsなんかではECMA Script 5のObject.keys()が使えるので var len = Object.keys(obj).length; とか Object.keys(obj).forEach(function (e) { console.log(e) }); とかでオブジェクトのキーを走査したり、ということを普通にやります。そんなときに"dummy"なんてキーが入ってたら邪魔でしょうがないです。 メモリ領域の無駄、はたいして気にならないでしょうけど、とにかく
末尾に要素を増やしたい、または減らしたいときに問題が起こります 例えば" c : 3 "の行を単純に削除するとバグるので削除したいときに、" b: 2,"のカンマを削除する必要があります。 また、" d : 4 "を追加したいときに、" c : 3 "の後にカンマを入れる必要があります。 これは面倒くさいですね。 (エンバグについてはjslintなどのツールで防げばよいという指摘があったので修正しました。) より良いやりかた var x = { a : 1, b : 2, c : 3, dummy : null } このように最後に "dummy : null" というダミーの要素を書いておきます。 こうすれば、プロパティa, b, cはどれもカンマ付きで平等になります。 ぜひ一度試してみてください。 (もしかして常識だったらすみません。あとこの手法は for in で走査したいときはよく
先ず、ベンチマーク結果とソースコードを示そう。 結果 LH-MAIN /tmp% node --version v0.6.13 LH-MAIN /tmp% node hash_depth.js { time: 1045, title: 'direct' } { time: 1155, title: 'array depth-1' } { time: 1503, title: 'array depth-2' } { time: 1636, title: 'array depth-3' } { time: 1905, title: 'array depth-4' } { time: 2106, title: 'array depth-5' } ソース usagi's gist: 2318809 — Gist var v = 'Lorem ipsum dolor sit amet, consec
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
1億総スマホが近づいたこの頃に、JavaScriptのMVCフレームワークに何を使うか? node.jsと使ってみたいウェブアプリのフレームワークの候補を14選んでみました。 MVCフレームワークといっても、純粋なMVCだけではなく、MVVM、MVC2、MVPなど広義のMVCフレームワークを含みます。成熟したフレームワーク backbone.jsのように一定の歴史のあるものや、express.jsのようにnode.jsでのデファクト・スタンダードになっているようなものを含め、今すぐプロダクション環境で使用できる成熟度があると思われるフレームワークをまとめます。 Backbone.js http://documentcloud.github.com/backbone/ 古参のフロントエンド向けMVCフレームワーク。 node.jsに限らず、Rails等のフレームワークでもフロントエンド側の
(ε・◇・)з hasOwnProperty を使った for in ループより 20%~84% 低コストな、うーぱー式 ループのご紹介だよ~ Object.keys を使い、key を列挙することで、hasOwnProperty を使った for in ループよりも速くなります。 var keys = Object.keys(obj), i = 0, iz = keys.length; for (; i < iz; ++i) { var key = keys[i]; var value = obj[key]; ... ベンチマーク http://jsperf.com/perf-for-in-loop-vs-pre-enum-keys-for-loop/8 Browser for_in_hasOwnProperty loop uupaa-looper Chrome 16.0.912.77
JsDoc 形式のコメントを Emacs で扱うための elisp パッケージ js-doc.el を作成しました。 ソースコードなどは no title に置いてあります。 ダウンロード git コマンドが使える方は、 git clone git://github.com/mooz/js-doc.git とすればプロジェクトを一括ダウンロードすることが出来ます。 ソースコードだけであれば、最新版を直接ダウンロードすることも出来ます。 インストール ロードパスの通った場所へ js-doc.el を保存し、 .emacs などの初期化ファイルに (require 'js-doc) の一行を記述して下さい。 機能 現在のところ、 js-doc.el は次のような機能を備えています。 関数のドキュメント入力 例えば次のような関数があったときに、 関数内で M-x js-doc-insert-fu
An Obvious MVC Framework for Node.js About Sane defaults and a simple structure, scaling as your application grows. Matador is a clean, organized framework for Node.js architected to suit MVC enthusiasts. It gives you a well-defined development environment with flexible routing, easy controller mappings, and basic request filtering. It’s built on open source libraries such as Hogan.js for view ren
この記事を読んで、Chromeのconsole.logの動きが謎すぎる気がして確認してみました。 CoffeeScriptで、newするときのプロパティ変数の初期化ってどーなってんの? - uzullaがブログ 検証 ソースコード var a = []; a.push('A'); console.log(a); a.push('A'); console.log(a); これをChromeのDeveloper toolのコンソールで実行してみました。 期待する出力 ["A"] ["A", "A"] 実際の出力 ["A", "A"] ["A", "A"] 調べてみた console.log lazy等でググるとStackoverflow等のサイトがでてきた。 Is Chrome's JavaScript console lazy about evaluating arrays? - Stack
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く