• В чём суть шутки про ноги в С/С++?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    Давным давно, на диком западе пользовались не очень безопасными револьверами. Нормального предохранителя не было, заряжать револьвер - слишком долго. Поэтому ковбои часто могли ходить с заряженными револьверами. А там было несложно неудачно дернуться, и собственно выстрелить себе в ногу.

    Любой инструмент, которым нужно пользоваться аккуратно, может привести к тому, что процесс упадет, возможно даже поломав другие процессы вплоть до синего экрана, то есть "выстрелишь себе в ногу".
    А с/с++ достаточно низкоуровневый язык, в котором нужно о многом думать.
    Забыл выделить память под переменную - выстрелил в ногу. Забыл освободить память - утечка накопилась - выстрелил в ногу. Перепутал указатель с указателем на указатель - ...

    В более современных языках работать проще, многое за тебя уже продумано и автоматизировано (garbage collector, например)
    Ответ написан
    Комментировать
  • Разве Composer бесполезен в 2017?

    search
    @search
    мама говорит что я особенный
    Композер - это, пожалуй, лучшее что произошло с пхп 5й версии.
    Валить или переубеждать тимлида - это по сути одно и тоже, если присмотреться. Просто демонстрация вашей неспособности брать на себя ответственность.

    Года 3 назад на моей прошлой работе в команду пришел очень толковый проактивный человек, который никого не стал переубеждать. Он просто стал делать правильные вещи. Без объяснений. И без приглашений. Коммитеть юнит тесты. Подключать линтеры. Деклайнить неудачные пулл-реквесты. В итоге он сам стал тимлидом где-то через год.

    Такие дела.

    Не у всех, правда, стальные яйца. Но за проактивность никогда еще не увольняли. Если вы уже создали пулл реквест, то "переубеждение" становится задачей тимлида.
    Ответ написан
    3 комментария
  • Чем плохо EAV решение для интернет-магазина?

    helios
    @helios
    Большинство недочетов, указанных на stackoverflow, исправляется грамотно построенной бизнес-логикой. В этом можно убедиться на примере того же Magento.

    Единственное, что стоит отметить — при переходе на EAV нужно оценить, стоит ли игра свеч.

    Если структура категорий и/или типов товаров относительно постоянна и редко изменяется, то имеет смысл использовать flat tables (то, что у вас указано третьим вариантом), т.к такая схема намного производительнее и проще в реализации.

    Если же структура каталога очень динамична, то стоит использовать EAV, т.к. в этом случае будут сэкономлены ресурсы, которые тратятся на alter/drop-запросы в flat tables. Но при этом нужно будет хорошо продумать систему кеширования, т.к. удельная сложность выборки данных по одной сущности ощутимо больше, чем в других схемах.

    Сам очень давно выбрал для себя EAV и еще ни разу не пожалел об этом.
    Ответ написан
    1 комментарий