• Как один элемент объекта засунуть в массив?

    WblCHA
    @WblCHA
    Как вытащить все значения born и died, в два разных массива

    А зачем?
    const getAverageAge = (humans) => humans.reduce((acc, h) => acc + (h.died - h.born), 0) / humans.length;
    Ответ написан
    Комментировать
  • Можно ли сделать сетеры для методов массива?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    JS вполне себе динамический язык, позволяющий многое, но некоторыми вещами стоит пользоваться с осторожностью, чтобы потом не было мучительно больно это отлаживать.
    Нужные методы можно подменить, просто перезаписав в них новые функции, но лучше делать это не глобально для всех массивов на прототипе, а на конкретном инстансе массива, например так:
    const arr = []; // создали массив
    arr.push = function() { // перезаписываем конкретно его push
      Array.prototype.push.apply(this, arguments); // вызвали оригинальный push со всеми аргументами
      // тут делаем еще что-то
    };

    Еще что-то может производить неожиданный эффект, который впоследствии доставит боли при дебаге такого кода, поэтому как рекомендовали выше, лучше пользоваться декоратором, но метод вполне рабочий, и используется например в vue.js для отслеживания изменений в массивах
    Ответ написан
    2 комментария
  • Как корректно вывести RegExp изменение?

    0xD34F
    @0xD34F Куратор тега JavaScript
    function replaceText(node, replacer) {
      if (node.nodeType === Node.ELEMENT_NODE) {
        node.childNodes.forEach(n => replaceText(n, replacer));
      } else if (node.nodeType === Node.TEXT_NODE) {
        node.nodeValue = replacer(node.nodeValue);
      }
    }
    
    
    replaceText(document.body, str => str.replace(/\d/g, 'hello, world!!'));

    или

    function replaceText(node, replacer) {
      const iter = document.createNodeIterator(node, NodeFilter.SHOW_TEXT);
    
      for (let node = null; node = iter.nextNode(); ) {
        node.nodeValue = replacer(node.nodeValue);
      }
    }
    Ответ написан
    Комментировать
  • Как разбить массив на несколько по уникальности значения ключа объекта?

    Seasle
    @Seasle Куратор тега JavaScript
    arr.reduce((acc, x) => ((acc[x.i] ??= []).push(x), acc), {})
    Ответ написан
    Комментировать
  • Как произвести слияние массив объектов с другим массивом объектов?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const merge = (...arrs) =>
      Array.from(
        { length: Math.max(...arrs.map(n => n.length)) },
        (_, i) => Object.assign({}, ...arrs.map(n => n[i]))
      );
    
    
    const arr = merge(arr1, arr2);

    или

    const merge = (...arrs) =>
      arrs.reduce((acc, n) => (
        n.forEach((m, i) => Object.assign(acc[i] ??= {}, m)),
        acc
      ), []);
    Ответ написан
    1 комментарий
  • Почему может бесконечно длится модерация поста?

    pragmatik
    @pragmatik Куратор тега Хабр
    На проверку регулярно поступает большое число материалов. Чтобы принять максимально объективное решение модераторы подробно рассматривают каждую заявку. Но на это уходит время.

    Вы отправили материал на проверку 7 часов назад. На мой взгляд, это не "бесконечно". Но я пошел вам навстречу и произвел модерацию присланного вами материала вне очереди - отклонил его. У нас не принято выдавать приглашения за 12 предложений текста, сопровожденных двумя скачанными из сети иллюстрациями. С примерами материалов, успешно прошедших модерацию, можно ознакомиться по адресу: https://habr.com/sandbox/invited/
    Ответ написан
    Комментировать
  • Какой должен быть Git у начинающего разработчика?

    bingo347
    @bingo347
    Crazy on performance...
    Проект(ы) могут быть любым(и). Главное чтоб в них была именно Ваша работа.

    Смотреть будут:
    1. качество кода
    2. как оформляете коммиты
    3. есть ли развитие во времени
    4. есть ли в проекте конфиги вспомогательных тулов

    Но надо помнить, что если нечего показывать, то лучше вообще не упоминать github в резюме. Вот то, с чем сам сталкивался и что прямо отталкивало, когда кандидат указывает в резюме гитхаб:
    - только форки популярных проектов, без единого коммита от владельца репозитория
    - несколько проектов, но все как под одну гребенку: 1 коммит - стандартный шаблон гитхаба, 2 коммит - залил весь проект целиком
    Ответ написан
    Комментировать
  • Уместны ли каверзные вопросы на собеседовании?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Странный вопрос.
    На собеседовании все уместно. Ты же не забывай, что собеседование это не ЕГЕ.
    Это диалог двух сторон. Если кандидату не понравился вопрос, он может встать и уйти.
    Если он не знает ответ, он может что-то насочинять, и если ты грамотный специалист ты увидишь что он тут отгадывает или точно знает.

    У меня для собеседований есть небольшой опросник, в котором чуть ли не каждый второй вопрос идет с небольшим подвохом, и по полноте ответов я понимаю насколько глубоко кандидат шарит. Но мне не всегда необходимо найти того, кто ответит на все 100% вопросов развернуто.
    Я просто оцениваю что кандидат знает, а с чем сталкивался настолько регулярно что прям помнит наизусть детали без мануала.

    Поэтому и вопросы, которые могут касаться глубоких нюансов задавать можно не каждому подряд, а когда хочешь уточнить насколько глубока кроличья нора. Поставь перед сложным вопросом один попроще в эту тему и смотри имеет ли смысл задавать более сложный. Ну и глобально стоит оценивать, насколько правильный ответ на эту тему важен - бывает что просто не приходилось с таким сталкиваться и разбираться, но при случае там реально сразу гуглится ответ, и знать такое наизусть не обязательно
    Ответ написан
    2 комментария
  • На каком ЯП стоит писать программу для управления компьютерным клубом (десктоп)?

    vabka
    @vabka
    Токсичный шарпист
    Совершенно не имеет разницы на чём это делать.

    Тут у тебя по сути две (или три) части:
    1. Пользовательский интерфейс, где можно кнопочки нажимать и посылать какие-то команды (типа разблокировать комп №42 на 3 часа)
    2. Некоторая система, которая будет непосредственно эти команды реализовывать.
    3. Возможно, ещё какая-нибудь финансовая система, чтобы ещё деньги считать и чеки печатать.

    Все три могут быть как частями одной программы, написанной на одном языке, так и несколькими независимыми программами (написанными, возможно, на разных языах), которые между собой общаются через какой-нибудь сетевой протокол (например по HTTP).

    Самое сложное (не понятное) - это вторая, и она даже может состоять из нескольких частей (например сервер, который всем управляет и агент на управляемом компьютере)

    Пользовательский интерфейс может быть написан решительно на чём угодно - это может быть даже сайт, который будет через http обращаться к серверу, а может быть и привычный для тебя Windows Forms

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

    vabka
    @vabka
    Токсичный шарпист
    Код у тебя, конечно, ужас.
    Вместо того чтобы складывать/умножать на innerHTML тебе нужно преобразовывать его в число.
    Например при помощи функции parseInt
    Ответ написан
    Комментировать
  • Как вывести данные из json на страницу?

    Big_Trouble
    @Big_Trouble
    Программист недосамоучка
    Вместо main json создаете файл main.js и экспортируете по умолчанию (default) объект с полями title, subtitle.

    // main.js
    
    export default {
        title: "sun",
        subtitle: "earth",
        r: "mars"
    }

    <h1></h1>
    <h2></h2>
    <p></p>


    //index.js
    import data from './main.js';
    
    // Пишем функцию, чтобы не менять каждый элемент вручную
    const changeHtmlText = (querySelector, data) => {
        const $element = document.querySelector(querySelector);
        
        $element.textContent = data
    }
    changeHtmlText("h1", data.title);
    changeHtmlText("h2", data.subtitle);
    changeHtmlText("p", data.r);
    Ответ написан
    Комментировать
  • Словарь для брута rar архива возможно сделать через Блокнот?

    @Ledauph1
    Я только учусь, не пинайте строго.
    Вы создали словарь с 84 строками (значениями), то есть программа перебрала 84 значения с вашего словаря, не составляя комбинаций.
    Для создания словаря можно использовать программу Dictionary Generator Либо написать скрипт, который создаст список всевозможных комбинаций. Так же в некоторых программах для подбора пароля к архиву есть инструменты для создания словарей.
    Ответ написан
    1 комментарий
  • Как семантически верно оформить список статей в категории блога?

    MrDecoy
    @MrDecoy Куратор тега HTML
    Верставший фронтендер
    section должен содержать в себе заголовок 1-2 уровня.
    section представляет собой какой-то блок, объдиняющий по смыслу какую-то информацию.

    Соответственно, я бы отклонил оба варианта.
    Делать внутри article section имеем смысл если их там больше 1.
    Не делать section вообще - значит не дать контекста что это за набор article.

    Я бы предложил вариант:
    main
      section
        заголовок
        article
          заголовок
          описание
          ссылка
        article
          заголовок
          описание
          ссылка
    Ответ написан
    1 комментарий
  • Как создать обственные BB коды на сайт или форум?

    @ksnk
    Простейший вариант - заменять [CODE] на < pre > и закрывающий [/CODE] на < /pre>. Это не то, что нужно в этом месте ? Чтобы не задумываться о непарных тегах - можно менять регуляркой
    $text=preg_replace('~\[CODE\](.*?)\[/CODE\]~si', '<pre>$1</pre>',$text);

    Если, внезапно, захочется что-то более навороченного - можно посмотреть ответ nokimaro
    Ответ написан
    Комментировать
  • Как создать обственные BB коды на сайт или форум?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Берем - используем
    Можно создать свои теги
    https://github.com/chriskonnertz/bbcode
    https://github.com/jbowens/jBBCode

    Самый простой вариант сохранять в базу текст с бб-кодами и парсить в html на PHP при рендеринге. Кеширование рендера - опционально.

    На js можете сделать сам редактор с кнопочками для удобного оборачивания блоков текста в бб-коды.
    Ответ написан
    Комментировать
  • Законно ли пиратить чужой код с интернета?

    alexgp13
    @alexgp13
    Руководитель ИТ-проектов
    Практически невозможно доказать копирование кода, особенно учитывая что большая часть кода любого сайта набрана из стандартных шаблонов.
    Только не думайте что так легко спиратить код, обычно написать заново проще и быстрее, чем разобраться в чужом коде)
    Вопросы будут только если весь дизайн скопируете. И то не факт...
    Ответ написан
    5 комментариев
  • Какое ПО выбрать для школьных звонков?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    выбери повершелл и встроенную службу расписаний.
    Или повершелл и nnCron для винды

    проиграть звук из повершелла можно так
    powershell -c (New-Object Media.SoundPlayer 'c:\PathTo\YourSound.wav').PlaySync();
    Ответ написан
    Комментировать
  • Странное поведение флешки?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Очень много причин может быть. Основная - это ноутбук и смартфон используют разные драйверы для FAT32.
    У ноутбука этот драйвер - более толерантный к ошибкам. У смартфона нет. Дальнейшее расследование этого
    пустяка уже потребует денег и специалистов.

    Попробуй отформативроать в ExFat https://en.wikipedia.org/wiki/ExFAT
    Возможно многие потенциальные баги там уже исправлены.

    FAT12/FAT32 - это морально устаревшая система и сегодня нет оснований ее использовать. Она создавалась для магнитных дисков и дискет малого объема.
    Ответ написан
    Комментировать
  • Странное поведение флешки?

    @mkone112
    Начинающий питонист.
    Флешка расходник, многие дохнут после нескольких перезаписей.
    Ответ написан
    Комментировать