...ing logging 4.0

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

2009-01-01から1年間の記事一覧

ある日、爆弾が落ちてきて

ある日、爆弾がおちてきて (電撃文庫)作者: 古橋秀之,緋賀ゆかり出版社/メーカー: メディアワークス発売日: 2005/10メディア: 文庫購入: 23人 クリック: 230回この商品を含むブログ (357件) を見るちょっと読んでみたくなった.

シェル活動をログに記録する

http://japan.internet.com/developer/20051011/27.html あ!これがあったら起動中のエクスプローラのウィンドウを検出できるんじゃ.

shared型修飾子のサンプルコード追加

http://rayerd.plala.jp/pukiwiki/ingwiki/index.php?C%2FC%2B%2B%E3%81%AB%E7%96%B2%E3%82%8C%E3%81%9F%E4%BA%BA%E3%81%AED%E8%A8%80%E8%AA%9E2.0 import std.stdio; import core.thread; int a; // スレッドごとに別々の静的変数を用意 shared int b; // …

「C/C++に疲れた人のD言語2.0」更新情報

http://rayerd.plala.jp/pukiwiki/ingwiki/index.php?C%2FC%2B%2B%E3%81%AB%E7%96%B2%E3%82%8C%E3%81%9F%E4%BA%BA%E3%81%AED%E8%A8%80%E8%AA%9E2.0 pure, synchronized,synchronizedメンバ関数,shared型修飾子についての記述を追加.

将来的にはテンプレート関数もオーバーロード可能に

テンプレートだと失敗するのは仕様? それは今後の課題で,将来的にはテンプレート関数もオーバーロード可能になるそうです. なんかソースのコメントに書いてあるとか.

synchronized その3

