• Каков ответ логической задачи?

    @kazmiruk
    Задача вполне банальна для собеседований (спрашивали аналогичное в Яндексе пару лет назад, только про стакан и размножающиеся бактерии, но сути не меняет). Ошибка в постановке задачи. Если бы в самом вопросе четко звучало, что каждый день количество бумаги увеличивается вдвое, то вполне логичен ответ, что половина будет на n-1 день, так как количество бумаг в последний день N равно x, а в предпоследний x/2 (чтобы при увеличении вдвое получилось x).
    Ответ написан
    2 комментария
  • Зачем нужны события в yii2?

    MegaMufa
    @MegaMufa
    Событийная модель помогает строить слабосвязанную систему. Пример из жизни. Я сейчас работаю над SAAS платформой. Компания покупает учетку и выбирает за какие модули платить. Есть модули учета, проверок, для кадровиков и т.д. Модули должны взаимодействовать между собой, но любого модуля может не быть.

    Например при создании сотрудника в модуле "кадррезерв", его автоматически надо добавить в модуль "учета". Я не могу напрямую дергать метод из другого модуля т.к. заранее не известно, будет он куплен или нет.

    Вместо этого я бросаю событие типа user.created, а в модуле учета в обработчике этого события заношу пользователя в нужные списки. Получается, если модуля нет, то событие просто выброситься в холостую, а если есть, то запустится обработчик.

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

    Когда-то был в такой же ситуации, как ваш фрилансер.
    Я не стал вникать в причины заказчика, а просто уведомил студию, с которой работал, что мол заказчик обратился ко мне напрямую и я а) не хочу портить из-за этого отношений со студией, б) не хочу бросать проект незавершенным.
    Со студией мы работаем до сих пор, а вот заказчик после завершения очередного этапа проекта сбежал к другому фрилансеру подешевле, и насколько я знаю проект в итоге так и не запустили.
    Не буду рассуждать, кто прав/кто виноват, но своих работодателей нужно уважать, а любую ситуацию можно решить «по-человечески». Вот только «по-человечески» — у всех разное ;)
    Ответ написан
    Комментировать