changeset 4:448be53c51da

backup 2020-12-18
author autobackup
date Fri, 18 Dec 2020 00:10:03 +0900
parents 8257f703b965
children 8f5664d57cfd
files software/growiBackup.md user/anatofuz/note/2020/12/17.md user/matac42/note/2020/12/17.md
diffstat 3 files changed, 134 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/software/growiBackup.md	Fri Dec 18 00:10:03 2020 +0900
@@ -0,0 +1,32 @@
+# growiBackup
+
+# cliのリポジトリ
+
+- [Members/anatofuz/growiBackup](http://www.cr.ie.u-ryukyu.ac.jp/hg/Members/anatofuz/growiBackup/)
+
+# backupリポジトリ
+
+- [Document/Growi](http://www.cr.ie.u-ryukyu.ac.jp/hg/Document/Growi/)
+
+# cliの使い方
+
+
+```shell
+$./growibackup ${revison.json} ${backup_dir}
+```
+
+
+エントリの内容はrevison.jsonに書かれているので、それを指定します。 docker-composeで動かしている場合は、こんな感じのシェルスクリプト化すると楽です。(`run.sh`)
+
+```shell
+DAY=`date "+%Y-%m-%d"`
+REVJSON=revision_back_${DAY}.json
+docker exec growi_mongo_1 mongoexport -d growi -c revisions --pretty --jsonArray --out ${REVJSON}
+docker cp growi_mongo_1:${REVJSON} .
+docker exec growi_mongo_1 rm ${REVJSON}
+./growibackup ${REVJSON} Growi
+```
+
+# 参考
+
+- [Growiのバックアップツールをgolangで書き直した](https://anatofuz.hatenablog.com/entry/2020/12/16/160344)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/user/anatofuz/note/2020/12/17.md	Fri Dec 18 00:10:03 2020 +0900
@@ -0,0 +1,88 @@
+# 2020/12/17
+
+- メルカリ発送
+- lambda
+
+
+# releational
+
+- なんかあった
+
+
+`context.h`
+
+```c
+enum Relational {
+    EQ,
+    GT,
+    LT,
+};
+```
+
+`compare.c`
+
+```c
+#include "context.h"
+
+enum Relational compare(struct Node* node1, struct Node* node2) {
+    int key1 = node1->key;
+    int key2 = node2->key;
+    if (key1 == key2) {
+        return EQ;
+    } else if (key1 < key2) {
+        return GT;
+    } else {
+        return LT;
+    }
+}
+```
+
+見たところRbTreeで使おうとしていた痕跡がある
+
+```c
+RedBlackTree.cbc
+7:extern enum Relational compare(struct Node* node1, struct Node* node2);
+```
+
+```c
+__code putRedBlackTree(struct RedBlackTree* tree, struct Node* node) {
+    struct Node* newNode = &ALLOCATE(context, Node)->Node;
+    struct Node* root = tree->root;
+    printTree((union Data*)(tree->root));
+    tree->newNode = newNode;
+    tree->root = newNode; // this should done at stackClear
+    tree->parent = NULL;
+    if (root) {
+        tree->current = root;
+        tree->result = compare(tree->current, node);
+        tree->findNodeNext = C_insertNode;
+        goto findNode(tree);
+    }
+    goto insertNode(tree, node);
+}
+```
+
+- `Self`を導入
+    - Typeを型クラスとして使いたい
+
+```c
+typedef struct Tree<Self, Impl, Type>{
+    /* future Code */
+    /* Type* tree; */
+    /* Type* node; */
+    union Data* tree;
+    struct Node* node;
+    __code put(Impl* tree,Type* node, __code next(...));
+    __code get(Impl* tree, __code next(...));
+    __code remove(Impl* tree,Type* node, __code next(...));
+    // __code clearRedBlackTree();
+    __code next(...);
+} Tree;
+```
+
+
+sdとrgを組み合わせる
+
+```shell
+$sd '<Type' '<Self' $(rg '<Type' -g '*.h' --files-with-matches)
+```
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/user/matac42/note/2020/12/17.md	Fri Dec 18 00:10:03 2020 +0900
@@ -0,0 +1,14 @@
+# 今日やったこと
+* toeic対策
+    * センテンス
+    * 模試の見直し(Part5)
+* キッチンカー
+    * フィッシャーマンズドーターの西欧風カレーを食べた.
+        * 独特な味だったが美味しかった.
+* macbook air 2010のbootstrapでwindows10を起動
+    * なお再起動したら死にました.
+    * 起動時のジャーン音をたくさん聴いたよ.
+    * mac osには戻れる.
+# 明日は
+* toeicセンテンス
+* バイトォォ!