• Оправдано ли дублирование полей в БД?

    @sergey_privacy
    Админ со стажем, начинающий DevOps
    Главная задача любой программы - работать быстро. Если без дублирующегося поля приходится делать более сложные запросы, которые выполняются намного дольше, то есть смысл в дублировании. Я неоднократно изначально "вылизывал" базу на этапе проектирования, исключая любое дублирование. Когда нагрузка достигала определенных величин, сервер переставал справляться с некоторыми запросами и слегка притормаживал. Анализ запросов показал, что добавление одного лишнего поля в одну-две таблицы позволит запросы сократить весьма значительно. Объемный пакет операций, который раньше занимал 1,5-3 минуты, стал отрабатываться за 5-10 секунд. Нормализация может быть хороша при достаточных объемах памяти, процессорных мощностях, определенном количестве пользователей. В реальных организациях зачастую ресурсы небезграничны и оптимизация приводит к дублированиям и увеличению объема данных в угоду скорости.
    Ответ написан
    1 комментарий
  • Оправдано ли дублирование полей в БД?

    Rastishka
    @Rastishka
    На MySQL делал так же, все нормально.

    Но в Postresql, насколько мне известно, можно давать права на определенные строки в таблицах, скорее всего так будет правильнее.
    Ответ написан
    Комментировать
  • Оправдано ли дублирование полей в БД?

    Arris
    @Arris
    Сапиенсы учатся, играя.
    Сравните выгоду от избыточности (скорость, в частности) и накладки от усложнения структуры (скажем, нужно обновлять на одно поле больше).
    Ответ написан
    Комментировать
  • С чего начинать развиваться веб-дизайнеру?

    @eoffsock
    Кодер (Rails)
    Первый этап — подумать, надо ли это вам вообще. К хорошему дизайну на кривой козе не подъедешь.

    Прежде всего: Майк Монтейро «Дизайн — это работа». Даже если не будете потом заниматься дизайном — книга все равно полезная.
    Во многом избавляет от романтического подхода вроде «дизайнер — это художник».

    Второй этап — учиться: смотреть и делать свое.
    Только, во имя всех скандинавских богов, смотреть не на Behance и Dribble. Там красиво, конечно, стиль, все дела, но в конечном итоге 95% работ там просто картинки.
    А веб–дизайн — в первую очередь сценарий. Дизайнер определяет то, как пользователь будет пользоваться сайтом: в его власти сделать интерфейс простым и ясным или запутать до невозможности.
    Посмотрите работы бюро Горбунова, особенно процесс создания.

    Соответственно свои работы тоже нужно рассматривать с точки зрения полезного действия, а не внешней красоты. Эстетика — это третий этап.
    Учиться значит читать, в первую очередь. Чтобы делать правильно — нужна система.
    Читать лучше от общего к частному, начать стоит с этого:
    Дональд Норман «Дизайн привычных вещей»
    Виктор Папанек «Дизайн для реального мира»
    Параллельно:
    Генрих Альтшуллер «Найти идею»
    37Signals «Getting Real»

    Веб — это интерфейс, значит:
    Джеф Раскин
    «Новые направления в проектировании компьютерных систем», «Об интерфейсе»
    Брюс Тогнаццини «Главные принципы интерактивного дизайна»
    Якоб Нильсен «Веб-дизайн. Книга Якоба Нильсена»

    Веб — это шрифт и текст, стало быть:
    Ян Чихольд «Новая типографика»
    Эмиль Рудер «Типографика»
    Нора Галь «Слово живое и мертвое»
    Саша Карепина «Искусство делового письма»

    Веб — структура и верстка:
    Тим Харровер «Настольная книга газетного дизайнера»
    Мюллер-Брокман «Модульные сетки в графическом дизайне»

    Оставлю за кадром книги по самоуправлению и переговорам, это уже другая фаза.
    Про английский язык и умение верстать уже сказали, повторяться не буду.
    Ответ написан
    6 комментариев
  • Какое оборудование и софт выбрать для "мультирума"?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Ну, буду немногословен, берите 5 штук rasberrypi, ставьте на каждый mpd www.musicpd.org и вперед.
    Упс. по запросу rasberry pi + mpd - habrahabr.ru/post/195458
    Ответ написан
    6 комментариев
  • Переменные в YII2?

    SamDark
    @SamDark
    Yii2 core team
    https://github.com/yiisoft/yii2/blob/master/docs/g...

    В контроллере:

    Yii::$app->view->params['breadcrumbs'][] = 'About Us';


    В layout:

    <?= yii\widgets\Breadcrumbs::widget([
        'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [],
    ]) ?>
    Ответ написан
    Комментировать