プログラミングの作業に何の価値も見出せなくなってしまった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-06-30 RC4 (Arcfour) アルゴリズム part 2

[][][][]悪名高き車輪再開発屋d金魚作品No2 Arcfour暗号 エンコード デコード 悪名高き車輪再開発屋d金魚作品No2 Arcfour暗号 エンコード デコードを含むブックマーク 悪名高き車輪再開発屋d金魚作品No2 Arcfour暗号 エンコード デコードのブックマークコメント

Arcfour Algorithm

language type : ISO/IEC 9899:1999 - Programming Language C

source code licence : NYSL

note : 分からない識別子や関数等(例えば DKC_INLINEとかdkcFreeとか)はdkutil_cにて調べてください^^;;;;

開発中dkutil_c

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

STABLE RELEASE

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

///arcfour algprithm state (RC4互換のアルゴリズム
typedef struct dkc_Arcfour_State{
  unsigned char mi;
  unsigned char mj;
  unsigned char msbox[256];
}DKC_ARCFOUR_STATE;

DKC_ARCFOUR_STATE *WINAPI dkcAllocArcfour(
  const unsigned char *key,size_t keylen)
{

  int i,j;
  unsigned char temp;
  unsigned char *sb1,sb2[256];
  DKC_ARCFOUR_STATE *p;
  
  memset(sb2,0,sizeof(sb2));
  //allocate state struct
  p = dkcAllocate(sizeof(DKC_ARCFOUR_STATE));
  if(NULL==p){
    return NULL;
  }
  sb1 = p->msbox;
  
  //initialize
  for(i=0;i<256;i++){
    sb1[i] = (unsigned char)i;
    //嗅ぎ回られないように(なんか、意味あるのか?ないナァ?
    //p->msbox2[i] = key [i % keylen];
  }
  j=i=0;
  
  for(;j<256;j++){
    sb2[j] = key [j % keylen];
  }


  for(i=0;i<256;i++){
    //j = (j + sb1 [i] + sb2 [i]) % 256;
    j = (j + sb1[i] + sb2[i]) & 0xff;
    temp = sb1 [i];
    sb1 [i] = sb1 [j];
    sb1 [j] = temp;
    /*sb1[i] = sb1[j] - sb1[i] ;
    sb1[j] -= sb1[i] ;
    sb1[i] += sb1[j] ;*/
  //SWAP_NUM(sb1[i],sb1[j]);
  }
  return p;
}

DKC_EXTERN unsigned char WINAPI dkcArcfourByte(DKC_ARCFOUR_STATE *p){
  unsigned char i,j,temp;
  unsigned char *sb1 = p->msbox;
  
  //calc
  i = (unsigned char )(p->mi+1);// % 256;
  j = (unsigned char )(p->mj + sb1[i]);// % 256;
  
   //swap
  temp = sb1 [i];
  sb1 [i] = sb1 [j];
  sb1 [j] = temp;

  //SWAP_NUM(sb1[i],sb1[j]);
  //refresh
  p->mi = i;
  p->mj = j;
  //calc
  i = (unsigned char )(sb1 [i] + sb1 [j]);// % 256;
  j = (unsigned char )sb1[i];
  return j;
}

static DKC_INLINE void dkcArcfourEncrypt_Base(DKC_ARCFOUR_STATE *p,
  unsigned char *dest,unsigned const char *src,size_t srcsize)
{

  size_t cc;
  unsigned char i,j;
  unsigned char *sb1 = p->msbox;
  unsigned char temp;
  
    //calc
  i = (unsigned char )(p->mi);
  j = (unsigned char )(p->mj);

  for(cc = 0;cc < srcsize;cc++){
        //calc
    i = (unsigned char )(i+1);
    j = (unsigned char )(j + sb1[i]);
  
     //swap
    
    temp = sb1 [i];
    sb1 [i] = sb1 [j];
    sb1 [j] = temp;
    

    //SWAP_NUM_EX(sb1[i],sb1[j],unsigned char);

    //calc
    dest[cc] = (unsigned char )
      (src[cc] ^ (unsigned char )sb1[
        (unsigned char )(sb1 [i] + sb1 [j]) 
      ] 
    );
  }
  //refresh
  p->mi = i;
  p->mj = j;

}

int WINAPI dkcArcfourEncrypt(DKC_ARCFOUR_STATE *p,
  unsigned char *dest,size_t destsize,
  const unsigned char *src,size_t srcsize)
{
  //size_t i=0;
  if(destsize < srcsize){
    return edk_BufferOverFlow;
  }
  dkcArcfourEncrypt_Base(p,dest,src,srcsize);

  /*for(i = 0;i < srcsize;i++){
    dest[i] = (unsigned char )(src[i] ^ dkcArcfourByte(p) );
  }*/

  return edk_SUCCEEDED;
}



void WINAPI dkcArcfourEncryptNoDest(DKC_ARCFOUR_STATE *p,
  unsigned char *dest_and_src,size_t dest_and_srcsize)
{
  dkcArcfourEncrypt_Base(p,dest_and_src,dest_and_src,dest_and_srcsize);
}

int WINAPI dkcFreeArcfour(DKC_ARCFOUR_STATE **p){
  if(NULL==p){
    return edk_FAILED;
  }
  return dkcFree(p);
}

2004-06-29 虫歯発見方法

[]今日は歯医者へ。 今日は歯医者へ。を含むブックマーク 今日は歯医者へ。のブックマークコメント

歯医者へ行ってきましたよ〜〜〜。

やっぱり、待合室はクーラー効いていてイイですねぇ。

なんか、待合室のテレビが液晶化してましたよ!!歯医者って儲かるのねぇ^^;

でも、なんか、設備に不良があるみたいで、歯を治療するときの椅子が最後、動かなくなって、寝た体制のままのイスでちょっと、起き上がるのにコツが必要で^^;ハハハ^^;;;;

そういえば、とても小さい頃、歯医者で歯を削る音と痛かったことを関連付けさせて覚えると、歯医者嫌いになるような気がするんですよ。できれば注意した方がイイカモ〜^^;;

[][]虫歯発見方法 虫歯発見方法を含むブックマーク 虫歯発見方法のブックマークコメント

私は以下のような方法で虫歯を早期発見して治療費を浮かせている。*1

鏡台*2の前で手鏡を口の中に入れて、歯の裏側*3を観察する。

以上。って、手鏡を口に入れるんですか!!!

そうです。入れるんです。*4

口に入る程度の手鏡でもいいのですが、とりあえず無い場合は口に入るくらいの鏡を100円ショップから購入すべし。

まぁ、これで、大体の虫歯を早期に発見できる。

なので、ここ数年間歯医者では麻酔なるものは使っていない。*5

しかし、歯と歯の間の虫歯は発見しにくい。

歯間ブラシや糸ようじなる歯と歯の間のケア用品が市販で売っているで、それを使えばよい。

歯間ブラシは間が大きい時、糸ようじは間に糸が入るくらいの時に。

しかし、私は歯と歯の間がほぼあいていない。糸ようじすら効かないのだ。かなりピシッといっちゃっているのだ。これは歯と歯の間の歯垢が溜まりやすい。*6

で、案の定。歯と歯の間の虫歯を歯医者に指摘された。

全然見た目わからないの!!!!!なんか、ちょっとだけ灰色になっているような感じ。

