Re[3]: Ведёте ли базу знаний и как?
От: goto Россия  
Дата: 09.11.22 17:30
Оценка:
Здравствуйте, m2user, Вы писали:

M>Напрашивается решение: начать раздавать все эти терабайты через P2P сети.

M>Если информация действительно ценная, то заинтересованные люди рассортируют и проиндексируют. Ну и своего рода распределенный backup.

Зачем посторонним чей-то неструктурированный и заточенный под личные нужды хламовник?
Re[3]: Ведёте ли базу знаний и как?
От: goto Россия  
Дата: 09.11.22 17:33
Оценка: +1
Здравствуйте, ути-пути, Вы писали:

УП>А вот я попадал, что приходилось искать заново, но за время интернет и поисковики успели поменяться, и ножное находилось тяжелее, чем в первый раз.


Такие ситуации, наверное, знакомы большинству. Я годы был информационным Плюшкиным, но практика показала, что
— что понадобится, не предусмотришь;
— 99.9% баласт — устаревает или просто оказывается невостребованным;
— при этом накладные расходы на хранение и структурирование всего нажитого велики.
В итоге мне хватает нескольких десятков папок.

Понятно, бывают другие потребности. Упомянутый приятель-электронщик хранит, наверное, тысячи дэйташитов и хз чего только по этой теме.
Re: Ведёте ли базу знаний и как?
От: Tai Казахстан  
Дата: 09.11.22 17:43
Оценка:
Здравствуйте, vsb, Вы писали:

Кстати, а не встречалась проверенная, безошибочная база знаний по веб-технологиям?
Re[2]: Ведёте ли базу знаний и как?
От: scf  
Дата: 09.11.22 17:57
Оценка:
Здравствуйте, Tai, Вы писали:

Tai>Здравствуйте, vsb, Вы писали:


Tai>Кстати, а не встречалась проверенная, безошибочная база знаний по веб-технологиям?


caniuse.com ?
Re: Ведёте ли базу знаний и как?
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 09.11.22 18:19
Оценка: :))
Здравствуйте, vsb, Вы писали:

vsb>Ведёте ли базу знаний и как?


1. Сервисы заметок это полная ерунда. Это такие программы как Google Keep, *Note[s].
2. Особые форматы вроде программ zim, md, html и прочие тоже не работают.

Сейчас я завёл папку git на домашнем сервере, в которой лежит папка razrabotka.
1. На десктопах и ноутбуках папка git в папке archive.
/mnt/data_00/archive/git/razrabotka/
2. На смартфоне папка git в папке download.
/storage/emulated/0/Download/git/razrabotka/
3. На сервере в корне хранилище bare.
/git/razrabotka/
Причём важно, чтобы на сервере было хранилище bare, иначе Pocket Git не сработает, да и неудобно иначе.

Синхронизация через интернет (статический адрес) программами.
1. Pocket Git (4pda).
2. Termux (F-Droid) с установленным git.
                десктоп
               /
Сервер (bare) - ноутбук
               \
                смартфон

git pull origin master
git push origin master

origin  ssh://user@nn.nn.nn.nn:22/git/razrabotka/ (fetch)
origin  ssh://user@nn.nn.nn.nn:22/git/razrabotka/ (push)

Вот здесь всё написано по поводу конспектирования.
Конспектирование на смартфоне

Но это не просто конспектирование, там так же находятся проекты, примеры, разбор книг.

Структура папок для примера.
razrabotka
  algoritmi
    ...
  biblioteki
    boost
    loki
    qt515
    sdl
    stl
    ...
  dannie
    ...
  dizayn
    arhitektura
    idiomi
    shabloni
    ...
  knigi
    abelson_siikp
    ammeraal_stldpncpp
    hunter_okk
    sebasta_okyap
    strous_yapcppse
    ...
  paradigmi
    avtomatnoye
    funkcionalnoye
    imperativnoye
    modulnoye
    obobshennoye
    obyektnoye
    procedurnoye
    strukturnoye
    ...
  prilojeniya
    dokumentaciya
      kiwix
      zeal
    grafika
      blender
      freecad
      librecad
    kompilatori
      clang
      gcc
    ...
  proyekti
    ...
  statyi
    ...
  zadachi
    hackerrank
    leetcode
    ...

