Задать вопрос
  • Несколько вопросов по react?

    Во многих туториалах, для запуска react приложения используют npm. Зачем? React это просто js библиотека, которую можно подключить с помощью тех же cdn и просто открыть .html в браузере.

    Именно с реактом так не получится, если цель написать что-то сложнее Hello world.

    Полагаю, с помощью npm start запускают сервер и вешают на порт локалки, так ли это?

    npm start это всего-лишь команда в package.json, запускать она может что угодно. В случае с webpack она обычно запускает webpack-dev-server, который слушает какой-нибудь порт на localhost и отдает статику по этому порту. Это локальная замена веб-сервера, для удобной разработки. При сборке для настоящего сервера используют другую команду.

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

    Можно, но webpack-dev-server автоматически обновляет страницу при изменении кода (live reload). Плюс при запуске html из файловой системы , ссылки начинающиеся от '/' будут работать от рута файловой системы, а не от url. И вообще будут проблемы со ссылками.

    И что если бек на пыхе? Получается будут смешаны файлы пыхы и ноды? Это же куча ненужных файлов

    Бэк на пыхе должен быть отдельным проектом, потому что реакт обычно работает с бэкендом через REST API. Это значит, что бэк может быть вообще на другом сервере и в другой стране.

    Во многих туториалах так же прописывают различные import-ы различных библиотек. Это относится к реакту или к nodejs-приложению?

    import/export это часть языка JavaScript стандартизированная спецификацией EcmaScript. Поэтому эту часть синтаксиса еще называют esm (EcmaScript modules). Стандарт уже реализован в современных браузерах и недавних версиях NodeJS. Но для обспечения совместимости с разными бибилиотеками еще не использующими стандартный import/export нужен сборщик типа webpack.
    Ответ написан
    Комментировать
  • Как можно обезопасить свой сайт от запросов такого вида?

    @alex1478
    1. Можно при загрузке переименовывать файлы, давая файлам названия наподобие d025a9501c8e4c95b614ef0a18796354.txt. Наиболее оптимальный вариант для статики.
    2. Можно отдавать пользователям файлы через php скрипт (или что там у вас): что бы запросы к файлам были вида example.com/download.php?file=d025a9501c8e4c95b614ef0a18796354. Обращение к файлам напрямую запрещаете средствами веб сервера.
    Ответ написан
    Комментировать
  • Интерактивный курс по математике на русском?

    Zoominger
    @Zoominger Куратор тега IT-образование
    System Integrator
    Интуит: https://www.intuit.ru/studies/courses/107/107/info

    Бесплатно, понятно, на русском, в конце даже бумажку дают.
    Ответ написан
    1 комментарий
  • Ссылки в php != ссылки в Си?

    @Narts
    Ссылки в PHP - это средство доступа к содержимому одной переменной под разными именами. Они не похожи на указатели C; например, вы не можете делать вычисления над указателями, они не являются реальными адресами в памяти и т.д. Для получения дополнительной информации смотрите Чем ссылки не являются. Вместо этого указатели в PHP - это псевдонимы в таблице имен переменных.

    Ссылки в php
    Ответ написан
    Комментировать
  • Почему не работает required?

    BRAGA96
    @BRAGA96
    <FORM NAME="form" onSubmit="return Complete();">
    <BUTTON TYPE="submit">Готово</BUTTON>
    Ответ написан
    1 комментарий
  • Плагиат с themeforest - грех?

    t-alexashka
    @t-alexashka
    Сразу пишу legacy код
    все норм, многие так делают. не вижу в этом ничего плохого. всегда за вдохновением лезу на дриббл или темфорест. иногда чтобы просто понять чего я хочу, иногда чтобы позаимствовать какие то куски.
    Ответ написан
    Комментировать
  • Плагиат с themeforest - грех?

    @Camaro67
    Помог? - жми "Отметить решением"
    Поздравляю, вы дошли до того, что делают почти все, а может и вовсе все. Теперь осталось только смериться с этим.d65d0950e77baea100db3d40de7bc068.jpg
    Ответ написан
    Комментировать
  • Похожи ли Яп-ы PHP и C / C++?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Все ЯП похожи в том или ином смысле. Спокойно учите то, что вам интересно и приносит новые знания. В ВУЗе скорее всего большую часть времени вы будете тратить впустую и реальных знаний о решении реальных задач вам там вряд ли дадут. А те знания, что дадут — устареют раньше, чем вы закончите учебу и будут неактуальны. Если программирование и разработка ПО вам интересны — фрилансите спокойно, решайте реальные задачи прежде всего, набирайте опыт и проекты в резюме, а ВУЗе просто отмечайтесь для галочки. Знания разных ЯП только помогают.
    Ответ написан
    2 комментария
  • Как Вам такая реализация чата? Безопасна ли?

    t-alexashka
    @t-alexashka
    Сразу пишу legacy код
    Да, отправить можно. Предлагаю вам дополнить запрос к сокету еще параметром key:
    var msg = {
        message: mymessage,
        name: '<?=$loggedIn['personaname']?>,
        key: '<?= $userKey ?>',
        color : '<?php echo $colours[$user_colour]; ?>'
        };

    а сам $userKey это хеш логина с какой-нибудь солью, например:

    $salt = 'SDFGH$W#%^UHdfHE$#%';
    $userKey = md5($loggedIn['personaname'] . $salt);


    а в скрипте который слушает новые сообщения проверять подлинность отправителя так:
    if($key !== md5($name . $salt)) {
         // обработка поддельного запроса
    } else {
         // все ок
    }

    где $key и $name это данные полученные из сокета с сообщением.
    В таком случае даже если пользователь подменит personaname он не подменит key. а если попытается то в любом случае он не знает значени соли, и сработает первое условие.

    Это самый простой вариант, чисто для наглядности.
    Ответ написан
    3 комментария