Rustが再評価される:エコシステムの現状と落とし穴 In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from othe...
を2年前くらいに作ったのだけど、久々にGoogle Closure Libraryを使いたくなって、そうなるとテストも書かないとなので引っ張りだして使おうと思ったのですが、なにせ2年前に作ったものなので、ソースコードはレガシー感が漂ってて、使ってるPhantomJSのAPIもdeprecatedになっていたりしたのでいろいろ直してアップデート(リポジトリ名も少し変更)。 waka/closure-library-phantomjs 単一のテストファイルのテストでもマルチテストランナーを使った複数テストファイルのテストでも同じ使い方です。 詳しい使い方やオプションは、READMEに書いた。 最近Mochaでテストを書くことが多いのですが、出力形式をいろいろ選べるの楽しくていいなと思ったので、インターフェース切ってリポーターをいくつか使えるようにした。 実際よく使うのは、見やすいSpec形式と
項目説明: delimiter – テンプレートを書く際の区切り文字 ({{}} や <%%>) が変更できる。 logic-less – テンプレート上で演算や複雑な制御構文が書けない仕様により、ロジックとテンプレートが完全に分離される。 precompile – テンプレートを事前に実行可能な JavaScript のコードにコンパイルできる。 escape – テンプレートエンジンで自動的に HTML エスケープができる。 method – テンプレート上からデータとして与えられたメソッドを呼び出し、結果を挿入することができる。 standalone – テンプレートエンジンが別途ライブラリを必要とせず単独で動く。 partials – 部分的に別のテンプレートファイルを組み込むことができる。 (include のようなもの) 上の表で表現しきれないそれぞれのテンプレートエンジンの特
jQuery Core 1.9 Upgrade Guide | jQuery の「Changes of Note in jQuery 1.9」を読んで、 自分なりにまとめました。 誤訳して間違ったことをまとめてたり、 最新の情報でないかもしれないので 読まれる際はご注意下さい。 (※ページをそのまま訳したわけではないと、思います) jQuery 1.9 では API の削除や 挙動の変更を行っています。 この記事は、前のバージョンから更新した時、 既存のコードに影響がでそうな変更を 並べたものになります。 変更点を全部網羅しているわけではありません。 箇条書きにすると以下のような感じ: 削除された機能 .toggle(function, function) の用法 jQuery.browser() .live()と.die() jQuery.sub() document 以外の要素での A
{ "testling": { "browsers": { "ie": [ 6, 7, 8, 9, 10 ], "ff": [ 12, 13, 14, 15, 16, 17 ], "chrome": [ 20, 21, 22, 23 ], "opera": [ 10, 11, 12 ], "safari": [ 5.1 ] }, "harness" : "mocha", "files": "test/*.coffee" }, "devDependencies": { "chai": "*", "mocha": "*", "coffee-script": "*" } } githubのプロジェクトページでwebhookを設定 プロジェクトページ > settingボタンをクリック > サイドバーからservice hooks > WebHook URLに http://git.testlin
1. SPDYブーム到来 おかげさまで、ここ数日 SPDY が私の周りで非常にブームになってきています。 前回案内したSPDY&WS勉強会は既に200名以上の申し込みがあり、今ではSPDYネタでブログを書くと非常に注目されるうれしい状況です。時代はまさに、 SPDYはハイプサイクルを順調に駆け上がっている 状況だと思います。 図1:2012年のハイプサイクル: 図はガートナー社のプレスリリース http://www.gartner.co.jp/press/html/pr20120906-01.html から引用 SPDYが、まだ黎明期に入ったばかりなのか、それとも既にピーク期に入ったのか、それは歴史が証明してくれるでしょう。 ということで勉強会までSPDY熱が冷めないよう、私もいろんなSPDYネタを出していきたいと思います。 2. GmailがハマったSPDYの落とし穴とは 先日、 Goo
JavaScriptよく分からないです><と言っている人はだいたい以下の要素のうち自分が何を理解していないのか分かっていないしそれら個別の要素についてちゃんと勉強する気もないのでJavaScriptにtranslateされる言語が今後いかに増えようともブラウザ上でまともなコードを書けるようになる確率は低いと思われます。(現在のブラウザ/JavaScriptのアーキテクチャその他に根本的な変化があるような場合を除く) JavaScript言語そのものを理解していない -> これがある程度AltJS言語で解決される JSがブラウザ上でどういう風に実行されるかを理解していない DOMを理解していない ブラウザにおけるEvent Modelを理解していない 僕はそもそも古参のJavaScripterではないしJavaScripterを名乗るのはおこがましいレベルの人間だと思っていますが、古参のJa
XMLHttpRequestをWebWorkerで実行する Senchaが公開したHTML5のFacebookクライアント、Fastbookの高速化手法として、 XMLHttpRequestをWebWorkerで実行するのがあるそうです。 ということで、実際にやってみました。 WebWorkerの呼び出し jQueryを用いた環境で使いやすいように、jQueryの$.ajaxインターフェイスに似せています。 ただし、XMLHttpRequestをWebWorkerからは取得できないので、全く一緒ではありません。 ExecutorServiceの実装 WebWorkerを大量に作成すると負荷がかかるので、 少し手間ですが、同時実行数を制限し、リクエストをキューイングする ExecutorServiceを実装します。 var ExecutorServece = (function() { Ex
Finally, an easily stylable semantic HTML data grid widget with a Javascript API that doesn't suck.Backgrid.js is a set of components for building semantic and easily stylable data grid widgets. It offers a simple, intuitive programming interface that makes easy things easy, but hard things possible when dealing with tabular data. See Examples Download Features The goal of Backgrid.js is to produc
A front-end framework for building HTML5 mobile apps with a native look and feel. CSS3 Transitions optimized for mobile performance. Swipable carousels using flickable.js. Integration with backbone.js views and routers. Ratchet CSS UI components. Try loading this page on a mobile phone or try our "simulator" to the right. Download Installation Javascript Dependencies modernizr zepto zepto flicka
My JavaScript book is out! Don't miss the opportunity to upgrade your beginner or average dev skills. While examples used in this post are implemented in JavaScript, concepts discussed here about getters are, in my experience, universally valid. No matter if we are programming client or server, getters can be full of wins and if you think getters are a bad practice because of performance keep read
サバクラ両方で動く JavaScript の大規模開発を行うために 原文:Scaling Isomorphic Javascript Code (This is just for study, please contact me at tily05 atmark gmail.com if any problem.) 考えてみれば Model-View-Controller とか MVC ってよく聞くよね。実際どんなものか知ってる? 抽象的に言うなら「オブジェクト情報の保持されるグラフィック・システム (つまり、ラスターではないグラフィック。ゲームとか) 上に構築された、表示系を中心としたアプリケーションにおいて、主要な機能どうしの関わりをうまく分離すること」とでも言おうか。もう少し深く考えを押し進めてみれば、これは当然、他のさまざまなアプリケーションにもあてはまる言葉 (bucket te
PhantomJS 1.8 "Blue Winter Rose" Dec 23, 2012 2 min read #coding #javascript #phantomjs #qt #webkit Photo by christopher goodband CC BY-SA 2.0. Winter is coming. The recent December solstice occurred on Dec 21 where I also tagged version of 1.8.0 of PhantomJS, headless WebKit for page automation. The code name for this release is Blue Winter Rose, as chosen by Ivan: Bael the Bard climbed the Wall.
requestAnimationFrame is an API that was originally created by Mozilla but has found its way into Chrome and I think it has huge, huge implications for user interface. A lot of the examples I’ve seen have talked about how you can use it to optimize animation, which makes sense. The basic premise of requestAnimationFrame is that instead of trying to move things out of sync with the browser, you get
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 -
2012/12/08 Gruntとは grunt: a task-based command line build tool for JavaScript projects もはや説明不要の可能性もありますが、 gruntがgrunt-cliへの移行(?)をしたこともあり、まとめてみました。 コマンドラインで使用するビルドタスクのツールです。 js(ほぼjson)の設定ファイル上に、concatやminifyといったようなタスクを定義し、 コマンドラインから実行します。言葉だけだとイメージ湧きにくいと思いますので、 使ってもらうのが一番と言い張って導入手順の説明に入ります。 npmからgrunt-cliをインストールする (nodeとnpmはインストール済み・・・よね?) npm install -g grunt-cli これで核となるCLIのインストールは完了です。 ターミ
async.jsなどにあるwatarfallとparallelを再発明してみた。 Callbacksクラス まずはCallbacksクラスを作ります。 使い方は簡単で、まず、非同期関数はCallbacksを返すようにします。次に、処理完了時のコールバック関数をdone、failの引数に渡します。そして、非同期関数内で処理が完了したらdoneCallback、failCallbackを実行するだけです。 var Callbacks = (function() { var noop = function(){}; function Callbacks() { this.doneCallback = this.failCallback = noop; } Callbacks.prototype.done = function(callback) { this.doneCallback = cal
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く