• В чем юридическая сила графической подписи в PDF (Факсимиле)?

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

    @kot999
    можно денормализировать таблицу, добавить поле work_time (например) и высчитывать разницу в момент записи time_out, таким образом гораздо проще будет проводить поиск просто по колонке, не заставляя базу данных просчитывать каждую запись при каждом подходе.
  • Какой путь у контроллера yii?

    @kot999
    Что значит куда вставлять заголовок? в тело ответа http
    кусок кода который вы приводите на первый взгляд правильный, в чем собственно вопрос?
  • Поиск по среднему времени в связанной таблице?

    @kot999
    Разобъем вопрос на два: как выбрать всех пользователей у которых time > 10 минут
    select user_id,  avg(time_out - time_in) as avgtime
    from work_time
    group by user_id
    having avgtime > 600


    а теперь можем либо использовать эти id-шники во втором запросе, либо сделать inner join

    select id, name, usertime.avgtime from user
    inner join (
        select user_id, avg(time_out - time_in) as avgtime
        from work_time
        group by user_id
        having avgtime > 600
    ) usertime on user.id = usertime.user_id


    примерно так получится.
  • Поиск по среднему времени в связанной таблице?

    @kot999
    Вопрос явно не из мира "Yii" а из баз данных.
    и сводится к тому - как в таблице вычислить "среднее" значение между датами

    давайте представим что у нас условно 5 дат. упростим только до часов и минут

    10:10
    10:03
    10:14
    09:05
    12:30

    Какое здесь среднее значение между датами ? между какими датами? первой и последней? между соседними? может ли у них быть отрицательное значение ? (тоесть дата 2 раньше даты 1 )
  • Как правильно задать таймаут запроса в cURL?

    @kot999
    Вы работаете с curl, откуда взялся браузер? Какая конечная цель стоит?
    Нельзя ли больше деталей, мой шар гадалки сегодня мутный и ничего не показывает.
  • Какое окружение вы используете для разработки php?

    @kot999
    Vadim Stepanenko, Как написали коллеги выше - деплоить ничего не нужно, достаточно замэпить локальную папку внутрь контейнера.
    СУБД - такая которая нужна в проекте
    Клиент для БД - встроенный в PHPStorm очень удобен, как по-мне и поддерживает большое кол-во драйверов.
    Собственно и докером можно так же управлять из Шторма, не помню надо ли ставить доп расширения, или это работает из коробки, но в любом случае делается на изи.
  • Какие существуют хорошие готовые решения для реализации data transfer object на php?

    @kot999
    Златослав Десятников, мы же говорим про DTO, а не сущность. Если полей будет 20, а не 50 - конструктор будет сильно лучше?
    Константин супер решение - чтобы было удобнее работать с огромным конструктором - переписать проект на более новую версию языка. :)
  • В чём заключается ошибка?

    @kot999
    используйте IDE, таких ошибок не будет. Самая распространенная это PhpStorm, так же пользуются еще VisualStudio Code с плагинами.
    можно просто любой редактор кода с подсветкой синтаксиса.
  • Как в ModelSearch yii2 форматировать дату в unix?

    @kot999
    Настройте Xdebug и строчка за строчкой проверьте где не срабатывает поиск.
    не приходит дата из get запроса, потому что свойство модели не описано как safe?
    не корректно конвертируется дата в timestamp?
    в бд сохранен не корректный timestamp ?
    createDateFrom и createDateTo являются одним и тем же числом ?
    это минимум три причины почему может не работать поиск.
    Это больше похоже на гадание на кофейной гуще..
  • Какой стек технологии выбрать для сайта объявлений с посещаемостью до 500.000 в день?

    @kot999
    Если вы предлагали писать монолит на GO, мне кажется вы переоцениваете его, не лучший подход.
  • Как с помощью regex посчитать кол-во определённых набор символов с условием?

    @kot999
    6091c76dcc4a8679788176.png

    Парсер вырезал само выражение, приложу его скриншотом.
  • Что может а что не может содержать миграция?

    @kot999 Автор вопроса
    Adamos, Спасибо, тут согласен!
  • Что может а что не может содержать миграция?

    @kot999 Автор вопроса
    Спасибо за ответ!
    тоже слышал это неоднократно. Можно привести множество примеров миграций которые не имеют возврата к обратному состоянию - удаление любых данных, необратимое изменение их. и этого требует бизнес. Уверен каждый сталкивался с таким вопросом неоднократно.
    А что если мне необходимо периодически вносить изменения в базу данных, которые будут необратимы? Допустим, удалить всех неактивных пользователей. Давайте назовем их не-миграциями. создадим для них такую же (копию) инфраструктуры как для миграций. ( компонент котоырй будет запускаться каждый раз при деплое, проверять не появились ли новые скрипты и запускать их если да, отмечая в бд, после успешного окончания.
    Кроме названия это что-то поменяет? Я вижу для себя так, будто мы переизобрели миграции ( в плане инфраструктуры компонента миграций)
  • Что может а что не может содержать миграция?

    @kot999 Автор вопроса
    Благодарю за развернутый ответ!
    оказалось, довольно дискуссионная тема.
    В итоге я увидел из большинства ответов, что некоторые разработчики рассматривают миграцию:

    1. ТОЛЬКО как миграцию схемы бд и никак не самих данных (для остального делай костыли)
    2. Миграцию схемы и данных (в эту пользу говорят кучи примеров миграция на сайте фреймворка, а так же методы самих миграционных классов). Но какую-то другую работу, не связанную с бд - делай костылями
    3. Миграцию и обработку любых данных в нужной последовательности для корректной работы приложения.

    Я же просто использовал инфраструктуру миграций (по сути в любом фреймворке есть компонент который умеет в строгом порядке запускать скрипты миграций, только если предыдущий отработал корректно, и записывать результат о каждом удачно запущенном скрипте) для запуска таких вот обработчиков, которые не являются миграциями. Смотрел на это как: ну ок, перенесу я это в другую папку, сделаю еще один компонент. рано или поздно мне понадобится выполнить определенную последовательность:
    миграцию 1 из папки миргации, запуск одноразового скрипта из папки "одноразовые скрипты" и запуск миграции 2 из папки миграиции, это придется как-то хитро хэндлить или делать деплой поэтапно, что может занять весь день. так зачем изобретать велосипед?
  • Что может а что не может содержать миграция?

    @kot999 Автор вопроса
    Я специально придумал кейсы, которые не совсем "миграции" в классическом понимании (точнее даже совсем не миграции) в случае с assets - они выполняются при каждом деплое, здесь же надо изобрести что-то что запустится на каждом окружении только один раз. Так же, как это уже придумано с миграциями в Laravel, Yii, Symfony и уверен, многими другими фреймворками.
    Вот я как бы о том, можно ли использовать инфраструктуру миграций для решения не-миграционных задач. Иначе мне надо будет просто сделать копию инфраструктуры миграций (одноразовое выполнение скрипта, с записью отметки о том, что он уже был выполнен на этом окружении) только назвать его "не-миграции", что мне лично кажется изобретением велосипеда.
  • Что может а что не может содержать миграция?

    @kot999 Автор вопроса
    Я это понимаю, согласен. Однако "одноразовый скрипт который запустится после деплоя" и выглядит так же как миграция в большинстве ферймворков, Laravel, Yii2, Symfony. Выглядит так: давай сделаем такой же скрипт как миграция, только назовем его иначе.