Software Design plus JavaScriptライブラリ実践活用 [厳選111] 著者 WINGSプロジェクト 著 発売日 2013年3月21日 更新日 2013年3月21日
![JavaScriptライブラリ実践活用[厳選111] | Gihyo Digital Publishing … 技術評論社の電子書籍](https://cdn-ak-scissors.b.st-hatena.com/image/square/d1b40f86ab1ce107efff81c4133f987e7ce9ddb6/height=288;version=1;width=512/https%3A%2F%2Fimage.gihyo.co.jp%2Fassets%2Fimages%2Fogp%2F2013%2F978-4-7741-5647-7.jpg)
Software Design plus JavaScriptライブラリ実践活用 [厳選111] 著者 WINGSプロジェクト 著 発売日 2013年3月21日 更新日 2013年3月21日
ほんとに10個だと思った?(無意味に煽っていくスタイル) 最近JSだけのリポジトリで無益なゲームを大量に作っては破棄しているのだけど、割とストレスなく出来上がってきたので書く。 長々と書くが、要は次のリポジトリに概要が詰まってる。 mizchi/mizchi_client_boilerplate · GitHub https://github.com/mizchi/mizchi_client_boilerplate 前提として、最近はCSJSでもnodeのインストールを前提とする環境が多い。必須といってもいい。 grunt gruntjs/grunt · GitHub https://github.com/gruntjs/grunt ビルドタスクを簡単に作れる。make、rake、などに相当するが、node製らしくファイルシステムの監視でアクションを作れるのが特長。$ grunt serv
JavaScriptのプロトタイプチェーンについて理解しようとしたのだけど、prototypeとか__proto__とかごちゃごちゃになって、色んなブログを読んでもなかなか理解しきれなくて悶々としていたのだが、図を書いたらパッと理解できた!以下、情報ソースはなるべくECMAScript仕様書(3rd)を元にするようにして書きました なぜ分かりづらいのか? そもそも、なぜJavaScriptのプロトタイプチェーンは自分にとってこうも分かりづらかったのだろうか?自分なりに分析してみると、まず、「似ているが違う用語が沢山ある」という点がある。ざっとあげただけでも、「prototypeと__proto__」「__proto__と[[Prototype]]」「FunctionとFunctionオブジェクト」などがある。そして次に、「入り組んだ構造が動的に変化する」という点がある。上記のように似たよう
Twitterは自社サービスで利用しているJavaScriptフレームワーク「Flight」をオープンソースで公開しました。 Flightはコンポーネントベースの軽量フレームワーク。開発者に対して非同期で独立性の高いコンポーネントを定義する機能を提供することで、デバッグ、テスト、イベントハンドリングなどを容易にするフレームワークのようです。 Githubのページでは以下のように説明されています。 Components cannot be directly referenced, instead they communicate by triggering and subscribing to events. Consequently every component, and every component API, is entirely decoupled from every othe
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo!デベロッパーネットワークの中野(@Hiraku)です。JavaScriptでサンプルコードを書く機会があったので、どんなインターフェースで提供するのが便利なのか考えてみました。よく問題になるコールバックのネスト問題について、一般的な話をまとめてみます。 お題 突然ですが、次のような処理を行う必要があるとします。 「0」を出力する 1秒待つ 「1」を出力する 1秒待つ 「2」を出力する これをプログラムで書くとどうなるでしょうか? シェルスクリプトの場合(同期) たとえばシェルスクリプトで素直に書くと、次のようになります。
Firefox OS が面白そう、というので少し触ってみました。 Firefox OS はWeb 標準ベースの開発を基礎としたモバイル端末用プラットフォーム、要は HTML と JavaScript と CSS でアプリケーション開発できるモバイル端末用の OS。間もなく Developer Preview Phone な実機が発売されるというのでにわかに盛り上がりを見せているみたいです。 Firefox OS が目指すところは Web 標準による、開発者がロックインされないオープンなプラットフォーム。iOS や Android の昨今の状況を見れば、そのアンチテーゼになるプラットフォーム構想があってもおかしくないわけで、まさにそれを目指しているようですね。 いったいどんなものかという概観は dynamis さんによるスライドが分かりやすい。 Firefox OS from dynamis
A Collection Of Javascript MVC Frameworks That You Should Know About Experienced web developers use MVC frameworks not because it is an interesting thing to do, but because it is the proper way to build a web application from scratch. Instead of using jQuery and a few other plugins, you can just use a Model-View-Controller framework so that you won’t get as a result a scrambled code within an over
Markdown が使いたくて、はてなダイアリーからはてなブログに引っ越してきました。ちょっと書いては放置してるブログの残骸があちこちに散らかっております。 前回プロトタイプについて勉強してみてふんわり分かった気になったけど、その中で 1 箇所よく分からなかったところがありました。 前回のおさらい Javaと比較しつつ、JavaScriptのプロトタイプについて調べてみる - tacamy memo の「分からなかったところ」を参照。 前回分からなかったところ プロトタイプには次のような特徴がありました。 プロトタイプの中身は、そのオブジェクトを基に生成されたインスタンスから参照される (暗黙の参照) 同じオブジェクトを基に複数のインスタンスを生成した場合、どのインスタンスからも同じプロトタイプの中身 (プロパティ) を参照できる 複数のインスタンスからひとつのプロトタイプを参照しているだ
Grokking V8 closures for fun (and profit?) に、ほんの少しだけ触れられている話なんですが。 ごく最近まで V8 には、オブジェクトリテラルの中で関数リテラルを使った場合に非常に遅くなる(というかGCが多発する)問題があった。 たとえば、 function doit() { for (var i = 0; i < 1000; ++i) { for (var j = 0; j < 1000; ++j) { var o = { f: function () { return i + j; } }; } } } doit(); というコードを node-0.6.19 で実行すると、以下のように mark-sweep GC が大量に発生して処理に時間がかかっていることが分かる。 $ time /usr/local/node-0.6.19/bin/node -
テストを走らせるコードは以下です。 var fs = require('fs'); var engine_names = ['ejs', 'eco', 'jade', 'coffeekup', 'haml'] var compare = {}; var view_file = __dirname + '/views/index.'; var data = { fruits: [ { name: 'apple', price: 100, stock: 50 }, { name: 'orange', price: 75, stock: 75 }, { name: 'banana', price: 50, stock: 100 } ] }; engine_names.forEach(function(name) { var engine = require(name); var template
サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。
以前、Perlにおけるコードメトリクスの測定について書きましたが、JavaScriptについても調べたところjsmeterが良さそうです。 なお、循環的複雑度等のコードメトリクスはあくまでも定量的な目安であり、絶対的な品質を表すものではありません。コードレビューやリファクタリングの対象を選ぶ際などに活用するといいと思います。 インストール npmコマンドでインストールしてください。ちなみにnpmにある最新版は1.0.1ですがjsmeter.jsがバグってるので1.0.0を使います。(もしくは、1.0.1のjsmeter.jsの47行目の"start();"を削除する) npm install -g jsmeter@1.0.0 コマンドとして実行 以下のスクリプトをパスの通った場所におきます。 そして実行。 $ jsmeter /path/to/source lib/Foo.js line
A simple HTTPS server using node.js: const crypto = require('crypto'), fs = require("fs"), http = require("http"); var privateKey = fs.readFileSync('privatekey.pem').toString(); var certificate = fs.readFileSync('certificate.pem').toString(); var credentials = crypto.createCredentials({key: privateKey, cert: certificate}); var handler = function (req, res) { res.writeHead(200, {'Content-Type': 'te
最近下のように書いてる。変遷としては、若干サーバーサイドJavaScriptを意識しつつ徐々に離れていった感じ。 即時関数を2重にして、トップには何も書かない 外側の即時関数の中には、'use strict'を書く 非strictモードのコードが含まれているとどっちのモードになるかわからないため。負の遺産が含まれ(ry だいたいjQuery使うので、外側の即時関数の書き方はjQuery boilerplateのを参考にしている(jQuery使わない場合は、第二引数を抜かす) 内側の即時関数に実際の宣言を書く app.jsか何か設定用のスクリプトでアプリケーション用名前空間としてグローバルオブジェクトを宣言しておく(window.App = {};など) 即時関数内で宣言されたプロパティやメソッド、関数などを返り値にして、グローバルオブジェクトに展開する /** * functions.js
わずか、20行で出来たjavascript版マリオを見つけました。 最小限のコードで作成されたマリオ。 いい感じですね。 20 Lines JavaScript – Super Mario Tribute
BDD Assert系のモジュールでchaiとexpect.jsを試した。機能はほぼ変わらないけどブラウザのサポートでけっこう差が出た。(ここでいう機能が変わらないってのはchai.expectと比較しての話し。chai.assertとかchai.shouldを考えると完全にchaiが高機能) https://github.com/logicalparadox/chai https://github.com/LearnBoost/expect.js chaiはIE8以下だとぴくりとも動かない。expect.prototype.instanceofとかって予約語をキーにしてるのでが主な原因かな(他にも原因いくつかあるっぽい)。なのでちょっと前のSafari(主にiOS4系)でもアウト。 IE9は動くのは動くけどテストがいくつかこけてる。expect.prototype.throwがバグってた
CoffeeScript基礎文法最速マスター はじめまして。新人のtek_kocです。 今回は巷で話題のCoffeeScriptの文法をまとめてみました。 1年近く前に流行った基礎文法マスターシリーズにCoffeeScriptがなかったので、勉強も兼ねて同形式で書いてます 。 JavaScriptを使っている方はこれをざっくり眺めてCoffeeScriptへの移行を検討してくれればなと思います。 まだ網羅しきれていないですが、これを読めばCoffeeScriptに乗り換えることができるはずです。 間違いや、足りない箇所などがあれば、是非コメント等で指摘してください! バージョン 現時点で最新の1.0.1を対象にします。 0.概要 CoffeeScriptとはJavaSciprtにコンパイル可能な言語です。 RubyやPythonなどに近い記述が可能で、JavaScriptの開発をより効率的
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く