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

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

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

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

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

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

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

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

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

Сергей Вушняков

Веб-разработчик
  • 27
    вклад
  • 1
    вопрос
  • 48
    ответов
  • 15%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Почему выходит undefined?

    sergiks
    Сергей Соколов @sergiks Куратор тега JavaScript
    ♬♬
    1. randNum содержит число.
    2. questFunc() возвращает строку с текстом вопроса.
    3. people[`${questFunc()}`] это, например, people["Это девушка?"] – будет undefined.
      Массив people не имеет строкового ключа. В нём два элемента с индексами 0 и 1.

    Я бы предложил не дублировать текст вопросов, а работать с их индексами. Так лаконичнее:
    spoiler
    const questions = [
      'Это самец?',
      'Это девушка?',
      'Носит очки?',
      'Занимается спортом?',
      'У этого человека смуглая кожа?',
    ];
    const people = [
      { name: 'Егор', profile: [1, 0, 1, 1, 1] },
      { name: 'Залина', profile: [0, 1, 1, 1, 0] },
    ];
    
    const questionElement = document.querySelector('.question');
    
    let questionIndex; // индекс текущего вопроса
    function askQustion() {
      questionIndex = Math.floor(Math.random() * questions.length);
      questionElement.innerHTML = questions[questionIndex];
      return questions[questionIndex];
    }
    
    askQustion();
    
    // TODO: принять ответ пользователя (true/false)
    const answer = true; // допустим, ответил "да"
    
    const candidates = people
      .filter(({ profile }) => !!profile[questionIndex] === answer)
      .map(({ name }) => name)
      .join(', ');
    
    console.log('Кандидаты:', candidates);
    Ответ написан 31 дек. 2022
    Комментировать
    Комментировать
  • Как вносить изменения в тему WordPress, чтобы при ее обновлении изменения не сносились?

    artzolin
    Артем Золин @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Для этого нужно использовать дочернюю тему
    Ответ написан 11 авг. 2022
    1 комментарий
    1 комментарий
  • Как получить последние добавленные продукты (WooCommerce)?

    Mike_Ro
    Михаил Р. @Mike_Ro Автор вопроса
    Чистейший колумбийский ЖеЭс
    Отсортировать по дате, задать количество:

    $query_args = array(
        'showposts'   => 5,
        'post_status' => 'publish',
        'post_type'   => 'product',
        'orderby'     => 'date',
        'order'       => 'DESC',
    );
    $r = new WP_Query( $query_args );
    if ( $r->have_posts() ) {
        while ( $r->have_posts() ) {
            $r->the_post();
            // Вывод
        }
    }
    wp_reset_postdata();
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Какие есть плагины для экспорта в Excel из OpenCart (ocStore)?

    Qarc @Qarc
    https://www.youtube.com/watch?v=jnF9mUoDXrU
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как подходить к решению нетривиальных задач?

    Terras
    Сергей Нижний Новгород @Terras
    Привет.

    Всегда использую модель боли:

    1) Смотришь задачу
    2) Пытаешься её решить
    3) Понимаешь, что ты тупой идиот, который ничего не может.
    4) Поднимаешь в помощь гугл
    5) Поднимаешь в помощь литературу
    6) Спрашиваешь ребят на тему: "почему так, а не иначе".
    7) Выполняешь задание, осознавая, что ты тупой, раз на решение этой задачи тебе пришлось потратить столько времени.

    Повторить до бесконечности, и ты станешь профи.
    Ответ написан более трёх лет назад
    7 комментариев
    7 комментариев
  • Встречали ли вы такую сетку/расположение блоков?

    Sanes
    Sanes @Sanes
    getuikit.com/docs/grid-js.html
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Можно ли реализовать такой бек с помощью css?

    Taraflex
    Александр Таратин @Taraflex
    Ищу работу. Контакты в профиле.
    apps.eky.hk/css-triangle-generator
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как составить план своего дальнейшего обучения?

    Александр Манаков @gogolor
    Как уже и писали - английский - обязательно. Читать придется очень и очень много и процентов 90 - на англ.
    Дальше надо понять, идти дальше в верстку или разработчикам.
    Если разработчиком, то (верстальщика не рассматриваю):
    1) node, npm - обязательно
    2) Babel - чтобы писать на es6
    3) gulp, grunt, webpack - можно чтото одно, остальные довольно таки похожи
    4) Чистый js - есть хорошая книжка с носорогом на обложке. Большая, скучная, но там много чего есть.
    5) Abgular, React - можно чтото одно. Сейчас самые популярные фрейм. в вакансиях.

    Про что не написал:
    1) jQuery - устарела и уже почти не используется. Можно посмотреть что это такое, но тратить не него время не рекомендую.
    2) AJAX и т.д. - один из пунктов про чистый js
    3) Тесты - врятли потребуются для junior. Время есть - можно попробывать, нет - не трогай)
    4) WebSocket - не сильно важно. Используется далеко не везде.
    5) TypeScript - в принципе можно, но тоже если есть время.
    6) Canvas, WebGL - спец технологии. Редко где видел, чтобы их требовали.
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как составить план своего дальнейшего обучения?

    ValeraValera @cluberr
    Прочитайте эту книгу
    www.piter.com/product_by_id/56967257
    с заданиями
    Пройдите все уроки https://htmlacademy.ru/
    Прочитайте https://www.ozon.ru/context/detail/id/20217226/
    пройдите уроки на https://learn.javascript.ru/
    Вот это www.ozon.ru/context/detail/id/6277333
    Основы GIT
    Английский по Максимуму до уровня intermediate
    и минимум 10 макетов сверстать от простого до сложного с заливкой их на github
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Почему не работает функция bower init?

    mourr
    Mark Doe @mourr
    Passionate JS developer
    Такое бывает когда пользуетесь под виндой Git Bash / Mingw итд
    Делайте bower init через обычный cmd.exe (встроенную командную строку Windows), а остальные команды (типа bower install итд) сможете выполнять через git bash / mingw
    Ответ написан более трёх лет назад
    3 комментария
    3 комментария
  • Учебные материалы по twitter bootstrap?

    bootd
    Дима Паутов @bootd
    Гугли и ты откроешь врата знаний!
    Вы издеваетесь? Зайти на офф сайт и почитать документацию уже не модно? Откуда вы беретесь?
    Ответ написан более трёх лет назад
    8 комментариев
    8 комментариев
  • Какие расширения для Brackets вы ставите?

    Taraflex
    Александр Таратин @Taraflex
    Ищу работу. Контакты в профиле.
    https://github.com/QW0101/Brackets-Color-Highlighter
    https://github.com/QW0101/Brackets-Inline-Calculator
    https://github.com/Brackets-PHP/Brackets-PHP-SmartHints
    https://github.com/dnbard/brackets-lorem-pixel
    https://github.com/Wikunia/brackets-jQuinter
    https://github.com/peterflynn/brackets-regex-editor
    https://github.com/brackets-beautify/brackets-beautify
    https://github.com/chuyik/brackets-snippets
    https://github.com/FloValence/brackets-ImageToData
    https://github.com/DH3ALEJANDRO/brackets-open-in-b...
    https://github.com/Hiromi-Ayase/brackets-shizimily...
    https://github.com/Denisov21/Popup-menu-extension
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как подгрузить разный контент в зависимости от клика?

    holfza @holfza
    jsfiddle.net/vno8r4nk
    Ответ написан более трёх лет назад
    4 комментария
    4 комментария
  • Как авито блокирует консоль разработчика в браузере Chrome?

    dmitriy_novikov
    Дмитрий Новиков @dmitriy_novikov
    Занимаюсь web-разработкой с 2010г. http://dmnv.ru
    Попробуйте в firebug - там есть отличная кнопка "отключить" для дебаггера.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как составить регулярное выражение PHP?

    NeiroNx
    Александр @NeiroNx
    Программист
    Вот так можно получить ассоциативный массив цифры 'num', а в скобочках 'x';'y'
    $re = "/:(?<num>[\\d\\.]+)\\(?(?:(?<x>\\d+)\\;(?<y>\\d+))?\\)?\\s?/"; 
    $str = ":442.6(280;161) :442.6 :0 :1.6"; 
    preg_match_all($re, $str, $matches);

    Я люблю онлайн тестеры типа такого:
    https://regex101.com/
    Ответ написан более трёх лет назад
    6 комментариев
    6 комментариев
  • PHP Куда двигаться дальше?

    laska
    Ришат Кадыров @laska
    PHP/JS разработчик
    Есть вакансия сеньора? Отправьте резюме джуниора! Скорее всего проигнорируют, но могут и пригласить на собеседование.
    И собеседование это супер экспириенс даже для опытных программистов. Узнаете много новых слов - выйдете из офиса, сразу запишите их. А потом читайте информацию. Словом, куда двигаться, расскажут после собеседований.
    Сейчас я могу предположить, что несмотря на ваш вполне достаточный стэк технологий, ваши знания исчерпываются самым начальным уровнем. Поэтому копайте вглубь, а не вширь. Единственное что можно добавить это composer и bower, может быть еще twig и bootstrap, но лучше, повторюсь, копать вглубь.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Фича Python'а в С++?

    Владимир Мартьянов @vilgeforce
    Раздолбай и программист
    char str[]="String";
    printf ("%s", &str[1]); - например так можно передать указатель на строку, начиная не с нулевого, а с первого ее символа.
    Ответ написан более трёх лет назад
    3 комментария
    3 комментария
  • Какие интересные и несложные задачи есть на php?

    kstyle @kstyle
    здесь или здесь
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как вы начинаете вёрстку сайта?

    dunmaksim
    Максим Дунаевский @dunmaksim
    Быдлокодер
    1. Создаю каталог для проекта
    2. Инициализирую Bower
    3. Устанавливаю нужные пакеты, например, Twitter Bootstrap, Angular, jQuery и т.д.
    4. Ставлю Grunt, плагины для него и т.д.
    5. Запускаю EMACS и создаю index.html
    6. С помощью Emmet создаю шаблон, который уже начинаю заполнять.
    7. В каталоге src создаю папки less, js и т.д.
    8. Попутно пишу задачи для Grunt
    9. Если в выбранном фреймворке не хватает какого-либо класса для стилизации элемента, сначала описываю стили прямо в шаблоне, в свойстве style. Затем при необходимости выношу их оттуда в LESS в виде одного или нескольких классов.
    10. ??????????
    11. PROFIT!!!
    Ответ написан более трёх лет назад
    15 комментариев
    15 комментариев
Оценили как «Нравится»
Самые активные сегодня
  • rPman
    • 13 ответов
    • 0 вопросов
  • dimonchik2013
    Dimonchik
    • 8 ответов
    • 0 вопросов
  • Vindicar
    Vindicar
    • 8 ответов
    • 0 вопросов
  • Drno
    • 7 ответов
    • 0 вопросов
  • HardBot
    HardBot
    • 6 ответов
    • 0 вопросов
  • sergey-gornostaev
    Сергей Горностаев
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

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

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