Михаил
Ребят, у меня вопрос. Делаю онлайн редактор twig на основе monaco editor, мне нужен пакет node.js который смог бы токинизировать подстроку с twig. Смысл в том, что бы улучшить автодополнение кода. Допустим пользователь печатает: customer. На момент точки мне нужно показать подсказки. То есть: 1) сначала поискать все переменные с таким именем до этого кода. И если нашли то узнать какого типа эта переменная, и что в ней лежит и желательно узнать как она менялась в процессе 2) поискать в глобальных переменных ( ну это уже работает) Так вот может кто-то делал подобное, у меня токенизаторы, которые я находил, не могли токинизировать подстроку, так как она не валидная может быть (что бред, потому что это токинизация)
Piotr
Привет всем!!! Может кто-то помочь с реализацией курсора MySQL? А лучше примером, статьей где есть это реализовано Спасибо
Piotr
хорошая статья на эту тему https://habr.com/ru/companies/lamoda/articles/455571/
Спасибо, правда там PostrgeSQL с MySQL нет случайно статьи?
Павел
Просто есть еще небуферизированные запросы и итераторы
Михаил
Что то не понял, а зачем нужны курсоры если можно делать: SELECT * FROM table WHERE ... OFFSET {i * limit} LIMIT {limit} ?
Михаил
почему?
Павел
почему?
Офсет плохо работает на сильно больших объемах, хотя курсор тут наверное тоже не особо поможет, если много данных одним потоком обрабатывать так себе
Павел
База тупо выдает с offset , но внутри весь предыдущий миллион все равно читается
Vlad
курсор как минимум фиксирует выборку
The Ant
почему?
Чем больше записей тем медленнее к концу. есть альтернатива запоминать крайний ид, и дергать > этого Ида с лимитом. Ну эт специфично конешь, если надо перебрать все записи.
Vlad
а если у тебя частые записи. ой ой
Piotr
Мне надо сделать тестовое задание, правда использование курсора как бонус Но мне самому стало интересно это реализовать
Михаил
Кстати, кто как решал проблему с каунтом в постгре на огромных таблицах? Я понимаю что в инете куча решений, но может вы находили то самое. которое работает лучше. или какой-нибудь плагин есть для этого дела?
Михаил
Piotr
Реализуйте API-метод для генерации файла каталога книг (title, price) для скачивания. Обеспечьте возможность агрегирования данных с использованием курсоров для эффективной обработки большого объема данных.
Михаил
Выпендрись и сделай Map reduce ))
Piotr
у меня только две недели, и они на исходе я тут за это время и Симфони учу в голове каша )))
Михаил
Ты джун?
Piotr
Опять же можно и без орм
если есть пример такой реализации, буду благодарен
Павел
Позиция явно не джуновая раз за курсоры спрашивают. Ниразу не приходилось использовать
Piotr
Ты джун?
в Symfony да
Михаил
джунов иногда по алгосам гоняют (что полный бред)
Piotr
я больше по Ларавел
Павел
я больше по Ларавел
И как в Ларавел с курсорами дела?)
Михаил
Ну в задачи нет ни слова про доктрину или симфу Реализуй как тебе будет удобно
Piotr
И как в Ларавел с курсорами дела?)
там есть эта реализация
Михаил
блин, ну опять ларавель - 100500, симфони - 0
Павел
там есть эта реализация
Если это https://laravel.demiart.ru/offset-vs-cursor-pagination/ То это не курсоры
Павел
Ну и это судя по описанию тоже не курсоры
Павел
А просто итератор который есть и в Симфе
Piotr
Ладно, спасибо за отклики Немного подумаю еще
Михаил
Если это https://laravel.demiart.ru/offset-vs-cursor-pagination/ То это не курсоры
кстати в статье пишут что "Cursor-пагинация быстрее offset-пагинации примерно в 400 раз"
Михаил
курсор пагинация у лары это "select * from users where id > 10 order by id asc limit 10;"
Михаил
я к тому что Пётр может выбрать этот способ и обосновать его тем, что таким способом курсоры реализованы в ларе
Михаил
И предъяв к нему не будет
Павел
Там чуть подальше про Keyset Pagination (Seek Method) . Но вот тоже в Ларе вечно называют так, что всё путает - ппц конечно
Павел
Что их фасады, что курсоры
Михаил
А с фасадами то что? Просто сервис дёргающий другие сервисы
Павел
А с фасадами то что? Просто сервис дёргающий другие сервисы
C тем, что их фасады - это не паттерн фасад. А просто быстрый доступ к DI через статику. Что в целом антипаттерн можно сказать, и начинает проскальзывать в чатах "Паттерн фасад гавно, антипаттерн, вы видели его в Ларавел?"
Михаил
ааа, ну тогда да, булшит
Павел
Ну а как решение задачи ТСа влоб: 1) Разобраться как работают курсоры в мускуле нативно 2) Научиться делать запросы без орм 3) Если надо ОРМ, то result set mapping
Павел
Опять же про добавляет или нет, хз
Михаил
ну да, и следить чтоб не было сохранение подсущностей куда-нибудь в массив или переменную. А то я так делал в итоге из неоткуда появлялись insert-ы
Павел
ну да, и следить чтоб не было сохранение подсущностей куда-нибудь в массив или переменную. А то я так делал в итоге из неоткуда появлялись insert-ы
Ну так зачем флашить то) опять же перед записью можно просто собрать данные в буфер а потом уже что то делать.
Михаил
да я уже не во что не верю и ничего не жду
Михаил
давно на чистые sqlники перешёл
Павел
В целом если задача про объёмы, то орм это замедление по всем фронтам. Вряд-ли нужно по всей базе сделать какую то бизнес операцию
Павел
И мы начинаем именно на курсорах делать оптимизацию)
Михаил
доктрину так, для чего-то простого использую и прячу её далеко-далеко за интерфейсыми
kakoi-to-noob
доктрину так, для чего-то простого использую и прячу её далеко-далеко за интерфейсыми
ничего не мешает в тот же DQL данные в массив мапить или DTO при больших выборках , тут уже от конкретной задачи в плане применения надо отталкиваться
Михаил
Мой брат учил меня не обращать внимания на всё то, что идёт до слов «тут уже от конкретной задачи надо отталкиваться» @ Альберт Эйнштейн
Станислав
привет помогите пж как кеш очистить симфони кеш в доке вот так, а пишет Could not open input file: bin/console
std::mechanicus
Проверь права на папку ещё
Станислав
Symfony/console установлен?
поставил тепреь,а как запустить жэту команду
Станислав
Symfony/console установлен?
точнее как эту дефолтную команду добавить, у меня нет её в списке
Станислав
Так ты руками собираешь фреймворк чтоль?
я симфони кеш тока установил отдельно вот он нужен и всё
Станислав
Так ты руками собираешь фреймворк чтоль?
я похоже понял что нужно отдельно написать какие пулы удалять типа там свои у меня свои да?
Vlad
Да и разогрев кэша
Aleksandr
вау как интересно
Aleksandr
почему это никому не интересен дополнительный заработок?)
Юра
У нас в компании ищут разрабов. Проекты на симфе. Компания европейская. Кому интересно пишите в личку
Aleksandr
а, не, не прошел)
The Ant
а в симфе нету такого да, чтоб на ласт ретрае задачи ченить сделать?