• На какую JS-библиотеку перейти с JQuery?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Библиотека выбирается под задачи. Собственно сейчас все то что делает джиквери можно сделать на винильном джиэс. Мне например нравится vue чуть меньше реакт.
    Ответ написан
    5 комментариев
  • Какие несколько вопросов можно задать человеку, чтобы убедиться, что его знания соответствуют описанию в резюме?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Собеседования показывают только умение проходить собеседования. Единственный верный способ проверить человека - трёхмесячный испытательный срок.
    Ответ написан
    Комментировать
  • Чем именно виртуальный дом выигрывает в обновлении в сравнение с реальным домом?

    vabka
    @vabka
    Токсичный шарпист
    Почему в реальном доме нельзя таким же образом менять только те узлы которые изменились?

    Если меняешь только 1 узел, разницы практически не будет.
    Если меняешь целое дерево - уже сложнее.
    Если писать руками, то можно пойти двумя путями:
    1. Снести всё (под)дерево в реальном доме, а потом построить новое заново
    2. Руками пройтись по дереву в реальном доме и изменить только те узлы, в которых реально поменялись данные.

    Второй вариант будет экономить на вставках, но тогда придётся все элементы вычитывать из дома, а если это будет происходить в цикле, или просто очень часто, то возникнут заметные тормоза.
    По-хорошему надо сохранять и кэшировать элементы, чтобы их по 10 раз не вычитывать.

    Вот этим virtual DOM и занимается вместо разработчика.

    Много где читал что изменения в виртуальном доме вызывает изменение всего дом дерева так ли это?

    Это плохой сценарий, если используется что-то неправильно, или если реально надо перестроить всё дерево.

    В конечном результате всё-равно виртуальный дом сравнивается с реальным изменяет только некоторые узлы, так почему сразу не сравнивать узлы которые изменились с реальным домом?

    Описал выше - получится тогда vdom, либо потеряешь очень много производительности из-за постоянных запросов к дому.

    Почему обновление реального дома очень затратно И как так получилось что создание новой абстракции в виде виртуального дома сделала его только быстрее?

    Затратно, тк это обращение к API браузера, которое медленнее, чем просто обратиться к объекту в JS.
    А выигрыш из-за того что мало кто хочет самостоятельно писать такую абстракцию для эффективной работы с реальным DOM.
    Ответ написан
    Комментировать
  • Какие есть инструменты сборки html для верстальщика?

    @alekcena
    Нелинейный наставник
    gulp плагин для конкретно этого действия.
    gulp-inject-in-html

    pug - препроцессор. Много всего в том числе и это
    Ответ написан
    2 комментария
  • Стоит ли устраиваться в веб-студию где в основном доработка сайтов на cms?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Работа это не про фреймворки это про общение с людьми. Так что стоит . А научитесь хотябы тому что не задавать такие вопросы
    Ответ написан
    3 комментария
  • Где есть годные БЕСПЛАТНЫЕ уроки для vue.js?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ответ написан
    Комментировать
  • Можно ли верстать все сайты по БЭМу?

    inkShio
    @inkShio
    Нормально
    Ответ написан
    Комментировать
  • Простым языком о замыканиях?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    1. Для чего замыкание существуют?
    Для инкапсуляции данных.
    В ООП есть модификаторы доступа (private, protected), которые закрывают доступ к данным извне класса, но позволяют обращаться к ним из методов.
    В ФП для этой задачи используют замыкания, закрывая данные внутри функции. Из вне данные недоступны, но вложенные функции имеют к ним доступ.

    2. В каких условиях они создаются?
    Когда вложенная функция обращается к переменным внешней функции.

    Хоть и просили без примеров, но на примере показать проще:
    // makeCounter - внешняя функция
    function makeCounter(initialValue) {
      var value = +initialValue || 0;
      // counter - внутренняя функция
      // она использует переменную value из внешней функции
      // что-бы это было возможным, для counter создается замыкание,
      // в котором хранится переменная value
      // переменная initialValue функции counter не нужна, поэтому ее можно "забыть"
      return function counter() {
        return value++;
      };
    }
    
    // у нас 3 экземпляра функции counter
    var counter1 = makeCounter();
    var counter2 = makeCounter();
    var counter3 = makeCounter(100);
    // и для каждой есть своя переменная value
    console.log(counter1()); // 0
    console.log(counter1()); // 1
    console.log(counter2()); // 0
    console.log(counter1()); // 2
    console.log(counter3()); // 100
    
    // а вот получить как-то напрямую переменную value мы не можем
    // инкапсуляция нам не дает поломать данные
    Ответ написан
    Комментировать
  • С чего начать обучение ребенка 10 лет спортивному программированию?

    оставь ребенка в покое, нефиг собственные комплексы реализовывать.
    Ответ написан
    Комментировать
  • Как приукрасить правду так, чтобы твоё резюме заметили и предложили собеседование?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Добро пожаловать в суровую реальность, где среди джунов огромная конкуренция - десятки человек на одно место, а потому найти первую работу очень тяжело. Приукрашивания не помогут, так как этим занимаются все, а опытный тимлид это мгновенно различает. Просто продолжайте пытаться найти работу, продолжайте работать над повышением профессионального уровня, напишите показательный пет-проект, подкачайте профиль на GitHub и т.д. и т.п.
    Ответ написан
    Комментировать
  • Использование своего же кода на двух местах, реально?

    @cicatrix
    было бы большой ошибкой думать
    Самое главное: Должны быть очень ясные и недвусмысленные доказательства того, что код действительно твой.

    Если твой работодатель использует код сейчас бесплатно, должно быть хоть какое-нибудь EULA или договор-оферта, которую работодатель акцептовал бы самим фактом использования. При увольнении надо уведомить работодателя об изменении EULA и зафиксировать акцепт новой оферты. Идеально было бы, если бы вообще был какой-никакой договор (пусть за 3 копейки), в котором работодатель приобретал бы срочное право использования. Думаю, протащить под шумок такой договор (особенно, если сумма смешная) будет просто. Твоим представителем может быть какой-нибудь родственник или юр. лицо, если не хочешь палиться сам.

    В этом случае, либо при изменении EULA твой работодатель продолжает платить, либо перестаёт пользоваться.
    Соломку надо стелить заранее.
    Ответ написан
    Комментировать
  • Использование своего же кода на двух местах, реально?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Обычно работодатель настаивает на передаче всех прав на код разработанный в рамках трудового соглашения.
    И это правильно.
    Есть правда ньюансы в обе стороны.
    США - выплаты роялити авторам если код приносит много денег.
    Россия - претензии к NGINX
    Ответ написан
    3 комментария
  • Как работает array.sort()?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Функция, которую передают в метод sort() — это только весы с двумя чашами:
    606d5ddc8957c413346483.png

    В них каждый раз передают какие-то 2 элемента массива, и весы должны вынести свой вердикт: кто из двух тяжелее. Таких взвешиваний при одной сортировке массива происходит не одно, а множество.

    Сортируют не только массивы чисел, где всё просто и достаточно a - b. Например, массив объектов типа
    [
      {name: "Вольдемар", iq: 165},
      {name: "Сигизмунд", iq: 178},
      {name: "Жоржик", iq: 85},
    ]
    захочется отсортировать по свойству iq. Тогда функция должна будет возвращать a.iq - b.iq
    Ответ написан
    1 комментарий
  • Как взаимодействовать с api?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    Как взаимодействовать с api?

    Как правило к каждому открытому\закрытому api есть подробная документация.

    Если кратко - алгоритм всегда похожий.

    Регистрация на сайте ->
    получение api ключа ->
    поиск по документации нужного запроса с интересующими эндпоинтами ->
    запрос на сервер с помощью fetch(или библиотек вроде axios) ->
    парсинг данных которые приходят ->
    profit

    Для тренировки запросов(без ключа) попробуйте jsonplaceholder.typicode.com
    Ответ написан
    3 комментария
  • Нужен ли разработчик сайту на 1С-Битрикс?

    @Ex1st
    Ничего не делайте. Дождитесь, когда отсутствие разработчика принесёт вам проблемы. У опыта лучше всех получается переубеждать людей :)
    Ответ написан
    Комментировать
  • Нужен ли диплом магистра в сфере IT?

    netrox
    @netrox
    Если коротко, то - нет.
    Ответ написан
    Комментировать
  • Как проверить есть ли слово в строке?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Можно регуляркой, можно через includes или indexOf.
    Ответ написан
    Комментировать
  • Сравнение дат в moment js?

    Ты используешь moment js чтобы получить нужную дату, но перед сравнением конвертируешь в строку? Садись, два!
    https://momentjs.com/docs/#/query/is-between/
    https://momentjs.com/docs/#/query/is-same-or-before/
    https://momentjs.com/docs/#/query/is-same-or-after/
    Выбирай на вкус
    Ответ написан
    Комментировать
  • Как "перепрошить" мозг будущему программисту?

    delphinpro
    @delphinpro
    frontend developer
    Ну, ок, допустим, беру какую-нибудь задачу. Прочёл текст. А дальше-то что? Я не знаю как подойти к решению задачи, с чего начать, что вообще делать и чем закончить.

    Анализ, декомпозиция.
    Разбивайте общие задачи на более мелкие, элементарные.

    Задача: выпить кофе.

    Разбиваем на составляющие:
    • Достать турку
    • Налить воды
    • Добавить кофе
    • Сварить
    • Попить

    Подзадачу "Сварить" делим на еще более мелкие:
    • Зажечь газовую плиту
    • Поставить турку на конфорку
    • Довести до кипения

    Задачу "Зажечь газовую плиту" снова делим на составляющие:
    • Взять спички
    • Чиркнуть о коробок
    • Открыть подачу газа в конфорку
    • Поднести спичку к конфорке


    И т.д. До самых элементарных уровней.
    Ответ написан
    2 комментария
  • Имеет ли смысл смена специальности?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Да не помогут вам такие вопросы.
    Вы же понимаете, что карьера - вещь сугубо индивидуальная. Не всегда даже зависит от знаний и наличии вакансий. Куча случайностей могут вам помочь или наоборот подставить.

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

    В результате вы узнаете парочку кулстори. И?

    Вам нужна мотивация? Ну уже ж не маленький.

    Смена квалификации бывает больно, бывает нет. В наше время все зависит даже не от проекта, а от стабильности, когда нет такого, что "из-за корона, от нас ушел заказчик и бизнес, завтра разбегаемся", или "из-за военной ситуации на западе/востоке, заказчик решил свалить в Индию, за месяц сдаем дела и разбегаемся".

    Профессионал это не полубог, и даже не гений.
    Это просто тот, кто прилагал усилия к выполнению работы и к повышению своей собственной квалификации в течение продолжительного времени. А это время может прерваться по разным причинам (недостаток мотивации; устал, уныл; здоровье; внешние факторы).

    Если есть вакансия, которая вас устраивает по деньгам - идешь и работаешь.
    А планировать себе карьеру на 10-20-30 лет вперед могут только оракулы.
    Ответ написан
    Комментировать