Andrey
Э, че гадость то
Aliaksandr
Зело загадошная верстка колонок 😁
Andrey
Эт где?
Aliaksandr
Ну правой колонки, которая флоатом прибита, а левая на ширину 100% и с отрицательным margin на ширину правой
Andrey
А... Так это в те времена лайфхацк такой был для кроссбраузерности вроде.
Aliaksandr
Ну вот я про него же ))
Andrey
Это лет пять-семь или больше. Хз, че я там такое творил.
Andrey
16.12.2014 судя по дате на файлах в облаке
Aliaksandr
Так ты его и делал или только верстал?
Andrey
Только верстал, причём не весь. Делал другие ребята.
Aliaksandr
Вот тебе и американские сайты 😁
Andrey
Ага)
Sasha
В 3.x при использовании стандартного парсера не вставляется ссылка на раздел типа [~N~] если у раздела нет алиаса. То же самое при прогоне контента через @evoparser
Aliaksandr
а можно как-то ускорить случайную выборку из БД. у меня сейчас select id limit 30 занимает 0.300ms, а тот же select id order by rand() limit 30 - 970 ms, разница в 2700 раз
Aliaksandr
сгенерируй 30 айди и выбери по ним
так как их сгенерировать? я предварительно и пытаюсь выбрать сначала 30 рандомных id с условием только по шаблону, а потом уже их в доклистер запихнуть и дальше. но уже на выборке одного поля id такой затык
Pathologic
а блин
Pathologic
ну просто rand
Serguei
Так он не знает сами id какие.
Pathologic
да пофиг
Pathologic
можно и все айди из таблицы выбрать и перемешать
Pathologic
точнее даже не перемешать, а выхватить из них 30 случайным образом
Konstantin
Ребят а кто под каким линуксом работает?
Pathologic
кубунту
Serguei
Ну так тогда придется абсолютно все id из таблицы вытащить и в массив запихать, а у него большая таблица.
Serguei
ну и что, что большая
Оперативку сожрёт :)
Pathologic
вот такой трюк я нагуглил
Pathologic
Оперативку сожрёт :)
несколько мегабайт
Aliaksandr
Да хз, ничего это все не даст. Там подходит 55К записей, если их все id взять это по времени примерно столько же сколько рандомно взять из них 30
Pathologic
а ты проверял?
Pathologic
там время на сортировку уходит
Aliaksandr
А этот трюк я и пытаюсь провернуть, взяв сначала рандомные id, а потом к ним уже прилепить всю строку
Aliaksandr
там время на сортировку уходит
Да, я пытался взять все 55К, потом им shuffle и array_slice 30 - еще дольше выходит немного
Pathologic
так тебе не нужно shuffle
Pathologic
просто сгенерируй 30 значений
Pathologic
а потом foreach ($rand as $key) {$out[] = $ids[$key]}
Pathologic
так должно быть намного быстрее, чем весь массив перемешивать
Pathologic
к тому же ты можешь взять не все 55к, а случайную тысячу из 55к
Aliaksandr
ну вот 3 варианта - просто 30 без сортировки, все без сортировки и 30 с рандомной сортировкой
Aliaksandr
боюсь, что случайную тысячу я буду брать еще дольше, чем случайную тридцатку )
Pathologic
так ты тысячу бери без сортировки
Pathologic
а из нее возьмешь на пхп 30 случайных
Aliaksandr
если только какой-то рандомный офсет подсовывать как вариант к этой тысяче
Pathologic
офсет будет тормозить тоже
Aliaksandr
ну так а так будет одна и та же тысяча из 55, тоже не вариант )
Pathologic
почему одна и та же
Pathologic
$id = 1000 * rand(0, 54) и select id where id > $id limit 1000
Aliaksandr
с офсетом таки быстрее
Aliaksandr
да там не подряд эти id, чтобы их через больше меньше брать)
Aliaksandr
ладно, попробую на офсет тогда переделать
Aliaksandr
Aliaksandr
13,9 лучше, чем 828 и тем более 904
Pathologic
Pathologic
че-то у меня на 24 тыщах все быстро
Aliaksandr
так у меня все записей 1404307
Aliaksandr
оно че-то даже на count(id) where template=3 тупит по 700мс
Aliaksandr
хз, может база какая глючная
Pathologic
нашел базу где 136 тыщ, там вся выборка 0.08 заняла
Pathologic
так что даже если в 10 раз медленнее будет на миллионе, то все равно это микросекунды
Pathologic
может у тебя индексы похерелись
Aliaksandr
Так он count всей базы тоже считает раз в 20 быстрее, чем по условиям template=3
Aliaksandr
Как будто да, индексы не работают )
Pathologic
на template может и нет индекса
Aliaksandr
Не, я пробовал и published=1 и deleted=0 по одиночке и все три вместе - один хрен примерно одинаковое время
Pathologic
так на них тоже нет индексов
Pathologic
id, parent, alias и type
Pathologic
вот и все индексы
Aliaksandr
В смысле? Это ж основные поля по которым все выборки идут? 😳😁
Aliaksandr
Я уже вырубил, завтра гляну
Pathologic
ну сделай SHOW INDEXES FROM modx_site_content
Konstantin
Ооох это какая-то, нахрен. жесть, часов 12 провозился с wsl, подключая в убунте домен под нестандартным названием (не на локалхосте с портами же сидеть, правда?), а потом активируя ларку X_X Из того, что выяснил - что в винде /windows/system32/drivers/etc/hosts, что в линуксе /etc/hosts лучше, чтобы запись нашего сайта была повыше, выше всех остальных локалхостов, а то оно ещё и с докером драться начинает. И чтобы было не только 127.0.0.1 domain.name, а ещё и ::1 domain.name. Затем логи ларки находятся в /storage/logs И если сайт выдаёт ларовскую 500 ошибку, надо сделать php artisan key:generate , а затем php artisan config:cache По итогу винда прекрасно видит раздел линукса, линукс прекрасно видит разделы винды, пхп шторм вообще всё видит, можно работать с локальным гитом и откатываться назад по-человечески в случае некорректных артизановских команд. Установка линукса вторым разделом пока отменяется. Что касается убунты под wsl, то советами реально помог вот этот индус: https://www.youtube.com/c/SonoosKB/playlists
Ikv
А сами файлы пакета создались? Если да, то попробуйте после этого composer update сделать. artisan бывает валится с ошибками, но composer за ним нормально подчищает.
пакет появился, с учетом кучи ошибок на терминале. Как возможно сделать composer update? Можно подсказать...
Oleg
Перейти в папку core и там запустить