The Ant
bin/console ca:cl
Эта команда какая-то странная. Она не удаляет кеш полностью. Хз чё делает, я не вдавался в подробности, но по ощущениям пытается перестроить то что изменилось. Т.к. часто бывают всякие сайд эффекты.
Михаил
Ну по моим расчётам
Какл и rm -rf + вармап одинаковы
The Ant
Что-то вроде, кеш сбросил типа, а зависимость все равно не резолвится. И пока хард делит не сделаешь, не починится
Ulugbek
тут можно найти исполнителя?
Ulugbek
Михаил
Фриланс биржа в помощь
Null
Подскажите, чтобы велосипед не изобретать.
Есть приложение.
Хочу централизовать как-то поиск мест, где в результате ленивой загрузки из бд выполняется слишком много запросов.
The Ant
Null
Ну вот я дошел пока до того, что на дев окружении сделал сабскрайбер на начало контроллера и ответ его.
Стартую логгер и если в конце ответа запросов больше 10 в логгере - делаю действия.
Но, как правило, когда такое пишешь - уже кто-то до тебя подумал и вообще есть или бандл или строчка конфига в ямле.
Михаил
Так я тебе назвал два решения…
Vlad
Tracing:otel,sentry, opentracing
Vlad
Вы сразу к е2е перешли
Vlad
)))
Михаил
Хотя ну его нафиг
Михаил
С текущими законами так лучше не шутить
Ivan
Как мне собрать less плагин на сервере?
у меня нет в корне pacckage.json и признаков того что есть галп, грант...
есть вот такая конфигурация в симфони:
assetic:
debug: "%kernel.debug%"
use_controller: false
filters:
less:
node_paths: [ "/usr/local/lib/node_modules" ]
apply_to: ".less"
yui_css:
jar: "/usr/share/yui-compressor/yui-compressor.jar"
yui_js:
jar: "/usr/share/yui-compressor/yui-compressor.jar"
ну попробуй "bin/console assetic:dump"
Я просто не пойму нужно собирать эти пакеты в ручную или как? Судя по всему нет они собираются на лету при открытии страницы так как я скопировал все исходники сайта и там нет этих файлы уже в собранном виде но они не подтягиваться на странице
Что бы в симфонии заработало это в шаблоне Твиг
{% stylesheets '@AppBundle/Resources/public_source_new/less/*.less' filter="?cutcomments,?yui_css" output='bundles/app/css/main_new.css' %}
The Ant
Ля вот эта дичь в ивенте kernel.controller_arguments преобррразуется в резолвер натуальный в методе $event->getArguments()
Фиксится? я не нашол
The Ant
The Ant
Aleksandr
https://www.youtube.com/watch?v=ZWcgx0c2nGs
Dmitry
Нужен совет знающих людей, на проекте используется DoctrineMigrationsBundle, при деплоях сразу применяются миграции, после чего обновляется код, но есть ситуации когда необходимо сразу обновить код, а потом применить миграции (например удаление поля из бд), как лучше это сделать? Сейчас это происходит разделением релизов на два, но может быть есть лучшее решение?
Иван
Dmitry
и вроде идея сделать что бы миграции выполнялись после релиза выглядит здраво, но миграции нужно как-то разделить
Dmitry
и вроде бы можно было бы через костыли, например используя skipIf и переменные окружения , но подумал может есть более правильное решение
Юра
Обычно деплой разбивается на несколько деплоев
Nikolay
Павел
Сценарий может быть и такой, что подготовка БД к фиче может вообще занять часы или дни. Так что доставка фичи на прод за несколько релизов - нормальная практика
Иван
плюс надо понимать, что на реально больших данных обновление столбца - не элементарная операция и может залочить всё, если бездумно гнать
Юра
/https://docs.percona.com/percona-toolkit/pt-online-schema-change.html
Юра
Помню когда-то использовал, норм было
Юра
Если кратко создаётся новая таблица, настраиваются триггеры которые в нее новые данные синхронизируют пока идёт копирование со старой таблицы, потом происходит ринейм таблицы
Юра
И хоть десять миллионов там строк, оно себе в фоне копирует
Юра
Возможно сейчас есть уже более продвинутые инструменты, не в курсе честно
Михаил
Михаил
Вообще странную шизу словил. Вылил изменения, у меня 2 миграции.
1 выполнилась успешна, а во второй была ошибка. Так вот, я думал что миграции применяются в транзакции. Но первая миграция бд изменила а вторая нет.
В итоге мне пришлось откатить код и какое-то время приложение проработало вот в таком подвешенном состоянии.
Dmitry
Dmitry
но судя по всему просто практикуется практика разделять на несколько релизов, хотя этот вариант мне не сильно нравится из-за того что какое-то время в мастер будет ошибка валидации схемы
Михаил
Ну в таком случае ничего кроме составления сценария релиза я не могу предложить.
То есть сделайте какую-нибудь автоматизацию которая будет деплоить новую версию и проходить заранее оговоренные шаги
try:
bin/console d:m:m migration_name_1
pull new app version
bin/console d:m:m migration_name_2
otherwise:
bin/console d:m:m prev
pull new old version
bin/console d:m:m prev
Может в каком-то джеркинсе это есть
Юра
Да это слегка геморно но это работает
Юра
В больших проектах так оно и делается небольшими кусочками
Dmitry
кто где бд проектирует ?
использовали аи для таких штук?
Anton
jsonb правда нету 🙃
Aleksandr
товарищи, если вы знакомы с сф и сейчас в поисках отличного места - пишите)
Михаил
Наконецто мои 8000 часов в доте помогут устроиться на работу!
Aleksandr
Kirill
Михаил
Ухх, собес жёсткий намечается
Spider
Михаил
Что такое сф? Страховой фонд, Совет федерации ?
Nikolay
Niki
Сан Франциско
Михаил
Я думал Александр про доменку какую-то
Михаил
Ладно, у нас разные представления о логичности, в любом случае я нашёл его вакансию
Михаил
вилка вкусная )
Aleksandr
Михаил
Народ, оффтоп, но меня интересует.
У кого из вас на среднем пальце ведущей руки, между ногтем и фалангой (или на фаланге) есть мозоль. Ну или шишка, уплотнее.
Это точно не от телефона и я не пишу ручками/карандашами, но частно работаю за ноутом. Читал что это «Писательская мозоль», но неужели на есть ещё и у itшников
Александр
Dmitry
кто-нить разбирал isGranted под капотом ?
я правильно понимаю что в isGranted помимо ('EDIT', $object) и ('ROLE_USER') можно также туда запихивать аттрибуты, например название к функционалу ('generate_reports_for_employees')
это правильное использование isGranted ?
и для каждого такого использования свои кастомные вотеры ?
ну и все в getRoles просто как-то запихнуть через кастомный провайдер?
мы просто хотим и по фичам и по ролям и по пермишенам проверять доступы к функционалу
Dmitry
смущает только то что в getRoles это все подпихивать, буд-то немного не то название
Dmitriy
имхо проще симфони секурити вообще не использовать )
Павел
Dmitriy
проще свое написать.. мы используем своего сабскрайбера на onKernelControllerArguments
Dmitriy
секурити слишком универсальный, отчего достаточно сложный в настройке и использовании
Михаил
Я свой тоже написал как надстройку над секурити.
Секурити делает грубые штрихи в безопасности, а моя либа тоньше работает.
Dmitry
Михаил
да по разному.
Если это easy-admin контекст, то пакет заражает этот контекст правилами доступа определённой роли к определённой сущности
Если это апи ручки, то листенер при запросе смотрит есть ли у метода или контроллера специальный аттрибут и сам решает что делать
Михаил
Опыт работы 10 лет на доработку веб сайтов?
Иван
Иван
я думаю
Михаил
Ааа, или типо вы 10 лет на рынке
Александр
Ну написано же в шапке "резюме")
Михаил
Ну и вот нафига это в чате где разрабы сидят