А на вопрос какого здесь транслитерация? Вот почему Транслитерация в программировании. Достало меня за десятки лет писать на английском, пусть англичане сами пишут. А по русски я писать не могу, так же как и ставить пробелы, не будет работать компиляция.

Опять же внутри папок тоже своё именование. Если надо описать папку как понятие, то создаю файл внутри папки.
1. названиепапки.txt
2. названиепапки.ods
3. названиепапки.dia
И так далее.

Здесь по существу заложены несколько идей.

1. Всегда находить данные. Даже если прошлые мысли были плохо записанными и неправильными, то я хотя бы всегда знаю, что.
1.1. Когда изучал книгу, то данные лежат вот здесь.
1.2. Когда программу, то вот тут.
1.3. Когда библиотеку алгоритмов вот там.
1.4. Когда пытался сварганить проект, то вот же.

2. Моя база знаний актуальна на всех моих устройствах.
2.1. Я могу сидеть за десктопом.
2.2. Уйти в другую комнату с ноутбуком.
2.3. Гулять со смартфоном.

3. Никто кроме меня не имеет к ней доступа.
3.1. Ни сервисы заметок.
3.2. Ни общественные хранилища.
3.3. Ни какие-либо арендованные хостинги.

4. Я могу использовать любые программы для редактирования.
4.1. Для десктопа и ноутбука Kate, LibreOffice.
4.2. Для смартфона CPP N-IDE, МойОфис.

По поводу долговременной эффективности ничего не скажу, тема Конспектирование на смартфоне от 2022.10.20, а сейчас 2022.11.09. Но могу с уверенностью сказать, что многократные прошлые попытки создать базу знаний были менее успешными.

В базе знаний нет смысла, если она не всегда под рукой и готова к редактированию, а это возможно лишь на смартфоне. А отсутствие возможностей для программиста, всякие сложные форматы парящие мозг вместо текстовых файлов, только затрудняют ведение базы знаний.

Вот одна из первых попыток разбора книги на смартфоне.

04_tipi_i_obyavleniya.txt
-------------------------------
4. Типы и объявления.
-------------------------------

4.1. Типы.
4.1.1. Основные типы.
4.2. Логический тип.
4.3. Символьные типы.
4.3.1. Символьные литералы.
4.4. Целые типы.
4.4.1. Целые литералы.
4.5. Вещественные типы.
4.5.1. Вещественные литералы.
4.6. Размеры.
4.7. Тип void.
4.8. Перечисления.
4.9. Объявления.
4.9.1. Структура объявления.
4.9.2. Объявление нескольких имён.
4.9.3. Имена.
4.9.4. Область видимости.
4.9.5. Инициализация.
4.9.6. Объекты и леводопустимые выражения (lvalue).
4.9.7. Ключевое слово typedef.
4.10. Советы.
4.11. Упражнения.

-------------------------------
4.1. Типы.
-------------------------------

Формула.
1. x = y + f(2);. Выражение

Имена сущностей.
1. x.
2. y.
3. f.

Именованные сущности.
1. Должны быть объявлены.
2. Имеют операции типов.

Операции типов.
1. Присваивание =.
2. Сложение +.
3. Вызов функции ().

Связи типа.
1. С названием. Имени назначается тип. 'тип имя'.
2. С операциями. Тип определяет операции.

Синонимы.
1. Имя.
2. Название.
3. Идентификатор.
4. Опознаватель.

Объявление имён.
1. float x;. Вещественная переменная.
2. int y = 7;. Целая переменная. С начальным значением.
3. float f(int);. Функция. С аргументом целого типа. Возвращающая действительное число.

Операции целого типа.
1. Присваивание =.
2. Числовые. +. -. *. /.

Операции функции.
1. Принять аргумент целого типа.
2. Получить возврат вещественного типа.

Пример. Глобальные объявления.
...............................
#include <iostream>

float x;
int y = 7;
float f(int);

float f(int){ return 3.14; }

int main()
{
    x = y + f(2);
    std::cout
        << x
        << std::endl;
    return 0;
}
...............................

В главе рассматриваются.
1. Основные типы.
2. Объявления именованных сущностей.

Примеры данной главы.
1. Свойства языка.
2. Основные элементы языка.

