実践JS サーバサイドJavaScript入門 著者 井上誠一郎 著 発売日 2012年5月24日 更新日 2012年5月24日

実践JS サーバサイドJavaScript入門 著者 井上誠一郎 著 発売日 2012年5月24日 更新日 2012年5月24日
JavaScript Promiseの本という無料で読める電子書籍を書きました。 タイトルそのままで、JavaScriptのPromiseについて書いた書籍です。 書籍の目的 この書籍を読むことで学べる事として、次の3つを目標にして書きました。 Promiseについて学び、パターンやテストを扱えるようになる事 Promiseの向き不向きについて学び、何でもPromiseで解決するべきではないと知る事 ECMAScript6 Promiseの基本をよく学び、発展した形を自分で形成できるようになる事 Promiseは、次のECMAScriptの言語仕様として策定が進められていて既に多くのブラウザに実装されています。 Promiseについて扱う書籍ですが、この機能はjQuery.Deferred()やAngularJSの$qやBluebird等の類似の機能が既にあるため扱ったことがあるかもしれま
実務でよく使うhtml,css,jsの小技をつらつらと紹介します。 ※2/11のスクーの授業中で使った資料です。 https://schoo.jp/class/1776 【オシャレCSS編】 1. transformを使って要素を変形させるワザ 2. transitionを使い、CSSだけで簡単なアニメーションを行うワザ 3. keyframesを使ってCSSだけで複雑なアニメーションを行うワザ 4. 矢印アイコンをcssだけで表現するワザ 5. アイコンをアニメーションさせるワザ 6. CSSプロパティ”filter”で画像を加工するワザ 【地味だけど使えるワザ編】 7. 今どきの、要素を上下中央寄せにするワザ 8.「flexbox」で要素を自由自在に整列させるワザ 9. Windowsでwebfontをちょっとマシに見せるワザ 10. ア
2010-07-19 カテゴリ: Client Side タグ: JavaScript トラックバック JavaScriptのnewって何?一体何なの?という話 - 愛と勇気と缶ビール クラスってものはJavaScriptにはないはずなのに、 new ClassName();と書くとあたかもClassNameクラスのオブジェクトのインスタンスが生成され、それが返ってくるかのような挙動をしている。 これは気持ち悪い。言語仕様としてはクラスは本来存在しないのに、クラスのようなものが導入されている。まともな神経を持った人間なら、一体 new演算子って何なの?という疑問を持つのが当たり前である。 こんな扱いを受けているnewがあまりにも不憫で涙した>< newはprototype-basedなJavaScriptを書くための唯一の手段[1]で、真にJavaScriptらしいコードを書くためには欠か
Global オブジェクトの __proto__ (大抵のブラウザで Prototype 内部プロパティはコレ) に値を設定したらどうなるのかな, と思ったので試してみた. var global = this; var env1 = { a : 1, b : 2, c : 3 }; var env2 = { a : 'a', b : 'b', c : 'c' }; function printABC() { print([a, b, c].join(", ")); } printABC(); // ReferenceError: a is not defined global.__proto__ = env1; printABC(); // 1, 2, 3 global.__proto__ = env2; printABC(); // a, b, c global.__proto__ =
@found "You", -> @message "Think", -> @message "Write your idea", "JUMLY", -> @create "Diagram" Getting StartedLet's say you already have a document. In case you put a sequence diagram into it, put next four lines in your <head>. <script src='//code.jquery.com/jquery-2.1.3.min.js'></script> <script src='//coffeescript.org/extras/coffee-script.js'></script> <script src='//jumly.tmtk.net/public/juml
TOPICS Web , JavaScript 発行年月日 2014年06月 PRINT LENGTH 200 ISBN 978-4-87311-681-5 原書 The Principles of Object-Oriented JavaScript FORMAT PDF 本書はJavaScriptが持つオブジェクト指向的な言語特性や、その特性を強力にサポートするECMAScript 5の機能を紹介し、それらの特性や機能を活かすプログラミングの方法、考え方、パターンについて、深くそして簡潔に解説する書籍です。本書を通じて、C++やJavaなど「クラスベースのオブジェクト指向言語」に慣れたプログラマはJavaScript特有のクラスを持たないオブジェクト指向プログラミングの世界への知識を得ることができ、JavaScriptプログラマはJavaScriptのオブジェクトに関する理解をさらに深
概要 かつてはfor文初期化句で宣言された変数は、for文の直前で宣言されたように振舞っていたが、各ループでスコープを引きづらないように仕様が変更され、V8も追従した。 例 for (let i = 0; i < 5; i++) { ~~~ } これは今までは次のコードと等価だった。 { let i = 0 for (; i < 5; i++) { ~~~ } } つまりfor文中で関数を定義するとこうなっていた。 let funs = [] for (let i = 0; i < 5; i++) { funs.push(function () { return i }) } funs.map(function (fun) { return fun() }) // [5,5,5,5,5] この結果が[0,1,2,3,4]になるのが今回の変更である。 つまり一番最初のコードはこれと等価になる
JVM上で動くJavaScriptについて調べたので、メモしておきます。 これまでの状況 まずは、Rhinoが有名です。「ライノ」と呼びます。RingoJSやMayaaなど、すでに広く使われています。Java6から標準でJDKにバンドルされています。(ただし、バンドルされたものは若干バージョンが古いです。) Rhinoの他には Apache Aptana Jaxerというサーバサイドでscriptタグを解釈するフレームワークがあります。こちらは、C言語で書かれたSpider Monkeyを利用しています(JNIでしょうか?)。 Spider MonkeyとRhinoはともに、Mozilla傘下で開発がされている姉妹関係にあります。Firefoxで使用されているのはSpider Monkeyの方で、現在のFirefoxでは、TraceMonkey, JagerMonkeyのようにパフォーマン
As of JDK 8u451, JavaFX is no longer included as part of Java SE 8. Please visit https://www.oracle.com/javase/javafx for more information. Invokes the Nashorn engine. Synopsis jjs [options] [script-files] [-- arguments] options One or more options of the jjs command, separated by spaces. For more information, see Options. script-files One or more script files which you want to interpret using Nas
prototype.js使っていてうれしいことの一つにbindが使えるというのがある。$()とかAjaxのクロスブラウザ対策とかもいいけれど、thisをbindできるのは大きなメリットだと思う。bindがないとどういう時に苦労するかというと、以下のような場面。 var Foo = function(name) { this.name = name; } Foo.prototype.talk = function(message) { alert(this.name + ": " + message); } function inScope() { var foo = new Foo("foo"); setTimeout('foo.talk("Hello World!")', 0); } inScope(); これは実行できない。なぜかというとsetTimeoutに渡しているfooという変数
ここ最近は、WebModule の事ばかり考えてたので GitHubに芝生が生えてました。
ES6になると、String.prototype.repeatのメソッドが追加されるわけだが、そのアルゴリズムとパフォーマンスを追ってみている。 ES6 String.prototype.repeat の仕様では以下の様な感じでシンプルな書き方をしている。 countが 0 より小さい、または 無限大である場合は RangeError count 0 ならば、空文字列 そうでない場合は、count回、文字列を繰り返して連結する 単純に実装すれば、以下の様な感じで済む。 String.prototype.repeat = function (count) { if (count < 0 || !Number.isFinite(count)) throw new RangeError(); var result = "", str = this; for (var i = 0; i < cou
追記: Firefoxの実装で既に有る__noSuchMethod__に名前は合せた方が良い、というコメントを頂いたので名前を変えました。 何の役に立つか不明だけど書いてみた*1。Proxyでプロパティアクセスをフックして、存在しない場合は用意しておいた関数プロキシを返す。 __noSuchMethod__ for Chrome ― Gist https://gist.github.com/2290705 上記の処理が書いてあるのはこの部分。 function enableMethodMissing(obj) { // 関数プロキシの作成 var functionHandler = createBaseHandler({}); functionHandler.get = function(receiver, name) { // プロパティアクセスの場合は何も返さない return fun
今日の概要 実は使われてるJavaScript AST JavaScript AST(Abstract Syntax Tree)とは? JavaScript ASTを使ったツール紹介 使うだけじゃなくて書いてみよう browserify Node.jsで書かれたものをブラウザ向けに変換するツール Node環境で開発 -> browserifyでビルド -> ブラウザで動く JavaScriptのコードを 変換 する ≒ JavaScript ASTを見て変換 する 本体の色々な部分、transform pluginなどでASTを使ってる
こちらです ☞ JavaScript Libraries Playground(jQuery 2.1.0 と underscore の例) jQuery や underscore などの JavaScript ライブラリをインタラクティブに試したいとき、最近はブラウザで自分のブログ(ここ)や GitHub など、当該のライブラリがロードされていることを知っているページを開いておもむろに ⎇⌘J(Chrome)! していたのですがこれは直接的ではないなと思ってそれ専用のページを作った次第です。 冒頭の例にもあるように location.search 部に library[@version],… 形式でライブラリを与えてやればページに <script> 要素が追加されて、あとは開発者コンソールなりでお楽しみください、という仕組みになっています。 cdnjs にはかなり多くのライブラリがホストさ
名前の通り JavaScript の話題を扱っているポッドキャストですが、サイトを見に行くと transcript(会話の書き起こし)があります。 JavaScript Jabber ― Your Prototype for Great Code いいですね。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く