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

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

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

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

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

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

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

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

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

1thater

  • 5
    вклад
  • 43
    вопроса
  • 9
    ответов
  • 89%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Для чего нужен throw в JS?

    Xuxicheta
    Антон Швец @Xuxicheta
    инженер
    function скажиМяу(кот) {
      if (!кот.сказатьМяу) {
        throw new Error('это не кот и он не умеет говорить мяу, дурень');
      }
      кот.сказатьМяу()
    }

    вот примерно для этого
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как через vscode показать верстку заказчику?

    teknik2008
    Алексей Шашенков @teknik2008
    Расскажите про GOLANG. Мне интересно
    https://ngrok.com - хоть всему миру. Для теста будет достаточно.
    live server если надо запустить локально
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как верстать изогнутые секции?

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

    coderisimo
    coderisimo @coderisimo Куратор тега JavaScript
    Медиазапросы

    @media only screen and (max-width: 480px) {
        #someDiv {
            display: none;
        }
    }
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как сделать генератор кодов?

    Seasle
    Александр @Seasle Куратор тега JavaScript
    Как-то так. UPD: провел тесты, и переделал логику «сборки» итогового значения.
    const createKeyGenerator = (groupSize, groupCount) => {
        const dictionary = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
        const length = groupSize * groupCount;
    
        return () => {
            const values = new Uint32Array(length);
            crypto.getRandomValues(values);
    
            const chars = [...values].map(value => dictionary[value % dictionary.length]);
            const key = new Array(groupCount)
                .fill(null)
                .map((_, index) => {
                    const offset = index * groupSize;
    
                    return chars
                        .slice(offset, offset + groupSize)
                        .join('');
                })
                .join('-');
    
            return key;
        };
    };
    
    const createKey = createKeyGenerator(4, 3);
    
    console.log(createKey()); // FO4V-P2ZV-JYH4
    console.log(createKey()); // TTMR-EBVC-8TUW

    Также, по-хорошему если данные коды будут хранится в БД, неплохо бы на существование проверять.
    Предыдущая версия

    const createKeyGenerator = (groupSize, groupCount) => {
        const dictionary = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
        const length = groupSize * groupCount;
        const group = new RegExp(`.{${groupSize}}`, 'g');
    
        return () => {
            const values = new Uint32Array(length);
            crypto.getRandomValues(values);
    
            const chars = [...values].map(value => dictionary[value % dictionary.length]);
            const key = '_'
                .repeat(length)
                .replace(/\w/g, (match, index) => chars[index])
                .match(group)
                .join('-');
    
            return key;
        };
    };



    Хочу заметить: не могу гарантировать 100%, что алгоритм будет устойчивым (без повторов). Проверял на Set коллекции, по итогу размер коллекции превысил (16^6 значений) и получил исключение. При этом не было ни одного повтора.
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Есть ли книги для вхождения в JavaScript, такие же качественные как “A byte of python”?

    Oligophren @Oligophren
    Сертифицированный разработчик Terrasoft BPM'online
    Вот же она: https://learn.javascript.ru
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Есть ли книги для вхождения в JavaScript, такие же качественные как “A byte of python”?

    sergey-gornostaev
    Сергей Горностаев @sergey-gornostaev
    Седой и строгий
    https://learn.javascript.ru
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как получить значение href тэга 'a' средствами BeautifulSoup Python?

    try100 @try100 Автор вопроса
    На пути к познанию Python
    Всем спасибо за помощь! Решил свой вопрос в таком виде:
    def parse(html):
    	soup = BeautifulSoup(html,'html.parser')
    	title = soup.find('h1')
    	image1 = soup.find_all('a', class_='highslide')[0]
    	image2 = soup.find_all('a', class_='highslide')[1]
    		
    	post = []
    
    	post.append ({
    		'title': title.text,
    		'image1': image1.get('href'),
    		'image2': image2.get('href'),
    		})
    	print(post)
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
Оценили как «Нравится»
Самые активные сегодня
  • saboteur_kiev
    Saboteur
    • 5 ответов
    • 0 вопросов
  • CityCat4
    CityCat4
    • 5 ответов
    • 0 вопросов
  • Пес Барбос
    • 4 ответа
    • 0 вопросов
  • ipatiev
    Ипатьев
    • 4 ответа
    • 0 вопросов
  • pindschik
    pindschik
    • 3 ответа
    • 0 вопросов
  • VoidVolker
    VoidVolker
    • 3 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

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

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