プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 このページをアンテナに追加 RSSフィード

 iTunes Music Store(Japan) なかのひと あわせて読みたいブログパーツ
|

0001 | 00 |
2004 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 |
2008 | 01 | 02 | 03 | 05 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 |
2010 | 03 | 04 | 06 | 07 | 09 | 10 | 11 |
2011 | 01 | 02 | 10 |
2012 | 04 |
2013 | 01 | 05 | 06 | 07 | 08 | 10 |
2014 | 02 | 03 | 05 | 09 |
2015 | 04 |
2016 | 09 | 11 | 12 |
はてな一覧
アンテナに追加
私のアンテナ
私のダイアリー
私のアーカイブ
私のアイデア
私のブックマーク
私のグループ
私のキーワード
ニュース系、今まで続いているシリーズモノの読み物
dKingyo Utility Toolkit Projectのリリース情報
やっぱり暗号化は大人の味(笑)
プログラムのパッキング方法を調べよ
ココが厳しいよMinGW
ライブラリアン通信
ゲームプログラミングどうしよう
CRCについて
ビット演算練習
d金魚の今更Ajax
Windows Tips
VC6 Tips
Win32 WTL Tips
Ruby for C++ User
Ruby Tips
今日のRubyで嵌った事
正規表現PIECE
書きかけ
続く・・・

私のダイアリーの人気記事
新しくブックマークされた記事


あまり、役に立たなそうな個人的に調べた情報や妄想に耽った事、今 勉強している事ヒソヒソと公開していたりします。 | 登録してくれている方々 | d金魚にメール | 当サイトは640x480の画面解像度に対応しています。
日記へのリンク、アンリンクはフリーですが、selfタグのついている部分のコンテンツの引用はご遠慮願います。ご協力よろしくお願いします。


 | 

2004-08-31 やっぱり暗号化は大人の味(笑) part7

studiokingyo2004-08-31

[][]MD5,MD4,RIPEMD SHA0が危ないらしい。 MD5,MD4,RIPEMD SHA0が危ないらしい。を含むブックマーク MD5,MD4,RIPEMD SHA0が危ないらしい。のブックマークコメント

http://www.radiumsoftware.com/0408.html#040820

らしい。

SHA-1もあと数年?すればダメになるのか。

とりあえず、SHA512つかっておくか*1

良く英語の文章を読んで理解を深めようと思う。

[][]最近、私が注目しているサイト 最近、私が注目しているサイトを含むブックマーク 最近、私が注目しているサイトのブックマークコメント

すきやきのゲームアルゴリズムゲームプログラミング

http://www.c3.club.kyutech.ac.jp/~sukiyaki/

私が今まで養ってきたバッドノウハウがほとんど載っている感じ・・・。

このように分かりやすくまとめてくれている。すばらしい。

グローバル変数使うな!とかは特に^^;*2

これから読み込むサイト

http://www.nminoru.jp/~nminoru/

[][]鬱度判定と体調維持 鬱度判定と体調維持を含むブックマーク 鬱度判定と体調維持のブックマークコメント

http://www.jtu-net.or.jp/cgi-bin/selfcheck/e-selfcheck.cgi

リンク元http://www.c3.club.kyutech.ac.jp/~sukiyaki/cgi/ac_ok/diary/200405.html

レベルは3

まぁまぁ、正常な値だそうで・・・、

すきやきのゲームアルゴリズムゲームプログラミング管理者のすきやき氏は睡眠薬を服用しているらしい。

私の場合、常用している薬は、体調維持の目的で、今でも、漢方薬を使っている。

漢方医に相談すると、薬を調合してくれる*3けど、非常に不味くて飲めるものじゃない。*4

漢方医には保険が適用できる薬、出してください〜 と 頼んでみるのが経済的に吉?*5

一応、市販の薬?を調剤薬局で調合してもらうのだけれど、その薬も最初はかなり不味くて飲めるものじゃない!

が、1週間続けると、それがすんなりと飲めるようになるのだ。

漢方薬は薬の効き目が現れるのに短くて3週間、長くて6ヶ月ほどかかるので長期戦、耐久戦を覚悟してください。m(_ _)m

私は3〜4年前から続けている。

ミミ彡  ̄゜ ̄' 〈 ̄゜ ̄ .|ミミ彡  正直、感動した

体の変化に驚いた。

健康な食べ物が不味く感じるようになり、冷たすぎるもの、熱すぎるものが食べれなくなる。

比較的、薄味が好みになる。小食になる。等、体の変化が著しい。*6

西洋医学にうんざりしたら東洋医学で〜。

*1:結論になってねぇ〜。

*2:昔は私はグローバル変数ッ子だったんですよ。2年前ほどから卒業しましたが・・・。

*3保険対象外

*4:漢方薬はお湯で溶かしたり、して飲むのがセオリー

*5:ちなみに保険適用で薬代は月5000〜10000円

*6:ような気がする。

2004-08-30 boostの使用には注意ですか?

[][]boostって以外にマイナーな感じがしてきたのは私だけですか? boostって以外にマイナーな感じがしてきたのは私だけですか?を含むブックマーク boostって以外にマイナーな感じがしてきたのは私だけですか?のブックマークコメント

こんにちは。d金魚です。前前からboostに傾倒しまくりの私ですが、

