Size: a a a

2020 September 17

B

Boris in NoRP • Чат
Константин Бояршинов
Карнавал в мире снов был какой то
Только он обособленно от этих ваших ролевых коммюнити существует
Да, с автором я знаком - он на большинстве ролевых мероприятий бывает. :-)
источник

JA

Jaroslav Aleynikov in NoRP • Чат
Константин Бояршинов
Карнавал в мире снов был какой то
Только он обособленно от этих ваших ролевых коммюнити существует
Ну как сказать обособленно, на ролеконе каждый раз и в локации водятся
источник

КБ

Константин Бояршинов... in NoRP • Чат
А ну значит неправильная у меня информация) Я помню он пару раз высказывался у себя в конференции "мол не хочу активно в коммюнити, там токсично" я и сделал вывод что он контакты не поддерживает
источник

AB

Aleksandr Breganov in NoRP • Чат
🚀
еще я бы юзал итераторы вроде .map() и .filter()
т.к. они ближе к бизнес логике работы с множествами, позволяют чайники (chain запуск при обработке) и лишь незначительно медленнее for

И регулярники, особенно .replace() потому что второй аргумент у нее - запуск функции
Т.е. чаще всего можно сразу провести операцию над найденным паттерном. Это здорово экономит логику (например, можно весь формато-логический контроль и конвертер в объекты уложить в один регулярник). Чайник дает продолжать обработку строки, но можно задекорировать на множества

Сорян за антипатерны )

По логике я бы отделил формализатор текста в объекты от подготовительных операций вроде сортировки интервалов и БЛ пересечений
Т. е. сначала "9:00-21:00? GM" в {begin:..., end:..., gm:true, player:...}, потом .sort(playersRanges), потом intersection

Ну и если цель выдать интервалы по дням, например, или с заданным кол-вом пересечений, то сортировка тут не сильно нужна, достаточно знать "сетку", а она может быть " построена" на первичном ФЛК прогоне. Сортировка очень дорогая операция, а здесь пахнет нахождением решения за 1 прогон. Можно подвинуть сортировку ближе к выводу, когда обьем данных снизится

Кстати, надо не забывать . sort((a, b)=>a-b)
Иначе  [9, 8, 12, 1, 33, 21]. sort()
даст  [1, 12, 21, 33, 8, 9]
хотя для дат и текстов это не важно
Спасибо за советы. Звучит прикольно. Надо пробовать.
источник

AB

Aleksandr Breganov in NoRP • Чат
Константин Бояршинов
Карнавал в мире снов был какой то
Только он обособленно от этих ваших ролевых коммюнити существует
Он вроде бы и существует до сих пор. Сложно быть обособленным, когда у тебя очень много пересекающейся аудитории. Вроде бы даже недавно вёл какую-то деятельность.

У него основной приток людей — живые ролевые игры. И автор постоянно рекламировался у знакомых. Даже у нас как-то давал объявления ну очень давно.
источник

AB

Aleksandr Breganov in NoRP • Чат
Часть про токсичность вообще не знаю и не представляю.
источник

КБ

Константин Бояршинов... in NoRP • Чат
Было, было.
источник

AB

Aleksandr Breganov in NoRP • Чат
источник

AB

Aleksandr Breganov in NoRP • Чат
19 декабря 2019 года.
источник

AB

Aleksandr Breganov in NoRP • Чат
Последний раз они собирались.
источник

AB

Aleksandr Breganov in NoRP • Чат
9 мес. назад.
источник

AB

Aleksandr Breganov in NoRP • Чат
Мне почему-то кажется, что собраться для Макса довольно легко. Главное дать ему какой-то стимул для сборов.
источник

AB

Aleksandr Breganov in NoRP • Чат
Имхо, можно написать и собрать людей.
источник

AB

Aleksandr Breganov in NoRP • Чат
🚀
я бы предложил сделать дискретные временные промежутки (по полчаса) и развернуть оси: время по горизонтали (строки), игроков по вертикали (колонки).

Потому что игроков всегда мало, а промежутков много
Пустые промежутки можно скрывать через фильтры столбцов (и другие операции делать над множествами)

