Задать вопрос
  • Какие шаблоны проектирования js применяются на практике чаще всего?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    какие паттерны применяются чаще всего на практике и где

    Сразу отмечу, что все это чисто мое имхо, которое может не совпадать с мнением окружающих. В контексте фронтенда обычно все довольно просто. По моим наблюдениям в среднем сайте могут иметь смысл:
    1. Модули (делим код на независимые части)
    2. Фабрики (для компонентов интерфейса)
    3. Синглтоны (для хранилищ, точек сбора полифиллов / утилит и.т.д.)
    4. Адаптеры (для зависимостей и полифилов, которые могут измениться / выпилиться)
    5. Наблюдатели (для сбора происходящих событий в одном месте)
    6. Хранители (для сохранения действий пользователя и "Ctrl-Z")
    7. Стратегии (если действуем в зависимости от прилетевших данных)

    Другим паттернам применение вижу редко, только если под какую-то замороченную бизнес-логику. Хотя кого я обманываю, на среднем сайте обычно происходит только один паттерн - доширак из костылей. Ну и стоит сказать, что SPA-фреймворки имеют свойство навязывать свои подходы к решению задач, но это отдельная тема.

    Важно понимать, что паттерны проектирования - это просто хорошие идеи по поводу того, как организовать большой объем кода в той или иной ситуации. Это не "изучи тайное знание, запомни, и делай так всегда", не "используй паттерны, потому что великие их используют", это скорее "если не уверен как организовать код, возьми готовую идею, она вроде работает". Если вы будете просто решать задачи, то через N лет практики вы сами их все "изобретете", только не будете знать, что у них есть названия. Эффективно будет организовать себе заметку о том, какие из этих идей для чего примерно применяют, а потом, в процессе работы, в нее подглядывать, если встал вопрос "как организовать этот код".
    Ответ написан
    7 комментариев
  • Что почитать по работе JavaScript "под капотом"?

    MalkovVladimir73
    @MalkovVladimir73
    Fullstack (node + vue.js)
    Сам столкнулся с подобной проблемой, крайне советую You dont know js.
    Ответ написан
    Комментировать
  • Почему когда используют Docker для поднятия окружения, создают по контейнеру на каждый сервис а не всё в одном контейнере?

    neuotq
    @neuotq
    Прокрастинация
    Вы совсем не понимаете Докер. У него основная концепция - один сервис/приложение - независимое окружение.
    Для чего это сделано? Прежде всего безопасность и облегчение развертывания приложения.
    Любой администратор линукс (ну и других) систем знает, какого это поддерживать сервер одновременно в актуальном состоянии и нужные версии ПО, библиотеки которых часто между собой конфликтуют, нужно проводить танцы в бубном для того чтобы нужные библиотеки были там те, в другом месте другие. Далее возня с правами, кто под кем запускается, что может, дыры в самом ПО, когда из-за этого будет угроза другим частям системы. Ну и простота настройки, одним одни параметры, другим другие.
    Докер позволяет решить эти и кучу других проблем, каждый докер образ это грубо говоря максимально минимизированный образ ОС с установкой только необходим библиотек для конкретного сервиса (например mysql), запускается независимо. Таким образом у себя на сервисе вы имеете возможно спокойно, без затрат умственных ресурсов поднять кучу версий например mysql или php. Да и просто разные программы/сервисы которые могут с друг другом конфликтовать, теперь не будут мешать.
    У вас есть свои заготовки образов, либо вы берете готовый рецепт и работаете.
    Далее тестирование/разработка значительно упрощается, так как организовать условия максимально приближенные к боевым теперь легче.
    Далее можно создавать проверенные системы развертывания, снова таки каждый образ под свои задачи и тд и тп.
    Короче говоря да, у докера есть свои минусы, но одновременно это значительный прогресс и облегчения прежде всего работы которая касается улосноый Devops части в разработки ПО, значительно автоматизируются и упрощаются многие штуки.
    Так же советую потратить время и посмотреть запись введение в Докер от Хекслет Кирилла Мокевнина. Там небольшие проблемы бывают со звуком, сам вебинар 2 часа, но советую потратить время, он именно рассказывает проблематику, которая привела людей к изобретению Докера и этой концепции.
    Ответ написан
    2 комментария