• Какой плагин сможет реализовать такую диаграмму?

    @fear-cry
    Frontend Developer
    Делал похожий на бесплатном легком плагине chartist-js
    https://github.com/gionkunz/chartist-js

    602e10b28beba634045992.png
    Ответ написан
    Комментировать
  • Как генерировать PDF в JS?

    @fear-cry
    Frontend Developer
    Есть еще такой вариант (на чистом бекенде): шаблоны заранее готовить в PDF формате со всеми статическими данными (например, банковскими реквизитами). При запросе скачивания дописывать в пустые поля и отдавать файл. И не придется морочить голову с генерацией PDF с нуля, т.к. дописывать данные в существующий PDF это легкая операция. На проде так и сделали.
    Ответ написан
    Комментировать
  • С помощью каких яп в 2020 делают браузерные игры?

    @fear-cry
    Frontend Developer
    Браузерные 2D/3D игры можно делать на движке Godot (возможно в Unity тоже), там есть экспорт под разные платформы, в том числе и под браузер (на выходе получается html с ресурсами js, спрайтами, звуками). Только нужно аккуратнее с тяжелой графикой, сжимать, чтобы браузер не тормозил.
    Кстати, на гитхабе есть примеры Tower Defence как на чистом js, так и под Godot.
    Ответ написан
    Комментировать
  • Почему не работает сборка webpack при обновлённом htmlWebpackPlugin?

    @fear-cry
    Frontend Developer
    Очень похоже, что на проекте старый webpack 3, а плагин htmlWepackPlugin уже перписан на хуки для нового webpack 4 (webpack 3 понимает лишь плагины на старом API без хуков). Можно подыскать промежуточные версии htmlWepackPlugin. Либо не заморачиваться и вернуть как было - ведь 10 секунд это быстрая сборка. На средних проектах при полном обвесе обычно около 1-3 минуты.
    Ответ написан
    Комментировать
  • Как решить проблему с инициализацией модуля?

    @fear-cry
    Frontend Developer
    Тут прямо просится какой нибудь бандлер (например webpack): потому что надо будет что-то делать с версионностью скриптов (руками добавлять ?v0.1 в конце имени файла - дело такое себе). Ещё минификация кода, подключение дополнительных пакетов из npm, дев сервер с горячей перезагрузкой, транспайлер babel. Сюда же можно добавить CSS обработку (препроцессор scss/less, автопрефиксер, минификация) и другие плюшки web-разработки. Вспоминаю, как было трудно поддерживать проекты без этого.
    Ответ написан
    Комментировать
  • Что в этом скрипте не так?

    @fear-cry
    Frontend Developer
    Вы многократно подписываетесь на событие клика $('.menu li').on('click', function(){ при каждом ресайзе, поэтому и колбек вызывается много раз при клике.
    Нужно подписку вынести из ф-ции resizeScrenn и проверять на флаг isTablet, а в resizeScrenn только обновлять этот флаг вот так:

    /* Ready */
    $(function() {
        $('.menu li').on('click', function() {
            if( window.isTablet && $(this).children('.submenu').length ) { // обработка флага isTablet происходит при клике
                $(this).children('.submenu').slideToggle(300);
            }
        });
    
        function resizeScrenn() {
            window.isTablet = $(window).width() <= 960;
        }
        $(window).resize( resizeScrenn ); // передаем ссылку на функцию
        resizeScrenn(); //вызываем ф-ию при загрузке страницы чтобы сразу трекнуть ширину экрана
    });
    Ответ написан
  • Есть ли сайт с установленным linux?

    @fear-cry
    Frontend Developer
    Эмулятор компьютера с linux на JavaScript
    https://habr.com/ru/post/119424/
    Ответ написан
    Комментировать
  • Как передать атрибут в метод vue?

    @fear-cry
    Frontend Developer
    Можно сразу в метод передавать содержимое атрибута:
    <li class="color-variant__choose color-variant__choose_<?=$value?>" 
        v-on:click="getVariant('12345')"
    >
    </li>

    methods: {
          getVariant: function (dataId) {
            $.getJSON(url + dataId, function (json) {
              itemlist.json = json;
              console.log(itemlist.json);
          });
    Ответ написан
    Комментировать
  • Можно ли верстать на ноутбуке?

    @fear-cry
    Frontend Developer
    Да, вполне можно, я начинал на ноутбуке и похуже. Несколько лет уже занимаюсь фронтендом на ноутбуке, как и многие знакомые (mac 13'').

    Из общих рекомендаций:
    - поставить SSD (куда же без него сейчас);
    - в хроме настроить выгрузку неиспользуемых вкладок (например, плагин "The Great Suspender") - если не будет хватать оперативки;
    - установить легкий редактор кода (не вебшторм): Sublime Text, VSCode, Atom и подобные.

    По поводу ОС: скорее всего понадобится ФШ. На ОС Linux с ним могут быть сложности в виде wine и тормозов, но нет проблем с консолью. На Windows мало работал, не могу сказать как там дела с консолью (git, npm, nodejs - могут в будущем пригодиться), зато ФШ работает ок.
    Ответ написан
    2 комментария
  • 13.3" Macbook Pro 2016 - кто перешел?

    @fear-cry
    Frontend Developer
    1. Перешел с 14'' ноутбука с Linux Mint (xfce), разницы в диагонали не почувствовал, вполне комфортно, учитывая яркий насыщенный экран.

    2. В магазине предварительно пощупал Touch Bar, показался не удобным, взял без него, не пожалел. Оказалось, что в macOS кнопки F1-F12 не задействованы (F5 больше не обновляет страницы в хроме, F12 не открывает отладчик, F4 не ищет в Sublime Text, даже если явно задать хоткей). И на них по дефолту висят управления подсветкой, громкостью и т.д. А сам функционал перевешан на другие кнопки, привык быстро.

    3. Отлично, (Sublime Text, Chrome с кучей вкладок, 6 docker-контейнеров одновременно), Статику grunt собирает за 2 мин (на десктопе с 3.3GHz и обычным HDD собирал 3 мин, на старом ноуте 1.6GHz - 8 мин). Производительность тут явно за счет быстрого SSD (1400/1200 MB/s - R/W). Охлаждение включается редко и его не слышно.

    4. Нет, почти не использую. Переходник по сути нужен один: на обычный USB 3.0, остальное индивидуально (мониторы, картридеры - без проблем докупаются). Я лично нуждаюсь еще и в rj45 (там, где плохой WiFi). Также в магазине видел шнур для зарядки с магнитами, типа MagSafe. Ради сохранности ноута можно и докупить.
    Ответ написан
    Комментировать