Если указывать только 1/0 (и красить красным/зеленым) т.е. возможность или невозможность игрока играть в этот промежуток то можно уйти от постоянного приведения указанных текстом диапазонов сразу к Boolean и датам из первого столбца. Сами строки можно сделать мелкими, чтобы хоть все 24х2 диапазона влезло на экран. Ну или некоторые крупнее для референса, например 24 часовых крупных, получасовые мелкие

Еще можно использовать moment или другую специализированную библиотеку для работы с промежутками (момент старая, сейчас много immutable аналогов с поддержкой чайников - date-fns, day.js, luxon)
Так же можно формализовать ввод диапазонов пользователем через использование гуглформ

Если же хочется именно такую табличку, с диапазонами текстом и другой управляющей инфой в каждой ячейке, то ввел бы более строгий формат с указанием даты в каждой, ибо пользователи будут все равно тупить-тормозить/забывать натягивать формулы на ячейки. Пусть тогда уж пишут что хотят в формате типа:
22#20:00-21:30
или
Вт 21:00-22:00
или
Вторник 20:00-21:30
А мы причешем
Не хочу уходить к Boolean, так как размер таблицы взрывается и по 24 строки на один день кажется довольно много. Порой мы заполняем таблицу с телефона. Такие манипуляции выглядят излишними. Но также хотелось бы парсить разные промежутки времени в одной ячейке. Но да, с булями будет проще работать с разными промежутками времени.

Я не уверен, что Google Scripts может пережить дополнительные библиотеки. Но справедливости ради, и не пробовал. Поэтому пытаюсь обойтись только средствами JS не самой последней версии, исходя из ; в записях.

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

AB

Aleksandr Breganov in NoRP • Чат
🚀
Вместо того же GM лучше всегда считать мастером игрока в первой колонке. Первому игроку приготовиться
Кстати, да.
источник

AB

Aleksandr Breganov in NoRP • Чат
🚀
еще я бы юзал итераторы вроде .map() и .filter()
т.к. они ближе к бизнес логике работы с множествами, позволяют чайники (chain запуск при обработке) и лишь незначительно медленнее for

И регулярники, особенно .replace() потому что второй аргумент у нее - запуск функции
Т.е. чаще всего можно сразу провести операцию над найденным паттерном. Это здорово экономит логику (например, можно весь формато-логический контроль и конвертер в объекты уложить в один регулярник). Чайник дает продолжать обработку строки, но можно задекорировать на множества

Сорян за антипатерны )

По логике я бы отделил формализатор текста в объекты от подготовительных операций вроде сортировки интервалов и БЛ пересечений
Т. е. сначала "9:00-21:00? GM" в {begin:..., end:..., gm:true, player:...}, потом .sort(playersRanges), потом intersection

Ну и если цель выдать интервалы по дням, например, или с заданным кол-вом пересечений, то сортировка тут не сильно нужна, достаточно знать "сетку", а она может быть " построена" на первичном ФЛК прогоне. Сортировка очень дорогая операция, а здесь пахнет нахождением решения за 1 прогон. Можно подвинуть сортировку ближе к выводу, когда обьем данных снизится

Кстати, надо не забывать . sort((a, b)=>a-b)
Иначе  [9, 8, 12, 1, 33, 21]. sort()
даст  [1, 12, 21, 33, 8, 9]
хотя для дат и текстов это не важно
О, спасибо. Попробую переписать так, чтобы сортировку отодвигать на самый конец. Но там сортировать-то особо нечего. Там большая проблема только вызов самой кастомной функции с сервера Google. То есть сама сортировка, насколько я понимаю, проходит быстро. В массивах данных не больше 100.
источник

AB

Aleksandr Breganov in NoRP • Чат
Правда, я не знаю, насколько ему "тяжело" сортировать тип данных Date.
источник

AB

Aleksandr Breganov in NoRP • Чат
Хотя тоже такое. Надо пробовать и проверять это всё. Пока говорю от ощущений.
источник

AB

Aleksandr Breganov in NoRP • Чат
источник

AB

Aleksandr Breganov in NoRP • Чат
источник