Ответы пользователя по тегу Микроконтроллеры
  • Кеширование данных "правильнее" описывать в модели или контроллере?

    @egorinsk
    Волшебные методы — зло. Человек, которому придется отлаживать ваш код, потом вас заживо на кладбище закопает.

    Стоит ли кешировать простые выборки (по id) — спорный вопрос, для ненагруженных проектов — не стоит. Кешировать стоит сложные выборки, и в некоторых случаях, куски HTML.
    Ответ написан
    1 комментарий
  • Смена места жительства. Перепрофилирование. Удаленная работа. С чего начать?

    @egorinsk
    Тяжело будет переходить с серьезных продуктов на всякие Джумлы и прочий кривокод. Там все работает на костылях. Также, если у вас нет хороших знаний технологий и навыков, вам очень трудно будет конкурировать с теми, у кого они есть, и с теми, у кого их нет, но кто готов за еду работать.

    Node.js имеет как преимущества, в виде приятного языка в основе, так и недостатки — отсутствие некоторых библиотек.

    Может, вам стоит себя попробовать в программировании игровых продуктов, типа всяких серверных модулей для браузерных игр? Там как раз node.js может пригодиться (хотя Си++/Java конечно гораздо лучше подошли бы). Или вот вам советуют, приложения под айфон/андроид — хороших специалистов мало, а востребованность есть.
    Ответ написан
    3 комментария
  • Насколько оправданно решение с контроллерами-не-классами?

    @egorinsk
    В чем преимущество $GLOBALS['router']->… перед App::getRouter()->....?

    Второй вариант: 1) позволяет в 1 месте заменить роутер на другой, позволяет писать аккуратный код без глобальных переменных, красивее. У первого варианта преимуществ нет.

    По поводу расхода памяти — расход памяти у вас будет, если много классов и создается много экземпляров, а если у вас 1 статический класс App, оверхеда почти нет.

    Контроллеры-объекты поддерживают наследование, что бывает удобно. Но вообще, хороший фреймворк позволяет написать код вида:

    require_once 'framework-bootstrap.php';
    if (!App::TableGateway('People')->add(array('name' => 'John', 'surname' => 'Johanson'), $errors)) {
    die( «Error»);
    } else {
    App::templateEngine()->render('success.html');
    }

    И оставляет автору выбор, использовать объекты или нет.

    По поводу PHP-библиотек и фремворков — не смотрите на них. Среди известных библиотек много абсолютно неадекватных вещей, которые портируют к примеру с Явы, не отдавая отчета что цена объекта/класса в PHP/JAva разная, производительность разная, цикл работы разный. В итоге получаются монстры типа Zend или уродливого порта Hibernate.

    Я вообще крайне плохо отношусь к Open-source продуктам на PHP, их пишут как попало, бездумно, и не советую брать с них пример, а думать своей головой.

    Логгер вам не нужен — пишите либо App::log(string) либо сразу file_put_contents('', '', FILE_APPEND) — все равно эти логи никто читать не будет.
    Ответ написан