Владислав
)
Daniil
в нашем полку прибыло) интересно есть ли тут те кто давно прошел все и просто по фану остался, чисто теоретически должны быть:)
Albert
а кто на каком уроке сейчас?
Albert
я на 74
Владислав
я не всё прошёл и не собираюсь, но остался)
Taras
Народ есле я на 73 уже перестаю многое понимать есть ли смысил продолжать?
Daniil
Владислав
лучше вернись и усвой заново
Taras
Albert
Спасибо бро 🙏
я вот на 74 уроке, завтра все моменты непонятные (я их выписывал) буду разбирать и пойду дальше, хотя +- могу дальше идти, так как понимаю.
Albert
я завтра могу разобрать твои непонятные вопросы, а ты со стороны мои, го?)
Albert
в каком-нибудь дискорде или hangouts
Daniil
про что там хоть? что за моменты?
Albert
Daniil
чего?)
пока занят проектом
Albert
затвра разгребать буду))
Albert
аахахахах)))
Albert
а ты на проекте... А он на реакте?
Daniil
нет не на нем, был на нем но сейчас нет
Albert
а ты реакт плохо пока знаешь?
Daniil
мне хватает
Albert
окс)
Daniil
с редакс формами только не мутил, как-то без них обходился, ну и хуки не часто использовал
Albert
хахаха, сейчас понял, что забыл, чем отличаются хуки от хоков
Albert
завтра повторять буду
Daria
Daniil
хок это обертка, а хук это когда функцию делают больше похожей на класс) - объснение в двух словах - строго не судить))
Albert
не, я знаю разницу, уже просто не вспомню, что такое хуки
Albert
про хоки только что проходил
Albert
ааа, все вспомнил
Daniil
😂 вопрос с подвохом 'вспомнить всё...'
.
😂 вопрос с подвохом 'вспомнить всё...'
Тут такое дело.
У человека после 27 лет не образуются "шишечки" на аксонах.
Это было бы ничего - но аксоны устаналивают СВЯЗИ с другими аксонами ЧЕРЕЗ эти "шишечки" (это начный русский термин, если что).
То есть после 27 лет аксоны у человека фактически "голые" (это мой термин уже).
Всё бы ничего - но вывод однозначен - после 27 лет в мозгу (тот что в голове) НЕ образуется никаких НОВЫХ связей. От слова - совсем не образуется.
Так что пока молоды - устанавливается НОВЫЕ связи. После 27 вам останется только и только их ... использовать, но новые уже НЕ будут порождаться то.
Такие вот дела, пацаны. 😲
Albert
очень круто, если я бы понял суть
Daniil
блин ты меня пипец как расстроил, мне уже давно не это..., но я считаю что если мозг постоянно активен, с ним меньше бед происходит, говорят и живут такие люди дольше
Albert
буду перечитывать
Daniil
есть у меня одна интересная задачка на подумать, решение сам пока не знаю, вот и думаю может кто хочет тоже голову поломать под полночь) а может и нет)
Albert
не, мне спать охота)
Albert
го завтра)
акионка.
Daniil
почему бы нет, может быть)
акионка.
акионка.
Томительное ожидание)
Daniil
Кидай посмотрим
есть у меня treeview
обычное дерево как в проводнике windows папки
сейчас оно так выглядит
01
01_01
01_02
02
02_01
02_01_01
02_01_02
и т.д
это как бы ключи, + этой записи что строки можно отсортировать и они будут идти друг под другом, минус в том что структура плохо расширяема
поэтому я пришел к выводу что нормальный подход
когда нода представляет из себя {id, parent.Id} кде вместо id не 01 а к примеру хэш из четырех АВCD cимволов рандомных
все бы хорошо но есть одно но, сортировка в данном случае не даст верного результата, а нумеровать сверху вниз не хочется так как это приведет к начальной проблеме
я думал даже о том чтобы сделать шаг к примеру не 1 а 10 или 100 но мне это тоже не нравится, хотя я не предполагаю что всего будет более 200 записей но не сразу
акионка.
Daniil
потому что когда я захочу добавить ключ в середину номера поползут
01
01_01
сюда например
01_02
а мне важно чтобы номер был константой всегда, иначе предется перелапачивать много записей в базе, т.е. на каждый ключ вешается грубо говоря N записей и из уже может быть много
акионка.
Сделать массив объектов внутри которых будет ещё один массив (до нужной глубины, рекурсивно короче) и какие-то данные: название, картинки. А потом рекурсивно его рендерить?
Может бред, башка уже не варит.
акионка.
Daniil
нет не обязательно, сейчас просто так реализовано.
подветки могут перекидываться на другие ветки (менять родителя) поэтому хэши лучше для этой цели
т.е. меня терзает вопрос если ноды будут беспорядочно в базе лежать как за один присест их правильно организовать ведь хэши рандомны и сортирока тут бесполезна
акионка.
Хранить не только хеши?
Daniil
самый простой способ конечно нумерация, но это как-то костыльно
BSKS (1)
SHDK (2)
LHHE (3)
STRH (4)
ABDS (5)
Борис
Борис
Такие вот дела пацаны (с)
Борис
Борис
01_01
01_01.5 (среднее арифметическое)
01_02
Oleg
Daniil
Тебе обязательно
01
01_01
01_01_01
?
решение интересное но не совсем то что мне нужно
я не считаю и свое решение чистым, а с дробями и подавно, хотя во многих случаях твой подход сработает (его даже потом можно нормализовать через map)
Oleg
но при отображении дерева переводить его в плоское, то есть массив
Daniil
Oleg
ну как варик использовать react-virtulized, тогда даже при 3 милионов нод тормозов не будет
Daniil
ну у меня задача хранения в базе а не отображения, с отображением проблем нет
Oleg
вот пример ассоциативного дерева
Oleg
const testNodes = {
'0-0': {
name: '0-0',
children: ['1-1','1-2'],
parentId: ''
},
'1-1': {
name: 'vbn',
children: ['2-1','2-2'],
parentId: '0-0'
},
'2-1': {
name: 'ght',
children: [],
parentId: '1-1'
},
'2-2': {
name: 'name1',
children: [],
parentId: '1-1'
},
'1-2': {
name: '1-2',
children: ['2-3','2-4','2-5'],
parentId: '0-0'
},
'2-3': {
name: '2-3',
children: ['3-1'],
parentId: '1-2'
},
'3-1': {
name: '3-1',
children: [],
parentId: '2-3'
},
'2-4': {
name: '2-4',
children: [],
parentId: '1-2'
},
'2-5': {
name: '2-5',
children: [],
parentId: '1-2'
},
};
Oleg
а
Oleg
а какая задача вобще?
Daniil
а, понятно, не такое не подходит
задача такая, хранить каждую ноду в базе в соответсвующей одной записи вне зависимости от вложенности (сколько нод столько записей), желательно с использованием хэша вместо индекса, и так чтобы можно было вне зависимости от порядка следования записей в базе собрать изначальное дерево с учетом того что порядок соседних нод должен быть сохранен
Oleg
аа ну, вот пример выше как раз, там не важен порядок
Oleg
ключ - строка или хэш
Daniil
тут как бы ноды хранятся в другой ноде, а не каждая сама по себе, решение хорошее - часто где используется но для моего случая не подходит, потому что у меня будут в дальнейшем фильтры
Daniil
на данном этапе у меня все храниться не в базе а в текстовом формате
tree =`
a
b
c
`
потом я преобразую это за O(n) в ноды:
{a, id:01, parent null}
{b, id:01_01, parent 01}
{c, id:01_01_01, parent 01_01}
потом строю дерево по такому принципу как ты указал тоже за O(n)
Oleg
мм, хорошо
Oleg
a b c это названия нод?
Oleg
ну типа name: a
Oleg
name: 'a'