歯と歯の間の治療は虫歯になっていないところも削るので嫌だナァ。まぁ、しゃーないか。^^;;;;;;;

*1:といいますか、一番は虫歯作らなければ良いのですけどね^^;甘党の私はやっぱりできちゃうんですよ^^;毎年通っちゃっているし。

*2:または洗面所の鏡

*3:特に上の歯

*4:ハシタナぃ!

*5:偶に、麻酔するとハイになるから好きってヒトも聞いたことがあるが^^;

*6:空いているから溜まるんじゃないかと思われるかもしれないが、逆に空いているかたの方がケアできるので溜まりにくいと思う

2004-06-28 2004年賀状公開

2004年年賀状

[]2004年年賀状として送ったもの。 2004年年賀状として送ったもの。を含むブックマーク 2004年年賀状として送ったもの。のブックマークコメント

上記のサイトより素材をいただき改変してみました。

個人的には結構イイ出来かな と?

おもしろ三重版 http://www.h4.dion.ne.jp/~mieban

でかい奴はこちら

http://studiokingyo.fc2web.com/image/nenga2004.jpg

[]汚れた仕事 汚れた仕事を含むブックマーク 汚れた仕事のブックマークコメント

ウンコする人間(C#)は下水道(ASM)がどうなっているか知る必要はない。

そういう汚れ仕事はそれ専用の人間に任せればいいのさ。

C++相談室 part30 より。

hobbyなら問題ないかもしれないけ^^;

でも、それなりの専門家になるには汚れた事?もやっぱり手を染めなくちゃねぇ。

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

2004-06-27 ワーイ、占い大好き^^

[]診断せよ!? d金魚の中身を暴き出せ part4 診断せよ!? d金魚の中身を暴き出せ part4を含むブックマーク 診断せよ!? d金魚の中身を暴き出せ part4のブックマークコメント

http://love-p.com/uranai/

ってことで、お魚占いやってみた。

http://homepage2.nifty.com/expression/osakana/

イルカ

「みんなの人気者」

頭が良くて、明るく、楽しい。そんなあなたはみんなの人気者になることでしょう。あなたの一挙一動にみんなが注目しています。

へぇへぇへぇ。

でもあなたはそんなことには無関心。のびのびと生きています。そんなところもみんなに好かれるゆえんです。

へぇへぇへぇ。

ところがあなたに対して嫉妬を感じる人もいます。そういう人たちに対しても無関心ではいけませんよ。それでは、ますます嫉妬を買ってしまいます。周囲への気配りはめんどうかもしれませんが、人気者の宿命として受け入れましょう。

へへぇ〜m(_ _)m

かなり、私の性格が分かって来たぞ!?

ちなみにこんなのもあるぞ?

http://www.cc.rim.or.jp/~tau/kab.html

http://www.netcity.or.jp/OTAKU/i/

[][][]SLibraryが消えた。 SLibraryが消えた。を含むブックマーク SLibraryが消えた。のブックマークコメント

「AST的電子記憶箱」というHPをご存知だろうか?

このHPで結構勉強したのだが、なんと消えてしまった。

SLibraryというので結構勉強したのだが・・・*1

ちなみに最新版を持っていない^^;;;

ウーム、

とりあえず、WayBack!!!

http://web.archive.org/web/20030714172508/http://www.freedom.ne.jp/ast/

こういうのは忍びないねぇ。愛用していたライブラリとか消えるのとか。

*1:ちょっと、ネストが深かったり、thisを多用していたりで読みにくかったけど^^;

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

2004-06-26 受け攻め度チェック 第二版?

[]受け攻め度チェック 第二版? d金魚の中身を暴き出せ part3 受け攻め度チェック 第二版? d金魚の中身を暴き出せ part3を含むブックマーク 受け攻め度チェック 第二版? d金魚の中身を暴き出せ part3のブックマークコメント

影響を受けやすい私は

d:id:jellyfish_life:20040620#1087705358

リファを受けまして、*1なんか、ちょっと診断がもうちょっと詳しくなっているようなので、もう一回試してみいました。

★相性★

無邪気攻・攻寄リバ

フーン。確かにS判定は好きじゃないからナァ。*2

リバ=リバーシブル。攻・受どちらもできるという意味

フーン。ジェネリックな実装なのね。

● d金魚さんの開運下着は、さらしです!

_| ̄|○ .o○{ ゴフ、これもかなり当たっているかも。しかし、さらしと言わずに、防弾○○が正しいかもよ?}

関連 関連を含むブックマーク 関連のブックマークコメント

旧:受け攻め度チェック

d:id:studiokingyo:20040430#p2

犯罪占い

d:id:studiokingyo:20040622

[]なんか、boostとfox-toolkitを使っているのってなんか、極少数派みたい? なんか、boostとfox-toolkitを使っているのってなんか、極少数派みたい?を含むブックマーク なんか、boostとfox-toolkitを使っているのってなんか、極少数派みたい?のブックマークコメント

なんか、boostとfoxとC++で検索がかかったようなので、

http://www.google.co.jp/search?hl=ja&ie=UTF-8&c2coff=1&q=boost+fox+c%2B%2B&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja

ちょっと、日本語でのページを見てみた。

なんか、私のHP関係がほとんどなんだけど・・・^^;;;;

極少数派のHPの中でなんか、一番最初にGoogleの検索にヒットするとうれしいですねぇ^^;*3

*1リファありがとうございます。m(_ _)m

*2:A判定は盗ったこと無いし、人生の中で最高でもB判定だけだし・・・^^;

*3:しかし、一番最初にヒットしてもうれしくないキーワードもあるけど^^;

2004-06-25 ただのリンク集? 今のところdKingyo Utility Toolkit日記

[]ただのリンク集ですか?そうかも!? ただのリンク集ですか?そうかも!?を含むブックマーク ただのリンク集ですか?そうかも!?のブックマークコメント

d:id:TRiCKFiSH:20031109#p1

より、

ちょっと、私も不思議に思いました。

なんで、ヘナチョコ日記つけているんだろう?こんな事したって、目標達成や自己実現にはならないのになあ?

しかも、備忘録として託つけて、ビシビシ リンクを張る。??

私も不思議 系? なのか!!!!??????*1

とりあえず、ちょっと 私とかぶったところを・・・。

 たとえば、僕が気になるのは、ブログでさらに顕著になったと思うが、コメントすらも付けずにひたすらリンクを貼りまくっているだけのHPだ。

私の日記のことだ・・・。

僕は大塚さん同様、インターネットにもあまり明るくない古い体質なので、ああいうのを見ると、いまだにとても不思議に思える。その不思議さとは、以下のようなものだ。

 まず、そんなにリンクを貼って、果たして本人が全部読んでいるのだろうか、ということ。

実は、読んでいたりします。私は。

次に、どういうメリットのためにそんなことをするのか、ということだ。

なんだろう?今を忘れないため?

これこそ備忘録

相変わらず、まとまらないナァ。

*1:多分、違うと思う。ゴスロリとか良くわからんし・・・さらに、文章の内容よく理解してないし・・・。

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

2004-06-24 日本語とか

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

2004-06-23 E話かも?いや、違うな。

[][]E話かも?いや、違うな。http://coolsummer.typepad.com/kotori/2004/06/post_5.html E話かも?いや、違うな。http://coolsummer.typepad.com/kotori/2004/06/post_5.htmlを含むブックマーク E話かも?いや、違うな。http://coolsummer.typepad.com/kotori/2004/06/post_5.htmlのブックマークコメント

を見まして、ちょっと影響を受け、最近の出来事をちょっと。

私も、曲りなりに受験生。もちろん、本への出費がかさむ。

プログラミング系の本も高いが受験系の本も数が必要で結局私の読むプログラミング系の本と同じくらい。

で、私も、ちょっとお金に四苦八苦してた時、ふと、某写真家写真集を見つけました、ただ、なんとなく開いてみました。

バサッと・・・。

。。。

ふぅ。

!!!

樋口さんですか!!!

グハ!(゜o゜(☆○=(-_- )ゲシッ 福沢さんだっての!*1

とまぁ、

一万円札が1枚落ちました。

はぁ、なんでしょう。これは・・・。ヘソクリ!?

(;´Д`)ハアハア ... こ、これは私のモノだぁ!うぉぉ!!

とまで、いくこともないので、とりあえず、信用できる家族だけに相談。

結果、亡くなった、御婆さんのものとの事。

そうですか。

なんか、ウチノ御婆さん、多分、へそくりとしてはさんで置いたのでしょう。

*1:第一、発行されてないよ。樋口一葉さんは。

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

2004-06-22 犯罪者占い 結果

[]犯罪占い 結果  d金魚の中身を暴き出せ part2.5 犯罪者占い 結果  d金魚の中身を暴き出せ part2.5を含むブックマーク 犯罪者占い 結果  d金魚の中身を暴き出せ part2.5のブックマークコメント

案の定、影響を受けやすい?d金魚d:id:neet氏の影響を受けて*1ちょっと占ってみました。

http://u-maker.com/264.html

↑ココ

d金魚さんは ハッカー です!

ハッカーさんのあなたは、どんな人にも可愛がられる、愛嬌のあるタイプです。

へ〜。そうなんですか。個人的には、ねぇ。どうかと。

いわゆる癒し系として知らず知らずのうちにみんなの心を和ませる貴重な存在。

ほー。

何気ない行動で物事をスムーズに進める機会が多いはず。

スムーズ大好きです。スムーザーとか*2

恋愛運は甘え上手のあなた次第でどんな相手ともうまくいくでしょう。

そうなんですか^^;?

全般的に運は良いのですが、あまり調子に乗っていると、いつかしっぺ返しがあるかも。

ゴフ、自生いたします。いや、自制。

人への思いやりを忘れないことが大切です。

はい、今日一日、エーット・・・、怒らず、恐れず、 悲しまず、楽しく、愉快に、希望をもって・・・、えーっと、なんだっけ。やっぱりまだ忘れてますよ。

● d金魚さんがこれからおつき合いする人の数は、7人です!

オーイのでしょうか、スクナイノデショウカ?

フーム。

それと、neet氏も指摘していますが、ハッカーって犯罪者?ですか?とか。

ウーム、犯罪者はクラッカーって言うとか聞いたことあるけど・・・。

私はプレミアムより、断然、オレオクッキーなんだがなぁ〜。*3

関連 関連を含むブックマーク 関連のブックマークコメント



過去にはd:id:hmori氏の影響を受けて

受け攻め度チェック(爆)をやった事もあります。

d:id:studiokingyo:20040430#p2

*1d:id:neet:20040618#p1

*2:電波発信中

*3:電波発信2

2004-06-21 最速のメモリコピー方法?

[][]最速のメモリコピー方法? 最速のメモリコピー方法?を含むブックマーク 最速のメモリコピー方法?のブックマークコメント

ちょっと見つけました。

d:id:shinichiro_h:20040616#p1

libBulletMLでお世話になりました、ありがとうございます。*1shinichiro_h氏の日記を久々にのぞいた際、見つけたものです。

私もやってみたかった事です^^

ですが、私はインラインアセンブラ今は無理です。

メモメモφ(・・*)ゞ今のところ、覚えたモン勝ちカモ。*2

関連 関連を含むブックマーク 関連のブックマークコメント

最速のスワップかも?*3

d:id:studiokingyo:20040322#p1

[]self task manager self task managerを含むブックマーク self task managerのブックマークコメント

*1:無事に成果物が出来ました。m(_ _)m http://www.vector.co.jp/soft/win95/prog/se317483.html

*2: 追走追走 覚えなきゃついていけない。

*3:全然、最速ではないようだけれどヽ(`Д´)ノウワァン

2004-06-20 GIFのLZWがついに切れた! プチっとね^^

[]GIFの使用料がついに無料に!? GIFの使用料がついに無料に!?を含むブックマーク GIFの使用料がついに無料に!?のブックマークコメント

GIF特許がついに切れたようです。

米国では1年前に切れていたようです。

さて、これでようやくLZWのデコーダエンコーダルーチンが書けますね^^;

[][][]セキュアなプログラムの書き方ってどうやるのよ? セキュアなプログラムの書き方ってどうやるのよ?を含むブックマーク セキュアなプログラムの書き方ってどうやるのよ?のブックマークコメント

セキュアなコードの書き方 セキュアな設計が最も重要

http://pcweb.mycom.co.jp/articles/2004/04/02/code/

Netaro the Web:

http://netaro.ddo.jp/

http://netaro.ddo.jp/indexj.html

より、

Tips for Computer Security

http://netaro.ddo.jp/techinfo/Security/

でも、今は、読んでいる暇が無い・・・。

[]最近、確認している日記d:id:neet氏のdiaryにて 最近、確認している日記d:id:neet氏のdiaryにてを含むブックマーク 最近、確認している日記d:id:neet氏のdiaryにてのブックマークコメント

d:id:neet:20040616#p1

最近、興味深い日記でチェックしていました。

そもそも、正直に言うと、私はいわゆる"説明書を読まないタイプ"です。とにかく、まず実行して、失敗して、原因を究明する。その繰り返しで生きてきました。

自分の興味のある技術は徹底的にやるのですが、そのとき興味がないものは荒技で片付けてしまったりする。直さなければいけない、自分の"悪い癖"ですね。

ゴフ、私と同じ癖だ。*1

これで苦労することがあるのですか。先生、確信が持てました。貴重な体験談ありがとうございます。M(_ _)M

で、いま、受験勉強で躓いているわけですな。C++を1000時間以上もかかってガンヴァルのは高校生としてリスクが高すぎでした(´Д⊂グスン

詳しくは関連にて。

関連 関連を含むブックマーク 関連のブックマークコメント

時間配分考察?

d:id:studiokingyo:20040614#p1

*1:特に太線のところ

2004-06-19 Eclipseとか

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

http://muimi.com/j/eclipse/

おお、分かりやすそう!

リンク元

d:id:neet:20040614#p5

しかし、今は使う暇は無い。

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

2004-06-18 const_iteratorの実装の仕方

[][][][][]const_iteratorの実装の方法 const_iteratorの実装の方法を含むブックマーク const_iteratorの実装の方法のブックマークコメント


ちょっと、自作イテレーター作るのに苦労した話をちょっと。

普通,iteratorならboost::iteratorsでも使ったら?なのだが、ちょっとそのiteratorは特殊だったので、自分で作ったほうがsmartに記述できるかな?と思い、自分で記述することにした。が、しかし、iteratorはコンパイラに通っても、const_iteratorはとおらなかった。

何故だ。と思い、結構、四苦八苦していたのだが、分かった。

iteratorのコピーや比較のオーバーロードをすべて、constではないiteratorにすればよいかも!?*1

ゴメン、間違えてた。そうではないらしい。やっぱよくわからん。

ゴメン、さらに、間違えてた、もう、どっちがどっちだか。(´Д⊂グスン

よっしゃ!分かったわ!肝はfriendや!

と、言うことで擬似コード

Before

template<class T,class Traits>
class iterator_base{
 typedef iterator_base<T,Traits> self_type;
 iterator_base(const self_type &x){
  copy処理
  //return *this;
 }
};

After

template<class T,class Traits>
class iterator_base{
 typedef iterator_base<T,non_const_traits<T> > iterator;
 typedef iterator_base<T,const_traits<T> > const_iterator;
 typedef iterator_base<T,Traits> self_type;
 //ここ!大切
 friend iterator;
 friend const_iterator;
 iterator_base(const iterator &x){
  copy処理
  //return *this;
 }
};

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

  • 2004/06/17:コンストラクタにreturn付けていた^^;returnをコメントアウトした^^;;;;

*1:多分。

2004-06-17 コンパイラは道具だ!道具ですか?むぅ

[][][]コンパイラは道具だとか・・・。 コンパイラは道具だとか・・・。を含むブックマーク コンパイラは道具だとか・・・。のブックマークコメント

やねうらお氏の日記は高度すぎたので、とりあえず、基礎知識詰め込んでから!

と思い、あまり見ていなかったのだが、久々に見てみて、感慨深い内容だったのでちょっと考えてみた。


やねうらお氏の日記にて、d:id:yaneurao:20040615

「コンパイラとか道具だと思って扱っていたらコンパイラマンに鉄槌を下さられるぞ!」とのこと*1

私は車輪の再発明野郎だったので、この事はすごく感じる。*2

なんというか、かんというか。道具だと割り切っていると、「道具に使われる」って事かな?

覚えたものや実際に出来ているものを道具だと割り切っていると道具の使い方だけ覚えて、

不満点や改良点を見つけにくくなり、進歩性や発見が無くなるって事かな?

なんとなく、分かるというか・・・、感じる。*3

極になると危ういかも!とか。

車輪の再発明高校時代を費やしてきた私は感じる。*4

かなり私のやっていた事は不毛すぎた・・・。

何も実らない・・・事を 本当に・・・。感じるんですよ。*5

なんか、このままプログラムやってても幸せじゃねぇ〜よ。みたいな。*6

なんか、私って文章読んで車輪の再発明ばっかりでロヴォットだよ〜。みたいな。*7

ぜんぜん結論出ませんね^^;

まぁ、極にならずに、とりあえず、人生経験が浅い私は今はヴァランスをとりたいです。*8

といいますか、やっぱり、まずは、詰め込まなくては!!私の頭には考える土壌がありません^^;



ハハハ^^;;;;;*9


それから、やね師匠。スミマセンM(_ _)M D言語のy4dの記事。受験勉強でもう、大変です。来年まで待ってください。

*1:曲解ですか?(笑)

*2:今も再発明ヤローだが^^;

*3:まったく、違っていたりして^^;

*4:欲しいものはすでに出来ているんですよ。

*5:あ〜。普通に勉強していればヨカッタ。

*6:もちろん、プログラムをやり始めた頃はこれにはある程度の意義を感じ、かなり充実感があったのだが^^;

*7:見事にロボットの原義ですな。ってオイ

*8:なんか、自分でも意味わかんなくなってきた^^;

*9google:xylish

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

2004-06-16 RC4 アルゴリズム?いや、Arcfourですか?

[][]RC4 Algorithm やっぱり暗号化は大人の味(笑) 番外編 RC4 Algorithm やっぱり暗号化は大人の味(笑) 番外編を含むブックマーク RC4 Algorithm やっぱり暗号化は大人の味(笑) 番外編のブックマークコメント

http://d.hatena.ne.jp/keyword/RC4?kid=48740

最近、こんなの見つけた。

で、RC4は企業秘密らしい。(爆)かなり知られてしまっているようなのだが^^;

で、互換のあるアルゴリズムArcfourがEらし〜。

英語

http://www.mozilla.org/projects/security/pki/nss/draft-kaukonen-cipher-arcfour-03.txt

日本語

http://www21.ocn.ne.jp/~k-west/SSLandTLS/draft-kaukonen-cipher-arcfour-03-Ja.txt

いずれ、dkutil_cにでもぶち込むつもり。

関連 関連を含むブックマーク 関連のブックマークコメント

やはり、それっぽい話題はすでに出ているようです。

なんか、行っている事がけっこう似ているので、ちょっと親近感^^

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

d:id:ryoko

d:id:ryoko:20040511#p2

2004-06-15 Allegro Library

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

http://www.talula.demon.co.uk/allegro/

A Game Programming Libraryだそうだ。へぇへぇへぇ〜。

alleg40.dllとかはそれらしい?

そうなのかな?

[]最近確認している日記 最近確認している日記を含むブックマーク 最近確認している日記のブックマークコメント

d:id:okumuraosaka

d:id:okumuraosaka:20040601#p3

特にココのガン発見が出来ないとなんとやら。というのが現実味を帯びているナァと思った。最後の迎え方を上手く出来なかったら600マンねぇ。

d:id:okumuraosaka:20040615#p1

どうも、これもねぇ。なんか、ねぇ。

私もオンラインゲームは昔やったが、なんか、アイテム集めとかLvアップとか面倒になってくるので、投げ出したタイプなので^^;

なんか、こういうのは良く分からないんですよ・・・。

でも、こういう世界もあるんだぁ。へぇへぇへぇ〜。

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

2004-06-14 勉強時間 浅はかな予想

[][]勉強時間 浅はかな予想 勉強時間 浅はかな予想を含むブックマーク 勉強時間 浅はかな予想のブックマークコメント



大学へ行くための受験勉強時間予想

1300時間の勉強でとりあえず、大学へいけるレベルになるらしい。

12月までに完璧にそうなりたい。

1300 / (30日 * 5ヶ月 + 15日) = 7.878787...

毎日これだけ勉強できるとは限らないので、とりあえず、10時間をノルマとする。

大学での予想自由時間

一日の間に自由になるかもしれない時間(平均5時間) * 4年 * 365日

大学での予想自由時間 7300

私がとりあえず、C++が出来るようになった時間

約2年

平均毎日2時間程度 * 365日 * 2時間 = 約1460時間

覚える時間としてはかなり時間がかかったようだ。

C++言語をとりあえず、自由自在になるには非常に遅い人で1460時間かかるらしい。

とりあえず、PCに触っていたと思われる時間

約4年

平均毎日1.5時間程度 * 365日 * 4時間 = 約2190時間

一生のうちに自由になりそうな時間

約30年くらい先まで考えてみる。

365日 * 30年 * 2時間 = 約21900時間

人生の時間感覚的に折り返し地点である19歳までの自由時間を考えてみる。

とりあえず、私の場合、

約365日 * 5時間 = 約1825時間 ... 1800時間?少な!

すごい資格を取得するのに必要と思われる時間

約3000時間*1

医師国家試験に合格するための合計勉強時間は不明*2

[]受験勉強に勝つには? 受験勉強に勝つには?を含むブックマーク 受験勉強に勝つには?のブックマークコメント

とりあえず、勉強を生きる作業と自覚して、黙々とやっていたほうが将来 Eかも。」

*1司法試験は約1000時間勉強で合格すると超短期合格らしい。なので、多分、これくらいだろう。(え!?違う!?)

*2:もっとかかりそうな気が・・・

2004-06-13 boost::smart_emum

[][][]smart_enumライブラリの紹介 smart_enumライブラリの紹介を含むブックマーク smart_enumライブラリの紹介のブックマークコメント


http://cryp.to/

解析用

http://www.popjisyo.com/WebHint/AddHint.aspx?d=1&e=iso-8859-1&r=e&s=0&du=http%253a%252f%252fwww.m-w.com%252fcgi-bin%252fdictionary%253fbook%253dDictionary%2526va%253d&u=http%253a%252f%252fcryp.to%252f

よりsmart_enumというライブラリを発見いたしました。

http://cryp.to/smart-enum/libs/smart_enum/doc/smart_enum.htm

楽しそう^^

ちょっと、stateを管理する機構を考え中のときに見つけたのでした^^;

それにしても、このサイト、かなり興味深いライブラリやテクニックを掲載していますね。*1

しばらく、ここのサイトでC++をenjoyしそうです^^;*2

*1:メールアドレスパーサーとか

*2:ジュケンヴェンキョーはドウシタンダヨ^^;

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

2004-06-12 SDL 6月号

[][]SDLのライセンス SDLのライセンスを含むブックマーク SDLのライセンスのブックマークコメント

なんか、検索に引っかかったようなので、一言。*1

ちなみに、未だにSDL使ってないです^^;

DxLibっての使ってます。

http://homepage2.nifty.com/natupaji/DxLib/

でも、DxLibでもまったく、ゲーム作れてないです。

かなりノウがnothingなようです。スマンデス。

とりあえず、エーゴトカエーゴトカエーゴをタクサンヴェンキョースルツモリです。

[]LGPL理解へのプロセス LGPL理解へのプロセスを含むブックマーク LGPL理解へのプロセスのブックマークコメント

私は最初は英語版原文を流しましたが、撃沈。

日本語訳を読みました。*3

そして、ちょっと解釈を間違っているとの事でd:id:studiokingyo:20040320でコメントにて指摘を受け、ここの文章でLGPLの細かいところが分かりました。

http://www.sip.eee.yamaguchi-u.ac.jp/kou/license.html#LGPL 

謝辞 謝辞を含むブックマーク 謝辞のブックマークコメント

http://a.hatena.ne.jp/shimitei/

日記チェック感謝です。M(_ _)M

http://cgi.f16.aaacafe.ne.jp/~cypres/?%5B%5B~%A4%A4%A4%C9%A4%D0%A4%BF%5D%5D

紹介感謝です。

ですが・・・、間違ってたら、スミマセンデス。m(_ _)m 

*1:間違ってても責任かヴせないでくれ^^;あくまで自己責任

*2:自分の作った部分でライブラリ化出来る所があったら、ライブラリ化して公開するのが人情ってもんやろ とかいってみる^^;;;; スマン、分不相応だったわ。m(_ _)m

*3d:id:studiokingyo:20040527#p2にて、日本語版へのURL記載

ozchiozchi 2004/06/19 01:09 SDLって法律文書を意識してるのか、日本語じゃない日本語でかいてますよね。LGPLの文書よんでもさっぱりわからなかったのでした。商用は‥‥いいんですよね?

studiokingyostudiokingyo 2004/06/21 18:27 GPLもLGPLも商用はまったく問題ありません。問題あるのはソースの公開とか権利関係なのですが、どうも私はそこらへんが苦手です^^;

studiokingyostudiokingyo 2004/06/21 18:29 あなたは、コピーを譲渡するという物理的行為について手数料を課しても良いし、希望によっては手数料を取って交換における保護の保証を提供しても良い。とLGPLライセンスの日本語訳に書いていたので。でも、「まったく問題ありません。」ではなく、タブン、問題ありませんに変更させてくださいm(_ _)m

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

2004-06-11 大学情報 6月号

[]大学情報 6月号 大学情報 6月号を含むブックマーク 大学情報 6月号のブックマークコメント

むかーしむかし、テレビを見ていたら、フローニンゲン大学という大学が紹介されていた。

http://www.google.co.jp/search?q=%E3%83%95%E3%83%AD%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B2%E3%83%B3%E5%A4%A7%E5%AD%A6&ie=UTF-8&hl=ja&lr=

ちょっと、不老人間?浮浪人間?不良人間?

などと、かけてしまい、不謹慎だが、ちょっと噴出してしまった。*1

とりあえず、1300時間くらい勉強すればある程度のところにいけるらしいので、どうにかしたい。*2

これが現実なのかナァ?*3

http://www.google.co.jp/search?hl=ja&ie=UTF-8&c2coff=1&q=%E5%B0%86%E6%9D%A5%E6%9C%9F%E5%BE%85%E8%B3%83%E9%87%91%E8%A1%A8&lr=


なんか、もう、受験勉強って作業だよ・・・*4

ライブラリ作成と同じ・・・、

ほぼパターンの丸暗記だと感じてくるようになった。*5

忘れないようにしなければOKというだけみたい。

で、ちょっとしらべたらこんなの出てきた。

http://super_elite_juken.tripod.com/

へぇへぇへぇ〜。


とりあえず、未だに猿真似の域を脱していない一、受験生の私の指針として・・・。

「今日も、怒らず、恐れず、悲しまず、なんたらかんたらたんたららで、

今日も厳かに誓うかも なんとやら」*6

と今日も一日 一日 ドウニカシテイコー じゃないですか。*7

*1:私の笑いのつぼの品性が疑われるよ--;;皆様、ゴメンナサイデス。

*2:一日1x時間程度か?

*3:あぁ、社会勉強足りなひ

*4:ってか、今更気づいたんですか!私

*5:あくまで私の場合では

*6:スマンまだおぼえてないわ・・・ http://www.google.co.jp/search?hl=ja&ie=UTF-8&c2coff=1&q=%E5%A4%A9%E9%A2%A8%E3%80%80%E8%A8%93%E8%A8%80&lr=

*7勉強をな・・・

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

2004-06-10 SpeechMachine?

[]はてながしゃべりmath はてながしゃべりmathを含むブックマーク はてながしゃべりmathのブックマークコメント

d:id:ron:20040527

非常に面白いです^^

なんと、はてなダイアリーに書いた文字を読み上げてくれるんですよ^^

でも、私の日記を読み上げる場合はちょっと聞き取りが難しいみたいですね^^;

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

2004-06-09 fox-toolkit 6月号

[][][]FOX-TOOLKITおもちゃ FOX-TOOLKITおもちゃを含むブックマーク FOX-TOOLKITおもちゃのブックマークコメント

私がFOX-TOOLKIT*1の愛用者であることは過去の日記を見れば分かると思う。

さて、foxを使った面白いものがある。

http://tkscript.de/tkfox.html

なんか、英語読んでみてなんとなくイメージはつかめたけど、日本語訳できないので*2機能の内容の理解は各自にまかせよ〜^^;。

結構、簡単にFOX-TOOLKITが使えるようになるみたいですよ。

*1http://www.fox-toolkit.org

*2:だせぇ〜

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

2004-06-08 警察沙汰級の被害にあったときの対応

[]K察沙汰級の被害にあったときの対応 K察沙汰級の被害にあったときの対応を含むブックマーク K察沙汰級の被害にあったときの対応のブックマークコメント

http://www.tanteifile.com/diary/2004/06/06_01/index.html

これは趣深いぞ。

とりあえず、警察沙汰級の被害にあってクヤシかったら、

「悪質極まりなく、非常に損害を被った。このような犯人には、是非とも厳罰を持って望んで欲しい。」*1

と、被害届?調査書?に書いてもらうのが正しいそうだ。*2

リスクが高いうえにリターンも少ないし・・・、1回の成功報酬はタカガ数千円〜数万円*3。ショヴェェ〜。別に、犯罪幇助するわけじゃないから^^;。こんなショボイ金の為にリスク犯すな。って事だと私は思うのだが。*4

それにしても、万引きって精神病って本当?金があっても盗る奴は結構いるってらしいし。



ちょっと、マザーテレサが日本のヒトは心が飢えてる也カモ」のような内容を言った事を思い出した。

へぇへぇへぇ〜、ノストラダムスだねぇ。

[][]d金魚の中身を暴き出せ part2 自己診断。 d金魚の中身を暴き出せ part2 自己診断。を含むブックマーク d金魚の中身を暴き出せ part2 自己診断。のブックマークコメント

http://www.lulu-web.com/

やば。オレ全部当てはまるよ(爆)(カモ?)

[][]DxExリリース DxExリリースを含むブックマーク DxExリリースのブックマークコメント

http://studiokingyo.fc2web.com/dxlib/download/download.html

DxExとはDxLibの機能を拡張するライブラリです。

いろんなものつっこみすぎて収拾がつかなくなってきたので^^;

そろそろ再構築するため昔作ったものを公開します。

そうだ。ライセンスきめてなかった。

BSD Licenceです。DxEx内に入っている各ライブラリは各ライブラリライセンスに準拠します。以上。

*1:「精神的苦痛やショックも伴い、日常生活をこれから送ることも非常に困難だ」という事を医者の診断書と一緒に提出すると効果的!?かなぁ?

*2:ってオィ・・・ まぁ、反対の立場になったらこの文章を書かれないように工作するのが正しいけどね^^;まぁ、反対の立場になることは無いだろうけど^^;

*3: 上記のサイト参照。

*4:かといって、リターンが凄いからと言って犯罪犯してもOKって言うことじゃないから^^;頼むからイチャモンはつけないでくれぇ〜 懇願

2004-06-07 gapbuffer改

[][][]悪名高き車輪再開発屋d金魚作品No1 gapbuffer改 悪名高き車輪再開発屋d金魚作品No1 gapbuffer改を含むブックマーク 悪名高き車輪再開発屋d金魚作品No1 gapbuffer改のブックマークコメント

関連:

d:id:studiokingyo:20040606

d:id:soleil:20040603#p6

http://www.kmonos.net/wlog/39.php#_1735040529

更新版や機能追加版はCVSリポリトジにて。

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

追記:DKUT11ディレクトリで御願いします。

追記:2005/08/24 まだアップロードしていません。スミマセンです。

以下のソースバグ持ちです。使わないでおいてください。

/*!
@file gapbuffer.h
@brief ギャップ・バッファ
@auther Original: Takty  Reconstruct : d金魚 
@since reconstruct : 2004/06/06
@note 
http://aiwww.main.eng.hokudai.ac.jp/~takty/
感謝 m(_ _)m

いわいる、ギャップバッファーって奴です。
「ギャップバッファー」で検索しても1件も検索に引っかからないです^^;

@section licence
Takty氏に肖りましてこのソースはNYSLって事で・・・。

@todo
バグチェック ( オィ
template<class InputIterator>insert をVC6で通す

<s>const_iteratorを実装できない (´Д⊂グスン
 誰か助けて〜(C++何年やっているんだよ!!オレ</s>
@bug
VC6ではtemplate<class InputIterator>insertでエラる。
オーイ。どうにかしてよMSさん。というか、私の頭がバグっているのか?
 */

#ifndef _GAPBUFFER_H_
#define _GAPBUFFER_H_

#include <vector>
#include <iterator>
#include <dkutil/dktl/traits.h>

//#include <boost/iterator/counting_iterator.hpp>


namespace dkutil{

/*!
reconstruct by d金魚
STL風味に直してみました。list
 */
template<class T,typename A=std::allocator<T> >
class gapbuffer : protected std::vector<T,A>
{
public:

  typedef std::vector<T,A> base_type;
  
  typedef base_type::size_type size_type;
  
  typedef base_type::value_type value_type;

  typedef base_type::reference reference;
  typedef base_type::const_reference const_reference;

  typedef base_type::pointer pointer;
  typedef base_type::const_pointer const_pointer;
  
  typedef base_type::iterator base_iterator;
  
  typedef gapbuffer<T,A> self_type;
  


private:
    //unsigned int -> size_type;
  size_type gb_, ge_;
  const size_type initGapSize_;
public:

  template<class T,class Traits,class Boss>
  //template<class Traits,class Boss>
  class iterator_base : public std::random_access_iterator_tag {
  public:

    typedef T value_type;
    //typedef typename Traits::value_type value_type;
    typedef typename Traits::pointer    pointer;
    typedef typename Traits::reference  reference;

    typedef typename iterator_base<
      T, 
      policy::non_const_traits<T>
      ,Boss
    > iterator;
    typedef typename iterator_base<
      T, 
      policy::const_traits<T> ,
      Boss
    >    const_iterator;
    typedef typename iterator_base<
      T,
      Traits,
      Boss
    > self_type;

    typedef std::random_access_iterator_tag iterator_category;
    typedef std::size_t size_type;
    typedef ptrdiff_t difference_type;
    
    typedef typename Boss::pointer  boss_pointer;
    typedef typename Boss::reference boss_reference;

    friend iterator;
    friend const_iterator;
    

    iterator_base(size_type s,boss_pointer x){//mediator...?
      mc = s;
      mx = x;
    }
    iterator_base(){
      mc = UINT_MAX;
      mx = NULL;
    }
    iterator_base(const iterator &x){
      mc = x.mc;
      mx = x.mx;
    }

    reference operator*()const{
      return mx->operator[](mc);
    }
    pointer operator->() const {
      return &(operator*()); 
    }
    self_type &operator++(){
      mc++;
      return (*this);
    }
    self_type &operator--(){
      mc--;
      return (*this);
    }
    //使えない。コスト高すぎ!
    self_type operator++(int){
      self_type t = *this;
      operator++();
      return t;
    }
    self_type operator--(int){
      self_type t = *this;
      operator--();
      return t;
    }

    //ここの引数、self_typeではなく、
    //iteratorにしないとconst_iterator時 に使えない。
    bool operator==(const iterator &x)const{
      return (mc == x.mc && mx == x.mx);
    }
    bool operator!=(const iterator &x)const{
      return self_type::operator==(x);
    }

  private:
    size_type mc;
    boss_pointer mx;
    
  };

  typedef iterator_base<
    value_type,
    policy::non_const_traits<value_type>,
    policy::non_const_traits<self_type> 
  >     iterator;
  
  typedef iterator_base<
    value_type,
    policy::const_traits<value_type>,
    policy::non_const_traits<self_type> 
    //policy::const_traits<self_type>
  >    const_iterator;

  const_iterator begin()const{
    return const_iterator(0,this);
  }
  const_iterator end()const{
    return const_iterator(size(),this);
  }
  iterator begin(){
    return iterator(0,this);
  }
  iterator end(){
    return iterator(size(),this);
  }




private:

  // ギャップ開始点をインデックス指定した位置まで移動する
  void moveGap(size_type index) {

    if(index < gb_) {
      //for(int i = 0; i < gb_ - index; i++)
      for(size_type i = 0; i < gb_ - index; i++)
      {
        base_type::operator[]( ge_ - 1 - i) = 
          base_type::operator[]( gb_ - 1 - i);
      }
      ge_ -= (gb_ - index);
    } 
    else if(index > gb_) 
    {
      //for(int i = 0; i < index - gb_; i++)
      for(size_type i = 0; i < index - gb_; i++)
      {
        base_type::operator[]( gb_ + i) = 
           base_type::operator[]( ge_ + i);
      }
      ge_ += (index - gb_);
    }
    gb_ = index;
  }
  // ギャップを少なくともsize確保する
  void allocGap(size_type size) {
    T val;

    base_type::insert(base_type::begin() + gb_, size, val);
    ge_ += size;
  }

  /// 補正オフセット取得
  size_type getReviseOffset(size_type i)const{
    return (i < gb_) ? i : i + (ge_ - gb_);
  }

public:

  gapbuffer() : initGapSize_(64) 
  {
    base_type::resize(initGapSize_);
    gb_ = 0;
    ge_ = initGapSize_;
  }
  gap_buffer(const self_type &x){
    *this = x;
  }

  ~gapbuffer() {}

  size_type size() const {
    return (int)base_type::size() - ((int)ge_ - (int)gb_);
  }
  size_type capacity() const{
    return base_type::capacity();
  }
  void reserve(size_type i){
    base_type::reserve(i);
  }


  void clear() {

    gb_ = 0;
    ge_ = base_type::size();
  }




  void insert(size_type index, size_type len, const_reference x) {

    moveGap(index);
    if((int)ge_ - (int)gb_ <= (int)len){
      allocGap(initGapSize_ + len);
    }
    for(int i = 0; i < (int)len; i++){
      base_type::operator[]( gb_ + i) = x;
    }
    gb_ += len;
  }



#if defined(_MSC_VER) && _MSC_VER != 1200
  template<class InputIterator>
  void insert(size_type index, InputIterator begin__, InputIterator end__) {
    int len = end__ - begin__;

    moveGap(index);
    if((int)ge_ - (int)gb_ <= len){
      allocGap(initGapSize_ + len);
    }
    for(int i = 0; begin__ != end__; i++, ++begin__){
      base_type::operator[]( gb_ + i) = *begin__;
      //ins(i,begin__);
      //setObj(i,*begin__);
    }
    gb_ += len;
  }
#endif



  

  void insert(size_type index, const_reference x) {
    insert(index, 1, x);
  }

  void erase(size_type begin, size_type end) 
  {
    size_type len = end - begin;

    if(begin <= gb_ && gb_ < end) {
      len -= ((int)gb_ - (int)begin);
      gb_ = begin;
    } else {
      moveGap(begin);
    }
    ge_ += len;
  }
  void erase(size_type index) {

    if(index <= gb_ && gb_ <= index + 1) {
      len -= (gb_ - index);
      gb_ = index;
    } else {
      moveGap(index);
    }
    ge_ += 1;
  }

  void push_back(const_reference x) {

    if(ge_ == base_type::size()) {
      insert(size(), x);
    } else {
      base_type::push_back(x);
    }
  }

  reference at(size_type i){
    return base_type::at(getReviseOffset(i));
  }
  const_reference at(size_type i) const {
    return base_type::at(getReviseOffset(i));
  }

  reference operator[](size_type i) {
#  ifdef  NDEBUG
    return base_type::operator[]( getReviseOffset() );
#  else
    return self_type::at(i);
#  endif
  
    //return base_type::operator[]( getReviseOffset(i) );
  }

  const_reference operator[](size_type i) const {
#  ifdef NDEBUG
    return base_type::operator[]( getReviseOffset() );
#  else
    return self_type::at(i);
#  endif
    
    //return base_type::operator[]( getReviseOffset(i) );
  }
  //多分、これでOK
  reference operator =(const self_type &x){
    resize(x.size());
    for(size_t i=0;i<size();i++)
    {
      base_type::operator[i] = x[i];
    }
    return *this;
  }


};


}//end of dkutil namespace

#endif

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

  • 他にiteratorとかつけんと・・・。もしかしたら、このソース更新されるかもしれない^^;
  • iteratorつけてみた。
  • 2004/06/07:少しメンバを追加した。ちょっとしたバグチェックした。
  • 2004/06/16:const_iterator実装完了!d:id:studiokingyo:20040618#p1
  • 2004/09/23:ここに表示していたのにはバグがあったので削除。dkutil1.1 リリース前 004にバグを取ったタイプが入っています。
  • 2005/08/24:前に表示したあったバグ持ちgap_bufferを再表示。VC6でも通るテンプレートの実装の仕方の参考の為^^http://d.hatena.ne.jp/studiokingyo/20050820

2004-06-06 はてなダイアリーバグ集、要望集

[][][]はてなダイアリーバグや要望をつらつら列挙いたします。 はてなダイアリーのバグや要望をつらつら列挙いたします。を含むブックマーク はてなダイアリーのバグや要望をつらつら列挙いたします。のブックマークコメント


  • textareaタグを使うと、textareaタグではさまれた内部にへんなHTMLタグが挿入される場合がある。*1

  • 登録する前にスラッシュドットみたいにプレビューできたらいいのにな。
    私もそう思います。そうすれば、結構、ねぇ・・・。いい感じになるのではと。私も結構 書き終わってから 編集 しまくりなんですよ。 できれば そんな感じがいいナァ。 サーバーに負担がかかるのならば、そのプレビューの出来るソフトウェアフリーソフトとして公開するとか・・・。 id:shimitei:20040604#hatenaより
  • ><!−− −−>< タグで囲った文章はとりあえず、無効になるが、そのタグ内の(( と )) で囲ったところが有効になってしまう。*2


対応済みはこちららしい。

http://d.hatena.ne.jp/keyword/%a4%cf%a4%c6%a4%ca%a5%c0%a5%a4%a5%a2%a5%ea%a1%bc%a4%d8%a4%ce%cd%d7%cb%be%a1%ca%c2%d0%b1%fe%ba%d1%a4%df%a1%cb?kid=1574

*1:textareaタグを見つけたらプレーンなテキストのみで十分なのです。

*2:これも*1と同じなのであります。

2004-06-05 備忘録2004/06/05

[][][]今日はギャップバッファを調べた。 今日はギャップバッファを調べた。を含むブックマーク 今日はギャップバッファを調べた。のブックマークコメント

http://search.yahoo.co.jp/bin/query?p=%a5%ae%a5%e3%a5%c3%a5%d7%a5%d0%a5%c3%a5%d5%a5%a1&hc=0&hs=0

http://aiwww.main.eng.hokudai.ac.jp/~takty/

に掲載されているgapbuffer.hを元に

STL風味に味付けしてコーディングしています。

(TдT) アリガトウ gapbuffer.hの製作者様


過去の関連:

d:id:studiokingyo:20040521#p1

[][] C++による基底クラスで定義されたoperatorの呼び出し方  C++による基底クラスで定義されたoperatorの呼び出し方を含むブックマーク  C++による基底クラスで定義されたoperatorの呼び出し方のブックマークコメント


#include <vector>
#include <iostream>

class hasei : public std::vector<int>{
public:
  typedef std::vector<int> base_type;
  hasei(){
  }
  void proc(){
    base_type::push_back(1);
    print();
    base_type::operator[](0) = 2;
    print();
  }
  void print()
  {
    //std::cout << base_type::operator[](0) << std::endl;
    fprintf(stderr,"%d",base_type::operator[](0));
  }
};


int main()
{
  hasei print;

  print.proc();

  return 0;
} 

とりあえず、これで動くらしい。

へぇへぇへぇ〜。

ところで、Hatena管理者さん?

textareaタグ使いますと
が挿入されるのどうにか出来ます?

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

2004-06-04 FOX STABLE 1.2.3, STABLE 1.0.52

[][]June 3, 2004 - FOX STABLE 1.2.3, STABLE 1.0.52 June 3, 2004 - FOX STABLE 1.2.3, STABLE 1.0.52 を含むブックマーク June 3, 2004 - FOX STABLE 1.2.3, STABLE 1.0.52 のブックマークコメント

のようです。

http://www.fox-toolkit.org/

http://www.fox-toolkit.com/

楽しいFOX-TOOLKITライフを^^

[]再検査検査再検査検査?を含むブックマーク 再検査検査?のブックマークコメント

そうです。このとおりです。

検査です。ヴョーインで。

CRTだかFRPだかOPECダカとか、ともかく50万バレルの採血が必要なそうで・・・、なんか、ナノマシンとかカテーテルとかぶっこんで検査するので、なんか、シヌかもしれないから検査承諾のサインしてね〜〜。

はぁ。

そうですか。よく分かりませんが・・・、そんな威圧的に出られても・・・。フーム。ほーむ。Home...


ワタクシ:え、どういう条件だとシヌンデスカ?

イシャ:あ〜、1000人に1人の割合でショック状態になるから。

:フーム。ショック状態?*1

イシャアレルギー体質だとなるから。アレルギーありませんよね。

:はぁ...?・・・ 若干の沈黙 じゃぁ しゃーなあらへんな。検査しないと分からんし・・・、結局サインしました。*2

イシャ:じゃ、予約取っといたから〜。

:はぁ...。?*3

その後・・・、

よく考えてみたらアレルギー系のものがあった〜〜〜!!!!!


花粉症


キ・キ・キ・キタ━━━━━━(゜∀゜)━━━━━━!!!!

JR━―━―━(゜∀゜)━―━―━― !!

_| ̄|○ { と、言うことで、 そろそろ 私も ( ゜Д゜)イッテヨシ }か?

[]ファンタジー的 種類? ファンタジー的 種類?を含むブックマーク ファンタジー的 種類?のブックマークコメント

d:id:shimitei:20040604#heng

*1:イロイロあるらしいけど

*2:いや、しなくちゃいけないんだけどねぇ。ちょっと抵抗が・・・

*3:さっきから はぁはぁ ばかりだけど、(;´Д`)ハアハア ...じゃぁありませんよ。ため息混じりのちょっと疑問気味の返事「はぁ。。。?」って奴です。

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

2004-06-03 感謝 diff patch m(_ _)m

[][][]diffとpatchの使い方 diffとpatchの使い方を含むブックマーク diffとpatchの使い方のブックマークコメント

d:id:studiokingyo:20040531#p1

より、

d:id:shimitei:20040602#pmemo

にて・・・。ページを紹介していただきました。

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

紹介していただいた資料を元にこれからもよく勉強いたします。m(_ _)m

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

いつか、私のdiffとpatchの使い方の間違いのレポートを予定

[]特に面白ひ! 特に面白ひ!を含むブックマーク 特に面白ひ!のブックマークコメント

http://www.dfnt.net/t.html

へぇへぇへぇ〜〜〜

Link元

http://www.tkb-soft.hmcbest.com/

おもしろ〜!

趣がある^^

2004-06-02 備忘録的HATENA

[][]私!? 私!?を含むブックマーク 私!?のブックマークコメント

http://artifact-jp.com/mt/archives/200405/tbevaluation.html

あ〜、なーる。そうだね。私のことだね・・・。*1

今のところHatena::Diaryを備忘録*2としか使っていません^^;


Weblog?の定義によると??

http://e-words.jp/w/Weblog.html

Weblogでは個人の行動の記録は重視されず(一切載せないわけではない)、ネット上で独自に見つけた面白いもの、変なもの、スクープなどを紹介し、そこにリンクを張って論評を掲載するという形式が主流。

ヘェ〜へぇへぇーー

スマン、流れに外れているみたい^^;備忘録です。メモです”めも”。*3

*1:よく読んでないけど

*2メモ

*3:事前に釈明

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

2004-06-01 libexpat.dll

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

libexpat.dllというDLLを知っているだろうか?

Graphvizに入っているDLLである。

どうも、Ad-awareによると、これはスパイウェアらしい・・・と検地してくれる。

ガ・・・


しか〜し。

http://216.239.53.104/search?q=cache:v9nl9kvdSIMJ:ceindex.hp.infoseek.co.jp/temp/lotw-jp02.txt+libexpat+%E3%82%B9%E3%83%91%E3%82%A4&hl=ja&ie=UTF-8&inlang=ja


によると、

ウイルスじゃないようですが・・・。

フーン

信用してイイン?

イインジャナイ?

別に・・・ねぇ?

[]ありがたや〜 ありがたや〜を含むブックマーク ありがたや〜のブックマークコメント

http://www.asahi-net.or.jp/~kh4s-smz/

http://d.hatena.ne.jp/shimitei/

アンテナに登録ありがたや〜。m(_ _)m

[]将来の職・・・PGにはナルナ!? 将来の職・・・PGにはナルナ!?を含むブックマーク 将来の職・・・PGにはナルナ!?のブックマークコメント

http://www.mars.dti.ne.jp/~hirok/xp/col/026.html

Link元

http://homepage1.nifty.com/maname/log/0405/index.html#0524r4

フーム。

PGの技術さえあれば一応大丈夫だろうと思っていた私が甘かったな。*1

とりあえず、安全な職種?と言えば、オーソドックスなところ・・・*2イシャかベンゴシか?*3

*1:信用しているんですか?私^^;;

*2:あくまでイメージ

*3:ベンゴシはhttp://www.watch.impress.co.jp/av/docs/20040413/eln.htmが求められているようで・・・イシャは・・・本当にブラックジャックによろしくと同じなのかナァ 白の巨塔 白い巨棟?http://www.google.com/search?num=50&hl=ja&lr=lang_ja&q=%94%92%82%cc%8b%90%93%83 マジすか!!そうなの。アホクサ・・・まぁねぇ。ホホホ・・・

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

デースケドガー
Connection: close