Задать вопрос
  • Что делать, если тяжело работать?

    @HellWalk
    Классическая ситуация, когда компании нужен милд, но она не хочет платить соответствующую зарплату, а находит джуна, на которого сваливает задачи милда.

    Первое, что нужно - не винить себя. Работайте спокойно, делайте что в ваших силах и все. По поводу сроков - есть компании, у которых всегда срочно, и всегда сроки горят - не принимайте близко к сердцу, это просто такой стиль у руководства.

    Если на текущем месте работы есть пространство для развития - развивайтесь. Рекомендовать бросать компанию я бы не стал, так как не факт, что вы с текущими знаниями и опытом найдете что-то лучше. Давят со сроками практически везде - нужно просто выработать иммунитет к такому психологическому давлению.
  • Из-за чего возникает ошибка The EntityManager is closed?

    @HellWalk
    Спасибо, что указали на то, что EntityManager закрывается при любой своей внутренней ошибке.

    Парился сейчас с ошибкой "The EntityManager is closed", но оказалось, что ошибка была в SQL-запросе, о котором консоль скромно умолчала...
  • Как дату заменить на null?

    @HellWalk
    Если точнее - миграцию на UPDATE
  • Php, не хватает памяти?

    @HellWalk
    Классика жанра, локально все ок, потребление памяти занимает 56 мб.

    Это как бы тоже дофига. А значит можно локально оптимизировать.

    Увеличивать объем памяти это такое, можно 3 строчками кода съесть любой объем памяти.
  • Какой смысл mock объектов для юнит тестирования своего кода?

    @HellWalk
    Tokenchik, в теории да, юнит тест не должен вообще завязываться на другие классы. С другой стороны, с точки зрения практики, когда тестом покрывается ~50% кода - то хорошо бы, для начала, просто доводить этот показатель до 80-90%, плюс не лениться думать над плохими кейсами, которые сломают код.

    Вообще нужно понимать несколько уровней идеализма в тестах (по моей практике):
    1. Тестов нет вообще
    2. Есть немного тестов на самый важный функционал
    <= Где-то здесь команды начинают внедрять CI/CD =>
    3. Тестов больше, но из-за того, что кто-то в команде пишет больше тестов, кто-то меньше - покрыто примерно половина кода
    4. Добавляется второй слой тестов, например, помимо юнит тестов, пишут еще приемочные тесты
    5. Команда, пусть и не пишет 100% покрытия кода тестами, но старается покрывать тестами все бизнес-кейсы
    6. Аналогичного покрытия тестами добиваются и на другом слое тестов (например, на приемочных)
    <= Где-то здесь некоторые команды начинают писать отдельные тесты на фронт =>
    7. Стремление к 100% покрытию кода юнит-тестами
    8. Добавление мутационного тестирования
    9. Совсем-совсем идеальные юнит-тесты, где тестируемый класс не завязан на другие классы

    При этом нигде в рабочих проектах, я пунктов 7-8-9 не встречал вообще.

    Подводя итог: если на проекте нет тестов вообще, а потом вы решаете их писать по какому-то идеальному варианту из пункта 9 - расслабьтесь, и не пытайтесь прыгать выше головы. Промежуточных пунктов по улучшению тестов - вагон.
  • Get запрос к серверу на php?

    @HellWalk
    Локально на сервере сайт открывается? Если нет - я бы копал в сторону настройки nginx конфига (кстати, неплохо было бы его привести) + просмотр логов nginx по адресу /var/log/nginx/
  • Как сджойнить несвязанные сущности в QueryBuilder?

    @HellWalk Автор вопроса
    BoShurik, спасибо, не знал про такую тонкость
  • Как сджойнить несвязанные сущности в QueryBuilder?

    @HellWalk Автор вопроса
    Догадался сам, написал ответ, но раз вы тоже написали - удалил свой ответ и выбрал ваш решением.

    Из удаленного сообщения:

    Хотя, конечно, странно. Почему в SQL-запросе всегда пишется ON, а в QueryBuilder нужно писать WITH. Из-за синтаксиса DQL? Если кто-то разбирается - напишите.
  • Как сджойнить несвязанные сущности в QueryBuilder?

    @HellWalk Автор вопроса
    Но вообще по логике, эти сущности должны быть связаны. Во-первых, инфа дублируется зазря, во-вторых, нарушить консистентность базы проще простого.

    Это все верно, но конкретно эти сущности (не из примера в вопросе - это для теста, разумеется, а в рабочем проекте, где такая задача возникла) проектировал не я, в планы зарефакторить поставил пункт, но банальный запрос хочется написать без такого рефакторинга, тем более, нужно будет брать дапм с базы и проверять, "ляжет" ли на существующие данные внешний ключ - данные там могут быть уже "битые"
  • Влияют ли строгие рамки режима рабочего дня на продуктивность у удаленщика?

    @HellWalk
    На компьютер установлен трекер, отслеживающий твою работа над проектом. Желательно закрывать 8 часов. Каждые 5 минут скриншот твоего рабочего стола отправляется работодателю.

    Зачем работать в таких компаниях? Других предложений нет?
  • Авторизация идет на бэкэнде, но не проходит в фронте?

    @HellWalk
    lifesteall, по этому кусочку кода ничего не понятно.

    Нужен полный код проекта, чтобы можно было его развернуть и покрутить-посмотреть.
  • Авторизация идет на бэкэнде, но не проходит в фронте?

    @HellWalk
    Без примера кода сложно что-либо сказать (кроме того, что код кривой) - выложите проект на github и дайте на него ссылку.
  • Где в web-интерфейсе GitLab задается "maximum artifacts size"?

    @HellWalk Автор вопроса
    Дмитрий Шицков, Да, это уже понял и изменил комментарий)
  • Где в web-интерфейсе GitLab задается "maximum artifacts size"?

    @HellWalk Автор вопроса
    а Admin Area находится по адресу domain.com/admin?

    у меня походу нет доступа(
  • Реально ли найти стажировку удаленно?

    @HellWalk
    Попробуйте брать мелкие заказы на фрилансе.

    Фриланс для новичка - это путь мелких правок на вордпрессе и прочем мусоре, без git-а и прочих нормальных инструментов разработки.

    Лет за 5, конечно, можно кое-какой опыт получить, но лучше начать делать свой проект и делать его на современных подходах: docker + современный фреймворк + git + свой GitLab сделать через gitlab.com (бесплатного периода хватит) + все это на github и уже с таким проектом ходить по собеседованиям.
  • Как в Doctrine, в DBAL указать PDO::ATTR_PERSISTENT => true?

    @HellWalk Автор вопроса
    Нашли способ

    /**
         * @throws ConnectionException
         */
        public function tearDown(): void
        {
            parent::tearDown();
    
            //...
    
            $this->entityManager->getConnection()->close();
        }
  • Как в Doctrine, в DBAL указать PDO::ATTR_PERSISTENT => true?

    @HellWalk Автор вопроса
    Сделано все по официальной документации:
    https://symfony.com/doc/current/testing/database.html

    Последний пример с tearDown

    И там видно, что tearDown дергает parent::tearDown(), а там:

    static::ensureKernelShutdown();
    static::$kernel = null;
    static::$booted = false;


    И получается, как понимаю, что на каждом тесте он пересобирает ядро и все сервисы. И, соответственно, на каждый тест делает новое подключение к базе.
  • Как в Doctrine, в DBAL указать PDO::ATTR_PERSISTENT => true?

    @HellWalk Автор вопроса
    FanatPHP, т.е. вы предлагаете забить на падающие тесты?)
  • Тяжело ли сейчас найти работу Junior c++?

    @HellWalk
    Vilmof20,
    Да, оно сейчас мне не нравится, но, уверен, полюбю это дело, когда будет первый достойный выхлоп.

    Обычно, с годами, только нарастает отвращение :) (даже если его не было вначале)
    А если оно уже на старте... повод задуматься.
  • Тяжело ли сейчас найти работу Junior c++?

    @HellWalk
    Vilmof20,
    На что жить?

    Никто не заставляет вас идти в ИТ.

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