The Little Book on CoffeeScript
On the AngularJS team, we rely on testing and we always seek better tools to make our life easier. That's why we created Karma - a test runner that fits all our needs. Introductory ScreencastThe spectacular quick start to Testacular. JS Everywhere 2012 ParisWatch Vojta Jína presenting Testacular at JS.everywhere. The main goal for Karma is to bring a productive testing environment to developers. T
最近 JavaScript の this キーワードについての記事をいくつか見かけて 「そういや自分も昔 this キーワードについて記事を書いたなー」 と思って 古い記事 を見返してみたのですが、関数呼び出しのことしか説明してなかったので改めて this キーワードの全般的な話を書いておこうかと思います。 本記事は ECMA-262 5.1th に基づいています。 初心者向けの this キーワードの使い方の指針を示しているわけでも JavaScript 処理系の実装の説明をしているわけでもなく、JavaScript 言語コアの仕様を説明していることに注意してください。 ECMA-262 5.1th : JavaScript の言語コア部分 (ECMAScript) の言語仕様 (バージョン 5.1) 初心者向けの this キーワード周りの指針 この記事の最後の 「まとめ」 に、自分が
古いエントリーなのですが、まだ時折検索エンジン経由?でいらっしゃる方がいるみたいなので追記 Titanium Desktopは今はTideSDKと変わってオープンソースプロジェクトになっています。 いいたい事を先に。 Ruby,Python,PHP,JavaScriptやってる人でデスクトップアプリ作成に興味ある人は Appcelerator Titanium Desktop さわってみるといいと思います。OS X, Windows,Linuxとマルチプラットフォームなデスクトップアプリをhtml,JavaScript,Ruby,Python等の慣れ親しんだ技術で簡単に作成、公開することができます。 予想以上にブクマされてるみたいなので、Titanium Desktopの特徴を箇条書きですが追加しておきます。 一言で言えばJavaScriptで記述するAdobe AIRのようなRIAフレー
for 文で 100 項目とか 1000 項目とかあるテストケースを処理するとブラウザが固まる。 こんなダイアログが表示されます。 ということで for 文を setTimeout や setInterval に変換する事で定期的にブラウザに処理を戻すことができる。 // ここでは console.log のところでログを取ってますが // 通常は処理が入ります。 for (var i = 0; i < 3; i ++) { console.log('a' + i); } /* * 結果 * a0 * a1 * a2 */ これをまず while 文に変換 var i = 0; while (true) { if (!(i < 3)) break; console.log('a' + i); i ++; } /* * 結果 * a0 * a1 * a2 */ で、 setTimeout に
オレオレ言語ブームについては以下 OreScript時代の幕開け - yukobaのブログ で。 scriptタグ - ロックスターになりたい を見て思いついたんだけど <script src="俺のスクリプトインタプリタなんだぜ.js"></script> <script type="text/俺の"> : : </script> ってやるより <script src="俺のスクリプトインタプリタなんだぜ.js"> : : </script> のほうがシンプルでいいかもー。 とか思った。 これだと onload 待たなくても取れるんじゃないかなー。たぶん
for 文を setTimeout に変換する - IT戦記が楽しそうだったので、久しぶりにJavaScriptを書いてみた。 継続風に書くと、通常のforループとsetTimeout付きforループが同じようになります。 JavaScriptも楽しいなぁ。また、書きたい。 // 通常版 forloop(0, 3, 1)(function(i, cont){ forloop(0, 7 ,1)(function(j, cont){ console.log('a' + i + "-" + j); cont(); }, cont); }, function(){}); // timeout版 to_forloop(0, 3, 1)(function(i, cont){ to_forloop(0, 7 ,1)(function(j, cont){ console.log('a' + i + "-"
先日、MozillaでECMAScript(JavaScript)の仕様を作っているJohn Resigさんが来日しました。 その際、1時間ほどのQ&Aの司会と、ライトニングトークでの発表を私させていたただきました。 その際、基調講演をしてくださった、etoさん(http://eto.com/d/PresenForJohnResig.html)のコメント。 こないだのJohn Resigによる講演の後に一緒に飲んだんですけど, その席で聞いた話がすんごく面白かったな. いろいろ面白かったんだけど,特にjquery2が面白かった. http://ejohn.org/apps/jquery2/ このURLなんですけど,コードはこんな感じ. <script src="http://jquery.com/src/latest/"></script> <script src="parse.js"><
JavaScript において可変引数を扱う場合 arguments オブジェクトを使います。 function func() { for (var i = 0; i < arguments.length; i ++) { alert(arguments[i]); } }; func(1,2,3) // 1,2,3 を順に表示 そして 可変引数を使うパターンとしては、 すべて可変引数 固定引数と可変引数 の二つに分けることができます。 すべて可変引数 引数が与えられた分だけ同じような処理を行うパターン function add() { for (var i = 0, r = 0; i < arguments.length; i ++) r += arguments[0]; return r; } var r = add(1, 2, 3, 4, 5); 固定引数と可変引数 最初のいくつかの引
サーバに送っているHTTPリクエストのヘッダやレスポンスのヘッダが見られるFirefoxのextension livehttpheaders がどうやってこの機能を実現しているのか調べてみました。 HTTPリクエストを送るタイミングでイベントを捕まえることができるんだろうと予想して探してみるとLiveHTTPHeaders.jsの43行めからのaddToListener()に function addToListener(obj) { ... snip ... // Should be a new version of Mozilla/Phoenix (after september 15, 2003) var observerService = Components.classes["@mozilla.org/observer-service;1"].getService(Compone
Lazy Function Definition Pattern Published August 11, 2007 in JavaScript This article examines a functional-programming design pattern I've been calling Lazy Function Definition. I've repeatedly found this pattern useful in JavaScript especially when writing cross-browser libraries that are efficient at runtime. Warm-Up Problem Write a function foo that returns a Date object that holds the time th
Looking for information about Informa TechTarget products and services? The commercial homepage has moved. Visit Informa TechTarget News 29 Jul 2025 / Software Design & Development What Amazon Q prompt injection reveals about AI security Experts say a malicious prompt injection in the Amazon Q extension for VS Code doesn't represent a fundamentally new threat, but reflects how AI amplifies securit
NTTと三菱電機が共同開発した共通鍵ブロック暗号 "Camellia" の実装について以前調査していた時、ついカッとなってJavaScriptで実装してしまいました。類似の実装も既にあるようですし今は反省しているのですが、死蔵しておくのもナンなので晒しておきます。 ソースコードと使い方 小ネタなので、このソースコードはpublic domainということにしますね。 CryptoCipherCamellia-js-1.0.2 CryptoCipherCamellia.jsは128-bitブロック暗号Camelliaのプリミティブの実装と、暗号利用モードとしてCBCモードの実装を含んでいます。例を簡単に示すと次のような感じです: var SECRET_KEY = CryptoUtil.arrayFromHex( "00112233445566778899AABBCCDDEEFF"); var
Looking for information about Informa TechTarget products and services? The commercial homepage has moved. Visit Informa TechTarget News 29 Jul 2025 / Software Design & Development What Amazon Q prompt injection reveals about AI security Experts say a malicious prompt injection in the Amazon Q extension for VS Code doesn't represent a fundamentally new threat, but reflects how AI amplifies securit
本稿ではGreasemonkeyを使ってアプリケーションを作る際の筆者なりのコツを紹介しようと思います。単に筆者が「コツ」だと思っていることを紹介するだけでは面白くありませんので、ちょっとしたアプリケーションを題材にして、作成していく過程をステップに分けて解説していく形式をとることとします。 さて早速Greasemonkeyによるアプリケーションの作成方法を紹介しましょう、といいたいところですが、「Greasemonkeyによるアプリケーションとは何だ?」「そもそもGreasemonkeyとは何だ?」という疑問をお持ちの方もおられると思いますので、第1回は「Greasemonkeyとは何か」ということと、その基本的な使い方を紹介したいと思います。Greasemonkeyをよくご存知な方は、次週までお待ちください。 Greasemonkeyとは GreasemonkeyはFirefox用
UStream.tvとtwitterでニコニコ動画ってみた、あとJavaScript→ActionScriptブリッジの更新 追記:デモページTwitterとUstream.tv のアカウントは切り替えれるようにした。 このエントリの続き JavaScript → ActionScript なオブジェクトブリッジを作ってみた 最近もっぱらActionScript勉強中なのですが、JavaScriptオブジェクトをActionScriptから叩けると楽しいのじゃないか、と思ってオブジェクトブリッジ作成中な訳です。で実際何が便利かと考えたら、まあJSONPかなぁと。やっぱActionScriptでもJSONPでクロスドメインのデータとってきたいじゃない、人間だもの。 で一つサンプルを作ろうと思ってネタ探ししてたら、なんかustream.tvってのが面白そうじゃないか。ustream.tv一言で
Mozilla Party JP 8.0 に講師として参加させていただきました。以下はプレゼンテーション用のスライドです。 E4X in Firefox (PDF) E4X in Firefox (HTML) OnpenOffice.org 2.0 の Impress を使って作ったのですが、私のノート PC のディスプレイ接続がうまくいかず、お借りしたマシンに入っていた OpenOffice.org 2.1/2.2 ではなぜか実行途中にフリーズするので、PDF にエクスポートしたものを用いました。 また、発表は 25 分の枠だったのですが、最初に練習したときは 1 時間かかってしまい、話す内容をいろいろと削ったものの、結局枠ぎりぎりまで使い切ってしまって、質疑応答の時間をとることができませんでした。もし何か聞きたいことがあったという方がいらっしゃれば、このコメント欄にお願いします。 それ
Looking for information about Informa TechTarget products and services? The commercial homepage has moved. Visit Informa TechTarget News 29 Jul 2025 / Software Design & Development What Amazon Q prompt injection reveals about AI security Experts say a malicious prompt injection in the Amazon Q extension for VS Code doesn't represent a fundamentally new threat, but reflects how AI amplifies securit
Make a note of it: Web tech, montaineering, and so on. Note: この記事は、3年以上前に書かれています。Webの進化は速い!情報の正確性は自己責任で判断してください。 Webに言語は数あれど、特に玉石混淆の激しいJavascriptの書き方について纏めてみた。間違い指摘大歓迎! 発端はYahoo!の Eric Miraglia による、YUI 式モジュールの作り方をまとめた記事。ざっくりまとめると、以下の手順になる。 YAHOO.myProject.myModule = function () { //"private" variables: var myPrivateVar = "I can be accessed only from within YAHOO.myProject.myModule."; //"private" m
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く