• Как изменить Shift-сочитания на macbook?

    Zoominger
    @Zoominger
    System Integrator
    Да. В настройках клавиатуры выберите PC-раскладку.
    Но по опыту могу сказать, что привычка вырабатывается за пару дней, плюс не придётся лепить стикеры на клавиши (ведь запятая не выгравируется сама по себе).
    Ответ написан
    5 комментариев
  • Docker для Frontend разработчика - нужен ли?

    Krasnodar_etc
    @Krasnodar_etc
    avito front
    Если в общих чертах: хорошо бы понимать, что это, уметь запустить контейнер, зайти в него, почитать логи, ... Глубокие знания докера для фронтенда - скорее, редкость, поэтому вашу стоимость на рынке они могут увеличить ощутимо

    Но конкретно в вашем случае проблемы у бэкенда) Докер и nginx - это его зона ответственности
    Ответ написан
    Комментировать
  • Что НЕ стоит начинать изучать в ближайшем будущем?

    @Hrynkiv
    • HTML 4
    • CSS 2
    • ES 5
    Ответ написан
    Комментировать
  • Почему не создается Vue проект через vue-cli?

    FinGanapre
    @FinGanapre
    Требования к версии Node

    Vue CLI требуется Node.js версии 8.9 или выше (рекомендуется 8.11.0+). Управлять несколькими версиями Node на машине можно с помощью nvm или nvm-windows.


    Судя по документации с сайта vue-cli, я бы начал с обновления node.js

    На работе ubuntu 18 версии, и 12 версия node.js. Всё в порядке.
    Ответ написан
    2 комментария
  • Как отслеживать время сеанса в Яндекс Метрике?

    ruvasik
    @ruvasik
    https://www.bryce.ru
    Именно цель?
    Можно использовать просто сегмент
    5ec4450546ee9273815825.png

    Если цель, то сделайте скрипт, который при загрузке любой страницы проверяет значение в куках/sessionstorage.
    Если там ничего нет - записывает туда время входа.
    По интервалу проверяется значение. Когда достигнуто – записываем событие, очищаем таймер
    Ответ написан
    Комментировать
  • Как сделать проверку на "зарегистрированных пользователей"?

    Kozack
    @Kozack Куратор тега JavaScript
    Thinking about a11y
    function UserList() {
      this.users = [];
      
        
      this.has = function(User) {
        return this.users.find(u => 
          u.firstName === User.firstName
          &&  u.lastName === User.lastName
        ) !== undefined
      }
    
      this.add = function(User) {
        if (this.has(User)) {
          throw 'Ошибка. Такой пользователь уже зарегистрирован'
        }
        this.users.push(User);
      }
    
    // ...
    }
    
    
    //...
    
    
        else {
          fullName = fullName.split(' ');
          user.firstName = fullName[0];
          user.lastName = fullName[1];
          try {
            userList.add(user); 
          } catch(e) {
            alert(e)
          }
        }
    Ответ написан
    Комментировать
  • Как сделать проверку на "зарегистрированных пользователей"?

    hzzzzl
    @hzzzzl
    что-то такое?
    this.users.find(user => user.first === first && user.last === last)
    // user || undefined
    Ответ написан
    2 комментария
  • Можно ли ставить Windows 7 на этот ноутбук?

    @baitarakhov
    1) Google: HP 15-bs000 драйвер
    2) Переход по первой ссылке на официальный сайт HP
    3) Смотрим наличие драйверов и ПО для ОС:
    5df629afd90fe024384880.png

    Также могу посоветовать вам загрузить и установить ОС Windows 10 из официального образа Microsoft

    Когда сам переходил из Windows 7 -> Windows 10, то использовал утилиту startisback, который возвращал старый добрый меню пуск. Некоторое время спустя привык к новому интерфейсу и теперь, когда использую Windows 10, то использую стандартный интерфейс из коробки.
    Ответ написан
    2 комментария
  • Как сделать слайдер с фильтрацией?

    @fixeri
    <!DOCTYPE html>
    <html>
    <head>
      <title></title>
    </head>
    <body>
      <h1>хеллоу</h1>
      <div>
        <ul class="filter">
          <li class="active" data-filter="*">Все</li>
          <li data-filter="animals">Животные</li>
          <li data-filter="fish">Рыбы</li>
          <li data-filter="insects">Насекомые</li>
        </ul>
      </div>
    
      <div class="slider">
        <img src="https://ichef.bbci.co.uk/news/660/cpsprodpb/BEEB/production/_108557884_gettyimages-486237421.jpg" alt="Image" class="item animals slider-image">
        <img src="https://images2.minutemediacdn.com/image/upload/c_crop,h_1706,w_3036,x_0,y_241/f_auto,q_auto,w_1100/v1554752078/shape/mentalfloss/istock-483749258.jpg" alt="Image" class="item insects slider-image">
        <img src="https://www.dw.com/image/47554840_303.jpg" alt="" class="item insects slider-image">
        <img src="https://images.unsplash.com/photo-1522720833375-9c27ffb02a5e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&w=1000&q=80" alt="" class="item fish slider-image">
        <img src="https://cdn.mos.cms.futurecdn.net/RY2EpSo74hvYXyAVpTN2Gg-320-80.jpg" alt="" class="item fish slider-image">
        <img src="https://i.ytimg.com/vi/G569uHzxRD4/maxresdefault.jpg" alt="" class="item animals slider-image">
        <img src="https://i.ytimg.com/vi/ZXblC3wc7tM/maxresdefault.jpg" alt="" class="item animals slider-image">
      </div>
    
      <script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.js"></script>
      <script type="text/javascript" src="https://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
      <script type="text/javascript" src="slick/slick.min.js"></script>
      <script src="https://unpkg.com/isotope-layout@3/dist/isotope.pkgd.js"></script>
    
      <script type="text/javascript">

    $(document).ready(function() {
            $('.filter li').click(function () {
              if( !$(this).hasClass("active") ) {
                $(this).parent().find('.active').removeClass('active');
                $(this).addClass('active');
                let selector = $(this).attr("data-filter");
    
                $(".slick-track").isotope({
                  itemSelector: ".item",
                  filter: (selector === "*") ? "*" : "." + selector
                });
              }
            });
    
    
    
            $('.slider').slick({
              slidesToShow: 3,
              slidesToScroll: 1
            });
          });

    </script>
    </body>
    </html>
    Ответ написан
    Комментировать
  • Оцените макет веб-сайта?

    cesnokov
    @cesnokov
    <head>&nbsp;</head>
    Надо сразу разобраться, это вы для себя делаете или будете кому-то показывать? Если для себя, то всё сделано так "как нравиться вам", тут останавливайтесь и дальше не читайте.

    Смысл персональной странички, передать информацию о себе. Ключевое слово "информацию" и передавать её надо максимально грамотно. Не занимайтесь "креативом", рано вам пока это. Основное правило композиции: если объект выкинуть и ничего не измениться, то этот объект лишний. Всегда пользуйтесь этим правилом по 100 раз на дню. А дальше, сверху вниз с лева на право:
    • Разделение ссылок наклонными "слэшами" говорит нам, что это путь (хлебные крошки), а не меню. Используйте более принятые знаки, например вертикальные линии или токи, кружочки.
    • Все эти фишки с "My name is web developer and I am Kirill from Russia" устарели лет 10 назад. Просто передавайте информацию максимально грамотно! Используйте знаки препинания и заглавные буквы там где надо > Hello,
    • Думаю, что в тексте достаточно того, что вы из Калининграда. Не надо уточнять, а тем более в обратную сторону (Калининград, Россия - а не наоборот).
    • Параграф текста "For now..." без отступа? А почему следующий с отступом? Везде должно быть одинаково.
    • В тексте есть грамматические ошибки.
    • Предложение пишется с заглавной буквы, в том числе если оно кнопка.
    • CV это по-русски, в английском языке это "Resume".
    • Ваше имя написано ExtraBold'ом, это "лишний объект". Шрифт тоже объект, не надо их много! Достаточно тех которые используете в основном тексте Regular и Bold.
    • Высказывания Стива Джобса оставьте для девочек в Фэйсбуке, тут они не уместны.
    • Я бы и розочку сделал белой, тогда бы страница была монохромной :)

    Надеюсь я вас не обидел своей точкой зрения. Всем и всегда есть, куда расти. Как то так.
    Ответ написан
    Комментировать
  • Как сделать Border для текста наполовину?

    @VeryLongAgoDid
    Всё возможно
    Не уверен что это можно сделать с самим бордер, но есть хитрость. Поместить любой элемент в этот блок (отлично подойдут псевдоэлементы) и задать рамку для них, кроме одной стороны.

    div {
        position: relative;
    }
    div:before {
        content: " ";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        right: 97%;
        border: 3px solid #f00;
        border-radius: 10px 0 0 10px;
        border-right: none;
    }

    Если нужны коментарии по написанному - спрашивайте)
    Ответ написан
    1 комментарий
  • Зачем нужены Gulp/Webpack?

    verkhoturov
    @verkhoturov
    HTML-Верстальщик / Frontend Developer
    Вот здесь и здесь достаточно подробно расписано.

    Но если совсем в двух словах:
    Gulp - для верстки
    Webpack - для js-приложений.

    Попробуйте оба в деле. Тогда вопросы отпадут.
    Ответ написан
    Комментировать
  • Зачем нужены Gulp/Webpack?

    Это Taskrunners (запускатели задач), предназначение которых - с помощью JavaScript-библиотек автоматизировать большое количество различных процессов, которые производятся с ресурсами проекта при разработке и отправке в продакшн.

    Например,
    – Компиляция файлов препроцессоров в CSS
    – Объединение большого количества файлов стилей в один
    – CSS, JS, HTML, SVG -минификация
    – Сжатие изображений
    – Создание спрайтов из отдельный SVG-файлов
    – Оптимизация и в какой-то степени "валидация" HTML (например, проставить атрибут alt у всех img
    – и много другого
    Ответ написан
    3 комментария
  • Select/option во Vue computed. Как использовать?

    @Slava191
    <select v-model="selectedValue">
       <option v-for="(item, index) in options" :value="item.value" :key="index">
                {{ item.title }}
       </option>
    </select>


    data:{
    selectedValue:""
    },
    computed: {
        // месячная ставка (для перевода процентной ставки из годовой в месячную)
        getMonthRate: function () {
          //Здесь настоятельно рекомендую переделать в switch-case
          if (this.selectedValue === 'year') {
            return this.percent / 12 / 100
          } else if (this.selectedValue  === 'month') {
            return this.percent / 100
          } else {
            return 0
          }
        }
    }
    Ответ написан
    Комментировать
  • Select/option во Vue computed. Как использовать?

    0xD34F
    @0xD34F Куратор тега Vue.js
    Добавляете свойство, которое будет представлять выбранный пункт select'а. Вместо метода getMonthRate делаете вычисляемое свойство:

    <select v-model="selected">
      <option v-for="item in options" :value="item.value">
        {{ item.title }}
      </option>
    </select>

    data: () => ({
      selected: null,
      ...
    }),
    computed: {
      monthRate() {
        if (this.selected === 'year') {
          return this.percent / 12 / 100;
        } else if (this.selected === 'month') {
          return this.percent / 100;
        } else {
          return 0;
        }
      },
    },

    UPD.

    нужно, чтобы в зависимости от выбранной опции, функция срабатывала по разной формуле

    А насколько разной? То, что есть сейчас, можно значительно упростить: в качестве value вместо строк будут числа, напрямую подставляемые в формулу - 1/12 для year, 1 для month, 0 для остальных. Тогда вычисляемое свойство станет гораздо короче:

    monthRate() {
      return this.percent * this.selected / 100;
    },
    Ответ написан
    5 комментариев
  • Почему не работает код Vue, при казалось бы одинаковых условиях?

    origami1024
    @origami1024
    went out for a night walk
    Ты нигде не вызываешь getMonthRate и getCoefficient, (кроме как при показе в этих параграфах) которые считают промежуточные данные. Вызывай эти computed при изменениях в инпутах.

    Вот так работает, хотя код немного костыльный получился
    Ответ написан
    7 комментариев
  • Стоит ли обучаться работе с Linux frontend разработчику?

    Сейчас все переходит в микросервисы, повально используют докер. Наверняка вам придется использовать докер тоже. Как минимум вы должны понимать суть, уметь работать с терминалом.
    Ответ написан
    Комментировать
  • Стоит ли обучаться работе с Linux frontend разработчику?

    mazhekin
    @mazhekin
    Frontend, Backend Web Developer
    Ваше понимание линукса компаниям не нужно, Иногда компаниям (если нет девопса в штате) нужно чтобы вы развернули свой фронтенд на хосте и прицепили к нему домен, чтобы пользователи смогли увидеть результаты вашего труда как фронтендера. И тогда небольшое понимание линукса станет очень нужно вам.

    А вообще это редко бывает в компаниях, чтобы фронтендеру надо было деплоить свой продукт, скорее это просто будет приятный бонус если вы будете это уметь.
    Ответ написан
    Комментировать
  • Стоит ли обучаться работе с Linux frontend разработчику?

    @askhat
    Разумеется да.

    1. В любом случает будете сталкиваться с Linux. Деплой на AWS, виртуалки и Android (втч React Native) — небольшой список тем где знание Linux не помешает.

    2. Linux / Unix — кладезь изящных решений. Прежде чем изобретать велосипед, взгляните на то как похожие задачи решались _дедами и отцами_ Linux.

    3. Работая с Linux вы невольно знакомитесь с низкоуровневыми системам обеспечивающими работу ..хм всего интернета. TCP/UDP, IPC и иже с ними.
    Ответ написан
    2 комментария
  • Как оптимизировать вычисление биномиального коэффициента?

    0xD34F
    @0xD34F
    function mul(start, end) {
      let result = 1;
    
      for (let i = start; i <= end; i++) {
        result *= i;
      }
    
      return result;
    }
    
    function choose(n, k) {
      return n > k
        ? Math.round(mul(n - k + 1, n) / mul(2, k))
        : +(n === k);
    }
    Ответ написан
    4 комментария