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

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

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

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

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

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

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

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

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

XOROX

  • 22
    вклад
  • 8
    вопросов
  • 31
    ответ
  • 52%
    решений
Ответы
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как избавится от утечек памяти при само вызове промисов?

    Tom_Xor
    XOROX @Tom_Xor
    var result = await test(); // Пока не выполнится, промис не может быть удалён из памяти и так каждый раз.
    success(result);

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

    Tom_Xor
    XOROX @Tom_Xor
    Полагаясь на текст в Вашем вопросе, дам следующие рекомендации:
    • Используйте больше указаний на причинно-следственные связи.
    • НЕ используйте излишние слова, например, «собственно».
    • НЕ используйте жаргонизмы, НО используйте профессиональные термины, предварительно их объясняя.
    • Практикуйтесь на людях, которые не разбираются в теме.


    P.S. Для притяжения людей вовсе необязательно уметь объяснять.
    Ответ написан 9 часов назад
    Комментировать
    Нравится 1 Комментировать
  • Помимо id и классов, как-то ещё можно получать элементы при запросе?

    Tom_Xor
    XOROX @Tom_Xor
    Через атрибут data-*, используя HTMLElement.dataset.
    Ответ написан 12 апр.
    Комментировать
    Нравится Комментировать
  • Как получить стили по классу?

    Tom_Xor
    XOROX @Tom_Xor
    CSSOM должен подойти.
    Ответ написан 11 апр.
    Комментировать
    Нравится 1 Комментировать
  • Как запретить доступ к сайту, но так чтобы не угробить его в топе поисковиков для тестирования?

    Tom_Xor
    XOROX @Tom_Xor
    Пусть индексирует – потом переиндексирует, а может быть сами переиндексируете.
    Ответ написан 11 апр.
    Комментировать
    Нравится 1 Комментировать
  • Как получить объект с суммой значений других объектов?

    Tom_Xor
    XOROX @Tom_Xor
    const result = {}
    for (let i = 0; i < arr.length; i++)
        for (const key in arr[i]) arr[i].hasOwnProperty(key) &&
             (result[key] = result.hasOwnProperty(key) ? result[key] + arr[i][key] : arr[i][key])
    Ответ написан 10 апр.
    Комментировать
    Нравится 1 Комментировать
  • Где тренировать навыки HTML?

    Tom_Xor
    XOROX @Tom_Xor
    На отечественном сайте Web Reference.
    Также у автора этого сайта есть бесплатные учебники и самоучители в Play Market и, возможно, на соответствующих приложениях других платформ.
    Также задачи встречаются MDN.
    Дальше просто верстайте любые сайты, которые встретите.
    Ответ написан 10 апр.
    Комментировать
    Нравится 1 Комментировать
  • Встречались ли вам овер-инженеры среди джунов и миддлов? Как надо с такими поступать?

    Tom_Xor
    XOROX @Tom_Xor

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

    Не ясно как он вредит проекту и коллегам, занимаясь рефакторингом и тестированием их кода не в рабочее время.

    Встречали ли вы нечто подобное, и как с таким бороться?

    С этим бороться просто – составить правила, которым все будут следовать. Полагаю, что было бы эффективно сделать это совместно с ним.
    Ответ написан 04 апр.
    9 комментариев
    Нравится 2 9 комментариев
  • Как присвоить атрибуты элементам по счету в JS?

    Tom_Xor
    XOROX @Tom_Xor
    1. Получаем все элементы <td></td> из этой таблицы.
    2. Обходим, добавляя соответствующие идентификаторы, после каждых 8 элементов повторяя идентификаторы.

    НО! В HTML нельзя повторять идентификаторы, поэтому пусть добавляется не сам id, а id + i, где i инкрементируется после каждых 8 пройденных элементов.
    Ответ написан 04 апр.
    2 комментария
    Нравится 2 комментария
  • Почему AJAX загружает страницу по новой?

    Tom_Xor
    XOROX @Tom_Xor
    Так и должен работать window.location.assign().

    Если всё работает, то проблема, либо в пути XHR, либо не в клиентском JavaScript, а в том, что отдаёт сервер в ответ на этот вопрос.
    Ответ написан 03 апр.
    30 комментариев
    Нравится 1 30 комментариев
  • Как автоматизировать поток изображений?

    Tom_Xor
    XOROX @Tom_Xor
    Алгоритм действий следующий:
    1. Определяете какой блок кода должен вставляться при добавлении картинки.
    2. Определяете в этом блоке кода статические и динамические данные
    3. Пишите код, который получает динамические данные, вставляет их в "шаблон" на соответствующие позиции, а затем добавляет этот блок в HTML.


    HTML:
    <button id="appender"></button>

    JavaScript
    let appender = document.getElementById('appender');
    appender.addEventListener('click', () => {
         let div = document.createElement('div');
         let p = document.createElement('p');
         p.textContent = prompt('Enter the text of the paragraph', ''); /* Input dynamic data */
         div.append('Paragraph:', p);
         document.body.append(div);
    });


    А на сайте Вам также нужно сделать следующее:
    • Добавить панель администратора.
    • Реализовать запросы на добавление контента на сервер.
    • Обработать запросы, добавив контент.
    Ответ написан 03 апр.
    17 комментариев
    Нравится 1 17 комментариев
  • Как сделать закрытие инофрмационного блока на куки?

    Tom_Xor
    XOROX @Tom_Xor
    Показывайте информационный блок, только если в localStorage отсутствует некоторая запись.
    Если пользователь нажал крестик, то удаляйте информационный блок и делайте в localStorage эту запись.

    P.S. Если это информационный блок, требующий разрешения использования сайтом куки, то также следует обрабатывать кнопку OK и при нажатии удалять информационный блок и делать другую запись в localStorage, а также обрабатывать куки в зависимости от записи.
    Ответ написан 03 апр.
    Комментировать
    Нравится 2 Комментировать
  • Почему при append не сохраняются ссылки?

    Tom_Xor
    XOROX @Tom_Xor
    В экземпляр Map записывается текстовое содержимое ссылок, а не элементы ссылок.
    Затем создаются новые элементы ссылок и в них записывается текстовое содержимое из Map, но в них не записывается значение из соответствующего свойства href:
    let a = document.createElement("a"); // JS string 22
    a.textContent = companyName;
    Ответ написан 03 апр.
    2 комментария
    Нравится 2 комментария
  • В чём отличие между вызовом функции копированием фунции?

    Tom_Xor
    XOROX @Tom_Xor
    sayHi   // Получаем ссылку на функцию
    sayHi() // Получаем ссылку на функцию, затем вызываем функцию, на которую ведёт эта ссылка

    В JavaScript функции это значения объектного типа, а значения объектного типа копируются по ссылке.

    В вашем случае есть переменная sayHi и переменная func. В переменную sayHi записана ссылка на функцию.
    Для кода var func = sayHi эта ссылка записывается в переменную func.
    Для кода var func = sayHi() вызывается функция по этой ссылке, и результат вызова этой функции записывается в переменную func.
    Ответ написан 02 апр.
    4 комментария
    Нравится 2 4 комментария
  • Как сделать закрытие спойлера при открытии другого?

    Tom_Xor
    XOROX @Tom_Xor
    Напишите это на JavaScript, используя обработчики события click и паттерн «делегирование событий».
    При открытии спойлера обработчик должен делать следующее:
    1. Закрываем текущий открытый спойлер, расположенный в переменной currentSpoiler.
    2. Записываем спойлер, на котором сработал обработчик события click, в переменную currentSpoiler.
    3. Открываем спойлер, на котором сработал обработчик события click.

    На HTML/CSS тоже можно реализовать это поведение, но год будет длинным и некачественным.
    Ответ написан 01 апр.
    Комментировать
    Нравится Комментировать
  • Терминология в JavaScript?

    Tom_Xor
    XOROX @Tom_Xor
    Значение свойства объекта – объект, у которого есть свойства.
    Терминология JavaScript описана тут.
    Ответ написан 01 апр.
    Комментировать
    Нравится 1 Комментировать
  • Как расшифровать код js типа _0x4edadc=function(_0x342718,_0x4cb0b8,_0x2d0229,_0x32ee0c?

    Tom_Xor
    XOROX @Tom_Xor
    1. Форматируйте код, расставив пробельные символы, например, используя этот инструмент. Во многих браузерах также есть подобный инструмент.
    2. Измените идентификаторы на более удобные для чтения (например, в WebStorm, используя на идентификаторе комбинацию клавиш Shift + F6).
    3. Затем замените все не Decimal литералы чисел на Decimal литералы чисел.
    4. Удалите лишние аргументы, заменив все соответствующие вызовы на вызовы, учитывающие новый интерфейс.
    5. Замените излишний код: лишние функции и их вызовы, идентификаторы и прочее.


    const _0x4edadc = function (a, b, c, d, e) {
        return _0x487e(e - -987, a)
    }
    const _0x40ba91 = function (a, b, c, d, e) {
        return _0x487e(e - -987, a)
    }

    Также существуют разные деобфускаторы JavaScript, например, JStillery (онлайн версия), но скорее всего на сегодня нет деобфускаторов, которые преобразуют обфусцированный код в чистые исходники без приложения усилий.
    Ответ написан 01 апр.
    Комментировать
    Нравится 1 Комментировать
  • Почему текстовый редактор Atom помечает CSS функцию CALC красным?

    Tom_Xor
    XOROX @Tom_Xor
    Точно можно выяснить только из исходников Atom. Atom как-то объясняет пометку?

    Потенциальные варианты:
    • Вместо английской "c" используется русская "с". Возможна эта проблема касается другого символа в строке.
    • Atom неизвестна функция calc с префиксами.
    • Свойство с префиксами в значении после такого же свойства без префиксов в значении.
    • Atom считает файл не CSS файлом.
    • Ошибка в синтаксическом анализаторе Atom.


    P.S. Не пишите префиксы, если это не код для настоящего проекта. Не пишите префиксы в коде настоящего проекта, пусть это делает автопрефиксер. Префиксы в исходниках это плохо.
    Ответ написан 01 апр.
    4 комментария
    Нравится 4 комментария
  • Как такие фигуры делать на css?

    Tom_Xor
    XOROX @Tom_Xor
    Например, используя CSS свойство border-radius.
    Ответ написан 01 апр.
    Комментировать
    Нравится 1 Комментировать
  • Почему не работает изменение курсора в CSS?

    Tom_Xor
    XOROX @Tom_Xor
    Явные ошибки:
    • Перед url указана одинарная кавычка.


    Потенциальные ошибки:
    • Указан неверный путь до файла курсора.
    • Файл курсора имеет недопустимый для браузера размер.
    • Файл курсора имеет недопустимый для браузера формат.


    Подробнее можете прочитать на MDN.
    Ответ написан 01 апр.
    Комментировать
    Нравится 1 Комментировать
Оценили как «Нравится»
  • 1
  • 2
  • Следующие →
Самые активные сегодня
  • yupiter7575
    Yupiter7575
    • 12 ответов
    • 1 вопрос
  • Василий Банников
    • 12 ответов
    • 0 вопросов
  • firedragon
    Владимир Коротенко
    • 10 ответов
    • 1 вопрос
  • Slayer_nn
    Yan
    • 7 ответов
    • 1 вопрос
  • hottabxp
    Сергей Карбивничий
    • 7 ответов
    • 0 вопросов
  • xez
    Dmitry Roo
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

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

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