• Как разобрать зависимости без лямбда-замыканий, какая архитектурная ошибка допущена?

    index0h
    @index0h
    Григорий Васильков Вы пытаетесь прострелить себе ногу разрывным...
    Не надо делать из процесса проверки данных rocket sience. Выполняйте проверки того что нужно, там где нужно, этим вы снизите сложность вашей системы.

    Есть один подход (правда геморный), но очень экономящий время + убирающий целый класс ошибок:
    обязательная валидация аргументов И на тип И на граничные значения в каждом публичном/защищенном методе, в приватных можно только тип. Звучит стремно, я сам к подходу привыкал пару месяцев, но профит, который дает этот подход с лихвой окупает время затраты.
    Вот вам чтива: https://github.com/index0h/php-conventions

    Что касается кодов сообщений - плохая идея, есть нейтивное средство: множественный catch по исключения. Получив запрос - валидируйте его сразу в контроллере, если что не так сразу возвращайте ответ с user-friendly ответом. Если после этого словите исключение и оно не ожидаемое - пишите в лог, а юзеру отвечайте - дерьмо случилось, мы уже работаем. Если же ожидаемое, например юзер не авторизирован - можно ему отдельную текстовку про это написать.
    Что касается конкретно валидаций простых значений - можете взять на вооружение: https://github.com/ko-ko-ko/php-assert . Этот пакет спроектирован на максимальную производительность, относительно нейтивных проверок в стиле if !valid { throw ... }.
  • Как узнать содержимое образа?

    index0h
    @index0h
    zlodiak, ну да, у вас два образа на выходе
  • Аналог CRON на PHP?

    index0h
    @index0h
    xmoonlight Я кажется понял, в чем суть вопроса: есть какое-то количество хостеров с вот такими стремными ограничениями, но бесплатных и могущих в паразитную нагрузку на целевые системы. Управление этой нагрузкой - через задачи из мускуля, или еще как-то будут передаваться, нужен был только способ запуска. По крайней мере более осмысленной причиной пользоваться чем-то подобным я не вижу (ну кроме чистой статики).

    Lust, я прав?
  • Аналог CRON на PHP?

    index0h
    @index0h
    @theblackpost
    Если у вас чисто спортивный интерес - ответ xmoonlight вполне рабочий.
  • Аналог CRON на PHP?

    index0h
    @index0h
    @theblackpost
    не можем мы лезть в настройки php.ini и прочих модулей. Хостингом запрещено усё)

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

    index0h
    @index0h
    edward_freedom,
    ну я бы не сказал, у меня (в Мариуполе), хлеб стоит 6-8 грн

    ок, цену взял с сайта Novus в Киеве, пускай так, целых 3 буханки украинского))
  • Аналог CRON на PHP?

    index0h
    @index0h
    xmoonlight
    - довольно странно?! Не находишь?)

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

    Lust
    Мы имитируем самые ужасные условия))

    Ок, файлик в своем каталоге через php хоть можно создать? Функция ignore_user_abort отключена? Апач рубит процесс жестко рубит процесс по истечении ttl, или можно таки задать set_time_limit(0) ?
  • Аналог CRON на PHP?

    index0h
    @index0h
    xmoonlight, то, что нет доступа через ssh для пользователя - вовсе не значит, что нет доступа к функциям, типа shell_exec, или еще каким. Безусловно, если функции для работы с консолью из php анально огорожены - ваш вариант остается чуть ли не единственным, хотя это и костыль.
  • Аналог CRON на PHP?

    index0h
    @index0h
    может лучше скрипт управления и скрипт демон? Первый доступен с http и запускает/останавливает второй консольно.
  • Стоит ли работать под руководством человека, который все переделывает на свой лад?

    index0h
    @index0h
    zavodp
    решения более квалифицированных коллег понятны только тогда, когда разрыв между вами не велик

    Согласен, когда подрастете как специалист, продолжим этот разговор))
  • Стоит ли работать под руководством человека, который все переделывает на свой лад?

    index0h
    @index0h
    zavodp,
    Вы так гордо пишете, будто руководили этой командой.

    Не руководил, всего лишь ответил на ваш вброс про
    Еще не сталкивались с действительно сложными проектами?


    А с уровня обычного джуна - решения старших товарищей кажутся "странными", как и топикстартеру.

    Вы начали вбрасывать глупости, вам начали на них указывать, в том числе и я.

    Тогда разжуйте нам, глупым, а почему так странно поступает наставник топикстартера.

    Да ничего странного в его действиях нет. Причины топик стартер вполне раскрыл в комментариях к другим ответам.
  • Стоит ли работать под руководством человека, который все переделывает на свой лад?

    index0h
    @index0h
    @zavodp
    Вы не представляете, что существуют проекты, где где этого совершенно недостаточно?

    Вы вообще читали что я написал, или только вырываете фразы с контекста?
    Конечно же недостаточно, но и рвеью и написание кода это немного упрощает.

    Еще не сталкивались с действительно сложными проектами?

    Да куда мне, с десятилетним монолитом и командой в 600 инженеров.
  • Стоит ли работать под руководством человека, который все переделывает на свой лад?

    index0h
    @index0h
    zavodp
    Я вам с самого начала толкую о нерентальности/рентабельности решений в том или ином случае.

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

    Для вас себестоимость решения значения не умеет - полагаю, просто потому что получаете зарплату и решаете технические задачи. Не вникая при этом в то, нужно ли это или нет, полезно ли это для бизнеса или нет.

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

    Вы предлагаете мультиплицировать затраты времени в команде? Теперь каждый должен "просто прочитать по ссылке"?

    Полярный лис, вы серьезно? Написать в README.md пункт в стиле:

    Запуск валидации кода на JS
    -----
    
    ```bash
    eslint ./jsApp
    ```

    Для вашей команды "изучить" подобное сложно?
  • Стоит ли работать под руководством человека, который все переделывает на свой лад?

    index0h
    @index0h
    zavodp,
    Это не так.
    Это так как вы пишете - только в примитивных проектах.

    Аргументируйте.
    У меня просто диаметрально противоположный опыт: чем больше команда и проект - тем более драконовские должны быть требования к качеству. При этом автоматические проверки только ускоряют процесс, как написания кода, так и ревью. Когда я провожу ревью это выглядит примерно так:
    1. Мерджу проверяемую ветку без коммита
    2. Запускаю проверку инспекций/кодстайла, обычно этот довольно быстрый процесс.
    3. Параллельно запускаю тесты и начинаю смотреть сам код.
    4. Все найденные ошибки пишу в комментариях к мердж реквесту и отправляю обратно.
    Если базовые инспекции не пройдены - код даже не смотрится. Если какой-то из тестов сфейлился - код дальше не смотрится.

    Ну или когда мы искусственно подгоняем проект не под то как удобнее нам, а под то, как удобнее настроить линтер.

    Удобство - это очень так себе критерий оценки качества. Если какая-то из проверок линтера мешает конкретно вашему проекту, дык отключите ее.
  • Стоит ли работать под руководством человека, который все переделывает на свой лад?

    index0h
    @index0h
    zavodp,
    Проверьте мне мой код.
    Где в 50 подкаталогах 6 языков

    Эм и в чем проблема? CodeStyle/Inspections закоммиченные в вашем проекте вполне ускорят этот момент.
    Причем для каждого из этих языков. Еще раз, я не говорю вам что надо писать внудервафлю, которая будет где-то там подвязана под git хуки и красиво подвязывать отчеты в ваш таск менеджер.
    Я говорю про настройки, которые у вас и так есть в ide, в чем проблема их экспортировать и уведомить команду об этом? Если у вас юзаются внешние средства, типа eslint, go vet, ... - тем более настройки для них лучше сразу вкоммитить. Это реально экономит время.
  • Стоит ли работать под руководством человека, который все переделывает на свой лад?

    index0h
    @index0h
    zavodp
    Это только слова. Они даже выглядят красивыми. Для новичков. В реальности - мир иной.
    И просто подумайте, посмотрите вокруг себя - а почему 99% до сих пор не автоматика

    По идее вы сравниваете красное и мягкое, кодстайл - это штука, которая меняется довольно редко, а настраивается относительно быстро, проверяется тоже быстро. Добавить в репозиторий настройки по проверке (даже в рамках просто ide) - на порядки дешевле, чем каждый раз проверять вручную.
    Что касается базовых инспекций, в стиле "переменная объявлена и не используется" - для ide их тоже довольно быстро можно настроить и добавить в репозиторий. Временные затраты на поддержку такого решения мизерные. А вот экономия времени на поиске подобных детских ошибок во время код ревью - огромная.
    Если у конкретного dev-а фибры души не лежат к ide, для которого подготовлены конфиги - да не вопрос. Пусть не использует. Но требования, все равно обязан выполнять.

    Нужно ли при этом поднимать CI систему - да как бы не факт. Для крупных команд - очень возможно, для средних/маленьких - скорее нет, чем да.
  • Как в Symfony сделать предварительную инициализацию модуля (бандла)?

    index0h
    @index0h
    @gzhegow
    Если вы так хотите прям разделить работу пусть первый пишет в каталоге src/Services/FirstVeryPerfectService, а второй в src/Services/SecondVeryPerfectService. По БД с вашим Eloquent все равно система будет связана по самое не балуйся, роутинг можно разделить на несколько отдельных yml файликов для первого и для второго.
    Контроллеры тоже по каталогам делятся
  • Как в Symfony сделать предварительную инициализацию модуля (бандла)?

    index0h
    @index0h
    Григорий Васильков,
    Короткий вопрос, блин это всегда так чтоли? Мои ребята (и я) башкой упадут просто не забыть, что это всё нужно иначе оно не взлетит.

    Вовсе, вы придумали проблему и пытаетесь ее героически решить поедая кактус.