タグ

2007年12月3日のブックマーク (8件)

  • ハタさんのブログ(復刻版) : javascriptを初めて学ぶ人についてのおさらい。その1

    僕にも教える人ができた(? というか人にモノを教える立場)になったので、とりあえず、最近はもっぱらjavascriptを教えています。 もともとCやJavaなどについてはある程度の知識がある人なので、それを少しjs的な意味で、関数言語的な教えをやっている最中のメモ 変数って何ですか?変数って値もしくは式そのものに利便的な名前をつけているものです 次のhogeとfooは値をいれる箱ではなく、値そのものに別名(もしくは分かりやすい名称)を割り当てているだけに過ぎませんよ。 var hoge = 1; var foo = [1, 2, 3]; alert(hoge + 1); // 2 alert(foo[0]); // 1 alert(1 + 1); // 2 alert([1, 2, 3][0]); // 1 つまり、関数自体を変数に代入する事ができます。(functionとは特別な呼び名

  • ポインタ虎の巻

    ポインタ虎の巻 初級篇~ポインタはなぜ難しいか? C言語を学ぶ上で、ほとんどの人が引っかかり、往々にCの勉強を放棄するきっかけとなるのがポインタである。しかし、ポインタはC言語という特定のプログラム言語だけではなく、コンピュータというものを理解する上で、必要不可欠な重要な機能である。C言語参考書では、ポインタを解説する上で「箱」のモデルを使って解説することが多いが、この虎の巻では、より突っ込んだ具体的な動作を解説することでポインタというものの質を解明して見ようと思う。参考書ではC言語の抽象レベルの上で解説がされるのが通例だが、虎の巻では単純化されたアセンブリ命令を使って具体的に解説する。 初級篇目次 変数とは何か? 疑似アセンブリの定義 文字列の処理 アドレスの取得 ポインタの型 関数呼び出しの手法 構造体とポインタ リスト構造 NEW 二進木 NEW 中級篇~ポインタの高度な技 ポイン

  • bash 超プログラム術

    bash の解説なんて、ネット上には結構あったりするのだが、これをわざわざ公開しようというのは、次の理由による。 某ソフトハウスでのUNIX講座用に書いてしまったから。 ネット上にある bash 解説だと、表面的な構文解説程度であり、きっちりスクリプト言語として使い倒すレベルの解説はあまりない。まあ、プログラミング言語として凝ったサンプルもやってみようじゃないの、というノリで割とディープに解説する。 アクセスを増やすための人気取り(苦笑)。 まあ、そんな不純な目的による bash 解説である。とはいえ、日常的に使い慣れている bash であっても、「え、こんな使い方があったの!?」という発見もあることであろう。苦笑しながらでも読んでくれたまえ。だから、初歩的なリダイレクションなんかは解説しないからそのつもりで。 ちなみに参考書としたのはオライリー・ジャパン刊「入門 bash 第2版」である

  • MOONGIFT: » JavaScriptでアクションゲームを「Javascript Gamelib」:オープンソースを毎日紹介

    この間はJavaScriptで作るRPG用ライブラリを紹介した。今後のWebの行方、そしてJavaScriptの行方を占う上で面白いライブラリだ。 しかしゲームRPGだけではない。むしろ時間がかかるRPGよりも、こちらの方が手軽で中毒性は高そうだ。 今回紹介するオープンソース・ソフトウェアはJavascript Gamelib、JavaScriptによるアクションゲームライブラリだ。 アクションゲームと言えば、スーパーマリオのようなものが考えられるが、現状ではまだそこまでの完成度ではない。ポン(PONG)や簡単な板を避けるようなゲームくらいだ。 だが、キャラクターを動かすことでキャラクターの向いている方向を変えたり、当たり判定のある動きをするサンプルもあるので、初期のファミコンくらいの動きはできるようになるかも知れない。 他にもWebOS風にウィンドウやメニューを生成する、マウスクリック

    MOONGIFT: » JavaScriptでアクションゲームを「Javascript Gamelib」:オープンソースを毎日紹介
  • MOONGIFT: � JavaScriptでRPG?「The ClanFX Javascript Game Engine」:オープンソースを毎日紹介

    何でもJavaScriptでやってしまおう。サーバとの通信はAjaxにすれば、クライアントサイドはあたかもローカルアプリケーションのように操作できる。 数々のソフトウェアがWebアプリケーションとして登場したが、これは別格と言えそうだ。何せJavaScriptゲーム、それもRPGを作る試みなのだ。 今回紹介するオープンソース・ソフトウェアはThe ClanFX Javascript Game Engine、JavaScriptベースのゲームエンジンだ。 The ClanFX Javascript Game Engineはエンジン部なので、実装は別になる。が、デモも用意されているのでぜひ見てみて欲しい。 中世風の町をイメージした風景に、馬車や人が点在している。自分自身は矢印キーで移動させることが可能だ。また、各キャラクターのそばにいくと、吹き出しが表示される。 キャラクターによっては話しか

    MOONGIFT: � JavaScriptでRPG?「The ClanFX Javascript Game Engine」:オープンソースを毎日紹介
  • MOONGIFT: » レジストリの掃除もしてくれるアンインストーラー「Revo Uninstaller」:オープンソースを毎日紹介

    Windowsは長い間使っていると、徐々に性能が劣化していく。色々な要因が考えられるだろうが、レジストリもその一つだ。アプリケーションをアンインストールした際に全て消えてくれれば良いが、なぜか残るものもある。 加えてWindows標準のアンインストーラーは動作が重たく動かすのが億劫になる。そこでこれだ。 今回紹介するフリーウェアはRevo Uninstaller、多機能アンインストーラーだ。 Revo Uninstallerはアンインストールするアプリケーションをアイコンやリストで表示でき、動作も機敏で使い勝手の良いアンインストーラーだ。 ソフトウェアを選択し、アンインストールするとその後レジストリやファイルの精査をしてくれる。そこで該当するものが見つかると、その掃除もしてくれる。 さらにターゲットモードにすると、任意のアプリケーションを指定してアンインストーラーを起動してくれる。どれをア

    MOONGIFT: » レジストリの掃除もしてくれるアンインストーラー「Revo Uninstaller」:オープンソースを毎日紹介
  • 404 Blog Not Found:アルゴリズム百選 - ハッシュを再発明する

    2007年12月03日11:15 カテゴリアルゴリズム百選 アルゴリズム百選 - ハッシュを再発明する (実はハッシュを使って)配列を再発明したところで、今度は配列を使ってハッシュを再発明してみます。 現代におけるプログラミングでは、連想配列(associative array)というものを非常によく使います。通常の配列では、データを取り出すのに整数の番号を使いますが、連想配列ではその代わりに文字列を使います。これは非常に便利で、多くの言語ではオブジェクトの実装にこの連想配列を用いています。JavaScriptのオブジェクトも実は連想配列です。 しかし、これを実装するには、少し工夫が必要です。単なる配列であれば、ただ等間隔に並べておけば、「何番目を出してくれ」で事足りますが、連想配列で「'dankogai'番目」といっても人間にもコンピューターにもなんのことかさっぱりわかりません。 誰でも

    404 Blog Not Found:アルゴリズム百選 - ハッシュを再発明する
  • 404 Blog Not Found:アルゴリズム百選 - 配列を再発明する

    2007年12月03日04:00 カテゴリアルゴリズム百選 アルゴリズム百選 - 配列を再発明する アルゴリズムを理解するのに最適な方法は、すでに当たり前のように使われている仕組みを、もう一度時分の手で作ってみることです。ここでは、配列に関するアルゴリズムを再実装してみます。 ここでは、MyArrayというオブジェクトを作って、それに配列としての機能を持たせることにします。まずは基的な操作ができるようにしておきます。 残念ながらRubyなどと異なり、JavaScriptでは[]を演算子として再定義することは出来ないので、ここではget()メソッドとset()メソッドをその代わりとして用意することにします。また、利便性を考えて、組み込みのArrayに変換するtoArray()メソッドも用意しておくことにしましょう。 function MyArray(){ this.size = argum

    404 Blog Not Found:アルゴリズム百選 - 配列を再発明する