import std.stdio; import core.thread; class SharedData { private int v; // privateに変更 public synchronized void increase() { int a = v; for(int i; i<1000000; i++){} // wait v = a + 1; } public int value() const // constをなくすとエラー(…

synchronized その1.5

import std.stdio; import core.thread; class SharedData { public int v; public void increase() { // synchronizedだけだとグローバルなmutexが作成されるので, // 同期する必要がない他のsynchronizedブロックともお互いに処理待ちが発生してしまう sy…

synchronized その2

import std.stdio; import core.thread; class SharedData { public int v; public synchronized void increase() // 同期関数に変更 (2) { // 同期関数は次のようなsynchronized(this)と等価 (1) //synchronized(this){ int a = v; for(int i; i<1000000; i…

synchronized

import std.stdio; import core.thread; class SharedData { public int v; public void increase() { //synchronized // <== これの有無で結果が変わる { int a = v; for(int i; i<1000000; i++){} // wait v = a + 1; } } } class IncrementThread : Threa…

.funcptr

import std.stdio; void main() { auto dg = (int x){writeln(x);}; dg(1); auto fun = dg.funcptr; fun(1);//実行時におかしい } funcptrって何にどのように使うものなんだろう?

Twitterで十分

なんかちょっとしたことを書くモチベーションがtwitterだけで満たされるようになってしまったな.

データベースのための新しい言語

Web

大規模データ処理、RDBMSエンジンの見直しの必要性、クラウド、MapReduce、開発者にとってのデータベースの使いやすさ、新しい言語は?、Uncertain data, プライバシーの管理などなど、DBの将来を見据えた意見が盛りだくさんです。 確かに,メジャーな言語が…

/D/D programming language/

"D" だけだと検索しにくいのでみんなで各ページ1回は "D programming language" と入れておくようにしない? と Walterタン が 提案 してました。まあそうだよね。日本語で検索かける場合は "D言語" があるから 問題ないか。 皆さんもう実行していると思い…

メンバ変数へのアクセスを自重するメンバ関数はどこまで使われるべきか

Rayerd メンバ変数をメンバ関数の引数で渡してメンバ関数の独立性を高めるってどの程度まともなやり方でしょうか http://twitter.com/Rayerd/status/3812033196 まずは普通にメンバ変数にアクセスをするとこんな感じ. class Parser { this(string[] tokens)…

TeXの人の気持ちがわかる

文献整理がうまくできない. 引用文献とか被引用文献の関係を把握するうまい方法はないものか. ACM portalでは物足りない. 自分の興味がある文献だけをツリー上に表示できないか? 自分のプレゼンスタイルが確立されてきた. こうなるとパワーポイントでは…

dmd 2.032 - synchronized member functions now implicitly typed as shared

synchronized member functions now implicitly typed as shared. class A { synchronized void f(){} } void main() { A x = new A; x.f(); // error auto y = new shared(A); y.f(); // ok }

BUG: The overload and override issue of const/immutable member functions

こういう形で報告した. 3282 – The overload and override issue of const/immutable member functions import std.stdio; class Base { string f() { return "Base.f()"; } } class Derived : Base { string f() { return "Derived.f()"; } string f() con…

const/immutable関数がオーバーライドできない?

そういえばバグ報告忘れてた. 昨日のこのコードを警告付きでコンパイルすると、 class Base { void func(){} void func(int){} } class Derived:Base { alias Base.func func; void func(int){} void func(int) const{} void func(int) immutable{} void fu…

なぜ案内人はウサギなのか?

Web

偶然なのだろうが、ウサギのキャラクターが出てくるところまで一緒だ。 「不思議の国のアリス」の時代から案内人はウサギと決まっている.

dmd 2.032 release

Version D 2.032 Sep 2, 2009 New/Changed Features * synchronized member functions now implicitly typed as shared. * std.algorithm: added minPos * std.format: added raw specifier for reading * added File.byChunk * std.algorithm: added more u…

ょすみん。

スコア更新.

「初音ミク」

わかる・・・わかるぞ!!!!!!!!!!!!! 幸せな気分になる.

アクセサ

例えばO'Camlでは、テーブル等の構築中はmutableで、構築が終ったらmutableを外すといったことができません。抽象型にしてアクセサを用意すればいいのですが、パターンマッチが使えなくなるので微妙です。というわけでD言語の推移的constは素晴しいと思いま…

C/C++に疲れた人のD言語2.0

ばばーんとな. http://rayerd.plala.jp/pukiwiki/ingwiki/index.php?C%2FC%2B%2B%E3%81%AB%E7%96%B2%E3%82%8C%E3%81%9F%E4%BA%BA%E3%81%AED%E8%A8%80%E8%AA%9E2.0 あちこち未完成ですが,完成するまで待っているといつまで経っても公開できそうになかったの…

ょすみん。

3ステージ進んだらスコアが2倍になった.

ょすみん。

初挑戦でこのスコアは結構いいんじゃない? これ対戦形式で遊びたいなあ.

魔術師オーフェンの続編

「魔術士オーフェン」の後日談が作者のサイトでこっそり連載開始 - GIGAZINE で, 2008.11.19. 実は先日の日記にはいくつか嘘がありまして。 徹夜明けで起床が18時だったのは本当です(生まれてきてすみません)。 それで一日潰れちゃったのも本当(生きて…

std::iterator_traits の練習

C++

#include <iostream> #include <vector> #include <iterator> #include <algorithm> bool is_zero(int i) { return (i == 0); } namespace basic { // これだけ値を返す int find_if(int v[], int size, bool(*pred)(int)) { for(int i=0; i</algorithm></iterator></vector></iostream>

Advanced Windows 第5版

ADVANCED WINDOWS 第5版 上 (マイクロソフト公式解説書)作者: Jeffrey Richter,Christophe Nasarre,(株)クイープ出版社/メーカー: 日経BP社発売日: 2008/10/23メディア: 単行本購入: 7人 クリック: 48回この商品を含むブログ (23件) を見るADVANCED WINDOWS …

同名のmutable/const/immutableメンバ関数のオーバーロード

おお,全然気がついていなかった. これはちゃんと整理できそうな問題だ. import std.stdio; class A { override string toString() { return "A"; } override string toString() const { return "const(A)"; } override string toString() immutable { ret…