This domain may be for sale!
よくあるパターン。 setTimeout(function(){ // 非同期でしたい処理 }, 0); これ結構パフォーマンス悪いみたい。 node.jsの場合 process.nextTick(function(){ // 非同期でしたい処理 }); 最新のIEの場合 setImmediate というAPIが使えるらしいからそれを使う。 setImmediate(function(){ // 非同期でしたい処理 }); それ以外のブラウザ MessageChannel を使うのがいいっぽい。 var ch = new MessageChannel(); ch.port1.onmessage = function(){ // 非同期でしたい処理 }; ch.port2.postMessage(0); まとめ だいたいこんな感じ。 uncurryThis はこの記事で知りました。 var
一昨日、東京Node学園祭2012に行ってきました。 いろいろ書いてるけど、微妙に間違ってるところとかもあるかもしれません。 Togetterでツイートをまとめてくれてる人がいるので、見ると雰囲気がわかって良いかも。 http://togetter.com/li/408747 説明のところにスライドへのリンクやらいろいろ書いてある!スバラシイ! 出発・到着 6:55発の新幹線で出発!LL Decadeの時と同じ新幹線だったみたい。 東京駅に着くまでほとんど記憶がないので、ぐっすり眠っていた模様w 東京駅に着いた後は中央線で市ヶ谷まで移動しました。微妙な乗り換えが面倒だったなあ。 電車に乗っていたときに法政大学が見えたので、そっちの方を向かっていたつもりが、川を挟んで逆だったりしたw Galaxy Sにナビしてもらって逆だってことに気がついたからよかったけど。 会場の法政大学に到着するが、入
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。 �� �View in English ���Always switch to English ウェブワーカーは、ウェブコンテンツがスクリプトをバックグラウンドのスレッドで実行するためのシンプルな手段です。ワーカースレッドは、ユーザーインターフェイスを妨げることなくタスクを実行できます。さらに、 fetch() や XMLHttpRequest など API を用いて、ネットワークリクエストを行うことができます。ワーカーが生成されると、それを作成した JavaScript コードが指定するイベントハンドラーにメッセージを投稿することで、そのコードにメッセージを送ることができます(逆も同様)。 この記事では、ウェブワーカーを使用するための詳しい紹介
JavaScriptのプロトタイプチェーンについて理解しようとしたのだけど、prototypeとか__proto__とかごちゃごちゃになって、色んなブログを読んでもなかなか理解しきれなくて悶々としていたのだが、図を書いたらパッと理解できた!以下、情報ソースはなるべくECMAScript仕様書(3rd)を元にするようにして書きました なぜ分かりづらいのか? そもそも、なぜJavaScriptのプロトタイプチェーンは自分にとってこうも分かりづらかったのだろうか?自分なりに分析してみると、まず、「似ているが違う用語が沢山ある」という点がある。ざっとあげただけでも、「prototypeと__proto__」「__proto__と[[Prototype]]」「FunctionとFunctionオブジェクト」などがある。そして次に、「入り組んだ構造が動的に変化する」という点がある。上記のように似たよう
function getJSengine() { if (!("__proto__" in Object.prototype)) { if (typeof Object.getPrototypeOf === "undefined") return "JScript(IE8-)"; else return "JScript(IE9+)" } var o = JSON.parse('{"__proto__":null}'); if (!(o instanceof Object)) return "V8(GoogleChrome26-)"; if (Object.getPrototypeOf(o) === null) return "JavaScriptCore(Safari)"; if (Object.prototype.hasOwnProperty("__proto__")) { var d
jQuery の on メソッド(イベント、イベントハンドラ)の書き方になれると、PHP においてもイベント (Observer パターン)とクロージャをできるかぎり早い段階で教えたほうがよいのかなと思うようになってきた。イベントを学ぶ前に直接的な関数呼び出しと間接的な関数呼び出しの違いについて考える必要がある。「直接」と「間接」が正しい使い方なのかわからないがとりあえず、この表現で行こう。 直接的な関数呼び出しの場合、いわゆる手続き型のプログラミングなので、関数は書いた順番に実行される。呼び出しのタイミングを自分で選べるのでわかりやすい。 間接的な関数呼び出しの場合、呼び出す関数名の指定と関数呼び出しのタイミングを別々に行わなければならないので、コードの規模が大きくなると実際の実行場所を探すのがめんどうになるが、たとえば、さまざまなユーザーが特定の箇所だけ呼び出す関数を変えられるようにし
この記事では, Haskellに用いられる「遅延評価」の仕組みを, 図に描いて説明します. 更に, 遅延評価版のフィボナッチ数の無限列を, JavaScriptで実装します. 遅延評価とはどのように動くのか, 考えて行きましょう. HaskellのコードとJavaScriptのコードの比較 Haskellでの x = y y = 10 と, JavaScriptの var x = y; var y = 10; というコードを考えてください. Haskellのコードは, これだけでは何も起こりません. print xとすると, x = y = 10 となって 10 が表示されます. 一方, JavaScriptのコードは var x = y; を評価した瞬間, 「ReferenceError: y is not defined」というエラーが出ます. 更に, main = let x = 1
About Locomotive Locomotive is a web framework for Node.js. Locomotive supports MVC patterns, RESTful routes, and convention over configuration, while integrating seamlessly with any database and template engine. Locomotive builds on Express, preserving the power and simplicity you've come to expect from Node. Read the Guide » Features MVC architecture Convention over configuration Expressive rout
Frontrend Vol.4 に参加してきたのでその時のメモです。 CA Frontrend v04 Frontrend Vol.4 powered by CyberAgent, Inc. : ATND 場所: サイバーエージェント本社 13F セミナールーム (東京都渋谷区道玄坂一丁目12番1号渋谷マークシティ ウエスト13階) Frontrend Vol.4 powered by CyberAgent, Inc. に回答するとスライドがある JavaScript Development Tools – JavaScript開発の効率アップ – Layzie JavaScript開発に役立つGUI JavaScript開発に役立つCUI Chrome Developer Tools ショートカット ブレークポイント DOMの属性が変更 Throw Error XHRでURLに通信した時
Get started and then find a generator for your webapp. Generators are available for Angular, Backbone, React, Polymer and over 5600+ other projects. One-line install using npm: npm install -g yo What's Yeoman?Yeoman helps you to kickstart new projects, prescribing best practices and tools to help you stay productive. To do so, we provide a generator ecosystem. A generator is basically a plugin tha
Semantic templatesHandlebars provides the power necessary to let you build semantic templates effectively with no frustration. Mustache-compatibleHandlebars is largely compatible with Mustache templates. In most cases it is possible to swap out Mustache with Handlebars and continue using your current templates. Fast executionHandlebars compiles templates into JavaScript functions. This makes the t
while(1);[['u',[['smsSentFlag','false'],['hideInvitations','false'],['remindOnRespondedEventsOnly','true'],['hideInvitations_remindOnRespondedEventsOnly','false_true'],['Calendar ID stripped for privacy','false'],['smsVerifiedFlag','true']]]] これ以外にもGoogleのサービスでは &&&START&&& とか while(1); &&&START&&& てのが先頭に入ってたりするんだけど、これは一体何? 解答 これはクロスサイト・リクエスト・フォージェリ対策。 例えばGoogleが gmail.com/json?action=inbox というURL
JavaScriptを使った開発で必要となるconcat, minify, lint, test といったタスクを動かすのに使うツール、最近はgruntをよく見かけるのでオレオレmakefileから移行してみた。 既存のmakefileは以下の通り。makefile + makeターゲットから呼び出される各種タスクに対応した処理を行なうプログラムという構成。make minifyと打てば圧縮版のファイルを生成、make testと打てばテストが実行される寸法だ、圧縮にはuglify.js, lintにはjshint、全てnodeモジュールを使っているのでそのまま移行できるはず。concatにはmuというテンプレートエンジンを使っていた。 makefileからの移行 まず、gruntの制御に必要なgrunt.jsファイルは grunt init:gruntfile して生成する。concat
https://github.com/you21979/bot-irc-notifier サーバーからircにサーバー落ちたよとエラーメッセージを通知をするシステムが欲しかったので作ってみた。 ただ作るだけじゃおもしろくないのでtypescriptで作ってみたけど単純な仕組みなので あまり型の恩恵ない。 さて、実装方法だがredisを使っている なんで使っているかというと ・redisはコマンドラインから簡単にメッセージを流せる ・redisとircはどちらもチャンネルと言う概念がある ・npmにライブラリがある チャンネルという共通点を生かしてredisのチャンネルにポストすればirc上の同じチャンネルにポストするようにすればチャンネルも送信時に選べるしお手軽。 (irc側は事前にチャンネルに入っておく必要があるけども) こういうシステムとシステムを繋げるのにnodeはお手軽にできるから
連載目次 HTML 4が登場したころは、シングルコアのCPUしかなく、HTMLとJavaScriptで実現できる処理も限定的であったため、処理を逐次実施するシングルスレッドでの処理に不満を抱くことは少なかった。もっとも、HTMLとJavaScriptは同一のUIスレッド上で処理を行うため、JavaScriptで動的にHTMLコードを生成する処理や、高負荷の処理がある場合、HTMLレンダリングが遅延したり、最悪の場合はブラウザがフリーズしたりしてしまうということがあった。 近年では、マルチコアの端末が大多数を占めるという物理的な環境の改善のほか、HTML5の台頭により、HTMLとJavaScriptを高度に活用したWebアプリケーションが増えてきている。そのため、JavaScriptコード自体をマルチスレッドで処理したいという要件も多くなりつつある。 例えばファイルにアクセスする際のI/Oや
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
JSX をセルフホスティングしてnpm packageとしてリリースしました。 https://npmjs.org/package/jsx さてJSXコンパイラをJSXで書きなおしたわけですが、これは主にJSXコンパイラの質を高めるためです。JSXはJavaScriptと比較すると大規模な開発に向いている、というのがJSX開発チームの主張です。であれば、JSXコンパイラをJSXで書くことにより質を高められるはずです。事実、今回のセルフホスティングでtypoやリファクタ時のエンバグ、関数の引数間違いなどによるバグがいくつも見つかり改修されました。セルフホスティングはコンパイラの品質を高める一助になったといえます。 またもうひとつ、今回のJSXコンパイラの開発はJSXによる開発であり、この過程で得た知見が数多くあります。これにより、たとえばasの失敗がnullを返すのではなく例外を返すようにす
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く