どうも・・・、どうも・・・、どうもboostってSTLPortのような枯れたライブラリでは無いらしいのです。(´Д⊂グスン*1

http://www.radiumsoftware.com/0305.html#030520

ちょっと記事が昔過ぎるかもしれないけど・・・、

boost::poolってちょっとバグちらしい。


確かに、いろんなライブラリがドカドカ詰められている。

最近のはboost::serialize *2 とか boost::iostreamとか?ですか?

両方ともファイル関係を使うライブラリなのでファイルパスのSJIS問題*3がしっかり処理されているかで私がこれらのライブラリで遊ぶかどうかが決まると思う。

それから、

boost::filesystemがSJIS問題に対応していなかった事もboost = 完全 と思っていた私の中のboostイメージが壊れてしまった。

良く考えてみると、やっぱり自分でいろいろな環境で試さなきゃいけないんですねぇ。

例えば、

  • ファイル系の文字列を使う場合はSJIS問題に対応しているとか
  • SJIS文字列*4を使う海外のライブラリ*5もしっかり、日本語特有の文字列を使ってみるとか。

結構、大変だナァ。海外ライブラリ・・・、*6


.NET Frameworkが人気なのもなんだか分かるような気がしてきたのです。*7

boostが意外に主流っていないのもなんだか分かるような気がしてきたのです。

でも、boost本が出たから多分、もっと主流になって欲しいのですが・・・。

最近の諸行無常の響きだったりしたのですよ・・・*8

[]zlibの2倍速い展開速度? zlibの2倍速い展開速度?を含むブックマーク zlibの2倍速い展開速度?のブックマークコメント

http://www.itmedia.co.jp/news/articles/0408/26/news048.html

へ〜、がんばるねぇ〜。

どれどれ、今度、自分でも作れるかどうか 試してみよう・・・。*9

[]zlibの2倍速い展開速度は実の所? zlibの2倍速い展開速度は実の所?を含むブックマーク zlibの2倍速い展開速度は実の所?のブックマークコメント

トラックバックありがとうございます。

貴重な情報感謝します。

http://d.hatena.ne.jp/kmt-t/20040831

との事。富士通は算術圧縮の特許を持っている事ははじめて知った。*10

これ系のアルゴリズムは深い。

*1boost::poolと検索されていたのでそれを調べて見たら極わずかしかヒットしない。

*2boost::serialization ??

*3:"―ソЫ襲蹴週酬醜住十戎汁獣重叔宿祝粛熟術俊春竣駿循楯淳潤純遵順初暑渚緒書藷徐鋤"のどれかを含んだパス

*4:例えば ソ とか

*5:例えばLuaとか Luaの日本語パッチhttp://www.water.sannet.ne.jp/sowwa/ で公開されている。

*6:事実、私が日本語も大丈夫だと思っていたFOX-toolkitでさえ、ちょっとした不具合が見つかった・・・、(´Д⊂グスン

*7:まだ、使ったこと無いけど、多分、バグらしきバグは少ないのではないかと勝手に予想してみる。

*8意味不明・・・

*9:と、いいつつ、最近、何も実現出来ていないような感じですが・・・

*10:算術圧縮系は特許が取られていて使えないことは知っていたけど

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040830

2004-08-29 仕事のプログラミングが経験の無い私。

[][][]私は不足を補える人か? 私は不足を補える人か?を含むブックマーク 私は不足を補える人か?のブックマークコメント

こんにちは。d金魚です。

http://d.hatena.ne.jp/yaneurao/20040829

で、人手不足との事。



http://yaneu.com/albite/040828.html

今は、夏休みだし、今の所は24時間フリー*1だ。

オモシロそう。*2

やってみたい!が、実力不相応な気がして、冷やかしと思われるかもしれない・・・。


今まで、独学でプログラミングしてきた。

しかし、周りにC/C++でプログラミングする人がいない。

自分がどのくらいのレベルにいるのかが知る事が今まで、出来なかった。

私は仕事の出来るレベルなのだろうか?

私の実力ってどのくらいなのだろう?

今まで、プログラミングしてきた成果物

http://www.vector.co.jp/soft/win95/prog/se326918.html

http://www.vector.co.jp/soft/win95/prog/se309230.html

http://www.vector.co.jp/soft/win95/prog/se317483.html

CVS

http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/dkingyoutility/

*3



本音で聞きたいです。

もし、この文章を見てくださり、ソースコードも見て評価してくださる寛大な方がいらっしゃいましたら、

コメントにビシビシ改善点を叩き付けてください。m(_ _)m

[]台風〜。 台風〜。を含むブックマーク 台風〜。のブックマークコメント

http://www.tenki.jp/tyu/index.html

http://beautiful.homelinux.net/~sky-software/diary/?date=20040829#p01

最近大型の強そうな台風が多い。土砂崩れと川の氾濫に注意。かな?

*1受験勉強をボイコットすれば

*2:なんか、不謹慎な理由のように聞こえるかもしれないけど、ウキウキしちゃうのですよ。

*3:良く考えると、今まで、Wrapping作業しかやっていないような気が・・・。

yaneuraoyaneurao 2004/08/30 01:29 結構いけるような気はしますけどネ..ひやかしでもいいからメールください(´ー`)

k_ahiruk_ahiru 2004/08/30 13:43 そこでやねうチェッカーですよ。

studiokingyostudiokingyo 2004/08/31 14:06 こんにちは。やねうらおさん、あひるさん。やねうチェッカーにかけようと、早速、メールを,と,思いましてよく、募集要項を見ましたら、マズイ!私が該当するのが無い!。。。と・・・。ちょっと募集要項を勘違いしていたようです。1.2.が無い・・・、・・・。((Javaは100K読めるかどうか微妙・・・1.しか当てはまらないかもです。(´Д⊂グスン))
大学教養程度の数学を見につけてから応募してみたいと思います。
返信ありがとうございました。m(_ _)m

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040829

2004-08-28 newとmallocの混在は気になる。

[][]newとmallocの混在は気になる? newとmallocの混在は気になる?を含むブックマーク newとmallocの混在は気になる?のブックマークコメント

リンク元http://d.hatena.ne.jp/PaiN/20040828

newとmallocの混在は気になる。

私も昔は気にしていたけど、メモリの使用効率が悪くなるだけ。

別に今は気にしない。newをmalloc確保としてオーバーロード*1すればいいだけですし・・・

それから・・・最近見つけたゲーム製作系リンク集

http://homepage1.nifty.com/yasuo/

http://homepage1.nifty.com/yasuo/link/shienn/

[][]ぷよぉん家庭頁 ぷよぉん家庭頁を含むブックマーク ぷよぉん家庭頁のブックマークコメント

ぷよぉん家庭頁のログ。ゲームライブラリとかプログラミング話とか行っていたらしい。やねうらお氏のHPで知ったが、そのサイトは既に閉鎖されていたようで、Googleで見つける事が出来なかった。

*1:でしたっけ?オーバーライド?あれ?

skysky 2004/08/31 22:09 コメント書き込めるようになってることをさっき初めて気がついたので記念カキコ。
>*1:でしたっけ?オーバーライド?あれ?
オーバライドできますねぇー。・・・(゜Д゜) ぁ、”オーバーロード”ですねヽ(´ー`)丿

studiokingyostudiokingyo 2004/09/01 02:23 こんにちは。dです^^
書き込みありがとうございます(´▽`)
最近、sky氏の日記は毎回チェックしていますよ〜^^

kkkk 2005/09/01 16:02 http://www.geocities.jp/yasuo_m80/

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040828

2004-08-27 素数について

[]素数の判別方法集 素数の判別方法集を含むブックマーク 素数の判別方法集のブックマークコメント

関係ありそうな単語を調べたので、これらを元にググると良いかも?

[][]やっぱりPrivateはキモーイと感じるんですよ。 やっぱりPrivateはキモーイと感じるんですよ。を含むブックマーク やっぱりPrivateはキモーイと感じるんですよ。のブックマークコメント

なんか〜、こんなところからリンクされているよう〜〜。

http://d.hatena.ne.jp/Esoteric/20040826

んー。やっぱりPrivate mode はid:hajime_ninomae氏の言う通りちょっとキモちわるぃ。

関連:http://d.hatena.ne.jp/hajime_ninomae/20040825#p1

[]ウイルスソース ウイルスソースを含むブックマーク ウイルスソースのブックマークコメント

SQL Slammerのソース解説

http://www.eeye.com/html/Research/Flash/sapphire.txt

リンク元:http://d.hatena.ne.jp/koseki/20030301#p2

[]コムソート C言語で検索した人 コムソート C言語で検索した人を含むブックマーク コムソート C言語で検索した人のブックマークコメント

dkutil_cのdkcSort.cにあるよ^^

でも、ソートはしっかりするけど、インターフェイスは未完成だからいずれ変わるかもしれない・・・。

http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/dkingyoutility/dkutil/dkutil_c/dkcSort.c

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040827

2004-08-26 CRCについて

[][]CRCの種類メモ CRCの種類メモを含むブックマーク CRCの種類メモのブックマークコメント

  • CRC32 left right
  • CRC-CCITT left right (ITU-T V.41 ... X^16 + X^12 + X^5 + 1 ) (HDLC ??)
  • XMODEM
  • CRC ANSI16 left right
  • CRC12 x12+x11+x3+x2+x1+1 (多分左より・・・。)
  • CRC7

疑問

  • xmodemのCRCのleft rightの種類はあるのかな?

他にもCRCは無いのかナァ?

2004-08-25 boost::crcをC言語に移植中・・・。

[][][]boost::crc かなりE感じですね。しかし・・・、bit演算が・・・。 boost::crc かなりE感じですね。しかし・・・、bit演算が・・・。を含むブックマーク boost::crc かなりE感じですね。しかし・・・、bit演算が・・・。のブックマークコメント

boost::crcをC言語用に移植しています。

もう、テンプレート使いまくりでパフォーマンスアップを計ろうと必死にコーディングされています。好印象^^

C言語に移植する際、やっぱりGenericな実装がしにくい。

CRC16の時とCRC32の時、テーブルのサイズが違うのでtemplateとかを駆使して型情報を変えられないので、私が考えられる限りのアプローチとして、

  • unsigned charのポインタにしてmemcpy
  • 各、型用のルーチンを書く(マクロとして定義すれば型をとっかえひっかえした定義を作る事は出来るが・・・、*1 )

の手段があるが・・・。

ウーム、どちらもキライ。boost::crc並のC言語用CRCライブラリは出来そうに無い・・・。

この際、テーブルサイズは32bit固定にしてしまうとか!?ハッハッハ^^;

やっぱり両ルーチンを別々に定義してステート保存用の構造体の中に関数のポインタ作ってそれをいじる関数を作るのがイイかな?C++で言う、virtualみたいな。

typedef struct dkc_CRC{
  ///ロード関数へのポインタ
  void (*mLoader)(struct dkc_CRC *,const BYTE *,size_t);
  ///テーブルへのポインタ
  void *mTable;
  ///状態遷移変数
  unsigned long mR;
  ///生成済みCRC保存変数
  unsigned long mResult;
  ///生成するCRCのビット数
  size_t mBits;
  ///生成多項式
  ULONG mTruncPoly;
  ///初期値
  ULONG mInitRem;
  ///最後にXORする値
  ULONG mFinalXor;
  
  dkctBOOL mReflectIn;

  dkctBOOL mReflectRem;
}DKC_CRC;

でも、そんなに多種多様じゃないし、素直にif文で分岐する事にしました。

code patchってテクニックもあるらしいけど、良くわからない・・・。

多分、配列にコードをぶち込んでいじるのかな?と思ってみたりみなかったり・・・。*2





で、移植中に気づいたのですが、やっぱりCRCとかは私の苦手なビット演算がくるのですよ。

私の場合、大体は英単語だと思って覚える事にしているのですが、やっぱり経験が足りないみたいで・・・。

で、やっぱり思い浮かばないところが・・・。


unsigned long 型の変数に32となっていたらLSBからMSBまですべて32個が1になって

31となっていたらLSBから順に31個が1になって・・

以下略

1となっていたらLSBから順に1個が1になって・・

0だとLSBからMSBまですべて0になって・・・

って奴。


32 -> 0xFFFFFFFF

31 -> 0xFFFFFFFE


ちょっと、ノートに書き出して、チマチマ考えてみる事にします。m(_ _)m

もし、定石を知っている方がいらっしゃいましたら、コメントに書いていただけると非常にうれしいです。m(_ _)m


[]ビット演算練習 part3 (定数からビットにする?(なんかうまい言い回しがないナァ)) ビット演算練習 part3 (定数からビットにする?(なんかうまい言い回しがないナァ))を含むブックマーク ビット演算練習 part3 (定数からビットにする?(なんかうまい言い回しがないナァ))のブックマークコメント

  • (~(0x80000000 >> (Bits )) << 1) + 1;*3
  • ( (0x00000001 << Bits) & (0xFFFFFFFF >> (32 - Bits) );*4
  • (0xFFFFFFFF >> (32 - Bits));//これらしい。

*1boost::lambdaですか!?

*2:なんか、違うような・・・

*3:ナンカ、意味が無いな・・・。

*4:これも間違い

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040825

2004-08-24 符号理論っておもしろそー

[]符号理論っておもしろそー 符号理論っておもしろそーを含むブックマーク 符号理論っておもしろそーのブックマークコメント

http://usr_vogel.at.infoseek.co.jp/Languages/algorithm.html

より。

結構、私がチェックしていないサイトとかがあって私にとっては有用^^

ありがとうございますです。m(_ _)m

http://usr_vogel.at.infoseek.co.jp/



このリンクの中で符号理論ってのがオモシロそーなのです。

http://mailsrv.nara-edu.ac.jp/~asait/code.htm

特に、「誤り訂正符号」とやらに興味津々であります。

で、さらに!有用なツール発見。

http://members.jcom.home.ne.jp/c-plusminus/mytool/crc/gentable.htm

イイネェ。こう言うのは・・・。

しかし、C++を使う以上はboost::crcですでに十分だと私は思うのだが・・・。*1

で、ちょっと気づいた事なのだが、CRCのテーブルを書き換えられたら、CRCが合わなくなるような気がする。

よって、クラックされてしまうような、しないような・・・。

ウーン。

でも、バイナリを直接検索してもconst staticに登録した値が見つからないんだよナァ。*2

ちょっとメモ

http://page.freett.com/seaside/vip/crc/crc.htm

[]子供から、想像力を奪わないで! 感想 子供から、想像力を奪わないで! 感想を含むブックマーク 子供から、想像力を奪わないで! 感想のブックマークコメント

やねうらお氏の日記にて「子供から想像力を奪わないで!」との趣旨のCMが紹介されていた。

http://d.hatena.ne.jp/yaneurao/20040822

http://d.hatena.ne.jp/yaneurao/20040823


そして、それに対しての議論、凄く長い。

読むのも一苦労。*3


 私としての感想

「理想的な社会から見る視点」と「現実的な大人*4から見る視点」と「視聴者から見る視点」の三つがあると思ったり思わなかったり・・・。*5

個人的には視聴者からみる視点だったりするのだが・・・。


 各視点から見た感想を述べると、「理想的な社会から見る視点」は、大人が私(ちょっと変わった方向に逝っている主人公)を不利益な方向に扱わないで欲しいとか。

かな?・・・、理解してほしー。みたいなやつかな?ウーム?


 「現実的な大人から見る視点」はやっぱり、なんだかんだ言って、子供の心配してあげているんだから仕方ないよ!みたいな感じかな?


 で、私の立場。「視聴者から見る視点」だとすると、

「あの、黒く塗っているものは何だ!?ナンダナンダなんだ!!?あ〜。鯨カァ〜。

そーだったんだ〜。へぇへぇへぇ。あ〜、こーいう趣旨での演出ナ訳ね。フーン。

あ〜、あーいう理想を目指しているわけね。フーンフーンフーン。」

多分、こんな感じの第三者的な立場で見ていた。子供の立場や、大人の立場より、「黒いものは何だ!?」と思ってしまうのが強い私は感受性が違うベクトルですか?


 私の場合、やねうらお氏の日記コメントに書いているような沢山の創造を出来るほど経験はつんでいないし、考えもまとめる事は出来ないと思う。

ただのCMのように流してしまうようだ・・・。*6


強いて言えば、IMAGINATION/WHALE (2) で書かれているCMの要約で

かたや少年は「大人たちの態度など眼中にない」と言った様子だ。大人たちは少年キチガイだと見下し少年母親は自分の子供キチガイになってしまったことにため息を漏らす。

の所で、この太線の「キチガイだと見下し」という部分がCMからは感じられなかった。

同じく、私の感受性が違うベクトルですか!?ナのですが・・・。

何処らへんが見下した感じなのだろう・・・。*7


という事で、一度は使ってみたかった!この言葉

教えて!エライ人!*8


あと、議論中に「叩いた、叩いてないの指摘やそれによる矛盾した反論」は出さないで欲しい。見るに耐えない。

で、ちょっと思い出した事なのだが、議論なのに、多数派に賛成しない奴は議論が終わってもさまざまな面で村八分という所も問題*9かもしれない。

実は某書*10日本で生きる上で、「多数派に反対でも多数派に賛成する。意見を言えと名指しされるまで意見を言ってはいけない。場の空気を読む。」みたいなことが書かれているものがあった。

確かに、多数派と少数派が合同で仕事をする場合、少数派は多数派の意見を元に任務遂行をする上で不安要素になるからと言う言い分もわからなくもないようでないような感じなのだが・・・。

納得しないと仕事は上手く出来ないし・・・。


で、ちょっと、コメントに書いてあった気になるリンク

http://homepage3.nifty.com/kazano/200406b.html#14

ぱど厨・・・、こんな文化もあったのか・・・。

実は、私、基本的にこの手のコミュニケーションが好きではないタイプでもっぱら電話である。理由は後日・・・。





*1:いや、C言語も勿論必要ですけど、WindowsプログラミングするならやっぱりC++でしょう。Dももう少し安定したら、次期候補でしょう。C#Javaはちょっと今の状況では論外で・・・。Win95の一部で上手く動かないのとかがイヤ

*2:解析方法を知らないウヴの素人が言うことなんで・・・、信用しないで下さい。m(_ _)m

*3:途中で読むのあきらめました。m(_ _)m

*4社会かな?

*5:あいまいな語尾だナァ・・・。

*6:逃げですね・・・^^;;;ハッハッハ^^;

*7:まぁ、自分がなんでもないと思っているのに、病院に入れられたらそれはそれは屈辱ですが・・・。そこらヘンの事なのかな?

*8:ヽ(`Д´)ノ教えて君かよ!!と自分ツッコミ

*9:やねうらお氏の日記コメントには関係ない。私が生きてきた上での経験上での事である。

*10昭和時代のものだと思う

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040824

2004-08-23 ゲームプログラミングで使うタスク処理についての考察

以下の文章は今プログラムを組んでいるタスクエンジンに関する説明書に書いているのをそのままコピペしたものです。

[][]タスク処理に関する持論 タスク処理に関する持論を含むブックマーク タスク処理に関する持論のブックマークコメント


タスクマネージャー(タスクの生成、削除を管理するもの)(このソースではDKC_TASK_ENGINE構造体)

タスク(一つの処理)(このソースではDKC_TASK構造体)

タスクマネージャーがタスクを操作する形。

ここで、今までのタスク処理に関して多少不満があった。

と言う事で、これらの解決案としては

  • 一つのタスクマネージャーはタスクを管理できるのは255-256個にする。 \

また、一連のプロセスの流れに対してタスクマネージャーを一個割り当てるようにする。 \

これらのタスクマネージャーを断層構造にして処理をする方が分かりやすいと考える。

また、タスク処理はメモリ使用量を少なく済ませる事が美徳と考える私は

メモリ使用量をかなり少なめにする事にした。

メモリ使用量を少なくするには空き領域情報とかを無くせば良いと思うが、

その情報が無くなるといちいち線形探索である。

ここらへん、どーすれば良いかが良くわからない・・・。

ARRAY_ONEBYONEとか?

 妄想メモ

  • 通称、順序無しリスト(std::vectorのようなもの?)を使おうか?。\

http://www.aya.or.jp/%7Esanami/peace/memorial/code41-50.html#CODE44

  • タスクワークのプールを外部にする事で、コピーのオーバーヘッドを抑える事が出来るのでは?

と、言う事で、考えてみた結果・・・。

決定事項

  • 関数へのポインタが何もしない関数( Return() )の時のタスク領域は使用可能

以上。このような思想の元にタスクエンジンをくみ上げる事にした。

[]タスク処理の資料 タスク処理の資料を含むブックマーク タスク処理の資料のブックマークコメント

タスク処理については以下のページが詳しい

http://homepage3.nifty.com/moha/

http://www.hh.iij4u.or.jp/~peto/Games/games_top.html

また、Windowsプロフェッショナルゲームプログラミング2という本でも説明がしてある。

*1:例えばシューティングで弾を沢山出したい時、弾ひとつをタスクとすると沢山のタスクがタスクマネージャーに登録される。
これにより、主要処理をしているタスクの状態遷移が見にくくなり、デバッグしにくくなる。
なので、この場合はタスクの中にもう一つ、弾用タスクエンジンを使って、または専用の弾の「生成」「消滅」マネージャーを作ってしまうのが良いと思われる。

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040823

2004-08-22 空いているメモリに効率的にデータを挿入する方法

[][][]空いている領域に効率的にデータを挿入する方法 空いている領域に効率的にデータを挿入する方法を含むブックマーク 空いている領域に効率的にデータを挿入する方法のブックマークコメント

ども、久々です。d金魚です。

今回は私の考えたコンテナについてのお話です。

ゲームを作るとき、必ず、メモリプールを作って、そこから各オブジェクトメモリを割り当てたりしますよね^^

メモリプールと言えば、

struct DATA{
  BOOL flag;
  int x,y;
  int data,id;
};

//グローバルな領域にでも宣言する。
DATA pool[100];
//検索するプログラムはこんな感じ
for(int i=0;i<100;i++){
  if(pool[i].flag==FALSE){
    pool[i].flag = TRUE;
    return i;
  }
  return -1;
}

こんな感じのプログラムしか当時は知りませんでした。

効率的な方法は無いものだろうか・・・。と、高校一年の時に考えた事があります。

そこで、条件を列挙して考える事にしました。

  • 先にメモリを確保しておく
  • フラグは使わない
  • 線形探索をしない
  • 速く空き領域を知る事が出来る。
  • どんな状態でも挿入、削除が簡単に出来る。

というルールを設け、考えた結果、

  • 空き領域を記憶しておく

という考えにたどり着きました。*1

もちろん、このようなライブラリは既にあるのでは?と思われるかもしれませんが、私が知る限りありませんでした。

例えば、

  • std::vector イテレータが無効になる。削除すると詰める処理が行われる。
  • std::list 双方向リストなのでポインタ2つ分*2無駄になる。
  • std::map std::set 二分木なんて要らない。
  • std::deque 挿入とかは結構イイ感じだが、要素の削除が遅そう。*3
  • boost::pool 直接ポインタをいじる事になり、コンテナとしては使いにくい。
  • glibのmemchunk まだ、触っていないが、これもboost::poolと同

と、まぁ、やっぱり何かとダメだったんですよ^^;

で、その試行錯誤で生まれたのがdKingyo_ArrayOneByOneというヘナチョコクラスでした。

それを改良してarray_onebyoneというテンプレートクラスも出来ました。*4

さらに、仕様をきめて組んでみる事にしました。

  • 配列の空き領域への配列の添え字(以下 参照ID)をStackに入れておく。
  • 挿入するときはStackから空き領域を得る、そして参照IDを返す。
  • 削除するときは参照IDを受け取り、そのIDをStackに返す。
  • 初期化フラグによって自動的に内部バッファが動的拡張されたりする。
  • バッファをいつでもリサイズする事が出来る。(しかし、内部にデータがある場合はバッファを小さくは出来ない。)

そして、今日、C言語版ArrayOneByOneを作ったのでアップしておきます。

BSD Licenceでご自由にお使いください。m(_ _)m

ではでは。

本体

http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/dkingyoutility/dkutil/dkutil_c/dkcArrayOneByOne.c

http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/dkingyoutility/dkutil/dkutil_c/dkcArrayOneByOne.h


サンプル


void Test_ArrayOneByOne(){
  const int num = 10;
  int i=0;
  int id[num];
  DKC_ARRAY_ONEBYONE *p = dkcAllocArrayOneByOneStatic(sizeof(int),num);
  
  {
    for(i=0;i<num;i++){
      id[i] = dkcArrayOneByOnePush(p,&i);
    }
    for(i=0;i<num;i++){
      int temp;
      dkcArrayOneByOneReference(p,id[i],(void *)&temp);
      printf("id[%d]==%d -> %d,\n",i,id[i],temp);
    }
    printf("\n");
  }

  {
    //開放
    for(i=0;i<num;i+=2){
      dkcArrayOneByOnePop(p,id[i]);
    }
    //挿入
    for(i=0;i<num/2;i++){
      id[i*2] = dkcArrayOneByOnePush(p,&i);
    }
    //次はもう入らないので-1を返すはず
    dkcmNOT_ASSERT(-1 != dkcArrayOneByOnePush(p,&i));
    for(i=0;i<num;i++){
      int temp;
      dkcArrayOneByOneReference(p,id[i],(void *)&temp);
      printf("id[%d]==%d -> %d,\n",i,id[i],temp);
    }
    printf("\n");
  }

  dkcFreeArrayOneByOne(&p);

}

*1:イヤ^^;普通は皆さん、そう考えるはずですが、当時の私はこれは画期的な方法だと思ったのです・・・。

*2:32bit機だと8バイトだよね?

*3:例えば中ほどの要素を削除するとか

*4:詳しくはdkutilにて http://www.vector.co.jp/soft/win95/prog/se309230.html

2004-08-21 脳内チェック 結果

[][]脳内チェック d金魚の中身を暴き出せ part5 脳内チェック d金魚の中身を暴き出せ part5を含むブックマーク 脳内チェック d金魚の中身を暴き出せ part5のブックマークコメント

http://d.hatena.ne.jp/hajime_ninomae/20040820#p2

BMLDLLを紹介してくださいました、id:hajime_ninomae氏の日記にて。


やっぱり影響されますね^^

こういう診断系の中身暴いちゃいます!みたいなのは^^

と、言うことで、やってみました。

http://passpal.co.jp/check/check0.html

社長になれる度数 99%

ほぼMAXですか・・・。

最近知ったことですが、物理学で確実って言うパーセンテージは99.999%だそうな。

なんかの新聞で読んだ覚えが・・・。

●あなたの頭脳タイプ <Da型>

あなたは既に何らかの形で、代表か社長またはリーダー的存在で活躍していることでしょう。一風変わった感覚を持った個性派です。自由主義で枠 にはまらず、規制されることを何より嫌います。

そーかも。でも、最近言う個性的っていうのはキライだナァ。

なんか、何でもアリのデスマッチみたいなニュアンスを含んでいてさ〜。


しかしその個性は尊重されるべきで、若い時代には多少窮屈かもしれませんが、めげずに独自の道を歩んでください。

そーします。m(_ _)m

基本的には図形的空間的センスに優れているので、芸術都市計画・環境な どの分野で大きな視野をもち斬新な発想をもって望んでください。

グホ。これは言われた事ある。美術の先生に、立体的な事はかなりできる領域だとか・・・。


[相性判断]

◇Ba、Bb、Bc型の人とコンビを組むとあなたの発想は現実味をもちます。

◇あなたをもうひと回り大きくしてくれる人はDb、DcCbCcの人達です。

以上のような方。募集中です〜。^^

トラックバックしてくれるとうれc

●あなたの知能領域(考えたり憶えたりする材料 )

あなたは、ものの形・位置・方角などを材料に

『図形的にとらえ』考えたり憶えたりする能力に優れています。

そーなんだ〜。へーへーへー。


●あなたの知能活動(どのように頭を働かせるか)

『転換的思考型』

ひらめきが良く、逆転の発想などまったく別の角度からの視点をもって考えられるタイプ。発見・発明タイプ

そーなんだ〜。へー。これを意識してガンバッテコ〜。

[]お隣さんにも私と同じタイプの方が^^  d金魚の中身を暴き出せ 番外編 お隣さんにも私と同じタイプの方が^^  d金魚の中身を暴き出せ 番外編を含むブックマーク お隣さんにも私と同じタイプの方が^^  d金魚の中身を暴き出せ 番外編のブックマークコメント

私と同じタイプの方が^^

こういうの好きなんだよね〜

との事。

文の最後に「 〜 」を付ける所も似ているみたい^^

ちょっと親近感。

よろしくお願いします。m(_ _)m

http://d.hatena.ne.jp/maschine/20040818

で、こちらの方には下記の診断URLが。

http://www32.ocn.ne.jp/~emina/

これもやってみました。その結果は?

INTJ型:どんなことにも改善の余地がある

^^;;実はプログラミングの作業の中で私はデバッグが好きなのはあまり知られていない^^;



 あれこれと際限なく可能性を思いつき、それがTJ型の面と結びつくと、しょっちゅう何でも改善したくなる。

たしかに^^;前にも書いたように、デバッグ好きです^^;

すぐに「もっといい考えがある」と思いつき、言葉、計画、構想、着想、そして人まで、なんでも改善の余地があると思う。

逆に、自分の意見を押し付けるような奴と見られ、関係を悪くしないように気をつけたい。

INTJ型の目には、最善のものでもまだまだ改善できると映る。


元来、組織に向いているので、気がついたらその組織のトップになっていることも多い。

おお!目指せ!トップ!トップをねらえ!

社長率99%だし^^

全体を見通せるだけでなく、複雑に入り組んだ部分も見えるN型)、

何事もとことんやるタイプ(J型)なので、達成率が高い。

人からは仕事が出来る、適切なことを言う、機会を逃さないと見られる。

そうなのか〜。へー。

 十六のタイプのうちでINTJ>型がひと際独立独行型で、「マイ・ウェイ」がテーマソングといっていいほどだ。

NT>型の入っているほかのタイプと同じで、この独立独行のところが、人からはしばしば傲慢な感じに見られて、なかなか深い付き合いにまで発展しない。

仕事でも遊びでも、よくお高くとまっていると見られ、理屈っぽいと思われることもある。

INTJ>型にしてみれば、他意はないので、よそよそしいとか気配りにかけるようだと非難されると、びっくりする。

議論することで理解を深めるNT>型だが、本人は「友好的な話し合い」と思っているのに、ほかの人からは敵愾心を剥き出しにした嫌な奴と見られがちだ。

確かに嫌な奴と見られているらしい。

まぁ、この国の国風と思って受け流すのがイイかと^^;*1


 INTJ>型は女性よりも男性のほうが多い。

だから、独立心が強く理屈っぽいINTJ>型の女性は、従来のいわゆる女らしさに欠けるのではないかと感じてしまいがちだ。

そうだったのか〜〜!!

 INTJ型の親は、子どもの自立を、早ければ早いほどよいと促す。

そうかも^^;

子供出来て、子供がE歳になったらもう養うの面倒だからもう、自立するべきだ。と促しそう。

はた目には愛情が薄いと見られることもあるが、INTJ型の親は、子どもに自立を教えているのだから、長い目で見れば親の愛情なのだと思う。

ウン。ソウダソウダ。

そのよい例が、子どもに泳ぎを教えるときだ。ほかの親なら危ないと思うような深いところに飛びこませる。それが泳ぎを覚える早道で、怖がらせず楽しく教えるよりも、とにかく泳ぎ方を覚えるのが肝心だと考えるのである。

タシカニソウダ。子供には「水泳」と「スキー」くらいは覚えてもらわんと。後々のイベントが大変。*2



 INTJ型の子どもも独立心が旺盛である。

それに、子ども部屋は際限ない探究心を発揮する場なので、親が干渉すると、プライバシーを侵されたと感じる。

高校生になると、期末テストではよい点を取るのだが、日々の授業ではやる気を見せない「できの悪い生徒」と思われることが多い。

ゴフ!私、日々の授業でもやる気は無いけど、期末テストはもっと悪いんですけど・・・。*3

[]他にも以下のような性格診断を影響を受けてやった事がある。 他にも以下のような性格診断を影響を受けてやった事がある。を含むブックマーク 他にも以下のような性格診断を影響を受けてやった事がある。のブックマークコメント

例えば・・・。

d:id:studiokingyo:20040627

d:id:studiokingyo:20040626

d:id:studiokingyo:20040430#p2

d:id:studiokingyo:20040622

*1:だから、「なかなか深い付き合いにまで発展しない。」んだって。

*2:でも、私、スキー出来ないけど・・・。

*3:頭が足りないからだよ・・・. (´Д⊂グスン だから、今、夏を制す為に勉強中なんだよね ┗(  ̄◇ ̄)乂( ̄皿 ̄ )bいっぷぁーつ!!

OooooooooooooooOoooooooooooooo 2004/08/22 09:49 お世話になりました。ばいばい♪

studiokingyostudiokingyo 2004/08/22 10:30 今まで、お疲れ様でした。バイバイ♪((実は面識無かったりするのですが^^;))

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040821

2004-08-20

[][]物理をどーにかする 物理をどーにかするを含むブックマーク 物理をどーにかするのブックマークコメント

物理・・・、実は一番のフ得意教科だったりする・・・。

でも、一応は やらなくては・・・。

http://d.hatena.ne.jp/shinichiro_h/20040810#p1

id:shinichiro_h氏がまとめた勉強するべき物理の事が書いているので、これをパクってあとは、勝手に本を買って勉強しようと思う。*1

*1:実験屋になるわけじゃないから、公式、条件丸暗記で大丈夫だよね? ^^;;;

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040820

2004-08-17 宝石系の店の選び方?

[][]宝石店の選び方・・・自分勝手な考察 宝石店の選び方・・・自分勝手な考察を含むブックマーク 宝石店の選び方・・・自分勝手な考察のブックマークコメント

某氏から聞いた話。

遺品としてもらった真珠のネックレスを個人営業の宝石店で鑑定とクリーニングを依頼した。

店主は真珠は偽者と言った。

そして、家に帰って、真珠の数を数えてみると・・・、1、2、3、4・・・。

4ツ タリナイ・・・。

という事で、抗議に行ったら、

「あ、ありました。ありました。^^;テヘ」

との、こと。

ここで、早とちりながら結論。

  • 真珠は本物
  • この宝石店は信用ならない。下手すると、店主が犯罪
  • 自衛手段を講じていた為、某氏は損せずにすんだ。

と、言う事で、このことを教訓に、今日、塾帰りに考えてみた。

という事で、こんな店をお勧めする。

  • 宝石を預かるとき、重さを量ってくれるところ。
  • 宝石を預かるとき、数を確認するところ。
  • 宝石に何かあった時、保証してくれるところ。*1

もちろん、両者が確認すること。

自衛手段として、

  • 宝石の数を前もって確認しておく。
  • 宝石の重さを前もって確認しておく。
  • 宝石を壁にガリガリしてよいものならガリガリしてみる。*2

どうだろうか。

*1:例えば、しっかりした保険付とか

*2:素人知識・・・。

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040817

2004-08-16 BMLDLL、やっと話題が^^

[][]BMLDLL。 BMLDLL。を含むブックマーク BMLDLL。のブックマークコメント

どうも、d金魚です。

d:id:hajime_ninomae:20040815

BMLDLL、ちょっと話題になったようです。

ありがたや〜。

で、使いにくいとのこと・・・。

ウー、スミマセヌ、C言語だと私の知識だとあれくらいの記述方法しか知らないもので・・・。

で、私がDLLにしたのはコンパイラによるライブラリリンク問題を解決するためであり、

個人的にはSTATICの方がすきなのです。

ですので、Staticライブラリ版のプロジェクトをsourceforge上にアップしていました。

が、コンパイルは各自で設定してくださいという不親切もの・・・。

夏を制す為にはちょっと今は「スミマセン、ジカンガナイノデス」なのです。

ちょっとでも参考になりましたら・・・。

http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/dkingyoutility/DxEx/

hajime_ninomaehajime_ninomae 2004/08/16 22:30 ご来訪ありがとうございますです。Zeromemory関数が内部でmemset呼び出してるのを知って、「Zeromemoryいらねーじゃねーかボケ!」とマジギレするような変人の言うことですから・・・

studiokingyostudiokingyo 2004/08/21 22:51 返信ありがとうございます。m(_ _)m
ちょっと安心しちゃいました^^
そして、確かにZeroMemory,そうですね^^;私も、そう思っていました。(関数でなくて、せめてマクロで^^;みたいな?

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040816

2004-08-15 今日見てきた本

[]最近注目している本 最近注目している本を含むブックマーク 最近注目している本のブックマークコメント

塾がえりのついでに本屋によってきた。

いろいろと本を見てきた・・・。

とりあえず、チェックした本リスト

そんでもって、絶対手に入れる本リスト

*1:例の解析本・・・。かなり大々的に売られていた。やねうらおファンとしては、いつか手に入れようと思う。

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040815

2004-08-06 おやすみ^^

[]d金魚受験最終戦争 part1 d金魚受験最終戦争 part1を含むブックマーク d金魚受験最終戦争 part1のブックマークコメント

どうも、dです。dは大学受験のため夏を制すため本格化致しました。

ちょっとお休みですね^^

返信ありがとうです。

http://d.hatena.ne.jp/shibacho/20040719#p2

http://d.hatena.ne.jp/Cryolite/20040716#p1

今、しっかり返信できなくて、ごめんなさい。

ではでは。

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040806
 | 
Program | Debug | dKingyo Utility Toolkit | library | D言語 | 御本とか | 備忘録 | テクニック | WayBack | 格言 | 英語 | 他力本願 | news | software |

デースケドガー
Connection: close