Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
meowto16

Maxim Kirshin

Делаю штуки
  • 69
    вклад
  • 0
    вопросов
  • 93
    ответа
  • 46%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Актуальны ли технологии AJAX и JQUERY при нынешних веб реалиях?

    ThunderCat
    ThunderCat @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    jquery - такой себе жс для ленивых, много длинных функций объединенных в удобные обертки, естественно найдется как много сторонников jquery (например есть куча готовых жс скриптов использующих как движок jquery), так и много поборников "чистого арийского" кода (только ванилла, только хардкор!). На самом деле все зависит от задачи, уровня владения и философии разработчика. Как таковая библиотека не особо устарела и много где используется, использовать ли ее лично вам - вопрос вкуса и убеждений. Подробнее обсуждалось тут.

    что касается AJAX - скорее всего вы не совсем понимаете в чем суть, так как это не какая-то библиотека или фреймворк, а метод взаимодействия между клиентом и сервером, по протоколу http(s), позволяющий отправлять запросы без необходимости перезагружать страницу, но из контекста страницы (читать про XMLHttpRequest), и является неотъемлемой частью веб апи и устареет еще очень не скоро. Как некая альтернатива ему может выступать сокет соединение, но обычно области применения этих технологий разные, как и задачи, которые они выполняют.
    Ответ написан 12 апр.
    9 комментариев
    9 комментариев
  • Почему в Node js при подключении модуля выдает ошибку ReferenceError: recuire is not defined?

    Grapeoff
    Dmitriy Grape @Grapeoff
    В чём концепция...?
    Нет такой функции recuire(), есть require()
    Ответ написан 18 янв.
    Комментировать
    Комментировать
  • Как разделить разряды числа?

    Rsa97
    Rsa97 @Rsa97
    Для правильного вопроса надо знать половину ответа
    console.log(new Intl.NumberFormat().format(130000.3948));
    // "130 000,3948"
    Ответ написан более года назад
    Комментировать
    Комментировать
  • Стоит ли устраиваться в веб-студию где в основном доработка сайтов на cms?

    DevMan
    DevMan @DevMan Куратор тега Карьера в IT
    вопрос вообще ни о чём.
    в команде также можно ничему не научится. особенно, когда она отстойная и с отвратным менеджментом. и наоборот - можно самостоятельно вырасти в хорошего спеца.
    дело только в мотивации и собственных мозгах.

    я бы пошел и поработал год или несколько:
    1. может и не отстой: с теми же CMS можно работать совершенно по-разному.
    2. уже будет опыт, которым можно козырять.
    Ответ написан более года назад
    Комментировать
    Комментировать
  • Какое регулярное выражение?

    DevMan
    DevMan @DevMan Куратор тега PHP
    а подумать?
    конкретно в вашем примере достаточно просто получить последний символ.
    то есть достаточно сделать substr($test, -1);

    вам бы задачу конкретизировать.
    Ответ написан более года назад
    3 комментария
    3 комментария
  • Как сделать, чтобы товары с одинаковыми id показывались в корзине 1 раз?

    ThunderCat
    ThunderCat @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    TL;DR
    Завести параметр количество и при добавлении добавлять единичку. Тогда никаких дублирований не будет.
    Ответ написан более года назад
    Комментировать
    Комментировать
  • Куда поступить после 9 web-разработчику?

    AntonLitvinenko
    Антон Литвиненко @AntonLitvinenko
    HTML coder
    в 10, потом 11, потом в институт
    Ответ написан более двух лет назад
    1 комментарий
    1 комментарий
  • Как это понять?

    theobroma
    Александр Серый @theobroma
    javascript developer (ReactJS)
    1)let arr = str.split(' ');
    Возьмет строку, в данном случае 'aa bb cc aa bb aa', разобьет на части используя пробел как разделитель. В результате получим:
    let arr = ['aa', 'bb', 'cc', ' aa', 'bb', 'aa']
    2) Следующий кусок кода просто произведет подсчет одинаковых частей.
    return arr.reduce((acc, rec, index) => {
        return (typeof acc[rec] !== 'undefined')
          ? { ...acc, [rec]: acc[rec] + 1 }
          : { ...acc, [rec]: 1 }
      }, {});
    Рассмотрим его подробнее. Начнем с аргументов:
    acc – последний результат вызова функции, он же «промежуточный результат».
    rec – текущий элемент массива, элементы перебираются по очереди слева-направо.
    index – номер текущего элемента.

    Что собственно происходит:
    -typeof acc[rec] !== 'undefined' проверит есть ли в объекте 'acc' ключ 'rec'.
    - и если мы уже встречали такой( например когда "aa", но уже во второй раз ), тогда изменить значение этого ключа прибавив 1.{ ...acc, [rec]: acc[rec] + 1 }
    - если же такого ключа еще не было, то создадим его со значением 1, ибо он в первый раз попался{ ...acc, [rec]: 1 }
    Ответ написан более года назад
    6 комментариев
    6 комментариев
  • Как верстать доступные сайты?

    MrDecoy
    Вадим @MrDecoy
    Верставший фронтендер
    То, о чём Вы спрашиваете, официально называется WAI-ARIA.
    Тут можно скачать бесплатно экранного диктора и с помощью него тестировать свои сайты, осуществляя навигацию по ним с помощью табуляции, а так же открывая специальное меню с помощью горячих клавиш (командная кнопка приложения, которую назначите, по умолчанию ins+f7, или f6? Не помню уже точно :-) )

    Доклады Вадима Макеева на ютубе:
    https://www.youtube.com/watch?v=MWJKwn_gKR4
    https://www.youtube.com/watch?v=ssJsjGZE2sc

    Если действительно умеете соблюдать семантику, то, скорее всего, Вы уже сделали достаточно.
    Рускоязычные ресурсы по доступности:
    https://weblind.ru/
    specialbank.ru/guide (В данный момент чёт не работает, но должен)
    Есть курс, где учат именно этому: https://kurmak.info/
    Статья на хабре: https://habr.com/ru/post/40730/ (там внизу есть полезные ссылки)
    Тут можно найти информацию по этому вопросу, в том числе перевод статей из первой ссылки англоязычных ресурсов

    В подкасте Веб-стандарты упоминается об этом очень часто. Тут можно прослушать все выпуски, а так же покопаться в выпусках и поискать упоминания доступности и статьи про это.

    Есть англоязычные ресурсы
    Про доступные компоненты: https://inclusive-components.design/ (нажимаете в хроме справа сверху "перевести страницу" и профит)
    Есть спецификация: https://www.w3.org/TR/wai-aria-1.1/#usage (аналогично, перевод в браузере и профит)
    MDN: https://developer.mozilla.org/en-US/docs/Learn/Acc...
    Ответ написан более года назад
    1 комментарий
    1 комментарий
  • Как подключить redux-persist к react typescript проекту?

    miraage
    Mikhail Osher @miraage
    Старый прогер
    Добавьте в проектный something.d.ts файл (react-app-env.d.ts, если используете create react app) строчку:
    /// <reference types="redux-persist" />
    Ответ написан более двух лет назад
    1 комментарий
    1 комментарий
  • JS Promise Memoize как правильно описать функцию?

    0xD34F
    0xD34F @0xD34F Куратор тега JavaScript
    function memoize(f, timeout) {
      const memo = {};
    
      return () => (new Date() < memo.time + timeout)
        ? Promise.resolve(memo.result)
        : f().then(r => (memo.result = r, memo.time = +new Date(), r));
    }
    Ответ написан более года назад
    Комментировать
    Комментировать
  • Fullstack: составить дорожную карту?

    anton_reut
    Антон Р. @anton_reut
    Начинающий веб-разработчик
    Не устаю постить это раз за разом:

    1*V7TMAzvhW7_cn9FbkKqOcQ.png

    5fdd6ccf619231ae7760a7661324ff64.png
    Ответ написан более года назад
    3 комментария
    3 комментария
  • Как верстать изогнутые секции?

    RAX7
    RAX7 @RAX7
    SVG + 2 маски, одна пропорционально растягивается, другая непропорционально. Отрицательным margin загнать секции одна на другую.
    Ответ написан более года назад
    6 комментариев
    6 комментариев
  • Почему ломается база MYSQL и как решить проблему?

    neol @neol
    Вам английским языком написали, что сайт/базу поломали, слили данные и хотят денег.
    Ищите дырку и закрывайте её. Для начала стоит перестать светить голой филейной частью mysql во всю сеть.
    Ответ написан более года назад
    4 комментария
    4 комментария
  • Как вывести максимальное и минамальное значение объекта?

    0xD34F
    0xD34F @0xD34F Куратор тега JavaScript
    const values = Object.values(obj);
    const min = Math.min(...values);
    const max = Math.max(...values);

    или

    const { min, max } = Object
      .values(obj)
      .reduce(({ min, max }, n) => ({
        min: n < min ? n : min,
        max: n > max ? n : max,
      }), { min: Infinity, max: -Infinity });
    Ответ написан более года назад
    Комментировать
    Комментировать
  • Как с сайта достать не все ссылки, атолько те, которые необходимы?

    KorniloFF
    Павел Корнилов @KorniloFF
    Работаю по font-end / JS
    Через XPath:
    //a[contains(lower-case(@href),'/author/')]
    Ответ написан более года назад
    Комментировать
    Комментировать
  • Как защитить от скачивания калькулятор расчета стоимости постройки бассейна на сайте?

    AleksandrB
    Александр @AleksandrB
    Совсем недавно вывел "Hello world"
    Никак. Точка. Забудьте о любых способах защиты своего фронт кода. Захотят - украдут. Вы можете делать код менее читабельным, добавлять кучу воды, но ничего не даст никаких гарантий. Мы js код кошелька воровали и делали измененную копию. А причина простая - весь выполняемый код приходит клиенту на пк и дальше остается у него. Но можете не переживать, ваша логика на столько элементарна, что написать ее будет проще чем нажать ctrl+s.

    Ну и прям если думаете, что ваши старания кому-то сдались - делайте через бэкенд, время расчетов подрастет, но за то ваш безусловно дорогущий и сложный код никто не украдет
    Ответ написан более года назад
    3 комментария
    3 комментария
  • Как вычислить время зажатия?

    lastuniverse
    Роман @lastuniverse
    Всегда вокруг да около IT тем
    вам не нужен таймер для этой цели. достаточно в момент нажатия запомнить текущее время а в момент отжатия от текущего времени вычесть запомненное.
    // переменная, в которую запоминаем время
    let pressedTime = Date.now();
    
    ...
    // при нажатии  
    pressedTime = Date.now();
    
    ...
    
    // при отжатии
    const passedTime = Date.now()-pressedTime;
    console.log("С момента нажатия прошло", passedTime, "миллисекунд");
    console.log("С момента нажатия прошло", passedTime/1000, "секунд");
    
    
    // при отрисовке внутри цикла window.requestAnimationFrame(loop);
    if( кнопка нажата ){
       const passedTime = Date.now()-pressedTime;
       style.margin = (parseInt(style.margin)+passedTime/100) + 'px';
    }


    если вам нужно более точное время чем миллисекунды то вместо Date.now() используйте performance.now()

    ну и вот еще посмотрите для реализации цикла игры https://developer.mozilla.org/ru/docs/DOM/window.r...

    вот наваял простенький вариант:
    Ответ написан более года назад
    5 комментариев
    5 комментариев
  • Как поступать, если ответ после собеседования от компании может задержаться?

    Aleksey @kandrash
    Кратко о себе
    Конечно идти на собеседование во вторую. Да и понятие этикета у вас странное. По вашему "деловой этикет" сейчас запрещает первой компании собеседовать других людей? Или он только в одну сторону работает?
    Ответ написан более года назад
    Комментировать
    Комментировать
  • Как можно скачать изображение с примененными стилями CSS?

    Kozack
    Alex @Kozack Куратор тега CSS
    Thinking about a11y
    Screenshot элемента
    https://umaar.com/dev-tips/156-element-screenshot/
    Ответ написан более года назад
    Комментировать
    Комментировать
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • Следующие →
Самые активные сегодня
  • gzhegow
    Григорий Васильков
    • 12 ответов
    • 0 вопросов
  • mayton2019
    • 9 ответов
    • 0 вопросов
  • Dr. Bacon
    • 6 ответов
    • 0 вопросов
  • vabka
    Василий Банников
    • 6 ответов
    • 0 вопросов
  • CityCat4
    CityCat4
    • 6 ответов
    • 0 вопросов
  • Adamos
    Adamos
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации