• Почему IE11 не видит svg спрайт?

    vadimkot
    @vadimkot Куратор тега CSS
    Чтобы была поддержка в IE svg спрайта из внешнего файла нужно использовать полифилы https://github.com/jonathantneal/svg4everybody или https://github.com/Keyamoon/svgxuse
    Ответ написан
    Комментировать
  • Symfony - разделение на backend и frontend?

    myks92
    @myks92
    Нашёл решение — пометь вопрос ответом!
    1. Отдельными приложениями.
    2. Папками в проекте.
    Ответ написан
    Комментировать
  • Symfony - в чём разница между listener и subscriber, и что означает теговать (tags)?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Listener — слушатель одного или более событий, некий такой атомарный исполнитель. Не знает на что он подписан, но легко управляется через конфигурацию. Если разные слушает — нужно самому логику разделения обработки писать.
    Subscriber — подписчик имеет реализацию интерфейса SubscriberInterface с методом getSubscribedEvents(), то есть сам объект слушателя знает, на что он подписан и какие методы какие события будут отрабатывать

    По сути одно и тоже, но такая разница иногда пригождается. Иногда нужно иметь контроль снаружи, иногда наоборот.

    Теги — отдельный механизм контейнера. Проставляя тег на набор сервисов — мы во время компиляции контейнера можем достать помеченные определенным тегом сервисы и заинжектить в др сервис (очень часто используется мной например), отсортировать по допатрибутам или сделать любую иную логику
    https://symfony.com/doc/current/service_container/...
    Ну например есть десяток сервисов, которые обрабывают каждый свой тип файла, еще и лежат в разных бандлах. Как получить их в одной фабрике? Правильно — проставить им тег, в компиляторе приложения достать все и в фабрику засунуть. При появлении нового сервиса с тегом - он автоматом будет в фабрике.

    В коде самого фркймворка этот механизм активно используется. Например есть разного рода констрейнты - добавить новый вы можете и автоматом зарегистрировать, проставив тег (на самом деле симфони-разработчики пошли дальше и тег навешивают по интерфейсу, но важен механизм) и данный констрейнт будет доступен коду, в котором требуются все констрейнты (опять той же фабрике)
    Ответ написан
    Комментировать
  • Как правильно сделать использование общих полей в Symfony forms?

    Matmode
    @Matmode
    PHP/Symfony Developer
    В начальном варианте Вы пытаетесь встроить форму, а не наследовать её. В этом случае поля были бы доступны для вывода так: form.commonFields.titleLink.

    Вашу задачу наследования решает именно второй вариант
    Ответ написан
    3 комментария
  • Как во вложенной иерархии sass написать селектор для непосредственно дочерних элементов?

    andykov
    @andykov
    Shit happens
    .container {
       > .div{
          font-size: 16px;
       }
    }
    //или
    .container {
       & > .div{
          font-size: 16px;
       }
    }
    Ответ написан
    Комментировать
  • Как во вложенной иерархии sass написать селектор для непосредственно дочерних элементов?

    Denormalization
    @Denormalization
    .container {
      > .div {
       font-size: 16px;
       }
    }


    Не?
    Ответ написан
    Комментировать
  • Существует ли аналог RBAC Yii2 в Symfony?

    @HellWalk Автор вопроса
    Итак, поразбирался-покопался сам - для симфони есть Sonata - несколько больших бандлов для создания админки. В том числе там есть функционал схожий с RBAC.

    Но само решение спорное:
    1. Sonata слабо развивается, и выглядит брошенной
    2. Чем сложнее становится логика в проекте - тем меньше помогают (и начинают мешать) решения из коробки
    3. Сами разработчики Симфони рекомендуют использовать Voters

    Вот такие дела.

    P.S. Официальная документация по Sonata устарела, и по ней её не поставить. Мне помогло это руководство с хабра.
    Ответ написан
    Комментировать
  • Как сделать пагинацию через ссылку в Symfony?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    @Route("/products/{limit}/{offset}", name="products"), а дальше вытягиваете limit/offset из $request->attributes
    Ответ написан
    5 комментариев
  • Логика в ларавеле пишеться в контроллерах?

    ajaxtelamonid
    @ajaxtelamonid
    Laravel
    То, что весь код может писаться в только контроллерах, моделях и вьюхах и больше нигде, потому что мы пишем MVC (а что ещё бывает ?) - это заблуждение, от которого надо избавляться как можно быстрее. Потому что код по большому счёту нельзя писать ни в моделях, ни в контроллерах, ни во вьюхах - ему там не место. Код надо писать в php-классах, которые потом подключать в контроллеры, файлы обработки cli-команд, команды, выполняемые в очереди, в файлы-демоны и т.п.. Код должен выдерживать процедуру смена php-фреймворка просто путём копирования всех файлов и правки классов-репозиториев и других классов сопряжения с конкретным фреймворком. Если ваш код намертво спаян с текущим фреймворком - это признак того, что что-то пошло не так.

    Создавайте внутри папки app свои папки, раскладывайте там классы и подключайте их в конструкторе контроллеров. Почитайте, какие бывают типы классов с точки зрения архитектуры приложения, почитайте про принцип SOLID. Почитайте про Domain Driven Design, погуглите доклады, например https://www.youtube.com/watch?v=rjtbCyacJas .
    Учёба - это постоянный процесс, не останавливайтесь.
    Ответ написан
    Комментировать
  • Как правильно делать оптимизацию чтобы сайт моментально загружался?

    coderisimo
    @coderisimo Куратор тега JavaScript
    Вот отличный ресурс :

    начните с этого

    там вообще, много полезной информации
    Ответ написан
    Комментировать
  • Каким путем лучше пойти начинающему web-разработчику?

        Привет!
        Про возраст - забей париться и никого не слушай на тему того кто и кем должен быть во столько и столько.
    Я работал в одной крупной конторе и однажды к нам пришел мужичок лет за 40 на джуна. С нуля. В команду 20-30 летних. Ему было сложно вписаться в коллектив, но никто его не троллил, не избегал и т.д. Ему захотелось попробовать что-то новое и все получилось отлично. Стартанул он очень хорошо и за год с небольшим добрался до тим-лида. Если есть желание и интерес - все получится. За бугром люди и 40 и в 50 легко приходят в новую профессию. Это у нас есть такой стереотип, что после 30 ты нафиг никому не нужен. Вздор.
        Лично я тоже пришел в айти сферу в 27, и ушел в веб разработку. Full-Stack PHP Developer себя называю. Тоже есть пунктик "учиться учиться учиться". Поэтому. Просто учиться - бестолку. Это тоже самое, что в сериалы смотреть или в игры играть. Времяпровождение. Интересно - да, полезно - совсем чуть-чуть, сделает ли программистом - нет. Без практики все вылетает из головы довольно быстро. В голове остается лишь знание "ага, это по силам понять, я как-то врубался в это уже, но что-то нифига не помню...." =)
        Очень вводят заблуждения все эти высказывания о том, что надо учить и что должен знать программист в определенном возрасте, на определенной ступени профессионализма и т.д. 99% - тоже вздор =) Зачем нужно знать паттерны программирования? Чтоб выбрать хорошее решение при проектировании сложного кода, например. А будешь ли ты этим заниматься вообще? Для того, чтоб делать сайты, при чем довольно сложные, вполне достаточно въехать что такое MVC, и использовать какой-нибудь популярный фреймворк. Надо ли знать алгоритмы? Тоже зависит от рода деятельности. Мне за почти 10 лет веб-дева это знание ни разу не пригодилось, хотя работал над реально оч. большими и тяжелыми проектами. Есть люди, которые удачно продают себя на апворке за $50-60 в час называя себя веб-программистами и специализируясь исключительно на Вордпрессе. То есть по факту не кодят, а собирают сайты из конструктора, допиливая темплейты из html/css/php ( минимум php ).
        Очень важно найти свою специализацию. Что больше нравится - backend или frontend и найти удобные и комфортные для себя инструменты. Если бэкэнд - именно PHP - попробовать Laravel, Yii2, Symfony. Почувстовать что твое, что комфортно. Если фронт - пощупать Vue, Angular, React. Стоит выбрать "свой" инструмент и прокачиваться в нем. Маленькая заметка на тему PHP. Есть гораздо более удобные языки для разработки. "Голый" PHP - это для фанатиков. Сейчас современный PHP - это уже конструктор, где приложение собирается из чужих пакетов. Но самому с нуля на нем что-то делать - не очень =) Попробуй Python для бэкэнда для сравнения ( Django или Flask ). Совсем другое ощущение от разработки. Если бы я раньше попробовал, то за PHP не брался бы. Но на фрилансе заказов на PHP все же сильно больше. Python еще хорош тем, что сфер применения намного больше. Еще варианты для бэка - Ruby (RoR), Go набирает популярность, Java, C# и т.д. Выбирать следует из того, куда больше тянет - в офисную работу или во фриланс, я считаю.
        Очень важно поработать в команде. В замкнутой среде не с чем сравнить свои успехи, не у кого подсмотреть реальные рабочие решения и т.д. Всегда будет оставаться какая-то не уверенность - а что если мое решение не хорошее? Насколько я профи? Работа в команде быстро показывает, что идеальных кодеров нет и каждое решение хорошо в определенных ситуациях.

    Разошелся =) Мог бы еще накатать, но и так уже слишком много букв и пора мне в оффлайн =)
    Удачи, все получится.
    Ответ написан
    2 комментария
  • Может кто помочь с яндекс картой и JS?

    deepblack
    @deepblack
    1.
    $(window).resize(function () {
      if ($(window).width() < 576) {
        myMap.setCenter([57.767265, 40.925358]);
      }
    });


    2.
    function myFunction(x) {
      if (x.matches) { // If media query matches
        myMap.setCenter([57.767265, 40.925358]);
      } 
    }
    
    var x = window.matchMedia("(max-width: 576px)")
    myFunction(x) // Call listener function at run time
    x.addListener(myFunction) // Attach listener function on state changes
    Ответ написан
    2 комментария
  • Есть ли хороший проект на symfony 3/4 для обучения?

    @ArthurAm
    Могу копать, могу не копать
    Есть демо проект с набором best practies от авторов Symfony

    https://github.com/symfony/demo
    Ответ написан
  • Какие шаблоны проектирования js применяются на практике чаще всего?

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

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

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

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

    Jeer
    @Jeer
    уверенный пользователь
    Паттерны... пользуешься-пользуешься и не знаешь, что у всего этого есть названия.
    Паттерны не привязаны к конкретному языку (но в разных языках реализуются по разному)
    Есть отличный сайтец с картинками, всем его рекомендую https://refactoring.guru/ru
    Ответ написан
    Комментировать
  • Какой самый производительный js слайдер?

    Stalker_RED
    @Stalker_RED
    Можно вырубать слайдеры, которые за пределами вьюпорта.
    Для проверки можно использовать Intersection Observer (есть полифилл)
    Ответ написан
    Комментировать
  • Какой самый производительный js слайдер?

    Kozack
    @Kozack Куратор тега JavaScript
    Thinking about a11y
    Нужен слайдер, который
    • Не загружает все изображения сразу
    • Не Вставляет в документ все изображения сразу

    И Stalker_RED прав. В таком случае нужно следить за вьюпортом и останавливать слайдеры за его пределами
    Ответ написан
    Комментировать
  • Ка сделать эффект staging (сцены) при скролле?

    Sanasol
    @Sanasol Куратор тега JavaScript
    нельзя просто так взять и загуглить ошибку
    Это всегда называлось параллаксом в разрезе сайтов.

    Сделать можно много как.
    В данном случае все на канвасе отрисовывается с помощью pixi.js
    Ответ написан
    Комментировать