Задать вопрос
  • Чем отличаются способы создания обьектов?

    petermzg
    @petermzg
    Самый лучший программист
    Object obj; на стеке и деструктор будет вызван автоматически при выходе из области видимости
    Object *obj = new Object; на "куче" и вам придется самому удалить обьект
    Ответ написан
    3 комментария
  • Самый бюджетно/адекватный монитор для 3ds Max. Кто он?

    kykyryky
    @kykyryky
    Любой 1080р и от 23"
    Ответ написан
    Комментировать
  • Java для бэкенда?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    За серьёзным бэкендом стоят серьёзные разработчики, а не серьёзные языки. Учите парадигмы, высокоуровневые (паттерны) и низкоуровневые (работа памяти, GC, сети) вещи и смежные дисциплины, а не языки программирования.
    Ответ написан
    4 комментария
  • Java для бэкенда?

    @kirill-93
    Все вами перечисленные языки позволяют.
    Ответ написан
    Комментировать
  • Как вылить проект на node.js в сеть?

    @kovirolik
    Кроме Heroku есть еще куча сервисов
    Список тут
    А вообще , ваш вопрос возможно удалят так как он ведет к холивару
    (И да, вы не умеете пользоваться гуглом)
    Ответ написан
    Комментировать
  • Что такое Активная модель MVC?

    27cm
    @27cm
    TODO: Написать статус
    Активные модели возможны на фронтенде, т. е. когда меняется модель сразу же меняется ее представление. В php активные модели в принципе не возможны.

    Действия пользователя отслеживает контролер, он дергает модель и передает данные в представление

    Ключевое отличие. В PHP контроллер динамически не отслеживает действия пользователя, т. е. пришёл запрос - создали контроллер, создали модель, создали представление - вернули ответ. Новый запрос - по новой создаются контроллер, модель и представление.

    А-ля MVVM?

    Не обязательно. Модель может быть как активной, так и пассивной в любом из вариантов: MVC / MVP / MVVM. Если модель оповещает о своём изменении (см. пунктирные стрелочки на схемах), и в результате изменяются представления для этой модели, то это активная модель.

    Можно живой пример в студию ? Где вы это применяли кроме википедии ?

    1. Возьмите TodoMVC: todomvc.com/examples/backbone/#/
    2. Откройте консоль браузера (F12).
    3. Создадим новую модель. Введите в консоли:
    var todo = new app.Todo({title: 'Увидеть активную модель'});

    4. Добавим созданную модель в коллекцию:
    app.todos.add(todo);

    dc90a184da024d908e57cc9c0d691d53.png
    5. А теперь изменим модель и обратим внимание, как изменится её представление:
    todo.set('completed', true);

    1f380234efef4fb0a3bd7c785af03885.png
    Ответ написан
    2 комментария
  • Как переопределить класс в Laravel?

    SerafimArts
    @SerafimArts
    Senior Notepad Reader
    Для этого надо просто подменить реализацию в контейнере следуя интерфейсу компонента. DI, Карл =)
    Ответ написан
    Комментировать
  • Как правильно сделать раздельно front на angular и back на laravel?

    kzakhariy
    @kzakhariy
    PHP Developer
    Банальный пример, чтобы можно было в любой момент перейти с angular на angular2

    Можно на Laravel сделать Api + JWT авторизацию, а frontend вообще отдельным репозиторием
    Ответ написан
    Комментировать
  • Стоит ли использовать везде БЭМ нэйминг?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    нет
    Ответ написан
    Комментировать
  • Как стать спикером по фронтенду?

    sim3x
    @sim3x
    C выступлений перед зеркалом, потом перед коммандой
    Ответ написан
    Комментировать
  • Какие минусы работы с v8js?

    taliban
    @taliban
    php программист
    Чисто теоретически плюсов нет, жс сам по себе не на столько быстрей чем пхп (а быстрей ли?) чтоб его в пхп совать как расширение. Пхп интерпретируем, поэтому как встроенный язык жс тоже не катит. Единственный плюс который я вижу - поддержка asm.js. Я больше не могу ни одного преимущества придумать.
    Если есть куча кода на жс, то лучше уж ноду поднять, чем такими вещами извращаться.
    Ответ написан
    2 комментария
  • Как выдержать нагрузку?

    sim3x
    @sim3x
    4kk / (60*60*24) = 46 rps
    hiload
    lol

    nginx ( + lua scripts) or nginx plus
    настроить апстрим на 1-2 сервера
    на серверах пхп-фпм

    Если нагрузка только на чтение - справится 1 сервер с хорошим каналом
    Апдейт-инсерт потребуют настройки СУБД

    Или нанять человека, который понимает, что нужно делать
    Ответ написан
    6 комментариев
  • Что лучше поставить в качестве веб-сервера на Debian 8?

    Denormalization
    @Denormalization
    nginx + php-fpm
    Ответ написан
    Комментировать
  • Проект со сложной логикой на Symfony – как проектировать? Примеры?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Как хранить бизнес-логику чтобы модели не превратились в монстров из десятков тысяч строк?

    Тут не совсем модели. Entity - это просто объект данных, умеет хранить их в себе и бросать исключения, если не правильные данные вставляете, все. Repository - умеет работать со своим Entity И БД.

    БЛ находится в классах сервисах.

    Читал про Command Bus где, если правильно понял, на каждое действие в системе – свой класс?

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

    Как их организуете (их тогда будут сотни)?

    Иерархически. Путь к классу должен быть "понимаем".

    Есть ли смысл выносить каждую доменную модель в модуль/микросервис, хранить всю связанную логику где-то там внутри, а с остальными общаться по внешнему API?

    Только в тому случае, если вы уже делали такие же проекты и в точности знаете максимально точно границы каждого домена. Иначе - не стоит. Делайте монолитную систему, а разделение на микросервисы - только по факту необходимости.

    За ответы в клиентскую часть – отдельный сервис-фронтенд?

    Если в "сервис" вы вкладываете понятие простого класса, умеющего форматировать ответы вашего проекта - мысль здравая.
    Если ответы будут асинхронными (от сервера к другому) - имеет смысл выностить в отдельный клиентский класс.

    Каков оверхед?

    Ничтожный.

    Используют ли такое на практике?

    Да

    Какие подводные камни?

    Следствием серьезной декомпозиции в любом случае будут лишние сущности, чем раньше от них будете избавляться - тем лучше.

    Как не превратить кидание/получение событий типа PostBeforeEdit/PostBeforeEditHandler в "callback hell"?

    Если есть возможность отказаться от событийной модели - часто лучше отказаться.
    Листнеры доктрины конечно штука мощная, но работает не всегда очевидно.

    Функционал "PostBeforeEdit/PostBeforeEditHandler" часто дешевле и проще вынести в сервис, но опять же руководствуйтесь здравым смыслом.

    ACL Где храните указанную логику?

    Если ACL будет не тривиальный - готовьте себя к тому, что он будет размазан по уровню контроллеров.

    Какие структуры для описанного выше – best practice?

    Если есть возможность привести к одноуровневому виду - сделайте. Если с точки зрения бизнеса может потребоваться иерархическая (не фиксированной вложенности) ACL - до последнего убеждайте, что это плохая идея, не повторяйте чужих ошибок.

    В моём понимании это выглядит как куча трёхмерных кубов доступа "crud – group – entity – field", как это сделать более плоским пока только одна идея – делать кучу таблиц many-to-many.

    Гибкая настройка вплоть до каждого поля 90% что не нужна. Если можно свести к понятию скопов прав - сделайте это.
    Структуру можно предлагать только зная ваш проект.

    Версионирование. Как вы версионируете подобные проекты?

    Semver.

    А если нужна "N-1" рабочая версия на продакшене?

    Значит на прод попадает ваша версия с тегом "N-1"))

    Есть ли смысл разделять версии в рамках единой кодовой базы проекта и как (неймспейсы, конфиг, модуль, что-то ещё)?

    Храните яйца в отдельных корзинках. Если модуль развивается полностью отдельно и может быть вынесен как зависимость проекта в vendor - делайте.

    И, самое главное – как всё это совместить?

    • РУКОВОДСТВУЙТЕСЬ ЗДРАВЫМ СМЫСЛОМ
    • Принимаете жесткие соглашения по правилам написания кода, например такие
    • Постарайтесь убедить бизнес в том, что без покрытия кода автотестами будет дороже, нестабильней и дольше. + Пишите тесты. Если объем тестов в 4 раза больше кода, который они тестируют - это норм. У меня бывали случаи, когда для критичного функционала тестов было в ~16 раз больше, чем кода.
    • Жесткие, обязательные кодревью.
    • Если задача крупная - декомпозируйте ее.
    • Технический долг - возвращайте обязательно И как можно скорее.
    • Перед тем как писать код для работы с внешним сервисом - имеет смысл написать его эмулятор.
    • Спешите только в случае серьезных проблем на проде)). Фичи "на вчера" отличаются от фич "на потом" только приоритетом выполнения, более ничем.
    Ответ написан
    6 комментариев
  • Какая музыка должна играть в игре?

    krimtsev
    @krimtsev
    дайте вашу игру (или наброски) своему другу, и если он талантливый музыкант - он сам сможет накидать хороший вариант.

    тем более не зря же вы друзья, понимаете друг друга не первый день ;)
    Ответ написан
    Комментировать
  • В чем отличие между наследованием в объектах и прототипах?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Прототип будет общий у всех объектов наследников, притом для самих объектов данные поля не будут собственными
    А в случае создания методов внутри конструктора каждый раз будут создаваться новые функции, что медленнее и жрет больше памяти
    Ответ написан
    2 комментария