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

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

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

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

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

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

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

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

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

Ihor Bratukh

  • 179
    вклад
  • 14
    вопросов
  • 302
    ответа
  • 39%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как динамически инициализировать класс?

    gbg
    Армянское Радио @gbg Куратор тега Arduino
    Любые ответы на любые вопросы
    Нельзя ссылку на ходу куда-то переставить. Указатель - можно.
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как сгруппировать элементы массива по значению одного из свойств?

    0xD34F
    0xD34F @0xD34F Куратор тега JavaScript
    arr.reduce((acc, n) => ((acc[n.room] = acc[n.room] || []).push(n), acc), {})
    Ответ написан более трёх лет назад
    4 комментария
    4 комментария
  • Как динамически вызывать только те props компонента которые нужны?

    Aetae
    Aetae @Aetae
    Тлен
    Правильный ответ дал Andrey Suha.
    Но если очень хочется, то можно делать примерно так:
    <v-col v-for="item of components_list" v-bind:key="item.id">
      <v-text-field
        v-bind="getProps(item)"   
        v-model="components[item.code_name]"
      />
    </v-col>
    где getProps возвращает объект вида { [prop]: value }.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как инициализировать класс внутри метода другого класса?

    zagayevskiy
    Денис Загаевский @zagayevskiy
    Android developer at Yandex
    Это инстанс уничтожается, когда ты выходишь из метода, поэтому нельзя ссылку на него хранить. Используй dht = new SensorDht(pin, type)

    А вообще в современном С++ вроде как не приветствуется использование сырых указателей.
    Ответ написан более трёх лет назад
    4 комментария
    4 комментария
  • Как инициализировать класс внутри метода другого класса?

    devalone
    devalone @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    В данном случае, просто храни DHT не по указателю.

    class SensorDht {
      private:
        DHT dht;
    
    // ...
    
    SensorDht::SensorDht(uint8_t pin, uint8_t type) : dht(pin, type) {
      this->pin = pin;
      this->type = type;
    }
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как распарсить URL?

    askhat
    Асхат Бикметов @askhat
    I'm not a Ruby developer!
    URLSearchParams
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как задать задержку в цикле for?

    Interface @Interface
    let $body = document.querySelector('body');
    let $bodyH = $body.clientHeight;
    let $bodyW = $body.clientWidth;
    
    function sleep(ms) {
    	return new Promise(resolve => setTimeout(resolve, ms));
    }
    
    async function main() {
    	let ask = prompt('How many circles you want to draw?');
    
      if (ask !== null || ask !== '') {
        for (let i = 0; i < ask; i++) {
          drowCircle(i);
          await sleep(1000);
        }
      }
    }
    
    main();
    
    function drowCircle(i) {
      let $circle = document.createElement('div');
      let $circleSize = getRand(50, 100);
      let positionX = getRand(0, $bodyW - $circleSize);
      let positionY = getRand(0, $bodyH - $circleSize);
    
      $body.insertAdjacentElement('afterbegin', $circle);
    
      $circle.style.width = $circle.style.height = `${$circleSize}px`;
      $circle.style.zIndex = i+1;
      $circle.style.backgroundColor = `rgb(${getRand(0,255)},${getRand(0,255)},${getRand(0,255)})`;
      $circle.style.borderRadius = '50%';
      $circle.style.position = 'absolute';
      $circle.style.top = `${positionY}px`;
      $circle.style.left = `${positionX}px`;
    }
    
    function getRand(min, max) {
      let rand = min - 0.5 + Math.random() * (max - min + 1);
      return Math.round(rand);
    }
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как передать json buffer как аргумент функции в ArduinoJson 6?

    vt4a2h
    Vitaly @vt4a2h Куратор тега C++
    Senior software engineer (C++/Qt/boost)
    Похоже что тут размер должен быть известен на этапе компиляции. Проще передать в функцию не размер буфера, а скажем сам буфер, или сделать функции шаблонный параметр с размером буфера.

    Ваш вариант с переменной не подходит, потому что её значение на этапе компиляции не известно.

    Можно ещё попробовать DynamicJsonDocument его размер можно указать в рантайме, согласно документации.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Можно ли настроить консоль node.js, чтобы она была видна в браузере?

    notiv-nt
    Михаил @notiv-nt
    Как ваше ничего? Да, моё тоже
    node --inspect ?
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как выполнять цикл синхронно, если в нем асинхронная функция?

    sergiks
    Сергей Соколов @sergiks Куратор тега JavaScript
    ♬♬
    async / await
    /**
     * асинхрота с запросом. Возвращает Promise
     */
    const doAsyncStuff = (urlIter, urlSite) => new Promise((resolve, reject) => {
      needle.get(urlIter, (err, result) => { // Сама асинхронная функция
        if (err) reject(err);
        $('.product-card__link')
          .each((i, val) => prodLink.push(urlSite + $(val).attr("href")));
    
        resolve();
      })
    })
    
    /**
     * Тот самый цикл
     * @param {number} quanPage число страниц
     */
    const doStuff = async quanPage => {
      for(let i = 1; i <= quanPage; i++) {
        let urlIter = urlSite + i; // Ссылка, которая создается с каждой новой итерацией
        await doAsyncStuff(urlIter, urlSite); // Ждём-с!
      }
    }
    
    doStuff(10);


    Демо:
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как выполнять цикл синхронно, если в нем асинхронная функция?

    Надим Закиров @zkrvndm Куратор тега JavaScript
    Софт для автоматизации
    Вместо for можно просто использовать функцию, которая циклически вызывает сама себя, пока счетчик удовлетворяет условиям:
    i = 1;
    
    function ciklotron() {
    
    	if (i <= quanPage) {
    		
    		let urlIter = urlSite + i; 
    		
    		needle.get(urlIter, function (err, res) {
    			if (err) throw (err);
    			
    		  prodUrl = $('.product-card__link');  
    		  prodUrl.each(function (i, val) {    
    				prodLink.push(urlSite + $(val).attr("href"));
    		  });
    
    		i = Number(i) + Number(1); // Увелчиваем счетчик на еденицу
    		ciklotron(); // Вызываем сами себя
    		  
    		});
    
    	}
    
    }
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как отключить кэш в хроме?

    Hanneman @Hanneman
    F12 и там
    5d90ebc4de52d944068782.png
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • На сколько хорошо нужно знать HTML CSS перед переходом к JS?

    aliencash
    Андрей Федоров @aliencash
    Партизан
    Когда вы будете ПОНИМАТЬ, что HTML и СSS недостаточно для решения целевых задач.
    Ответ написан более трёх лет назад
    3 комментария
    3 комментария
  • Как каждый следующий элемент массива повторять на один раз больше предыдущего?

    0xD34F
    0xD34F @0xD34F Куратор тега JavaScript
    arr.map((n, i) => n.repeat(i + 1))

    или

    arr.map((n, i) => Array(i + 1).fill(n).join(''))

    или

    arr.map((n, i) => Array(i + 2).join(n))
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как получить массив из другого массива?

    0xD34F
    0xD34F @0xD34F Куратор тега JavaScript
    arr.reduce((acc, n) => (acc[n.month - 1] = n.sum, acc), Array(12).fill(''))
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как решить задачу без применения if switch?

    0xD34F
    0xD34F @0xD34F Куратор тега JavaScript
    const getDayName = (number, lang) => ({
      en: [ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday' ],
      ru: [ 'Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота' ],
    })[lang][number % 7];
    
    console.log(getDayName(5, 'en')) // Friday
    console.log(getDayName(7, 'ru')) // Воскресенье
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как пушить только безошибочный код?

    saboteur_kiev
    Saboteur @saboteur_kiev Куратор тега Git
    software engineer
    Пользоваться code review системами.
    Github, bitbucket, gerrit, gitolite и др.

    Ставишь, настраиваешь доступ к гиту через эту систему, запрещаешь прямой коммит в master или release бренч, чотбы все разработчики делали свои feature ветки и разрабатывали в них, а потом создавали пулл реквест на мерж в мастер.
    И тестирование работы проверяли до мержа на своей ветке. Мержить - только после проверки.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Сборщики на gulp и webpack?

    Gip @Giperoglif
    webpack + laravel-mix
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как я могу сделать скриншот страницы сайта на Node.js?

    bingo347
    Дмитрий Беляев @bingo347 Куратор тега Node.js
    Crazy on performance...
    https://www.npmjs.com/package/puppeteer
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как правильно запоминать алгоритмы?

    sergey-gornostaev
    Сергей Горностаев @sergey-gornostaev
    Седой и строгий
    Алгоритмы не надо запоминать, их надо понимать. Если один раз понял, как работает сортировка Шелла или алгоритм Дейкстры, то уже никогда не перестанешь понимать. Это как умение ездить на велосипеде.
    Ответ написан более трёх лет назад
    11 комментариев
    11 комментариев
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • Следующие →
Самые активные сегодня
  • Drno
    • 9 ответов
    • 0 вопросов
  • vabka
    Василий Банников
    • 7 ответов
    • 0 вопросов
  • Kuzm1ch88
    Кузьмич
    • 5 ответов
    • 0 вопросов
  • mrsexy
    Alfieros
    • 4 ответа
    • 1 вопрос
  • Vindicar
    Vindicar
    • 3 ответа
    • 1 вопрос
  • nedosekinstanislav
    Stanislav
    • 4 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

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

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