You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
ECMAScript tools composable modules and transpiler infrastructure Yusuke Suzuki (a.k.a Constellation) self introduction ECMAScript engine iv / lv5 (written in C++) owner Esprima committer Escodegen owner Esmangle owner background ECMAScript everywhere ECMAScript is now widely used client side server side databases And ECMAScript tools are also developed widely ECMAScript tools tools UglifyJS closu
JavaScript AST Walker JavaScript ASTを見て回る Agenda JavaScript ASTとは JS AST Structure JS AST as JSON Try JavaScript AST パーサ ジェネレーター ここまでのまとめ More detail コードカバレッジツール istanbul-html istanbul-karma blanket [ESLint](https://github.com/nzakas/eslint "ESLint") [reQUnit](https://github.com/azu/reQUnit "reQUnit") reQunit : before reQunit : after [regenerator](https://github.com/facebook/regenerator "regenerat
Writing programs to do static analysis on Javascript is easier now than ever, thanks to Esprima - the Javascript parser library. In this post, I'll demonstrate how to use Esprima to do something fairly simple - detect accidentally leaked global variables in a program. Accidentally leaked global variables happen when a value is assigned to an identifier without declaring the identifier as a variabl
EstraverseというJavaScript ASTのtraverseを行うライブラリがあります。 JavaScript ASTについては以下を参照して下さい。 JavaScript AST Walker カジュアルJavaScript AST このtraverse関数にはそれぞれのnodeの通り方としてenterとleaveというものが用意されています。 estraverse.traverse(ast, { enter: function (node, parent) { if (node.type == 'FunctionExpression' || node.type == 'FunctionDeclaration') return estraverse.VisitorOption.Skip; }, leave: function (node, parent) { if (node
最近調べたnode.jsのstreamに関連した雑多な内容を、思いつくままに適当に書く。 例えば、 function* createPiGenerator() { var result = 0; for (var i = 1;; i += 4) { yield result * 4; result += 1/i - 1/(i + 2); } } こんな感じのジェネレータがあったとして、それをファイルに出力したい場合 function createPiStream() { var r = new require('stream').Readable(); r.setEncoding('UTF-8'); // バッファじゃなくてstringとして処理したい var g = createPiGenerator(); // piの計算をするジェネレータ var tid; r._read = fun
APIデザインの極意 Java/NetBeansアーキテクト探究ノート 作者: Jaroslav Tulach出版社/メーカー: インプレスジャパン発売日: 2014/05/23メディア: 単行本(ソフトカバー) まもなく書店に並びます。序章「なぜ新たなデザイン本が必要なのか」の冒頭からの抜粋です。 みなさんは、「プログラミングの世界にはもう十分な数のデザイン本があるのでは」と思うかもしれません。実際、数多くの本があるので、なぜ私がもう1 冊書かなければならないのか(そして、なぜみなさんが読まなければならないのか)と疑問に思うことは当然です。特に、オブジェクト指向システムでのデザインパターンに関しては、いわゆる4 人組(Gang of Four)と呼ばれる人達が執筆した有名なDesign Patterns: Elements of Reusable Object-Oriented Soft
Eight Terminal Utilities Every OS X Command Line User Should Know The OS X Terminal opens up a world of powerful UNIX utilities and scripts. If you’re migrating from Linux, you’ll find many familiar commands work the way you expect. But power users often aren’t aware that OS X comes with a number of its own text-based utilities not found on any other operating system. Learning about these Mac-only
Stop writing Javascript frameworks. Translations: Chinese Japanese Russian Here's the talk, based on this essay, that I gave at OSCON 2015. [Slides] The 100-line templating library presented as a Gist has been cleaned up, documented, and published as the Stamp library. JavaScript frameworks seem like death and taxes; inevitable and unavoidable. I'm sure that if I could be a fly on that wall every
最近、というか昨日からTypedCoffeeScriptの開発再開してAST 気分が盛り上がってるので、簡単なチュートリアルでも。 この記事でやること ASTの取得 ASTの生成 JavaScript の出力 やらないこと 構文解析 準備 適当にプロジェクト作ります。 $ mkdir tinyaltjs $ cd tinyaltjs $ npm init # 色々聞かれるけどEnter 連打で良い $ npm install escodegen esprima prettyjson --save esprima はJavaScript のコードをASTに変換。 escodegen は AST から JavaScript を生成。どっちもConstellationさん製 escodegenはConstellationさん製で、彼はesprimaにもコミットしてます。この界隈に来ると基本的に彼
potatotips #7 at DeNA を開催しました! 今回も面白い話が多く大変勉強になりました。 さて!私はここ二週間ほど開発していたAndroid Power Assertについて発表しました。 https://speakerdeck.com/gfx/jun-hapower-assertwozhi-tuteiruka-number-potatotips https://github.com/gfx/android-power-assert-plugin まだ出力がイマイチな部分はありますが、とりあえず仕事上の自分のプロジェクトで使い始めました。実際、assertが信頼できるというのはかなり安心感があります。これはもっと使えるように、これからも改善していきたいですね。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く