Задать вопрос
  • Electron+Express. Можно ли так сделать? И есть ли смысл?

    Robur
    @Robur
    Знаю больше чем это необходимо
    сделать можно, будет тот же http что и из браузера, и взломать можно так же.
    разницы между электроном и браузером в этом плане вообще ноль.

    Чтобы взломать было нельзя - поставьте компьютер в подвале, на подвал большой замок, в интернет его не включайте, управляйте через клавиатуру и мышку.

    Совет один - настройте https и перестаньте бояться "взломов". Лучшей защиты чем чем это вы все равно ничего не сделаете сейчас.
    Ответ написан
    3 комментария
  • В чем суть конечного автомата на примере фронтенда?

    hahenty
    @hahenty
    ('•')
    Конечный автомат — это ограниченное количество состояний, входные сигналы для перехода между состояниями и выходящие при этих переходах, а также сигналы текущего состояния. В теории их делят по выработке сигналов, но на фронтенде всё смешивается всё равно.
    И важно помнить, что для фронтенда "конечный автомат" применяется в большей степени для процесса, а не значений. То есть, состояниями будут, например, являться:
    • инициализация/загрузка документа — что до события download,
    • открытое модальное окно,
    • передача данных из формы,
    а сигналами будут как раз события:
    • ondowload сигнал для перехода из состояния загрузки в состояние готовности,
    • клик по определённой кнопке — это сигнал для закрытия модального окна, например.
    • submit формы
    • response или reject — ответ на форму,
    ещё сигналы из таймеров подойдут:
    • таймаут загрузки, как самое очевидное,
    • циклическая подгрузка, типа для новостей.
    И по теории автоматов должно быть так, чтобы переход из одного состояния в другое всегда сопровождался определённым сигналом. Например, бесконечная лента записей из состояния просмотра по сигналу "докрутили до конца" переходит в состояние "подгрузка". Но ведь пользователь может крутануть назад и вперёд, что опять породит сигнал "докрутили до конца", но из состояния "подгрузка" не должно быть переходов по этому сигналу, а потому не должно быть и повторного запроса на сервер.

    Можно примешивать ещё и значения, связанные с контентом, например, зависимость поведения от конкретных данных, но тогда количество состояний рискует быть неограниченным.

    И тут начинается цирк с конями.
    Обычное действие — форма заявки. Здесь можно начать с состояния "покоя", когда никаких действий пользователь ещё не совершил. Затем клик по кнопке "Заявка" — сигнал. Появляется модальное окно с формой — другое состояние. Здесь два пути, продолжить заполнять форму или закрыть её, оба пути – сигналы.
    НО процесс заполнения формы порождает зависимость от значений, так как нужна валидация введённых данных. Тут вроде бы и один сигнал "Отправить", но порождает два состояния: передача данных или "неверные данные в форме". С передачей данных более-менее понятно, переводим в состояние "Подождите" с каким-нибудь эффектом вращающейся свистелки.
    А как определить переход в состояние "неверной формы"? Технически это запуск функции валидации через перехват submit события, но логически это противоречит "конечным автоматам", а потому результат валидации становится сигналом. А ещё бывает так, что части формы нужно скрывать или показывать по чекбоксу в той же форме. Здесь есть место для размышлений и споров, да.


    И ещё, разные части страницы могут обладать своими независимым состояниями, а это порождает нужду в независимых, параллельно существующих автоматах или целой автоматной иерархии.
    Ответ написан
    Комментировать
  • В чем соль использования хука Reducer кроме того что "мы так привыкли делать в Redux"?

    miraage
    @miraage
    Старый прогер
    Если попробовать поразмышлять..

    useState подразумевает плюс-минус простой стейт, который удобно обновлять через либо setState(newValue), либо через setState(prevState => ({ ...prevState, key: newValue })).

    useReducer для более сложных кейсов, где хранить логику обновления в компоненте становится нецелесообразным и/или будет слишком раздуваться компонент. Или же где логика переиспользуется. Впрочем, то же самое можно сделать и через useState, создав свои хуки, которые под капотом юзают useState/useReducer.

    На выходе, самым логичным на ум приходит более плавная миграция в redux на useReducer.

    Проблема в том, что redux не нужен в 90%+ проектах, и его можно было заменить голым реактом с его инструментами.
    Ответ написан
    3 комментария
  • Какое хранилище выбрать для развертывания фронта, бэка и бд?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    но и нагрузка большая на сайт не предвидится
    Шаред хостинг - ваш выбор. Ну соответственно только ноду и постгрес надо искать чтобы поддерживал. вдс/впс будет дороже и потребует настроек/тюнинга/установки/конфигурации кучи всего, если нагрузка небольшая смысла в этом нет.
    Ответ написан
    2 комментария
  • Актуальны ли еще Thunk?

    Natebash
    @Natebash
    React, Vue, Angular, Navite JS, Python / Node JS
    Более чем
    Ответ написан
    Комментировать
  • Как сделать так?

    DanArst
    @DanArst Куратор тега JavaScript
    Гриффиндор в моде при любой погоде!
    document.getElementById('button').addEventListener('click', function(e) { //тут ID-кнопки
      e.preventDefault();
      if (this.innerText == '0') {
         return;
      } else if (this.innerText == '1') { 
         alert('Значение 1');  
      } else {
         window.open('https://site.ru');
      }
    });
    Ответ написан
    Комментировать
  • Насколько резонно подключать библиотеки для таких вещей как модалка, маски и тд?

    @mletov
    В большинстве случаев - резонно.

    Для маленьких проектов - jquery + плагины.
    Для средних - всякие UI фреймворки, типа DevExtreme.

    Заметил, что разрабатывать типовые компоненты с нуля начинают на проектах, начиная с определенного уровня масштаба и крутости: Яндекс, Сбербанк, Skyeng. Когда проект очень популярен и разработчики, с одной стороны, хотят минимально зависеть от сторонних плагинов и либ. А с другой, будет весьма несолидно, если на Яндексе вдруг выскочит типовой fancybox или bx-slider ))
    Ответ написан
    3 комментария
  • Насколько резонно подключать библиотеки для таких вещей как модалка, маски и тд?

    dima9595
    @dima9595
    Junior PHP
    Вопрос философский и зависит от различных факторов. Иногда, действительно, легче написать какой-то компонент самому. Особенно если сайт простой. А вот для больших проектов, где требуется производительность, модульность, к примеру, можно и подключить готовую библиотеку.

    Как лучше - решать всегда вам. Вы являетесь разработчиком и только вы знаете себя лучше других - сможете написать хороший компонент или нет.

    Лично я использую библиотеки для более-менее крупных проектов, которые со временем будут только расширяться. Для одностраничников 50/50. Всё зависит от требуемой скорости разработки.
    Ответ написан
    Комментировать
  • Насколько резонно подключать библиотеки для таких вещей как модалка, маски и тд?

    Igor_307
    @Igor_307
    Фрилансер
    Все нужно плясать от того насколько процентов используется функционал этого готового решения. На примере той же модалки, если от нее использовать только показать блок, то можно обойтись и без него.
    В любом случае чем меньше размер вашего js тем более лучшие показатели CWV от сайта можно получить
    Ответ написан
    Комментировать