今日の概要 実は使われてるJavaScript AST JavaScript AST(Abstract Syntax Tree)とは? JavaScript ASTを使ったツール紹介 使うだけじゃなくて書いてみよう browserify Node.jsで書かれたものをブラウザ向けに変換するツール Node環境で開発 -> browserifyでビルド -> ブラウザで動く JavaScriptのコードを 変換 する ≒ JavaScript ASTを見て変換 する 本体の色々な部分、transform pluginなどでASTを使ってる
はじめに Promises Bookという薄い本を書いているのですが、書籍中に出てくるサンプルコードはテストが必須であるという原則があります。 サンプルコードは必ずテストコードが必要となる。(読者がコピペして実行するようなコードをテストを書くべきである) promises-book/CONTRIBUTE.md at master · azu/promises-book サンプルコードとテストはNode(といってもほぼCommonJSというだけ)で書いています。 ECMAScript6 Promisesについての内容なので、ブラウザ/Node.js どちらの実行環境でもいいのですが、閲覧するのはブラウザが基本になると思うのでブラウザ向けのコードを表示したいという感じになると思います。 CommonJS -> ブラウザ用のJS といえば、browserifyやCommonJS Everywhe
ご存じの方もいらっしゃると思いますが、Adobe Photoshop は JavaScript で制御することができます。 Photoshop 用の JavaScript ファイルのことを「JSX」と呼びます。拡張子は .jsx です。 Photoshop を使ってWeb制作されている方は多いかと思いますが、Photoshop は本来写真加工用のソフトでありWebデザイン用のソフトではないため、特にレイアウト機能が Fireworks、Illustrator、InDesign などに比べ貧弱です。 しかし、JSX を使用することにより Photoshop のレイアウト機能やWeb制作向けの機能をある程度向上させることができます。 JSX は昔から Photoshop に搭載されていましたが、書き方の参考になるような書籍やサイトが少ないためかそれ程注目されていなかった気がします。 しかし、最
連載目次 一昔前であれば、HTML/JavaScript/CSSを使用してWebアプリを作成する場合、(筆者の経験では)所定の位置にファイルを置くだけでした。最近はHTML/JavaScript/CSS関連の技術も複雑化/多様化し、いろいろなことを考慮しなければなりません。 例えばJavaScriptファイルの場合は、以下の作業を行うこともあるでしょう。 minify(圧縮)や結合 単体テストの実行 JSLint(構文チェック)の実行 さらに、CoffeeScriptやTypeScriptを使用している場合にはコンパイル(JavaScript変換)を行う必要もあります。 また、SCSS(Sass)やLESSなどのCSS拡張メタ言語を使用している場合にも、コンパイル(CSS変換)作業が必要です。 ファイルを修正してビルドするたびに、これらの作業をいちいち手作業で行っていては非常に面倒でしょう
Promiseってなんとなくモナドっぽいなと思って、ジェネレータ使ってHaskellのdoを再現できないかなあというのがはじまり。結論からいうと、できない。 そもそもPromiseがモナドであるかを考える。 return :: Monad m => a -> m a 値を受け取ってfulfilledされたPromiseを返すものだ Promise.fulfill / Promise.resolveがこれにあたる。 Promise.mreturn = Promise.fulfill || Promise.resolve; >>= :: Monad m => m a -> (a -> m b) -> m b bindとも呼ばれたりする。この関数に、値を受け取ってモナドを返す関数を渡すと、その値が結果になる。 Promise.prototype.mbind = Promise.prototype
JavaScriptで高速なコードを書く際の注意点。または私は如何にして心配するのを止めてJSXを作ることにしたか 本日、福岡で開催されたプログラミング言語のパフォーマンスを考えるイベント「ぷろぐぱ」で、「JSX 速さの秘密 - 高速なJavaScriptを書く方法」という演題で講演しました。 JavaScriptで速いコードを書こうとする際に陥りがちな罠を紹介し、それらの問題にJSXではどうやって対処しているか、プログラミング言語設計と最適化機能の実装を説明しました。プログラミング言語設計に興味がある方にとっても、JavaScriptを使ったプログラミングに興味がある方にとっても面白い内容になっているかと思います。
Una delle esigenze più sentite da tutte quelle attività commerciali che desiderano sfruttare le potenzialità del web è sicuramente quella di creare una rivista digitale, che promuova in maniera efficace ed elegante i prodotti o i servizi offerti dall’azienda. L’idea che sta alla base di questa scelta è semplice e intelligente: al contrario della stampa di una pubblicazione cartacea, fare rivista e
12345 // 10進数の12345 1.23 // 実数の 1.23 1.23e4 // 1.23 × 10の4乗 1.23E4 // 1.23 × 10の4乗 0x(または0X)で始まる数字は16進数と解釈されます。 0xff88 // 16進数のFF88 0Xff88 // 16進数のFF88 以前は 0(ゼロ) で始まる数値を8進数としていましたが廃止され、代わりに ES2015(ES6) では、0o(ゼロオー) で始まる8進数や、0b(ゼロビー) で始まる2進数がサポートされました。Chrome, Firefox, Edge ではサポートされていますが、IE11 ではサポートされていません。 0b1101 // 2進数の1101(=10進数の13) 0B1101 // 2進数の1101(=10進数の13) 0o755 // 8進数の755(=10進数の493) 0O755 //
こんにちは。良昌です。 Facebook、GithubなどのJSON形式でユーザ情報を返却するAPIや、PhoneGap、Monacaなどのスマートフォンのマルチプラットフォームを提供するライブラリ、IDEが開発ツールとして定着してきたことにより、JavaScriptを利用する機会が増えたのではないでしょうか。 今回は、JavaScriptコンテナがWebブラウザの場合に、動的に確保されるメモリ領域の浪費を避ける方法について書きたいと思います。 JavaScriptにおけるメモリの浪費を避けるコーディング JavaScriptにおけるメモリの浪費を避けるコーディングをするためには、GC(ガベージコレクション)、クロージャについての知識が必要です。まずは、この2つの機能について説明していきます。 ■GC(ガベージコレクション) GCとはプログラムが動的に確保したメモリ領域の内、不要になった領
インターネット・アーカイブが“Historical Software Archive”と題したコーナーを公開した。Javascriptで動作する多機種対応エミュレータ“JSMESS”を組み込んでおり、Webブラウザー上でそのまま動作する。 このセクションで公開されているのは、インターネット・アーカイブが収蔵したコレクションの中から、特に歴史上重要とするソフトウェアの数々。 Atariの1980年の店頭デモ、世界初のパソコン向け表計算ソフトVisiCalc、80年代に一世を風靡したワープロソフトWordStar、Apple IIcのイントロダクション用ソフト、“アドベンチャーゲーム”の始祖『コロッサル・ケーブ・アドベンチャー』をマイクロソフトがIBM PCのローンチタイトルとして移植したマイクロソフトアドベンチャーといった産業史的に重要なソフトが収められており、各ページで動作を実際に確認可能
標題について、あいまいだったけど、最近さらに混乱してきたので、人力検索にでも聞くべきか、とおもって調べたら、こんなのがあった。 http://q.hatena.ne.jp/1210679294 GPLライセンスについて質問です。 あるGPLライセンスの"JavaScriptライブラリ"を使ってASPサービスを作成しようと考えています。 この場合、「組み込んだシステム」としてサーバサイドのシステムのソースの公開義務は発生するのでしょうか? それともJavaScriptライブラリはソースの公開を実現しているのでサーバサイドのシステムのソースは関係ないのでしょうか? だが、今回疑問に思ったのはこれとは違う。サーバサイドが公開義務がないのはまあいいとして、クライアントでライブラリとして利用するJavaScriptはどうするの、という話を聞きたい。なので投げるとしたらこう。 オープンソースライセンス
hack javascript JavaScript入門の為の文章 1. プログラミング言語とJavaScriptについて 1.1 プログラミングをするとは、プログラミング言語に定められた文法に沿 った記述をすることである。 1.11 プログラミング言語にはインタプリタ言語とコンパイル言語がある。 1.12 JavaScriptはインタプリタ言語である。 1.13 JavaScriptを記述する、とはJavaScriptの文法に沿って記述をテキスト エディタ(メモ帳など)で行うことである。 1.131 JavaScriptの記述はhtmlの内部に直接書き込むか、一旦jsファイル として作成したものをhtml内部に埋め込むか、である。 (1.132 htmlの勉強はぶっちゃけ、JavaScriptと同時にやってもそんなに問題ない。) 1.133 JavaScriptをhtmlの内部に直接書き
白石 俊平 es6 ECMAScript, javascript 0 Comment 昨日(2013/1/17)、Web先端技術味見部#15でECMAScript6について学んできました(参加者によるツイート)。一応主催者という立場上、勉強会を円滑に進めるため、事前に割と下調べして勉強会に臨んだわけですが、せっかくなので、その成果をまとめて公開しておきたいと思います。 とは言え、量が非常に多いので、複数回に分けての掲載です。 ECMAScript6の基礎知識 仕様に関するあれこれ ECMAScriptとは、ご存じの方も多いと思いますが、JavaScriptの公式な仕様です。ECMAScriptが仕様、JavaScriptが実装に当たるわけですね。 ECMAScriptのメンテナンスはTC39という部会によって行われており、最新バージョンである6は、現在絶賛仕様策定中です。コードネームは「
Javascript Matrix and Vector library for High Performance WebGL apps View the Documentation View the Project on GitHub toji/gl-matrix Download ZIP File Download TAR Ball View On GitHub Javascript has evolved into a language capable of handling realtime 3D graphics, via WebGL, and computationally intensive tasks such as physics simulations. These types of applications demand high performance vector
Moment.js 2.30.1 Parse, validate, manipulate, and display dates and times in JavaScript. Install npm install moment --save # npm yarn add moment # Yarn spm install moment --save # spm meteor add momentjs:moment # meteor bower install moment --save # bower (deprecated) Format Dates moment().format('MMMM Do YYYY, h:mm:ss a'); moment().format('dddd'); moment().format("MMM Do YY"); moment().format('YY
数年前ならいざ知らず、現代のJavaScriptは充分に高速な動作が実現されている。無論C言語で記載されたいわゆるネイティブアプリケーションと比較すれば計算速度等では大きく劣ってしまう。だがしかし複雑な計算等を必要としない通常範囲のアプリケーションであればJavaScript (とHTMLとCSS) で記述がなされたアプリケーションの実行速度はネイティブアプリケーションと遜色ないものになると半ば強い確信を抱いている。ではJavaScriptで記述がなされているアプリケーションの動作が緩慢であるという認識がなぜ多くの場でなされているのか。それは単純な理由である、そのアプリケーションの作者が知識不足でDOM操作が冗長的なものとなっており無駄が多くなってしまっているからだ。 JavaScriptの動作が速くなろうとも、DOM操作は現在でも多くの場面で遅くなってしまっている。document.ge
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く