• Как добавить класс метке, на которую наведен курсор?

    roovwhite
    @roovwhite Автор вопроса
    Нашел решение, может кому пригодится.

    myPlacemark.events
                .add('mouseenter', function (event) {
                    let _this = event.get('target').getOverlaySync().getLayoutSync().getElement(); // Родительский контейнер html.
                    let pinner = _this.children[0]; // Вложенный элемент.
    
                    $(pinner).addClass('interested');
                })
    Ответ написан
    Комментировать
  • Что за проект сделать на фронте, что показывает, что можно идти на собеседование?

    opium
    @opium
    Просто люблю качественно работать
    Для того чтобы идти на собеседование нужны только ноги
    Ответ написан
    Комментировать
  • Будет ли сайт работать быстрее, если закрыть другие вкладки браузера?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Нет, не будет.
    Закрытие других вкладок лишь освободит оперативную память.
    Ответ написан
    Комментировать
  • Почему многие крупные сайты тормозят по самые помидоры?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    7 баллов из 100. Я такого еще не встречал

    Потому что это крупный бизнес. А не ИП или средний бизнес где основная логика - дрочь с баллами page speed insight.
    Ответ написан
    12 комментариев
  • Устарел ли getElementsBy* и чем лучше querrySelector?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Вот народ ушел в спор о производительности, но никто даже не попытался разобраться, а что под капотом... Производительность ведь искусственными бенчмарками меряют, ага...
    Что ж, времена сейчас такие
    многие на работу кодеров берут, которые даже интереса не имеют в глубь копать. Инженеров брать... - это устаревший подход, как выразился автор "популярного сайта", который прочел автор вопроса. Инженеры они дорогие, и найти их сложно, лучше кодер, пусть и не желающий на работе мозг включать, не говоря уж о желании в устройстве инструментов разбираться.

    Говорить о том, что некие фичи устарели - крайне глупо, если знать, что они ведут себя иначе, чем более модные альтернативы. Предлагаю немного разобраться и начать с того что на поверхности:
    - getElementById и querySelector возвращают конкретную ноду в единственном экземпляре
    - querySelectorAll и getElementsByName возвращает статичную коллекцию NodeList
    - getElementsByClassName, getElementsByTagName и getElementsByTagNameNS возвращают динамическую коллекцию HTMLCollection
    Как видим результат у разного апи различен, а значит и говорить, что некоторые из них устарели - глупо.
    Правда тут есть забавный момент
    в спеке HTMLCollection отмечен как "исторический артефакт", который не стоит использовать при проектировании нового апи. Но заметка эта не для веб-разработчиков, а для тех кто проектирует новое DOM апи.

    С устареванием вроде разобрались, но в вопросе еще есть часть "чем лучше". И тут есть теория, что getElementsBy* быстрее querySelector*. Чисто теоретически звучит логично, querySelector* должен делать полный поиск по дереву со сложностью O(n), а getElementsBy* могут использовать индексы на базе HashMap и получать данные со сложностью O(1), тут и особенности HTMLCollection будут кстати, так как можно не копировать коллекцию, а отдавать одну и ту же (и браузеры действительно так делают). Но без пруфов теория так и останется теорией.
    И бенчмарки - так себе пруф
    Хотя направлять инвесторов в нужную сторону - самое то. Проблема бенчмарков, что можно написать их так, что любая из сравниваемых сторон заметно обгонит другую. Дело техники. Например BubbleSort с O(n2) при определенных условиях в чистую уделывает MergeSort и QuickSort с их O(n×log2n), а именно при n=20 или меньше, 400 простых memswap в наглую рвут 87 рекурсивных операций с memcpy внутри
    Гораздо лучше тут выглядят исходники. И я выбрал исходники chromium, как самого распространенного:
    - getElementsBy* методы все как один обращаются к некой шаблонной функции EnsureCachedCollection, которая в свою очередь обращается к некоему NodeLists кэшу, устроенному внутри действительно как HashMap или что-то наподобие. Никакого поиска тут нет, просто берутся готовые значения, сложность у всего этого действительно константная O(1).
    - querySelector* используют абстракцию SelectorQuery, которая и в самом деле делает поиск по DOM. Но данный поиск неплохо оптимизирован и обвешан кэшами. Притом CSSOM использует абсолютно тот же алгоритм поиска DOM нод для каждого селектора в css.
    Для примера
    в подключенных на странице этого вопроса стилях более 1600 правил (некоторые из которых потенциально могут содержать несколько селекторов), полная обработка стилей из этого файла заняла на моей машине (Ryzen 3600 в стоке) чуть больше 9 мс. Если все это немного округлить, то понадобится 15000 querySelectorAll подряд, притом с разными селекторами, чтоб был промах кэша, дабы я ощутил заметную глазу задержку в ~100мс


    На этом спор думаю можно закрыть. querySelector* методы действительно могут быть медленнее, но чтоб убить ими производительность, нужно очень постараться. На фоне того, что пишут кривые ручки среднестатистического дешевого js-кодера это будет незначительной потерей измеряемой в наносекундах. Используйте то что удобнее в каждой конкретной ситуации.
    Ответ написан
    1 комментарий
  • Что учить laravel или ООП?

    like-a-boss
    @like-a-boss
    Признайся,тебяТянетНаКодМужика,ты—программный гей
    Не хочу изучать буквы, хочу сразу говорить и писать с ошибками.
    Ответ написан
    1 комментарий
  • Как предпочтительнее вешать обработчик событий на элемент?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Чтобы ответить на этот вопрос, достаточно подумать над тем, как будет выглядеть подключение ещё одного обработчика в каждом из представленных случаев.
    Ответ написан
    1 комментарий
  • Какие знания требуются для js trainee?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Чё-то смеюсь. Раньше вы хотели быть джуном. То, что за прошедшие два с лишним года вы свои амбиции поумерили - это хорошо. Правда, не до конца - ну да это ничего, ещё через два года наверняка дозреете до осознания того факта, что не бывать вам программистом. Отсюда кстати и ответ на непосредственно заданный вопрос - вам никакие знания не требуются. Успокойтесь, и идите работать в такси.
    Ответ написан
    2 комментария
  • Как проверить использование слота?

    0xD34F
    @0xD34F Куратор тега Vue.js
    console.log(this.$slots.header) // не работает

    Ложь, работает. Между "не работает" и "результат работы отличается от желаемого" есть существенная разница, попытайтесь её осознать.

    created () {

    Что насчёт mounted? Или, если и так не увидите контент слота, mounted + nextTick?
    Ответ написан
    Комментировать
  • Насколько реально сделать такой сайт на WP?

    like-a-boss
    @like-a-boss
    Признайся,тебяТянетНаКодМужика,ты—программный гей
    Вы не понимаете главного: не важно какая cms или язык программирования. С одинаковым успехом можно сделать как хорошо, так и категорически плохо. Ваш вопрос звучит очень глупо, ничего там сверхъестественного нет и это под силу любому опытному разработчику.
    Ответ написан
  • Как детектить собаку на кровати?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Вес!

    1. собаки
    2. кровати
    3. ребенка

    Под ножки тензо датчик.
    1+2 - тревога
    1+2+3 - тревога
    Ответ написан
    20 комментариев
  • Почему в браузере google chrome добавленные элементы в блок уезжают наверх, когда в mozilla firefox уходят вниз?

    @cheeroque
    Это чудесное изобретение гугла называется Scroll anchoring. Чтобы отключить, добавьте в CSS:

    body {
      overflow-anchor: none;
    }
    Ответ написан
    2 комментария
  • Как корректно структурировать компоненты в проекте Vue?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    components/
        User/
            Header.vue
            Section/
                About.vue
                Content.vue
                Posts.vue


    А имена самим компонентам соответственно отражаются из файловой системы
    name: "UserHeader",
    name: "UserSectionAbout",
    name: "UserSectionContent",
    name: "UserSectionPosts",
    Ответ написан
    4 комментария
  • С чего начать обучение Frontend-разработчик или вообще программированием?

    kryamk
    @kryamk
    Фигачить! Фигачить! Фигачить! КОД!
    Меньше читай и смотри видосов, больше практикуйся.
    Не только теория вылетит, но и практика, поэтому:
    Повторяй! Повторяй! Повторяй! КОД!
    А чтобы повторять пройденное:
    Конспектируй! Записывай! Сохраняй!

    И вот когда 10% теории, 90% практики, неделю повторял, всё записал и уже можешь сказать:
    "Я освоил этот материал, всё понял и запомнил на века", то вот тогда можно с уверенностью сказать, что...

    это ловушка, не попадайся в неё.
    Ибо понял только конкретный пример, что на ютубе писал с экрана, а задача немного изменится и ты в тупике.
    Запомнил ты явно не навсегда, а на ближайшие три дня.
    Да и учил не то что пригодится.

    А так успехов, лишь бы нравилось то что делаешь.
    Ответ написан
    2 комментария
  • Как сделать многостраничный сайт более понятно?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Ну не какие-то, но хочу понять как лучше сделать многостраничный сайт
    понятие лучше не совсем применимо к технологиям вообще. Как и вопрос "хочу понять как лучше сделать многоквартирный дом", смысла он не имеет. То есть все сильно зависит от типа конкретного изделия и хотелок заказчика. В вашем случае - либо быстро и просто - взять готовую систему цмс, настроить по готовым гайдам в интернете и все готово. Или есть длинный путь - читаем про архитектуры веб приложений, ООП, пишем простенькие сайты для обучения, потом берем фреймворк, читаем, разбираемся, пишем серьезные проекты. Понадобится так же знание SQL и общие принципы работы сетевых протоколов, хотя бы на базовом уровне.
    Ответ написан
    Комментировать
  • Как вы подбираете онлайн курсы?

    @archelon
    Проблема с вопросом в следующем: тот, кто достаточно квалифицирован для определения полезности тех или иных курсов, не относится к ЦА этих курсов, поэтому вряд ли может дать иной совет, кроме как читать книги и документацию.

    Хороший препод это не машина, как те совковые тетки которые нас учили. Это человек, который показывает как выглядит предмет, а не чистая сухая теория

    может, вам нужен наставник, а не курсы?
    Ответ написан
    1 комментарий
  • Хорош ли такой шаблон работы с AJAX?

    Kozack
    @Kozack Куратор тега JavaScript
    Thinking about a11y
    в этом коде есть всё что нужно?
    А вам чего-то не хватает? Или вам тупо хватает этого пока?

    Или есть ошибка?
    А что-то не работает?

    Или можно еще что-то добавить?
    Добавить всегда можно. Но можно ли что-то отнять?

    В целом, если вам нужен ревью кода, то я бы такое не пропустил. Просто за использование устаревших техник. Это ухудшает читаемость и работать другим людям сложнее, особенно новичкам.
    Но ведь
    мне не нужны более новые методы запросов к серверу
    , ногда не ясно что вам нужно?
    Ответ написан
    Комментировать
  • Оцените верстку №2?

    @Steppp
    Логотип лучше картинкой делать!
    И я хочу чуть больше таких значков! Добавишь еще штучки 4? 5f5b7847e2d3e381473472.png
    +++++

    И я не хочу тут UI/UX Designer, а хочу что то на букв 100! чтоб строчки 4 было
    5f5b783577509678098884.png
    Ответ написан
    Комментировать
  • Оцените верстку №2?

    Psixodelik
    @Psixodelik
    Преподаватель на Hexlet
    • Тег main зачастую является уникальным для страницы. В нём содержится уникальный контент. Нет особой нужды оборачивать в него каждую отдельную секцию.
    • .bg-color-pale-gray — здесь попытка связать название класса и свойства. То есть в духе атомарного класса. При этом помимо цвета задаётся и высота, что нарушает логику построения классов
    • У body указано семейство шрифтов 'Open Sans'. При этом в некоторых селекторах это повторяется.
    • .row-boxes .purple — нет причины не сделать класс а-ля bg-purple. Такое уже используется в проекте. А вот такая специфичность путает
    • info-box__btn-more btn-more — ты сделал элемент btn-more и зачем то ещё класс btn-more


    Основная проблема — попытка усидеть на двух стульях. То вначале делаешь классы по одному принципу (БЭМ), то по другому (OOCSS/Atomic, а-ля как Bootstrap). Лучше выбери что-то одно пока, иначе со временем сам запутаешься
    Ответ написан
    7 комментариев