view memo.txt @ 254:28d3a177f540 Implementation_of_communication

edit memo
author tatsuki
date Thu, 17 Nov 2016 18:46:04 +0900
parents 7aa195d5bdab
children 1a5f3d3f3437
line wrap: on
line source

Thu Nov 17 18:36:13 JST 2016
    
    差分List
    JungleTreeをRedBlackTreeにする
        それ用のAPIを設計する
    Logの書き出しの高速化
        Buffering
    Mergeの実装
        APIの設計
        共通のRootからの複数の変更履歴を一つにまとめる
    JungleNodeに特定Objectをもたせれるようにする

    金川

Fri Jul 18 19:59:20 JST 2014
    
    servletから最初にBoardNameをKeyにTreeを持ってくる
    ここでConcarentHashMapを使っているが、Jungleそのものを使うことが可能である
    名前とTreeRootの組からなるNodeを持つTreeを作る
    この木は名前でバランスさせる
    変更したらそのRootを伝播させる
    Rootはatomicな変数で持つ
    
    問題は、この名前と木の対応を誰が持つか
    1Nodeで1つにするかThread毎に別に持つ、全体に1つでも問題ない?
    

2012/06/11
 ・誰が Editor を提供する API を保持するべきか?
 ・Editor の役割
  ・commit したら必要な Node を NodeProvider に push する。
   ・ということは, 内部に NodeProvider への参照を保持してないといけない? NodeProvider へのリンクを保持しているのは Jungle である。
   ・Jungle が NodeProvider を持っているのは正しいのか? TreeGroup でもいいのではないか?
   ・commit したら TreeGroup の情報は破壊される。つまり? commit は TreeGroup に対して行われる。
    ・TreeGroup のメソッドで Tree を渡して Editor を作成するが良いか?
  ・tree を編集する
  ・Editor は TreeGroup が保持するとする。ならば、NodeProvider はどうするか?
   ・NodeFactory (?) をつくる? NodeProvider と何が違うのか?
   ・NodeProvider は、Tree/TreeNode/Link を作成する。
   ・NodeProvider で、createTreeGroup , createTree , createTreeNode , createLink を依頼する
   ・初期では、パスの検索は深さ優先探索で行う
  ・TreeGroupについて、TreeGroupは最初に初期Treeを1つ作らなければならない?
  
2012/06/12
 ・NodeTable と NodeTable の状態を同期させる。
 ・Table , Record , PropertySequence をつくる、Record がひとつの Node に対応する
  ・これを用いて Node , TreeGroup , Tree , TreeNode , Link を作成する
  ・ Node : Record の Property で Attribute を表現
  ・ TreeGroup : Node で表すべき?
  ・ Tree : TreeNode を継承している よって Node で表す、 Children や Links は PropertySequence による.
  ・ Link : Node で表す。
  
2012/06/15
 ・Functional Java を使って PropertySequence を実装するといいかも?
 ・Record , PropertySequence の hashCode , equals の実装について、ちゃんとテストを作ること!(重要)
 ・なるべく、equals と hashCode はオーバーライドしないようにする、独自の比較メソッドを提供する。
 ・Table , Record , PropertySequence に Atomic なオペレーションを追加する
  ・Table は Record の作成に CAS を追加する
  ・Record は Map と PropertySequence に CAS を追加する。
  ・PropertySequence は・・・いらないか・・
  ・Jungle の API から getTreeGroups を削除した
  ・Table , Record , PropertySequence では足りない、もっと美味いやりかたがあるはず
  
2012/06/19
 ・Graph API を定義することにした
  ・ Graph , Vertex , Vertexes
 ・Neo4j で言うと
  ・ GraphDB , Node , Iterator<Relationship>
 ・とりあえずこれで実装してみる。
 ・今日は、SimpleVertexes をほぼ完成させた、あとすこしとテストコードを追加すること。
 
2012/06/22
 ・Vertexes のテストコードをほぼ仕上げた.
 ・次は,テストコードが正しいか,SimpleVertexes を動作させてみる.
 ・その次に,Jungle の実装を書く.
 
2012/06/25
 ・Vertexes のテストコードが動いた.
 ・SimpleJungle などを GraphAPI を用いて記述する.
 ・SimpleTreeGroup , SimpleTree , SimpleNode をどうするか
 
2012/06/27
 ・Graph を用いた SimpleJungle の設計をもっと考える

2012/06/28
 ・SimpleJungle 実装を完成させた。テストコードはまだ書いていない
 ・SimpleEditor の部分がまだだった。明日完成させよう