2007-02-01から1ヶ月間の記事一覧

プログラミングでチャット

うわっ,これは参ったhttp://www.codeide.com/

それでAroeはどうしているのかというと

Aroeでは,swfをその場で生成することはせず,仮想マシン(仕様は勝手に考えた)実行環境をswf形式で静的に置いているだけである.実行するたびに仮想マシンのコードを流し込んでいる.

swfを生成するWebサービスは成立するか?

以前,Webサーバからswfを生成させようとするとややこしすぎる,という話をしたが,ややこしいというのはライセンス上ややこしいのだ.swfのファイルフォーマットについて解説した公式ページに訪れると,swfを生成するソフトが守るべき決まり が書いてある.…

でもさあ,$name="' or 1=1" だったら結局SQLインジェクションじゃんか

よく見てほしいのは,name='$name' ではなく, name=$name になっている点だ. ここでは,$name は,あらかじめ文字列型(すなわち,「自然言語型」)として宣言されているものとする.すると, $name部分には文字列型が入る=そこは文字列として構文解析さ…

でもクエリは書きたい

それじゃあ,「文字列のふりをしたオブジェクト」というのを導入してみよう. Query q="select * from project where name=$name"; 左辺のqは文字列ではなくて,Query型 (SQLのクエリをあらわすオブジェクト)である 右辺の文字列をQuery型のオブジェクト …

文字列には自然言語しか書いちゃだめだ

よくこんなコードをみかける query="select * from project where name='$name'"; とか request="param=$param&code=$code"; とか file="/tmp/$proc.txt"; とか. SQLインジェクションとか,コードインジェクション,XSSとか,この手の脆弱性の根本は 「本来…

2台ペアプログラミングの題材

1人が自機をつくって,1人が敵をつくる 1人が自機をつくって,1人が自機をつくる; 対戦 ゲームしか思いつかんのはどうしたものか.

2人2台でペアプログラミング

ペアプログラミングってのは1台のPCで2人がプログラミングすることである.でも,2人2台でやってもいいじゃん?と思うそういう意見がないのは,たぶん2人で同時に開発するなんて仕組みがないからだと思う.2人で同時に開発できる仕組みを作ってプログラミン…

A は 変数宣言で The は変数の参照.

ついでにAとTheの話が出てきたので常日頃思っていることを.英語は冠詞があるのでプログラミングに適しているにちがいない. This is a cat. The cat is running. Cat c=new Cat(); c.run();

A と The

プログラミング言語屋が陥る罠として「手段が目的になる」というものがある.自分自身はいつも言語を作っといてから目的を探し出すからいつもこの罠にはまっている.一方,プログラミング言語屋の役割は「目的に適した手段を提供する」ことである,と思って…

そうかsemanticsだったっけ

世界観なんて変な単語を使うまでもなかった.でもやっぱりコンパイラコンパイラはsemanticsを書く支援はしてくれない.(ターゲットとなる言語でごりごり書くしかない)http://d.hatena.ne.jp/kwakita/20070218/1171770307 プログラミングを学ぶことことはプ…

世界観を記述できるツール

が作れないだろうか.「変数」「関数」みたいなモジュールを組み合わせるとそれっぽい処理系になるってのがいい.

世界観ってなんだよ

簡単にいうと,ルートの直下にあるものが何か,ということだ.ぜんぜん簡単じゃないので例をとろう. Cを例にとると,Cのルートの直下には「関数」がぶら下がっている.関数の名前は実行環境で一意である.他にもルートの直下に「グローバル変数」もある. J…

コンパイラコンパイラを使わない1の理由

普通,新しいプログラミング言語を作るときは「コンパイラコンパイラ」というものにお世話になる. 簡単にいうと,その言語の文法を次のような書式で定義して,それをもとに構文解析をしてくれるプログラムを 自動生成するツールだ. Siki := Kakeru ('+' | …

Aroeでドットイート

迷路を歩いてえさを食べつくす... まだえさは食えないわ壁を貫通するわで大変.一度画面をクリックしてからカーソルキーで.起動:Aroe から「doteat」をたどると見られる まだマップ作成機能がないので一枚絵を用意. http://tonyu.jp/aroe/home/nobody/www…

Ruby on rails敗北

Webアプリケーションが手軽につくれるというふれこみのRuby on railsをFC5 に入れようとして見事に失敗. なんかFC5 と Rubyのバージョンが合っていないとかそんな系統のエラー. あまり手軽ではない印象.まあろくすっぽ調べずに入れるからなんだけど.

で,肝心のベルヌーイさんは

「翼の上側に空気が当たる量が下側にくらべて少なければ浮力がでる」はずなのだが, なんか上と下とであたっている量がかわらない気がする.やっぱり50個程度で流体力学はむりかな.

流体力学ソース

昨日の流体力学のプログラム解説起動:Aroe から「wing」をたどると見られる基本事項 onAppear 出現時に1回だけ行う動作(なくてもよい) onUpdate 毎フレームに行う動作 Wing.yb: 翼の部分.ついでに空気の出現(50粒)をしてもらっている. appear(オブジ…

Aroeで流体力学

記念すべき第1回目のアプリケーションはなぜか「ベルヌーイの法則のシミュレーション」Aroe から「wing」をたどると見られる水色が飛行機の翼で,周りの白い粒が空気

あまり関係ないけど

上のコードを書いたときに,「はてな記法」を参考にした. 引用記法 >> 〜〜 とあったので >> t=text.getText(); >> res=new Array(); ( 以下略 ) 見たいな書き方をして,ぜんぜん引用ブロックにならないので数分悩んだ

Yahoo Pipesのサンプルプログラム

猫のWebページと画像とを探すhttp://pipes.yahoo.com/pipes/yEghaQy82xG8sqNrJjBjOg/プログラム風に書くとこんな感じかな? t=text.getText(); res=new Array(); res.addAll(Yahoo.search(t)); res.addAll(Flickr.search(t)); res.sortByName(); return res;

というわけで「Aroe」公開

先をこされたので急いで公開Aroe - Web上でFlashのゲームが作れます.(要Flash Player 9) ヘルプもあるので自由に作ってください.まだアルファ版なので一週間に1回内容をリセットします

WebからWebサービスを作る

http://pipes.yahoo.com/http://www.atmarkit.co.jp/news/200702/09/yahoo.htmlぬぬ,先をこされた?

ファイルシステムがないOS

ファイルシステムというのは,ディレクトリとその中にファイルやディレクトリがあって,それが/home/hoge/test.txt みたいなパスで表記されるだけという非常にシンプルなものである.この仕掛けはシンプルで自由度も高い.しかし,アプリケーションやOSがい…

プログラミング言語の評価

プログラミング言語を作って,その有効性を論文で書きたい,とずっと思っているのだが, そんな論文をあまりみたことがない. というのは,有効性を示す基準が客観的でないからだ....でもこんな論文もある 言語の評価方法- A Project-Based Approach to …

そこでゲーム作成ですよ

AJaxアプリケーション開発フレームワークに真正面からぶつかるとライバルがいっぱいいるので,別の角度からWeb開発を支援したい.そこで目をつけているのがFlashゲームのWeb上での作成システムです.だいたい出来上がっているんだけど,Flashで高速なコード…

AJax開発環境

皆さん同じことを考えるようで.http://ajax.asp.net/docs/default.aspx私自身,AJaxアプリケーションを1つの言語で書くという試みを1年間くらいしているが,なかなか大々的に発表するに至らない.こうしている間にも先を越されそうだ