Примеры последующих глав.
1. Изощрённые.
2. Реалистичные.

Нужно освоить.
1. Терминологию.
2. Синтаксис.

Для того, чтобы.
1. Выполнять законченные проекты.
2. Разбираться в чужих кодах.

Глубокое понимание.
1. Не требуется.
2. Знать основные понятия.

-------------------------------
4.1.1. Основные типы.
-------------------------------

Принципы организации памяти.
1. Основные типы.
2. Надстраиваемые типы.

...............................

Основные типы.
1. Числовые типы.
2. Дополнительные типы.

Числовые типы.
1. Целочисленные типы.
2. Вещественные типы.

Целочисленные типы.
1. Логический тип. bool.
2. Символьный тип. char.
3. Целый тип. int.

Вещественные типы.
1. Вещественный тип. double.

Дополнительные типы.
1. Неполный тип. void.

...............................

Надстраиваемые типы.
1. Адресные типы.
2. Пользовательские типы.

Адресные типы.
1. Указательный тип. тип*.
2. Ссылочный тип. тип&.
3. Массивный тип. тип[].

Пользовательские типы.
1. Перечисляемый тип. enum.
2. Структурный тип. struct.
3. Классовый типы. class.
4. Объединяющий тип. union.

...............................

Синонимы.
1. Основные типы.
2. Фундаментальные типы.
3. Встроенные типы. Built-in types.

Синонимы.
1. Числовой тип.
2. Арифметический тип.

Синонимы.
1. Целочисленный тип.
2. Интегральный тип.

...............................

Размеры числовых типов.
1. Объём памяти.
2. Точность представления.
3. Диапазон значений.

Хранение данных в памяти.
1. Символы. Набор байт.
2. Целые числа. Набор машинных слов.
3. Вещественные числа. Регистры процессора.

Ссылка на данные в памяти.
1. По адресам.

Абстракция машинного уровня.
1. Основные типы
2. Адресные типы.

Рекомендуемые основные типы.
1. bool. Логика.
2. char. Символы.
3. int. Целые числа.
4. double. Вещественные числа.

Остальные основные типы.
1. Для оптимизации.
2. Для решение специальных задач.
3. Лучше игнорировать.
4. Знать чтобы разбираться в чужих кодах.

-------------------------------
4.2. Логический тип.
-------------------------------

Логические литералы.
1. Ложь. false.
2. Истина. true.

Назначение логических переменных.
1. Хранение результатов логических операций.

Проверка на равенство.
1. Вернуть истину. a и b одинаковые.
2. Вернуть ложь. а и b разные.

Пример. Проверка на равенство.
...............................
#include <iostream>

bool f(int a, int b)
{
    // хранение логического результата
    bool bl = a == b;
    // возврат логического значения
    return bl;
} 

int main()
{
    bool a, b;
    std::cout
        << "Vvedite a, b"
        << std::endl;
    std::cin >> a >> b;
    // проверка на равенство
    std::cout
        << "Rezultat a==b"
        << std::endl
        << f(a, b)
        << std::endl;
    return 0;
}
...............................

Предикатные функции.
1. Предикаты. Проверяют выполнение некоторого условия.

Пример. Предикатные функции.
...............................
#include <iostream>

typedef int File;
bool is_open(File*)
{
    return true;
}

bool greater(int a, int b)
{
    return a > b;
}

int main()
{
    File file;
    // проверка открытия файла
    std::cout
        << "Fayl otkrit?"
        << std::endl
        << is_open(&file)
        << std::endl;

    int a, b;
    std::cout
        << "Vvedite a, b"
        << std::endl;
    std::cin >> a >> b;
    // проверка на больше
    std::cout
        << "Rezultat a>b"
        << std::endl
        << greater(a, b)
        << std::endl;
    return 0;
}
...............................

Сейчас я задумался над гигантскими схемами Эволюция диаграмм сущности-связи. Dia очень быстрый, позволяет работать с десятками тысяч понятий, это мною уже давно проверено. А то тот же Compendium сначала идёт хорошо, а потом раз и производительность в ноль.

В общем думай, а ещё лучше сам делись как ведёшь базу знаний.
Re: Ведёте ли базу знаний и как?
От: UniqueGuid Канада  
Дата: 09.11.22 19:34
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>База знаний это всякие мелочи, на выяснение которых я потратил нетривиальное время и которые мне могут пригодиться в будущем.


