...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

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

共変の戻り値型 (Covariant Return Type) の拡張

集中連載「クラス間依存関係の除去」を書いていて思ったこと. 共変の戻り値型をサポートしているD言語では,次のように; class A {} class B : A {} class Foo { A hoge() { return new A; } } class Bar : Foo { B hoge() { return new B; } // override …

クラス間依存関係の除去 第3.5回 - ファクトリメソッドパターンを適用しない理由

さて,前回はファクトリパターンを適用しました. ところが,このままではファクトリクラス AnimalFactory が生成する具象クラス Dog/Cat に依存しているので,具象クラスを追加する度に AnimalFactory の修正が必要になります. 一般的に,ファクトリクラス…

ITmedia Biz.ID:ファイルのロックを強制的に解除する

はてなブックマーク > ITmedia Biz.ID:ファイルのロックを強制的に解除する 2007年06月27日 haru-s こんなのなくてもctrl+shift+escでExplorer.exeのプロセスを全部終了してwin+rでexplorerを実行すればおk/案外知らない?

オープンソースカンファレンス2007 Kansai

あの魔法言語リリカル☆LISPの開発陣であるλ組がOSC2007に参戦してる件について. おいwwwwwwwwwwwwwマジかwwwwwwwww しかも開催場所が近所だから行きたくなるじゃないか! まあ作ってるの後輩なんだけどな おまいらgjすぎる

クラス間依存関係の除去 第3回 - ファクトリクラスの導入によるインスタンス生成処理の分離

前回は,クラステンプレート AnimalTemplate を導入することで,IAnimal インタフェースと Dog/Cat クラスの継承関係を断ちました. 今回は,利用側である main.d ファイルと具象クラス Dog/Cat の依存関係を断つために,シンプルなファクトリクラスを導入し…

クラス間依存関係の除去 第2回 - テンプレートを用いた継承関係の除去

元のコードは,Dog クラスと Cat クラスが IAnimal インタフェースを継承しています. 継承関係は非常に強い依存関係であるため,設計変更が難しくなりやすいです. そこで,より弱い依存関係を目指して,テンプレートを使ってこの親子関係をなくしてみまし…

RESTなWebサービスをマウントするRESTファイルシステム、FUSEで作ってみた

Web

WebDAVみたいなもんか. 「おっ!」と思わされるね.

クラス間依存関係の除去 第1回 - 継承とポリモーフィズムを使ったコードの基本形

次のコードは,オブジェクト指向における継承とポリモーフィズムを使った代表的な例です. インタフェースと実装を分離する最も基本的な形ですね. ただ,このままではまだ各クラス間および各ファイル間の依存関係が強いです. そこで,このコードをベースと…

クラス間依存関係の除去

うまくいくかどうかはわかりませんが連載に挑戦してみます(^^; 第1回 - 継承とポリモーフィズムを使ったコードの基本形 第2回 - テンプレートを用いた継承関係の除去 第3回 - ファクトリクラスの導入によるインスタンス生成処理の分離 第3.5回 - ファク…

ダイエット

順調に体重は減ってます. 今日は減りすぎたかも. 疲れたorz

米軍、メタマテリアルを利用した「非対称透過シールド」の開発に着手

Web

ヴェイパーシールドktkr いやマジで? 最強すぎるんだけどw (タイトルに直接リンクを張ってみた)

const/invariant member function

なにげに const メンバ関数が追加されてる? それと invariant メンバ関数なるものも. class A { private: int value; int mutableMember() { value = 1; return value; } const int constMember() { /+value = 1;+/ return value; } invariant int invaria…

配列同士の比較演算(2)

この間のコードと大差ないんだけど. 文字列リテラルは,D2.0 では invariant になった. そのため,文字の配列と考えるよりも,文字列全体でひとつのデータの塊だと考えた方がわかりやすい. ただ,コンパイラによる最適化のことも考えないといけない. imp…

配列同士の比較演算

配列同士の比較演算についてあまり理解していなかったので補習. import std.stdio; void main() { string a = "EXIT"; string e = "EXIT".dup; bool _is = a is e; // false bool _equals = a == e; // true writefln(_is); writefln(_equals); } というこ…

haru-sの脳内イメージ

Web

脳内メーカー なんか割と普通だったw

Final / Invariant / Const

ふむふむ. import std.stdio; void main() { // Note: type of "string literal".dup is char[] { // char[] s = "hoge"; // error, invariant(char)[] to char[] char[] s = "hoge".dup; s[0] = 'H'; s = "HOGE".dup; writefln(s); } // Note: type of str…

dmd 2.000

はやっw リリースされたのはいいんだけど,あまりにもバグってて笑った. 追記 って,あれっ? バグってるのは俺の方かも. ちゃんと勉強しなきゃ.

ニコニコ動画(RC)はじまったな

Web

niconico(ニコニコ) タイトルバーのテキストのセンスが好きw (↑のはまだγのままだね)

愛すべきすべてのゲーマーに

ゲームミュージックを無料で24時間ストリーミング配信しているサイトをご紹介. gamingfm.com -&nbspgamingfm リソースおよび情報 聴き方 まず,ShoutCast という音楽配信システムを使っているので,これに対応している音楽プレイヤーが必要だ. 自分は Wina…

string の導入

なるほどなぁ! 色々いじってて感じたのは,これからは char じゃなくて string を使えという意思. 後で見直すために書いておこう. (あ,いや,えらい人には当たり前のことかもしれないです(^^;;;) テンプレートに値パラメータとして文字列リテラルを渡…

preタグ

ソースコードが見づらいので pre タグの改行幅を狭めたい. 追記 こんなもんかな.

polymorphism vs duck typing (3)

http://d.hatena.ne.jp/haru-s/20070614/1181841613 の続きというか関連. C++ で多態(polymorphism)を実現する方法はたくさんある。 昔は継承で実現するのが一般的だったが、最近は 委譲が推奨されている。そこで、以下のコードを書いてみた。 おそらくその…

polymorphism vs duck typing (2)

http://d.hatena.ne.jp/haru-s/20070613/1181756178 の続き.polymorphism(というか interface)を使えば,「ここでは使わないメソッドも持っていないといけない」という制約を実現できるなあ. polymorphism: interface I { void run(); void walk(); } cl…

順調に体重が減ってます

さっき体重を測ってみたら 53.6 Kg でした♪ なんだか,あまりにも簡単すぎるんだが. と書いたら,知り合いの女の子に怒られた(´・ω・`)

polymorphism vs duck typing

polymorphismとduck typingの使い分けって何か明確な基準があるんだろうか. duck typingの方が後発だと思うので,当然,duck typingにはpolymorphismよりも優れた点があるんだと思う. その上で,polymorphismの方がいいパターンはどういうものなんだろう.…

電脳コイル

(mixiからコピペ) あー そうそう だれか電脳コイル観てる? 面白いって噂は耳に,いや目に入るんだけど まだ観てないんだよね んじゃ,まあ,ナデシコが代表する空中に表示されるホログラムディスプレイが実用化されているような,そんな夢の世界を待望し…

経過報告

体重が56kgを超えて始めたダイエット. 晩御飯食べた後だけど,さっき量ってみたら,54.8kgだった. これが安定してくれたらいいんだけどな. 最初の二日くらいは,ご飯を食べてもすぐおなかが空いていた. だけど,今は別になんともなくなった. 炭水化物を…

お前が信じるお前を信じろ

グレンラガン11話が泣けるほど熱い件について. 全体2回,クライマックスシーン5回は見ちゃったよw

低炭水化物ダイエット

研究室の後輩の真似して,低炭水化物ダイエットに挑戦中. 積極的に,ダイエットをしようと思ってダイエットするのって初めて! どうなるんだろー. とにかく,おなかが空くのが早い! 炭水化物を抜いたり制限したりするとこんなにおなか空くんだね. 食事の…

メインメールアドレスのこと.

うちのプロバイダは「ぷらら」で,加入したのはもう10年近く前になる. そのときからずっと使っているこのメールアドレスは,今はもうSPAMだらけになってしまっている. 一日に100件くらいは当たり前. ぷららを経由する際にフィルタを通ってきているはずな…