JavaScriptのプロトタイプチェーンについて理解しようとしたのだけど、prototypeとか__proto__とかごちゃごちゃになって、色んなブログを読んでもなかなか理解しきれなくて悶々としていたのだが、図を書いたらパッと理解できた!以下、情報ソースはなるべくECMAScript仕様書(3rd)を元にするようにして書きました なぜ分かりづらいのか? そもそも、なぜJavaScriptのプロトタイプチェーンは自分にとってこうも分かりづらかったのだろうか?自分なりに分析してみると、まず、「似ているが違う用語が沢山ある」という点がある。ざっとあげただけでも、「prototypeと__proto__」「__proto__と[[Prototype]]」「FunctionとFunctionオブジェクト」などがある。そして次に、「入り組んだ構造が動的に変化する」という点がある。上記のように似たよう
プログラミング言語の経験がある人がJavaScriptを覚えようとすると、「あれ? なんか違うぞ?」という経験を何度もするのではないでしょうか。どうも配列は自分の知ってる配列っぽくないし、オブジェクトもオブジェクトっぽくない。 本書「プロになるためのJavaScript入門」はそうした、ある程度のプログラミング知識を持つ人のためのJavaScript入門書としてとてもよく書かれています。以下の一文は、JavaScriptの文法を解説した第2章の冒頭に書かれたものです。 JavaScriptの文法要素は単純に見えて、深く掘り下げていくとまったく違う姿を現すということがよくあります。たとえば、スコープの実体はオブジェクトですし、メソッドは関数です。また、関数は突き詰めるとオブジェクトで、さらにクロージャという側面も持っています。このように、JavaScriptの文法の学習とは「Aだと思った?
Firefox OS が面白そう、というので少し触ってみました。 Firefox OS はWeb 標準ベースの開発を基礎としたモバイル端末用プラットフォーム、要は HTML と JavaScript と CSS でアプリケーション開発できるモバイル端末用の OS。間もなく Developer Preview Phone な実機が発売されるというのでにわかに盛り上がりを見せているみたいです。 Firefox OS が目指すところは Web 標準による、開発者がロックインされないオープンなプラットフォーム。iOS や Android の昨今の状況を見れば、そのアンチテーゼになるプラットフォーム構想があってもおかしくないわけで、まさにそれを目指しているようですね。 いったいどんなものかという概観は dynamis さんによるスライドが分かりやすい。 Firefox OS from dynamis
JavaScriptの書籍はjQueryやサンプル中心のチップス本などを含めると、多数出ており、これから勉強したい人にとってはどれから読めばいいか迷うところだと思います。 今日はここ数年で出た書籍の中で初級者から脱中級者になるまでに読みたい書籍を、この順番で読めばステップアップできるという内容で紹介したいと思います。 STEP1. 初心者へのおすすめはダントツでこれ一択。 初心者向けの内容としてはこれがダントツでおすすめです。内容が易しく丁寧な上にサポートサイトで書籍の内容を動画で説明してくれています。 Amazon.co.jp: よくわかるJavaScriptの教科書: たにぐち まこと: 本 サポートサイトはこちら STEP2. 全体を把握するには十分なボリューム。脱初級者向けにはこの2冊。 2冊とも初級者にとっては少し厳しい内容になっていますが、この2冊が理解できれば後は作りまくる
HTML5で、小学生でも簡単にゲームを作れてしまう、ゲームエンジン『enchant.js』(関連サイト)。オープンソースかつ無料での利用が可能で、enchant.jsで作られたゲームはすでに数多くリリースされています。このenchant.jsがいま、どれくらいすごいことになっているのか、開発元の株式会社ユビキタスエンターテインメントの清水亮代表取締役社長兼CEOにうかがいました。聞き手は角川アスキー総合研究所の遠藤 諭ゼネラルマネージャー。 なお、10月25日(木)から27日(土)まで、お台場・日本科学未来館で開催される『デジタルコンテンツEXPO』(関連サイト)で、実際にenchant.jsを体験できます。ぜひご来場ください! ■アメリカでも大歓迎された、HTML5ゲームエンジン『enchant.js』 遠藤 先週、アメリカに行かれていたんですよね。 清水 一週間で5回ほど講演したんです
某イベントのためのコードを書くのにHTMLのスクレイピングをやりたいなー、nodeで書くかなー、去年は jsdom で書いたけど今はどうなんだろね、とか調べてたら、どうもこういうあたりのがあるらしい。 jsdom たぶん一番有名で高機能、だけど重い。 node-jquery jQuery読むだけならコレ!みたいな感じ、だけどあんまりアップデートされてないかも。使いかたはいちばんシンプル。 依存関係がちゃんと書かれてなくて、追加で手で xmlhttprequest をインストールしておかないと動かなかった。 cheerio お前ら重い! 俺がjQuery記法を再実装してやる! という男らしいライブラリ。 zombie ブラウザの挙動をシミュレートする的なライブラリ、Mechanizeみたいなやつかな。いまの用途では前段でHTTPレイヤをいじる必要があるので今回は用途に合わない。 sqrape
特に何か目的があるわけじゃないんですが、JavaScriptの練習のためにゲームを作ってみました。 Regex Of The Dead タイピングゲームのように正規表現を練習するためのシンプルなゲームです。ゾンビと一般人が迫ってくるのでゾンビの名前にだけマッチするように正規表現を入力して倒していきます。 HTML5の流れでオーディオ、グラフィック、フォントがHTML/JavaScriptで簡単に扱えるようになり、さらにenchant.jsのようなゲームエンジンも充実してきて、ゲームもJavaScriptだけで気軽に作れるようになってきたようです。 そんなわけで試しに書いてみたのがRegex Of The Deadです。プログラミングは長いことやっているもののゲームを作ったのは大学のとき以来かもしれません。 最初、何か良さそうなゲームエンジンがないものかいくつか調査しましたが、こういったタイ
某所に提出するように昔作ったもののコア部分を詰めて作ったんだけど、興が乗ったので今日そのまま作りこんでみた。 同時にログインして相手に近づいて殴ったらHPバーが減って死ぬ。死ぬと4秒でリポップする。 まだマップを実装したりモンスターを徘徊させたりしてない。実質一日で作ったものなので現状この程度。 ガワはenchant.jsで書いた。はじめてまともにつかってみたが、意外と複雑な構成に耐える印象。とくにアニメーション部分はavatar.enchant.jsの仕組みにほぼ乗っかっているのだが、サーバーサイドでステートを決定してクライアントで受け取っている。こんなこと自分以外はやっていないと思う。 一応Githubに置いた。グワーッと作りたかったので、まだテストコードを書いていない。 mizchi/node-mmo https://github.com/mizchi/node-mmo git cl
あの頃は青かった。教えるどころか無知をさらけ出すというのはこの事だった。死ぬほど恥ずかしいので消したかったけれど、この記事が一番アクセスがあって長い間いくらか読まれていたらしい。ためらった。ただ、かつての自分といくらかの人に参考になればうれしいけれど、そろそろ役目を終えたと信じたい。もし書きなおすのなら、もう少し違う言い方か伝え方にすると思う。 内容としては 当時の自分のスペック Pythonの言語で、当時の自分が知った方法(3項演算子とか) mercurial の基礎(init, commit, push, update, log) WAF(Django)の知識 URL(ディスパッチャ)をトリガーにして Viewで処理をかく ModelにDBの内容がある ORMでリレーションを簡単に記述できる テンプレートでViewで処理した内容を表示させる チラ裏に移動させた。
モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲームの歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS
Chromium Blog: Writing Extensions More Securely Chromium Blog: More secure extensions, by default Chrome 18でManifest Version 2を指定した場合、インラインscriptが使えない。evalも使えない。Background Pagesの仕様も変わっている。 つまり、今までエクステンションで、 <html xmlns="http://www.w3.org/1999/xhtml" > <head> <script type="application/javascript"> /* Javascriptのコード */ </script> </head> </html> としていた場合、Javascriptのコードを別のファイルに分離して、 /* sample.js*/ /* J
[読了時間:2分] 「アプリやウェブサイトがどんな風にプログラムされているか知りたい」「プログラミングしてみたい」そう思う人がジワジワ増えている。TechWaveでは、そんな初心者の夢を実現するのに最適といえるUEI(ユビキタスエンターテインメント)の「enchant.js」に注目してきたが、そのバイブルとも言える教科書本「HTML5とJavaScriptでスマートフォンゲーム作成! ゼロからはじめるenchant.js入門【公式ガイド】」が遂に発売となった。 若干技術用語が入ってくるが、検索しながら、かつ投稿コンテストサイト「9leap」などで公開されている大量のサンプルコードを見ながら進めれば表題の通り3時間あれば誰でもゲームを作れてしまう良書だ。「またまた、マスダさん御冗談を」という人も是非書店で手に取って頂きたい。 プログラミングの興奮を全ての人に 実際、enchant.jsでは小
モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲームの歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS
1. 2011/10/29 BootCamp 2011 Toru Yoshikawa ( @yoshikawa_t ) #bc2011jp #chr1 21. { "name": "Sample Extension", "version": "0.1", "browser_action": { "default_popup": "popup.html", "default_icon": "icon.png" } } 22. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style> p { font-size: 32px; } </style> </head> <body> <p>Hello, World!</p> </body> </html> 28. { "name": "Sample Extension", "versio
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
MiSPLi: http://mooz.github.com/mispli/ MiSPLi Emacs に出会ったのが三年前. それから一年程して elisp をいじり始めたので, 僕と Lisp との付き合いはかれこれ二年ほどになる. JavaScript を始めたのが一年前だから, 僕の中では C 言語に次いで付き合いの長い言語だ. 必要にかられたときにちょこちょこと elisp を書いて, 終わったらしばらく別れを告げる. そんな中途半端な付き合いを続けていた三月も終盤, 竹内先生の書かれた「初めての人のための LISP」を読み, その内容に深い感銘を受けた. Lisp を Lisp で実装する, といった章があり, これまで何となしに使っていた Lisp の中身を垣間見ることができたような, そんな気分になっていた. その時に, 「ひょっとしたら僕にも Lisp の処理系を実装でき
この記事は、JavaScriptを勉強して可能なら使えるようになりたいけど、どこからやっていいかよくわからない、という昔の僕みたいな人のためのガイドです。ちなみにいささかCUI寄りです。 初めに断っておきたいのは、僕が多少なりとも真面目にJavaScriptを勉強し始めたのは10ヶ月ほど前のことなので、いわゆるマスター的なヨーダでも何でもなく、未だ途上の何たらだということです。 開発環境を用意する JavaScript入門、みたいな紙媒体やWeb上の記事には、「JavaScriptは基本的にはブラウザ上で動く言語なので、特別な実行環境を用意する必要はありません!楽勝ですね!」みたいなことがよく書いてあるのですが、アホか、という話です。 ブラウザ上で動かす(場合が多い)言語であるからこそ、むしろ実行はめんどくさいです。 「ワイはとにかくDOMが操作できればええんや!言語仕様とかどうでもええわ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く