annotate memo.txt @ 342:a8794548f5c9

add logtest method
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 29 Aug 2017 11:33:54 +0900
parents 1a5f3d3f3437
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
295
1a5f3d3f3437 add RedBlackTree delete un fix
tatsuki
parents: 254
diff changeset
1 2017/1/3
1a5f3d3f3437 add RedBlackTree delete un fix
tatsuki
parents: 254
diff changeset
2
1a5f3d3f3437 add RedBlackTree delete un fix
tatsuki
parents: 254
diff changeset
3 Indexの差分Updateを実装した
1a5f3d3f3437 add RedBlackTree delete un fix
tatsuki
parents: 254
diff changeset
4 Nodeのdeleteにはまだ対応していないので、後で修正する
1a5f3d3f3437 add RedBlackTree delete un fix
tatsuki
parents: 254
diff changeset
5 各EditorにdeleteChild(path,int,key,value)を入れた
1a5f3d3f3437 add RedBlackTree delete un fix
tatsuki
parents: 254
diff changeset
6 これは赤黒木の削除に使うためである
1a5f3d3f3437 add RedBlackTree delete un fix
tatsuki
parents: 254
diff changeset
7 他のEditorには実装していないので論文が落ち着いたら実装する
1a5f3d3f3437 add RedBlackTree delete un fix
tatsuki
parents: 254
diff changeset
8 処理的には pathとintで指定したNodeがkeyとvalueのペアを持っていれば削除する
1a5f3d3f3437 add RedBlackTree delete un fix
tatsuki
parents: 254
diff changeset
9 ぐらいでいきたい
1a5f3d3f3437 add RedBlackTree delete un fix
tatsuki
parents: 254
diff changeset
10 redBlackTreeのEditorのinterfaceをどうするか?
1a5f3d3f3437 add RedBlackTree delete un fix
tatsuki
parents: 254
diff changeset
11 DifferenceTreeとRedBlackTreeをJungleNetWorkに実装する必要がある
1a5f3d3f3437 add RedBlackTree delete un fix
tatsuki
parents: 254
diff changeset
12 今はDefaultJungleにしか実装されていない
254
28d3a177f540 edit memo
tatsuki
parents: 67
diff changeset
13 Thu Nov 17 18:36:13 JST 2016
28d3a177f540 edit memo
tatsuki
parents: 67
diff changeset
14
28d3a177f540 edit memo
tatsuki
parents: 67
diff changeset
15 差分List
28d3a177f540 edit memo
tatsuki
parents: 67
diff changeset
16 JungleTreeをRedBlackTreeにする
28d3a177f540 edit memo
tatsuki
parents: 67
diff changeset
17 それ用のAPIを設計する
28d3a177f540 edit memo
tatsuki
parents: 67
diff changeset
18 Logの書き出しの高速化
28d3a177f540 edit memo
tatsuki
parents: 67
diff changeset
19 Buffering
28d3a177f540 edit memo
tatsuki
parents: 67
diff changeset
20 Mergeの実装
28d3a177f540 edit memo
tatsuki
parents: 67
diff changeset
21 APIの設計
28d3a177f540 edit memo
tatsuki
parents: 67
diff changeset
22 共通のRootからの複数の変更履歴を一つにまとめる
28d3a177f540 edit memo
tatsuki
parents: 67
diff changeset
23 JungleNodeに特定Objectをもたせれるようにする
28d3a177f540 edit memo
tatsuki
parents: 67
diff changeset
24
28d3a177f540 edit memo
tatsuki
parents: 67
diff changeset
25 金川
28d3a177f540 edit memo
tatsuki
parents: 67
diff changeset
26
67
7aa195d5bdab remove DefaultNode (error)
one
parents: 8
diff changeset
27 Fri Jul 18 19:59:20 JST 2014
7aa195d5bdab remove DefaultNode (error)
one
parents: 8
diff changeset
28
7aa195d5bdab remove DefaultNode (error)
one
parents: 8
diff changeset
29 servletから最初にBoardNameをKeyにTreeを持ってくる
7aa195d5bdab remove DefaultNode (error)
one
parents: 8
diff changeset
30 ここでConcarentHashMapを使っているが、Jungleそのものを使うことが可能である
7aa195d5bdab remove DefaultNode (error)
one
parents: 8
diff changeset
31 名前とTreeRootの組からなるNodeを持つTreeを作る
7aa195d5bdab remove DefaultNode (error)
one
parents: 8
diff changeset
32 この木は名前でバランスさせる
7aa195d5bdab remove DefaultNode (error)
one
parents: 8
diff changeset
33 変更したらそのRootを伝播させる
7aa195d5bdab remove DefaultNode (error)
one
parents: 8
diff changeset
34 Rootはatomicな変数で持つ
7aa195d5bdab remove DefaultNode (error)
one
parents: 8
diff changeset
35
7aa195d5bdab remove DefaultNode (error)
one
parents: 8
diff changeset
36 問題は、この名前と木の対応を誰が持つか
7aa195d5bdab remove DefaultNode (error)
one
parents: 8
diff changeset
37 1Nodeで1つにするかThread毎に別に持つ、全体に1つでも問題ない?
7aa195d5bdab remove DefaultNode (error)
one
parents: 8
diff changeset
38
7aa195d5bdab remove DefaultNode (error)
one
parents: 8
diff changeset
39
1
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 2012/06/11
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 ・誰が Editor を提供する API を保持するべきか?
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 ・Editor の役割
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 ・commit したら必要な Node を NodeProvider に push する。
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 ・ということは, 内部に NodeProvider への参照を保持してないといけない? NodeProvider へのリンクを保持しているのは Jungle である。
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 ・Jungle が NodeProvider を持っているのは正しいのか? TreeGroup でもいいのではないか?
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 ・commit したら TreeGroup の情報は破壊される。つまり? commit は TreeGroup に対して行われる。
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47  ・TreeGroup のメソッドで Tree を渡して Editor を作成するが良いか?
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 ・tree を編集する
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 ・Editor は TreeGroup が保持するとする。ならば、NodeProvider はどうするか?
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 ・NodeFactory (?) をつくる? NodeProvider と何が違うのか?
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 ・NodeProvider は、Tree/TreeNode/Link を作成する。
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 ・NodeProvider で、createTreeGroup , createTree , createTreeNode , createLink を依頼する
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 ・初期では、パスの検索は深さ優先探索で行う
3
9eb9fabd9f29 added Table framework
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
54 ・TreeGroupについて、TreeGroupは最初に初期Treeを1つ作らなければならない?
9eb9fabd9f29 added Table framework
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
55
9eb9fabd9f29 added Table framework
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
56 2012/06/12
9eb9fabd9f29 added Table framework
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
57 ・NodeTable と NodeTable の状態を同期させる。
9eb9fabd9f29 added Table framework
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
58 ・Table , Record , PropertySequence をつくる、Record がひとつの Node に対応する
9eb9fabd9f29 added Table framework
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
59 ・これを用いて Node , TreeGroup , Tree , TreeNode , Link を作成する
9eb9fabd9f29 added Table framework
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
60 ・ Node : Record の Property で Attribute を表現
9eb9fabd9f29 added Table framework
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
61 ・ TreeGroup : Node で表すべき?
9eb9fabd9f29 added Table framework
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
62 ・ Tree : TreeNode を継承している よって Node で表す、 Children や Links は PropertySequence による.
4
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
63 ・ Link : Node で表す。
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
64
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
65 2012/06/15
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
66 ・Functional Java を使って PropertySequence を実装するといいかも?
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
67 ・Record , PropertySequence の hashCode , equals の実装について、ちゃんとテストを作ること!(重要)
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
68 ・なるべく、equals と hashCode はオーバーライドしないようにする、独自の比較メソッドを提供する。
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
69 ・Table , Record , PropertySequence に Atomic なオペレーションを追加する
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
70  ・Table は Record の作成に CAS を追加する
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
71  ・Record は Map と PropertySequence に CAS を追加する。
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
72  ・PropertySequence は・・・いらないか・・
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
73 ・Jungle の API から getTreeGroups を削除した
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
74 ・Table , Record , PropertySequence では足りない、もっと美味いやりかたがあるはず
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
75
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
76 2012/06/19
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
77 ・Graph API を定義することにした
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
78 ・ Graph , Vertex , Vertexes
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
79 ・Neo4j で言うと
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
80 ・ GraphDB , Node , Iterator<Relationship>
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
81 ・とりあえずこれで実装してみる。
5
07b26b4b21e0 modified AbstractVertexesTest
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
82 ・今日は、SimpleVertexes をほぼ完成させた、あとすこしとテストコードを追加すること。
07b26b4b21e0 modified AbstractVertexesTest
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
83
07b26b4b21e0 modified AbstractVertexesTest
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
84 2012/06/22
07b26b4b21e0 modified AbstractVertexesTest
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
85 ・Vertexes のテストコードをほぼ仕上げた.
07b26b4b21e0 modified AbstractVertexesTest
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
86 ・次は,テストコードが正しいか,SimpleVertexes を動作させてみる.
6
1a5eaf5ce085 modified AbstractVertexesTest and SimpleVertexes to pass the unit test.
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
87 ・その次に,Jungle の実装を書く.
1a5eaf5ce085 modified AbstractVertexesTest and SimpleVertexes to pass the unit test.
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
88
1a5eaf5ce085 modified AbstractVertexesTest and SimpleVertexes to pass the unit test.
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
89 2012/06/25
1a5eaf5ce085 modified AbstractVertexesTest and SimpleVertexes to pass the unit test.
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
90 ・Vertexes のテストコードが動いた.
1a5eaf5ce085 modified AbstractVertexesTest and SimpleVertexes to pass the unit test.
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
91 ・SimpleJungle などを GraphAPI を用いて記述する.
7
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
92 ・SimpleTreeGroup , SimpleTree , SimpleNode をどうするか
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
93
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
94 2012/06/27
8
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 7
diff changeset
95 ・Graph を用いた SimpleJungle の設計をもっと考える
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 7
diff changeset
96
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 7
diff changeset
97 2012/06/28
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 7
diff changeset
98 ・SimpleJungle 実装を完成させた。テストコードはまだ書いていない
254
28d3a177f540 edit memo
tatsuki
parents: 67
diff changeset
99 ・SimpleEditor の部分がまだだった。明日完成させよう