Code Archive Skip to content Google About Google Privacy Terms
1つ前の記事「JavaScriptをいかに高速化するか、IE9、Firefoxの取り組み」では、IE9とFirefoxにおけるJavaScriptの高速化について紹介しましたが、そもそもJavaScriptの実行速度はなぜ遅いのでしょう? その理由について、Mozilla Japanテクニカルマーケティング担当の浅井智也氏が、スライド「Trace Monkey」でポイントをまとめています(このスライドはタイトルから分かるとおり、Firefoxの当時の新しいJavaScriptエンジン「Trace Monkey」を紹介するために1年以上前に作成されたスライドですが、1つ前の記事を見ると、ここで示された課題はいまも変わっていないようです)。 全67枚のスライドの20枚目から24枚目の5枚を以下に紹介します。 JavaScriptが遅い原因は、以下の4点にまとめられています。 インタープリタ型言
こんにちは、id:os0xこと太田昌吾です。今回から、クロスブラウザ対策を中心としたJavaScriptの初級から中級の方向けの連載を開始します。JavaScriptの基礎的な文法は理解されているという前提での解説となりますので、ご了承ください(間違いやすい、わかり難いと思われるところは適宜補足します)。初回である今回はJavaScriptやウェブブラウザの背景など盛りだくさんの内容でお届けします。 JavaScriptのイマ JavaScriptは2010年現在において、最も重要な言語となりつつあります。旧来はすべての処理をサーバーで行って、結果をウェブブラウザ上に表示するだけというのがウェブの一般的な姿でした。2005年に登場したGoogle Mapsを一つの契機として徐々にウェブブラウザ・クライアント側での処理が見直され始め、近年ではクラウドやSaas、そしてHTML5の流行によ
PHP、Perl、Ruby、C、C++等40以上の言語をブラウザで実行できるようになるjQueryプラグイン「Run This」 2010年03月11日- Run This! PHP、Perl、Ruby、C、C++等40以上の言語をブラウザで実行できるようになるjQueryプラグイン「Run This」。 ブラウザ内の<pre>コードで記述した部分を、その場でそのまま動かすことができ、うまくサイトに組み込めばより訪問者にとってわかりやすいページを作ることが出来そうです。 例えば、PHPの入門サイトなんかでは挙動を一瞬で確認できてしまいます。 具体的には以下の言語に対応しています。 Ada, Assembler, AWK, Bash, bc, Brainf**k, C, C#, C++, CLIPS, Clojure, COBOL, Common Lisp, D, Erlang, Forth
ストリートファイターみたいなゲームを作れるようになったjQuery用ゲームフレームワーク「gameQuery」 2010年03月11日- gameQuery - a javascript game engine with jQuery 結構前に紹介した、jQueryでゲームを作れるフレームワーク「gameQuery」がパワーアップしてるようです。 ストリートファイターならぬ、JavaScript Fighter 2 というタイトルでデモが公開されていて、一見の価値ありです。 次がJavaScript Fighter 2 の画面。動きます。 他にも多数デモゲームが公開されています。 JavaScript でゲーム作成にチャレンジする際には参考にしてみましょう。 関連エントリ JavaScriptで書かれたテトリスゲーム JavaScriptでリズムゲーム「JavaScript Rock St
言語やインタフェースの設計には「驚き最小の原則」というのがある。まつもとさん本人はそんなこと言っていないようだが、かつて、Rubyはその原則に沿った言語と言われていた。一方、JavaScriptはそれに反する言語と未だに見なされているようだ。多くの場合、よく理解していないのが原因である。理解した上でも、やっぱりおかしいよ、というのもあるかも知れないが、じゃ、その場合どう定義したらよいんだ、というのはいろいろ難しい問題がある。 wtfjs(http://wtfjs.com/)にはJavaScriptのそんな「変な挙動」が集められている。wtfなんてタイトルをつけているくらいなので、あまり真面目に見る必要はないのかも知れないけれど、主なものについて古い順から軽く解説してみた。ちなみに、wtfはWhat The F*ckの略。 typeof NaN === 'number' // true In
Follow NowというTwitterのリアルタイムフォロワー推薦ツールを公開しました。 このツール、サーバーサイド処理はこちらでは一切作っていません。HTML+JavaScript+CSSにWebAPIを組み合わせただけなのです。 Follow Nowの仕組み WebAPIとJavaScriptだけでどうやってレコメンドシステムを作っているか、というと、鍵となるのはJSONPでの出力に対応したWebAPIです。 JSONを使ってクロスドメイン通信をするJSONPでの出力に対応したWebAPIは今質量共にものすごい数に上っていて、中にはTwitterや、Yahooのキーフレーズ解析なども含まれています。これらを使うことで、かなりのことがWebAPIとJavaScriptだけでできます。 流れとしては次のようになります。 1.アカウント名をもとに、Twitterからユーザーの投稿を取得 2
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
created by Brian LeRoux & Andrew Lunny. sparodically uncurated by David Trejo. 2016 03 19 weird instanceof2016 03 10 Object And Array Prototype Length2016 03 09 Two Special Numbers2015 04 23 screwy negative array index2015 04 16 moving numbers2015 04 08 array sort2015 03 23 adding arrays2015 02 05 good old octal decimal wtf2015 02 02 Boolean constructor2014 11 22 object as object key2014 10 07 tru
DBSLAYER The DBacesslayer aka DBSlayer aka Släyer (as we like to call it when we're feeling ironically heavy metal) is a lightweight database abstraction layer suitable for high-load websites where you need the scalable advantages of connection pooling. Written in C for speed, DBSlayer talks to clients via JSON over HTTP, meaning it's simple to monitor and can swiftly interoperate with any web fra
Photo by spud murphy 先ほどの記事のコードにミスがあり、継承を行うと、親クラスも書き換えてしまうバグがありました。コメントやTwitterで報告いただいた方々ありがとうございます。 あの後、調べて見れると、あまりスマートに継承を実現する方法は無いみたいですが、ユーザが作ったクラス(StringなどのAtomic型を除く)は下記のコードで継承が行えます。 特に、Array型を継承するのは、無理なようです。[]を上書きできないので、どうしようも無いみたいです。残念。 <body> <div id="result"></div> <script> var puts = function(str) { var el = document.getElementById('result'); el.innerHTML = el.innerHTML + str + "<br/>";
ExpressはJavaScript製のオープンソース・ソフトウェア。node.jsはGoogle製のJavaScriptエンジンv8を使って作られたネットワークサーバで、Webサーバや何らかのメッセージを受け取るサービスを作るのに使えるサーバサイドJavaScriptを実現するフレームワークだ。 サンプルアプリケーション node.jsを使ってもWebサーバは作れるが、それはあくまでも作れるというレベルだ。もっと使いやすさを考えるならばWebアプリケーションフレームワークが欲しい。そしてそれをSintra風にまとめたのがExpressだ。 Expressはnode.jsを使いつつ、容易にサーバサイドJavaScriptを使ったWebアプリケーションを開発できるようにしたフレームワークだ。HTTPメソッドとしてはGET/POST/PUT/DELETEが使えるようになっている。テンプレートエ
I was recently reminded about Dmitry Baranovsky's Javascript test, when N. Zakas answered and explained it in a blog post. First time I saw those questions explained was by Richard Cornford in comp.lang.javascript, although not as thoroughly as by Nicholas. I decided to come up with my own little quiz. I wanted to keep question not very obscure, practical, yet challenging. They would also cover wi
JavaScriptの利用範囲がどんどん広がっています。ライブラリの充実によって、比較的手軽にいろいろなことができるようになり、Webサイト/Webアプリケーションだけでなく、今やモバイルデバイスやデスクトップアプリケーションなどの分野でもJavaScriptが活躍するようになりました。 本連載では、多数のJavaScript関連書やASCII.jpの連載「29分でできる!あのサイトの技を盗め」の執筆でもおなじみの古籏一浩氏が、最新のAjax/JavaScriptライブラリの解説から、今後注目される新しいJavaScriptの活用Tipsまで、“楽しくできて役立つネタ”をお届けします。 初回は「iPhone 3GS」に合わせてリリースされたiPhone OSの新バージョン「iPhone OS 3.0」がテーマです。iPhoneならではのGPS機能をSafariのJavaScriptで活用す
Java変態文法最速マスター - プログラマーの脳みそをリスペクト。 JavaScriptの変態文法・技法一覧です。あんまり使わないけど、知ってるとXSSとか攻撃したいのにWAFに妨害されるなど、いろいろ制約があるという場合に便利。 文字列の生成 引用符を使わずにさくっと文字列を作る。fromCharCode とか使ってもいいけどめんどくさいので、正規表現やE4Xを利用。 alert( /string/.source ); alert( <>string</> ) 空白文字を使わず記述 文脈上、スペースを書きたいけれどいろいろ制約があって書けない場合にはコメントで代替。実行するコードを作り上げてevalしてもいいけど大袈裟なので。 var/**/x=1; */ を含むコードブロックをコメントアウト コードの塊りをコメントアウトしようと思って /* */ で囲むと、コード内に string.
プログラミング言語の文法をまとめた最速基礎文法マスターが流行っていますが、それだけだと物足りないので少し視点を変えてJavaScriptという言語の基礎となっている概念について簡単にまとめてみようと思います。(基礎文法についてはこちらを参照してください) (20010/2/4 記述ミス Typoなどを修正しました) JavaScriptの基本概念 JavaScriptの基本となる概念は次の二つです。 連鎖指向 全てがオブジェクト 連鎖指向はプロトタイプチェーンやクロージャ、全てがオブジェクトであるという性質は連想配列やプリミティブ型などの性質に関わってきます。 連鎖指向 JavaScriptでは変数、オブジェクト、メソッドなどのリソースの利用において鎖のようにリソースを定義や宣言できるポイントが連なり、一番近くの宣言や定義に基づいてリソースの内容が決定される、という仕組みが採用されています
プログラミングのこつ 無駄な名前を極力使わないこと。意味単位に名前空間を細かく階層的に分離すること。 ここで言う名前空間とは 名前空間とは、一つの名前が一意のものを表す空間。例えば、大きな目で見れば、日本語は自然言語の名前空間である。また、専門用語なども名前空間と考えることが出来る。 日本語 { コンニチワ = 挨拶 : : } 中国語 { ニーハオ = 挨拶 } 英語 { ハロー = 挨拶 } また、名前空間は重なり(優先順位)を持つ 同音異義語などの言葉は、それぞれの細かい名前空間の重なりによって一意のものに特定されると考えられる たとえば、「コイが好き」と言った場合 池に関する名前空間 { コイ = すいすいパクパク } チャライ話題に関する名前空間 { コイ = ドキドキきゅんきゅん } お茶に関する名前空間 { コイ = にがーい } 名前空間の優先順位を考えると、一意の意味を知
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く