• Подскажете ноутбук с долгим временем автономной работы?

    alexclear
    @alexclear
    A cat
    Как ни странно, в обзоре у коллег получилось на этом ноутбуке почти 5 часов автономной работы. Но, я думаю, Wi-Fi surfing - это совсем не то же самое, что нужно Вам. Поэтому, у Вас время автономной работы будет часа 3-3.5.
    Ответ написан
    1 комментарий
  • Подскажете ноутбук с долгим временем автономной работы?

    oia
    @oia

    0
    Не посоветуете ноутбук с длительным временем автономной работы?
    так и быть не скажем не используй ноутбук )
    Ответ написан
    4 комментария
  • Почему при попытке настройки конвертации .scss в .css вылезает ошибка?

    У вас скорее всего проект лежит в папке, полный путь которой содержит русские буквы.
    Например \Projects\FORC\сайт.рф\git
    сасс в таком случае будет ругаться.
    Ответ написан
    4 комментария
  • Необходимо ли писать дополнительные методы в модели, чтобы вытаскивать некоторые данные?

    nowm
    @nowm
    Если вы уже до этого получали все данные пользователя из БД, то лучше просто возвращать эти данные из свойств UserController. Да, метод отдельный не помешает, но не обязательно генерировать запрос к БД.

    Например, если вы уже подгружали пользовательские данные раньше и сохраняли их куда-нибудь вроде $this->_model:

    class UserController extends Controller {
      var $_model;
    
      public function loadModel($id) {
        $this->_model = User::model()->findByPk($id);
    
       // ...
    
        return $this->_model;
      }
    
      // ...
    
      public function getBirthday($id) {
        if (isset($this->_model->date) && $this->_model->user_id == $id) {
          return $this->_model->date;
        } else {
          $criteria = new CDbCriteria;
          $criteria->select = 'date';
          $data = User::model()->findById($id,$criteria);
          return $data !== null $data->date : null;
        }
      }
    
      // ...
    
    }


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

    Ваш подход, в принципе, не особенно сильно повлияет на работу сайта — подумаешь, один лишний запрос к БД. Но, вообще, такой подход — неправильный. Тут один лишний запрос, там один лишний запрос. Они в итоге собираются в кучу лишнего потребления ресурсов.
    Ответ написан
    2 комментария
  • Laravel или Yii - на чем лучше на данный момент начинать разработку сайта? В чем отличия?

    @AlexGx
    Yii2 developer, business analytics
    Для себя этот вопрос решил в пользу Yii. Yii и Симфони2 (и его форки), это немного разные ниши.

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

    Yii: относится больше к практичным фреймворкам.
    Преимущества:
    -Проще изучить.
    -Меньше магии.
    -Меньше слоёв.
    -Меньше конфигурации.
    -Простой и удобный API.

    + ко всему этому хорошая документация, комьюнити, пожалуй самый быстрый PHP фреймворк на данный момент.
    ++ Yii может работать с компонентами Symfony 2, ZF2 и всеми библиотеками из Composer.

    Презентация по теме: PHP, фреймворки, Yii2

    Интересует мнение знающих людей, что гибче для настройки?
    Не могу сказать что один из них более или менее гибкий чем другой, но в Симфони сам процесс конфигурации всегда занимал у меня чуть больше времени.
    В чем их принципиальные отличия в архитектуре, в чем основные отличия?
    Постарался ответить в посте, также посмотрите презентацию.

    PS да мой ответ предвзятый, я нахваливаю Yii =)
    Ответ написан
    7 комментариев
  • Как получить чистый Yii?

    ну по сути генерируется как раз самый минимум. как правило у вас будет в БД таблица, к ней контроллер, модель и вьюшки. Плюс дефолтный SiteConroller и вьюшки с лэйатуами.
    Начните делать проект - сами увидите, что нужно, а что нет.
    Ответ написан
    Комментировать
  • Использовать ли ActiveRecord в высоконагруженных проектах?

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

    Если возникают проблемы с производительностью:

    1) Во всех проектах используем:CProfileLogRoute с настройкой CDbConnection.enableProfiling=true
    Расскажет много полезного.

    2) Если видим lazy Loading — не забываем добавлять в with("") нужных релейшинов, используем together() принудительно где нужно.

    3) Если используем findAll() на большом количестве записей — используйте CDbCriteria.select и перечисляйте только необходимые колонки, это поможет значительно повысить производительность.

    Рекомендую детально изучить изнутри — как работает CActiveRecord, CActiveFinder
    Используйте расширения типа XDebug для детального профайлинга проекта.
    Основные потери производительности происходят внутри метода
    CActiveRecord.populateRecord — посмотрите — что происходит внутри.

    4) Все редкообновляемые данные очень легко кэшировать связкой:
    CTimestampBehavior + CDbCacheDependency('SELECT MAX(update_time) .... where...');
    Если таблица редко обновляется, то и этот запрос будет отрабатывать мгновенно. Mysql тоже сам кэширует результаты таких запросов.

    В результате — мест, где приходится отказываться от ActiveRecord остается очень мало.
    Скорость отдачи страниц держим на уровне не более 0.1 с.

    Если у Вас будут действительно высокие нагрузки, Вас врятли спасет один только отказ от ActiveRecord:
    Посмотрите:
    Yii: устройство ActiveRecord и Шардинг
    Шардинг MySQL на Yii Framework

    Также задумываем для одного проекта попробывать www.yiiframework.com/extension/yiimongodbsuite/ с auto-sharding
    Ответ написан
    Комментировать