最近、というか昨日から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にもコミットしてます。この界隈に来ると基本的に彼
var server = sinon.fakeServer.create(); server.autoRespond = true; server.respondWith( function( xhr, id ) { xhr.respond( 200, null, "..." ); } ); spyOn( someObject, "somemethod" ); hogeClient.request( ... ); expect( someObject.somemethod ).toHaveBeenCalled(); といった感じのテストコードになるだろう(実際にはserverの定義とかはbeforeEachとかでやるだろうけど)。autoRespondがtrueになっていると、リクエストを送ると自動的にrespondWithの引数で渡した処理に従い、用意したレスポンスが返ってくる。 やって
最近、Grunt と grunt-contrib-watch を使っているのだけど、grunt-contrib-watch がCPU を消費しがちである。 watch 対象のファイルが少ないうちは grunt-contrib-watch は問題なく動くんだけども、ファイル数が増えてくるとCPU の消費量が増えてくる。自分の環境では、1,000 個ぐらいのファイルを監視していると、常時 10% 程度CPU を消費している。 この問題は既知であり、FAQ には次のように書いている。 たくさんのファイルを監視している場合、デフォルトの interval の値が小さすぎるかもしれない。options: { interval: 5007 } のようにして増やしてみてほしい。詳しくは issues #35 と #145 を参照のこと (※日本語訳は私によるもの) Another reason i
JavaScript Garden is a growing collection of documentation about the most quirky parts of theJavaScriptprogramming language.It gives advice to avoid common mistakes and subtle bugs, as well as performance issues and bad practices, that non-expertJavaScript programmers may encounter on their endeavours into the depths of the language.JavaScript Garden does notaim to teach youJavaScript. Form
東京Node学園でライトニングトークをしてきました。下がその資料です。 マイナーAlt JS百花繚乱 from Esehara Shigeo まずは、スタッフの方々、LTをAcceptして頂き、ありがとうございました(ちなみにPythonではPycharmのコミュニティーエディションを使ってます)。 ちょっと酔っ払って書いてるので、少し「クサい」ところもありますが、お付き合いして頂ければと思います。 全体の感想 まず、自分の話をするまえに、礼儀として全体の感想から。 で、感想なのですが、個人的に一番面白かった発表はECMAScript6が、現状としてどのような仕様になっているかという話でした。実はひっそりと『ECMA-262 Edition5.1を読む』という本を買っていて、ECMAScriptってJavaScriptが元にしている仕様でしょー、くらいの浅はかな理解だったのですが、その浅は
tupai.js is a minimal and flexibleJavaScript MVC framework. providing a robust set of features forbuilding single and multi-pages. PackageJava like package-class system. Namespaces are needed because there can be many functions, variables for classes in one program and they can conflict with the existing names of variables, functions and classes.Template engine Roles of engineers and mark-up i
[注意] まだまだ全然使いものにならないよ!プロジェクト名をリネームした mizchi/TypedCoffeeScript https://github.com/mizchi/TypedCoffeeScript 構造体と関数リテラルを追加した。今は次のコードが通る。 struct Point { x :: Number y :: Number } p :: Point = {x: 3, y: 3} f :: Number -> Number = (n :: Number) :: Number -> n * n console.log f 4 f の関数型のところはわざと冗長に書いている。正直、型アノテーションを通すパーサが書けただけで推論は全然完璧ではない。 宣言済みのプロパティに代入しようとした瞬間だけバリデーションしている。関数型も返り値が一致しないと代入できないようにはなってる。引
たぶん僕は人類の怠惰を極めたようなcoffee-scriptの文法が好きすぎるのだけど、その結果型を書けるcoffee-scriptを作り始めてしまった。 Fork元はCoffeeScriptRedux mizchi/CoffeeScriptRedux https://github.com/mizchi/CoffeeScriptRedux/tree/type とりあえず今の版だと次のコードが通る。 目標 x :: Number = 3 y :: String = "hello" z :: Boolean = false # z :: String = 4 #=>Error # y = x #=>Error a :: Any = 3 a = 'fadfa' b = 'a' fn :: Function = -> x = 3 n = -> i = '' f2 :: Function = (
フロントエンドのパラダイムを参考にバックエンド開発を再考する /TypeScript によるGraphQL バックエンド開発
http://www.nczonline.net/blog/2013/10/07/node-js-and-the-new-web-front-end/ Nicholas ZakasはYahoo出身で現在Boxに勤めるフロントエンジニアで、JavaScriptに関する複数のオライリー本の著者でもあります。彼が自身のブログで、Node.jsをサーバサイドUIレイヤのみで活用することを提言してます。JavaScriptエンジニアはフロントエンドのコントロールはできるが、サーバサイドのUIレイヤはバックエンドエンジニアの領域で、それがフロント(JavaScript)エンジニアとバックエンドエンジニア双方のストレスであった。(参照図1) Node.jsの登場で、サーバサイドのUIレイヤをサーバサイドのビジネスロジックから分離し、フロントエンジニアはブラウザ & サーバのUIレイヤ、バックエンドエン
Posted at October 7, 2013 by Nicholas C. Zakas Tags: Architecture,JavaScript, Node.js, Web Server Front-end engineers have a rather long and complicated history in software engineering. For the longest time, that stuff you sent to the browser was “easy enough” that anyone could doit and there was no real need for specialization. Many claimed that so-called web developers were nothing more than g
This is a talk presented on 18 May 2012 at RedDotRubyConf, SG. ----- Your stylesheets are always in a mess. How can you fix this? The answer: TES…
##結論:Highchartccchart(canvasChart)と悩みましたが、Highchartを選んだ理由は、下記の通りです。 1.円グラフや棒グラフを組み合わせた複合的なグラフのサンプルを載せている 2.複合グラフのアニメーションがかっこいい 商用ライセンスなので、無料にこだわる方は、ccchart(canvasChart)がおすすめです。 ##Highchart http://www.highcharts.com/ 表現力、完成度の点でいちばんだと思います。商用なのでお金さえあればこれがイチオシ。 ##ccchart(canvasChart) http://jsgt.org/c/ 私のイチオシは canvasChart です ライセンスは PUBLICDOMAIN! ##raphael.js http://raphaeljs.com/ qiitaのプロフィールの円グラフで使
2chまとめみたいなタイトルにしてみた。(してみたかった)HTML5のアーキテクチャと初期化とキャッシュの考え方が、「ウェブエンジニア」は本当に出来てない。 とくにソシャゲをウェブビューに貼ってスマホ対応しました系。本当にダメ。 じゃあどうするか?基本的に「初期化」の考え方を直せばどうにかなる。 (この記事はBackboneを使うときに考えてることだけど、他でも一緒だと思う) 前提 シングルページアプリケーション セマンティクスやSEOは考慮しない 基本哲学 共通モデルの初期化を徹底的に行う サーバーにリクエストを投げるのは最小限 クライアントでサーバーモデルのキャッシュを作り、更新が期待されるまで再取得しない 理由 いくらDOMの最適化したところでUXに影響が大きいのはサーバーリクエスト(200~2000ms)で、プログラミング段階で辛さがあつまるのは非同期処理の部分。 プログラマとし
↓動作サンプルを作りました 文字コード変換 動作サンプル Unicode の変換が可能になりました。 文字コード配列から URLエンコード/デコード が可能になりました。 あと説明とサンプルも少し載せました。。(説明不足でごめんなさい) こないだの 「JavaScriptだけでzipファイルの解凍 - Unzipper.js」が SJIS ファイルとかだと表示で文字化けするので、ついつい。。 動作確認は、zip ファイル解凍のデモページでわかると思います。zip の中に SJIS や EUC-JP のファイル (ファイル名) がある場合でもUTF-8 表示で化けなければ問題なしです。zip 解凍デモページ ↑のデモページを開いて、デスクトップなどからzip ファイルをドロップすると 解凍して結果のテキストを表示します。 ※JavaScript だけで動いていて、どっかのサーバなど
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く