OneNote
Re: Ведёте ли базу знаний и как?
От: anonymouse2 Иностранный Агент
Дата: 09.11.22 21:03
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Периодически возникает у меня желание делать сабж, периодически что-то начинаю делать и затухает.


Давно уже. Изначально было несколько баз, для которых использовал разные программы. Сначала TreePad, затем Evernote, WizNote, CintaNotes, Zim, CherryTree, может еще какие-то — не помню.
В конечном итоге написал свою программу и многое уже в нее перенес (но еще не все, что-то менее востребованное остается в evernote), а сами заметки физически хранятся в гите на bitbucket в закрытом репозитории.
Еще накапливаю текущие мысли в текстовых файликах (в основном на работе) и затем по мере накопления сортирую их и переношу их в разные разделы баз знаний.
Нет такого преступления, на которое не пошло бы суверенное родоплеменное быдло ради продления своего бессмысленного рода и распространения своего бессмысленного генома.
Re: Ведёте ли базу знаний и как?
От: graniar  
Дата: 10.11.22 02:28
Оценка:
Последняя версия на базе TexMacs (WYSIWYG-редактор для Latex-качества доков и частично совместимостью с ним. Также встроенные скрипты и куча прочих плюшек.)

Все файлы в одной папке, создаются автоматом из редактора, название просто номер. Вся навигация в базе по гиперссылкам.
Открываю два окна, одно назначаю целевым. Клик по любой гиперссылке открывает соответствующий файл в целевом окне.
Надо создать новый документ — нажал кнопочку — в целевом окне пустой документ.
Надо создать гиперссылку — в нецелевом окне выделяю текст мышкой, нажимаю горячую клавишу — становится гиперссылкой на документ в целевом окне.
Re[4]: Ведёте ли базу знаний и как?
От: m2user  
Дата: 10.11.22 04:13
Оценка:
M>>Напрашивается решение: начать раздавать все эти терабайты через P2P сети.
M>>Если информация действительно ценная, то заинтересованные люди рассортируют и проиндексируют. Ну и своего рода распределенный backup.

G>Зачем посторонним чей-то неструктурированный и заточенный под личные нужды хламовник?


Из описания у меня сложилось впечатление, что информация может быть полезна всем, кто занимается схожей тематикой.
То, что она не структурирована не является препятствием: я нередко находил нужные мне книги или программы по названию на публичных FTP серверах после того, как они были проиндексированые поисковыми движками.

Конечно, если там есть сведения, являющиеся личной или коммерческой тайной и прочее NDA, то просто так выложить не вариант.
Re: Org-mode
От: Evgeny.Panasyuk Россия  
Дата: 10.11.22 04:42
Оценка:
Сначала использовал обычные текстовые файлы. Сейчас Org-mode — по сути тот же самый plain-text, только немного структурированный, плюс поддержка изображений, интерактивных кусков кода и т.д. и т.п.
Re: Ведёте ли базу знаний и как?
От: Antidote  
Дата: 10.11.22 06:15
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Периодически возникает у меня желание делать сабж, периодически что-то начинаю делать и затухает.


vsb>Сейчас очередной цикл у меня, пытаюсь освоить Obsidian, вроде модно-молодёжно. Пока правда не проникся. Ну в процессе.


vsb>База знаний это всякие мелочи, на выяснение которых я потратил нетривиальное время и которые мне могут пригодиться в будущем.


На работе стараюсь локально только ссылки в браузере хранить, чтобы не было мучительно больно менять лаптоп. Остальное в Confluence.
Даже если наброски и ничего непонятно никому кроме тебя — будешь знать, что оно там лежит и с легкостью найдешь. А уж если одно и то же часто спрашивают — то все равно проще сделать нормальную страничку и слать каждый раз ссылку вместо поиска по локальному архиву и объяснений что к чему.
Настаиваю в команде на этом подходе, много доков появилось, много вопросов перестали задавать

Ах да, с недавних пор https://www.notion.so/ у нас вместо Confluence, интересная штука.
Чему бы грабли ни учили, а сердце верит в чудеса.
Отредактировано 10.11.2022 7:49 Antidote . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.