Programming
状態で分割するのではなくて処理で分割したらこんな感じにしたらいいのかなーと思って書いた. でも別の処理と競合しそうかなあ. import std.stdio; //ライブラリここから interface IForm { void onDraw(); void onMouseMove(); void onMouseDown(); } cla…
ううむ.同じことを書く.AがBを,BがCをメンバに持っていて,利用側はAからBを,BからCを取得する.こうなっていると,メンバ関数の呼び出しをフックできないんだよなあ.とはいえAでBとCを隠蔽すると,BとCの操作があるべきレイヤーはAではないのでモデル…
コンセプトが伝わればいいレベルの簡単な絵を描いてみた. スクロールを始めると(あるいはスクロールバーの上にマウスオーバーすると),上のように全体の構成とスクロールバーの位置関係が表示される. 研究分野ではよく見る手法だけど,何で実用化されて…
http://twitter.com/Rayerd/status/7712309633 struct D{ D opBinary(string s)(D o){ static if(s==" ")return o; } D opDispatch(string n)(){ return this; } } void main(){ D hentai; D der = hentai programmer; } 何言語でもありませんよ. 何言語で…
Rayerd メンバ変数をメンバ関数の引数で渡してメンバ関数の独立性を高めるってどの程度まともなやり方でしょうか http://twitter.com/Rayerd/status/3812033196 まずは普通にメンバ変数にアクセスをするとこんな感じ. class Parser { this(string[] tokens)…
関数型言語やC++のSTLでよく見かける関数合成って,関数の中で関数を呼び出すのとセマンティクスは同じなんだと想像するんだけど,それじゃあ関数の中で関数を呼び出すのに比べて何が嬉しいのだろう(前にもこんなこと書いたっけ?). 新しい機能を持つ関数…
現実世界のモデル化を指向するのではなくて,オブジェクトというモジュールの単位でのモジュール化を指向すること.
勉強しながら書いているので鵜呑みにしたらダメですよ〜. 変数のスコープと生存期間 スコープと生存期間は違う. 関数内で宣言された自動変数のスコープと生存期間はその関数内だけ. 関数内で宣言されたstatic変数のスコープはその関数内だが,生存期間は…
import dfl.all; import dfl.internal.winapi; import std.cstream; import core.thread; class MyForm : Form { private shared(bool)* start; private shared(bool)* restart; private shared(bool)* end; this(shared(bool)* start, shared(bool)* restar…
import dfl.all; import dfl.internal.winapi; import std.cstream; import core.thread; shared bool startFlag; // trueでcollectorが仕事を始める shared bool restartFlag; // trueでcollectorが仕事を最初からやり直す shared bool endFlag; // trueでc…
Windowsのコントロールの入力を受けて処理を開始して,その処理が終了するまでに再入力があったら処理を最初からやり直すコードの設計がうまくできない. 体系的に学んでいないから経験不足でよくわからないな−.
void g(const vector<int>& v){} void f(int length){ vector<int> v; for(int i=0; i</int></int>
マルチスレッド特有のバグをコンパイラが指摘してくれたらいいのに. これでいいのかどうかわからないぞ.
でまぁ思ったのだけど、来年からルールについての議論と調子どうすか的な馴れ合いだけを目的とした IRC チャンネルとか作って話すといいんじゃないかなぁと思った。ログもどっかに上げて。ルールについての議論だけならチーム外と話しても失格にはならないと…
スコアボードには載ってませんがチーム名rayerd.wizで初参加. @Rayerd on Twitterであーだこーだ言ってました. kt3k 日記 ICFP Contest 2009 (1) む.「シミュレーションの実行マシンを解釈している様子」を見るとそこまでは正解だったようだ. 紫ログ:ICF…
http://icfpcontest.org/ 今年もやってきました. ICFPC 2009 プログラミングコンテスト. 3日間の間に与えられた課題をチームでどんどん進めていってスコアを競います. 優勝者の使用した言語が1年間イケテル言語認定されます. いつも参加できなかったけど…
ラリー・ウォールによれば、プログラマの三大美徳とは 無精(Laziness) 短気(Impatience) 傲慢(Hubris) との事。これはプログラマに必要とされる、 効率や再利用性の重視・処理速度の追求 品質に賭ける自尊心をいったものである。 一回くらいはブログに…
ファイルの同一性はBY_HANDLE_FILE_INFORMATION構造体のnFileIndexHighとnFileIndexLowを見ればよい. Windowsで、inode 情報に当たるファイルの ID は、GetFileInformationByHandle() API の戻り値 BY_HANDLE_FILE_INFORMATION 構造体の nFileIndexHigh お…
改めて読む. * 単一責任の原則(SRP) * オープン・クローズドの原則(OCP) * リスコフの置換原則(LSP) * 依存関係逆転の原則(DIP) * インターフェイス分離の原則(ISP) http://d.hatena.ne.jp/asakichy/20090122/1232879842 アジャイルソフトウェア…
id:uskzさんと昨晩朝方まで話し込んでしまった. と言っても,僕の理解力が貧弱すぎただけだが. in, out と、継承 関数が基底クラスの関数をオーバーライドしたものである時は、 その関数自身かまたは基底クラス達の in 契約のうち、 どれか一つが満たされ…
うは,すごい長文お疲れ様です. クラスは型である グローバル変数を使用していたコードをローカル変数を使用する方法に改良して、さらに最終的には「より良いコード」としてひどいコードを紹介している。 あー・・・.完成形のコードとして見るならこれはひ…
TortoiseSVNを使っているのだが,svnリポジトリのアドレスをすぐに忘れてしまい,いちいちターミナルでログインしてディレクトリ名を確認しないとチェックアウトできない.何とかならないのかこれ.リポジトリ一覧くらい簡単に出せて当たり前だと思うんだけ…
Selfkleptomaniac — 久しぶりの出向で開発環境について考えさせられた 静かな開発環境というのは大事. 研究室では難しいけど. 頑張ってる人がいる横で騒いで邪魔になるようなことしないようにしないとね. あと研究で使うプログラムでもちゃんと進捗管理し…
前に作ったプログラムを改善しようと思った. さてどこからいじり始めるかと「切れ目」を探してみたが,クラスの関係が集約ばかりで構築されているのでどこからも手が出せない orz どうも僕は, イベント発生 イベントハンドラが呼び出される ここからState…
http://blogs.wankuma.com/episteme/archive/2008/12/24/164852.aspx コード1行1行に対応するものを欲しがってるんだろうなと思ったらそうだった. 時代錯誤もいい加減にせいよと. しかしそれを必要としているのは一体誰なのかね? んー. そうか,作業分担…
元ネタは例のレジ打ちのおばちゃんの話ですが・・・, とはいえ、例えばプログラマであれば「良く出来る人の給料は高いほうが良い」という話は悪い話ではない気もします。この「良く出来る」という単語に対して納得がしやすい一律な基準があれば良いのでしょ…
通信プログラムは全然経験値溜まってないなあ. WinSock2や,・・・Linuxのはなんだ? その辺りを体系的に学べる本を読むべきなんだろうな. 良い本に巡り会わない.探してないせいだけどどど.
前々からデスクトップの機能が貧弱過ぎると言っていました. いわゆる画面サイズを仮想的に広げるデスクトップ拡張が欲しいわけではないです. ファイルやフォルダを直接操作するときにごくごく単純な支援しかしてくれない点が不満なのです. 今回,この部分…
http://d.hatena.ne.jp/bleis-tift/20081006/1223298057 ちょw 本屋で立ち読みしただけだったので気づかなかった. こんなの書いてあったのか.