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

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

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

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

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

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

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

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

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

nowm

  • 195
    вклад
  • 4
    вопроса
  • 124
    ответа
  • 73%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Js проверка isset?

    bingo347
    Дмитрий Беляев @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Оператор ! - это булево отрицание. И он приводит свой аргумент к типу boolean. Автор не открыл Америку, и это используется. Но использовать нужно с умом.
    Значения приводимые к false - это undefined, null, '' (пустая строка), 0, 0n (bigint 0), NaN.
    Соответственно, когда у нас есть например строка или undefined или например число или undefined - такая проверка на undefined может быть небезопасна, так как она отсечет еще и пустую строку, 0 и NaN.

    !! - это всего лишь 2 идущих подряд оператора !, это такое популярное сокращение для быстрого каста к boolean.
    Еще автор статьи предлагает использовать !!!, но это бессмысленно, так как тройное отрицание даст тоже самое что и одинарное.
    Ответ написан 20 февр.
    1 комментарий
    1 комментарий
  • Есть ли более оптимальный способ написать данную функцию?

    abylalikkkk @abylalikkkk
    Если работает тогда не трогай
    Ответ написан 17 янв.
    Комментировать
    Комментировать
  • Как в MongoDB сменить тип данных поля String на [String], при этом сохранив предыдущие данные?

    lssssssssssl
    lssssssssssl @lssssssssssl
    db.Clients.find({}).forEach(el => {
        db.Clients.updateOne({ _id: el._id }, { $set: { phone: [el.phone] }})
    })
    Ответ написан 16 дек. 2021
    1 комментарий
    1 комментарий
  • Как запретить доступ к сайту, если посетитель заходит по прямому IP машины?

    sergiks
    Сергей Соколов @sergiks
    ♬♬
    NGINX в итоге что-то да ответит. Можно сделать отдельный конфиг, который будет ловить «все остальные» (default_server) запросы, в т.ч. по прямому IP:
    server {
        listen       80  default_server;
        server_name  _;
        return       444;
    }
    Здесь _ подчеркивание — не что-то волшебное, просто несуществующее имя домена.

    Подробнее: nginx.org/en/docs/http/server_names.html#miscellan...
    Ответ написан 16 дек. 2021
    Комментировать
    Комментировать
  • Есть ли такой браузер, который позволит смотреть код в iframe?

    DevMan
    DevMan @DevMan Куратор тега JavaScript
    эмм.... код в айфреймах спокойно показывается в девтулзах.
    Ответ написан 06 дек. 2021
    5 комментариев
    5 комментариев
  • Есть ли такой браузер, который позволит смотреть код в iframe?

    freemailroot @freemailroot
    Всем, наверно, пофиг)
    Любой браузер, если развернуть тег. Иногда, как на скрине - iframe сначала нужно подгрузить по ссылке. 61ae83cb2cfc6112075299.png
    Ответ написан 07 дек. 2021
    2 комментария
    2 комментария
  • Как быстро и надежно закрывать задачи по сайту не нанимая программиста?

    anthtml
    AntHTML @anthtml
    Системный администратор программист радиолюбитель
    Ну это рынок, всх хотят кушать, фрилансер не будет пол года ждать того что от вас может прилететь, а может и не прилететь, заказ на 40 часов.
    Поэтому весь мир уже давно разделился на "подписчиков" и "проектников".
    Если нужна периодическая работа, то заключаете договор в рамках которого исполнитель резервирует под вас +/- определенное количество времени которое вы можете в течении месяца выбирать, либо, по аналогии с ТК, оплатить работнику простой.
    Если нужна разовая работа, то выкатывайте ТЗ и ждите кто из "проектников" свободный откликнется, чтобы полностью окунуться в вашу задачу.
    ПОэтому анализируйте рынок и считайте что выгоднее: дробить задачи чтобы укладываться в +/- 10ч в месяц и иметь постоянного человека у которого эти 10ч заложены в график и который уже зная архитектуру и состояние вашего проекта быстро все сделает. Или на каждую разовую задачу нанимать нового специалиста и доплачивать каждый раз 5-10ч за "вливание в проект", потому как, да, "проектник" сейчас сидит на аналогичном вашему 40часовике и на следующую неделю уже согласовал другой 40часовик, и Ваш, соответственно сможет взять только в конце месяца, если че выгодней не подвернется.
    Ответ написан 03 дек. 2021
    Комментировать
    Комментировать
  • Почему JS меняет дату?

    bingo347
    Дмитрий Беляев @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Дата не меняется, просто Вы оперируете датой в текущем часовом поясе (Московское время), а в консоль логируется в формате UTCString, а в UTC всегда используется время по Лондону.

    Ну и у строки нет метода setHours, нужно сначала создавать объект Date и уже на нем вызывать этот метод. Хотя для даты сделаной из такой строки этот вызов бессмысленный, так как устанавливаемые параметры и так будут 0
    Ответ написан 03 дек. 2021
    2 комментария
    2 комментария
  • Как с помощью vanilla JS сделать класс из атрибута data-?

    Everybody_Lies @Everybody_Lies
    // получаем атрибут
    const color = el.getAttribute('data-color');
    // устанавливаем его
    el.classList.add(color);
    Ответ написан 01 дек. 2021
    1 комментарий
    1 комментарий
  • Как с помощью vanilla JS сделать класс из атрибута data-?

    cannibal_corpse
    Ilya Olovyannikov @cannibal_corpse
    Верстальщик руками
    А почему бы не использовать просто data-атрибут как селектор?
    .class {
     &[data-color="red"] {
        // some code...
      }
    }


    Но если сильно надо, то

    const elements = document.querySelectorAll('[data-color]');
    
    elements.forEach(el => el.classList.add(el.dataset.color));
    Ответ написан 01 дек. 2021
    1 комментарий
    1 комментарий
  • Как ограничить показ длинного текста?

    DANIL KRESTOV @destys
    Нужно чуть больше вводных данных. Можно попробовать:
    white-space: nowrap; /* Запрещаем перенос строк */
    overflow: hidden; /* Обрезаем все, что не помещается в область */
    text-overflow: ellipsis; /* Добавляем многоточие */
    Ответ написан 01 дек. 2021
    Комментировать
    Комментировать
  • Почему не получается обратиться к this в JavaScript?

    GrayHorse @GrayHorse
    Ошибка в коде в том, что при вызове filter.update.country() this является объект update, а не filter.

    JS код, идентичный коду на Java:
    class Filter {
        static sex = null;
        static player = null;
        static country = null;
    
        static updateSex() {
            Filter.sex = document.querySelector("#sex").value;
        }
        static updatePlayer() {
            Filter.player = document.querySelector("#player").value;
        }
        static updateCountry() {
            Filter.country = document.querySelector("#country").value;
        }
    }
    
    Filter.updatePlayer();
    console.log(Filter.player);

    или
    class Filter {
        constructor() {
            this.sex = null;
            this.player = null;
            this.country = null;
        }
    
        updateSex() {
            this.sex = document.querySelector("#sex").value;
        }
        updatePlayer() {
            this.player = document.querySelector("#player").value;
        }
        updateCountry() {
            this.country = document.querySelector("#country").value;
        }
    }
    
    const filter = new Filter();
    filter.updateCountry();
    console.log(filter.country);


    Ну и рабочий аналог "кода" из вопроса:
    class Filter {
        fields = {
            country: null,
        }
        update = {
            caller: this,
            country() {
                this.caller.fields.country = "123";
            }
        }
    }
    const filter = new Filter();
    filter.update.country();
    console.log(filter.fields.country);
    Ответ написан 30 нояб. 2021
    Комментировать
    Комментировать
  • Как лучше дорабатывать приложение если последняя версия была в январе 2020г?

    Сергей Водаков @WaterSmith
    Android-разработчик. Java, Kotlin
    Чтобы не делать этого резко, нужно сделать это постепенно, а именно, по 1-2 либы.
    Сделали последнюю версию одной либы - поправили код с учетом нововведений, перешли к следующей.
    Если вдруг, объем изменений даже одной либы слишком велик, то возможно имеет смысл её пока вообще не обнослять.
    Ответ написан 29 нояб. 2021
    6 комментариев
    6 комментариев
  • Как сделать плавную анимацию текста при наведении?

    develx
    xdevelx @develx
    Web developer
    .example {
        /* color: #c4674d; */
        transition: color 0.3s;
    }
    
    .example:hover {
        color: #ff8562;
    }
    Ответ написан 28 нояб. 2021
    1 комментарий
    1 комментарий
  • Как не удалять весь placeholder при воде input?

    delphinpro
    Сергей delphinpro @delphinpro
    frontend developer
    Это не плейсхолдер. Это уже маска.
    Соответственно гуглим mask input. Решений – вагон и маленькая тележка.
    Ответ написан 30 сент. 2021
    3 комментария
    3 комментария
  • Какой плагин или инструмент посоветуете для такого раскрывающегося окна?

    Rsa97
    Rsa97 @Rsa97
    Для правильного вопроса надо знать половину ответа
    Достаточно HTML + CSS.
    Ответ написан 30 сент. 2021
    Комментировать
    Комментировать
  • Как понять что сайт не упадет и не будет виснуть при определенном трафике?

    vabka
    Василий Банников @vabka
    Токсичный шарпист
    Зависит ли это от стека технологий?

    зависит буквально от всего.
    Может быть есть какие нибудь специальные тесты для проверки этого?

    Да, для этого существует нагрузочное тестирование.
    Провести его можно при помощи яндекс танка/jmeter/gatling
    Ответ написан 29 сент. 2021
    2 комментария
    2 комментария
  • Разница между prompt и +prompt?

    Rsa97
    Rsa97 @Rsa97
    Для правильного вопроса надо знать половину ответа
    +prompt будет пытаться привести значение к числу, аналогично Number(prompt).
    Ответ написан 28 сент. 2021
    2 комментария
    2 комментария
  • Как выделить текст внутри ковычек в phpstorm/webstorm?

    s0xzwasd
    Даниил Маслов @s0xzwasd
    Я бы на вашем месте использовал сочетание Option(Alt)+Arrow Up (Extend Selection). У вас будет выделяться нужная часть в зависимости от семантики кода (текст внутри, текст с кавычками, текст с переменной (если она есть) и так далее).
    Ответ написан более года назад
    Комментировать
    Комментировать
  • В чём разница между форматами epub и ios.epub?

    alexyat
    Alexander @alexyat
    iOS Developer
    Не скажу как именно у Литреса, но в другом издательстве где я работал - это означало что epub проверен в iBooks и правильно там открывается, видны все разделы и ничего не съезжает нигде.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • Следующие →
Самые активные сегодня
  • Drno
    • 10 ответов
    • 0 вопросов
  • SoreMix
    soremix
    • 9 ответов
    • 0 вопросов
  • rPman
    • 7 ответов
    • 0 вопросов
  • CityCat4
    CityCat4
    • 6 ответов
    • 0 вопросов
  • mayton2019
    • 6 ответов
    • 0 вопросов
  • freeExec
    freeExec
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

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

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