Задать вопрос
  • Как включить подсказки переменные как в webstorm?

    WblCHA
    @WblCHA
    https://marketplace.visualstudio.com/items?itemNam...

    Этот ответ более неактуален, вскод инлайн параметры теперь нативно поддерживает.
    Ответ написан
    5 комментариев
  • Webstorm vs VS Code 2019?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    Ой, ну это холиварная тема. На первый взгляд, webstorm из коробки может больше, чем VS Code. Но VS Code отлично допиливается расширениями, причем очень круто. Расширения пишутся тоже довольно легко, как к браузеру. Да и на мой взгляд, VS Code работает шустрее, чем webstorm, и жрет меньше памяти (я помню про electron) чем webstorm.
    Ответ написан
    1 комментарий
  • В React больше не нужно подключать его?

    если не используются какие-нибудь хуки например useStateили useEffect то можно и не подключать
    Ответ написан
    2 комментария
  • Как создать на React корзину?

    Вообще, вопрос вы задали достаточно интересный. Однако проблема в том, что ответ на него достаточно массивный, если конечно отвечать полностью.

    Потому, к сожалению, придётся немного сократить.

    Представим, у вас есть небольшой магазин, где присутствует несколько товаров. Например, это будут простые телефоны. Структура одного товара довольно простая: картинка, название, описание и кнопка купить.
    Под капотом всё обстоит немного иначе. У нас будет массив, внутри которого есть объекты с данными. В объект будет входить: название продукта, описание продукта, картинка на продукт и уникальный идентификатор. Пример одного объекта будет немного ниже.

    {
      id: 0,
      name: "Nokia 3310",
      description: "Телефон, переживший падение в жерло вулкана",
      url: "https://static.shiftdelete.net/wp-content/uploads/2018/05/nokia-3310-1-milyon-volt-yuke-dayandi-sdn-01.jpg",
      price: 2800
    }


    Поскольку React приложения являются одностраничными, потому-то и называются SPA, что в переводе на нормальный “single page application”. У нас будет несколько страниц: первая страница с продуктами, где можно приобрести какой-то товар, а вторая страница — это простая корзина.

    Думаю, с роутингом проблем не должно возникнуть. Однако, если те возникнут, можете посмотреть это видео. На английском, на русском.

    Теперь определимся.

    При нажатии на кнопку «Купить» должно произойти действие. Продукт, который мы купили должен попасть в корзину, а при переключении на страницу корзины показываться на странице. Возникает вопрос, как это сделать?

    Ответ довольно простой: создать пустой массив, в который мы и будем скандировать все купленные продукты. И именно данный массив и будет отображаться на странице корзины. Объект купленного продукта будет, например, таким.

    {
      id: 0,
      name: "Nokia 3310",
      description: "Телефон, переживший падение в жерло вулкана",
      url: "https://static.shiftdelete.net/wp-content/uploads/2018/05/nokia-3310-1-milyon-volt-yuke-dayandi-sdn-01.jpg",
      price: 2800,
      count: 1
    }


    На странице у нас будет несколько кнопок. Первая отвечает за удивление продукта из корзины, вторая за добавление ещё одного товара, и последняя за удаление одного товара. При каждом нажатии, мы будет обращаться к массиву с объектами и искать нужный элемент. Если он есть, то при покупке, изменять его count, добавляя один. Как это будет происходить?

    Расскажу про алгоритм добавления элемента в массив:
    1. При нажатии, мы будет получать его идентификатор.
    2. Затем проходимся по массиву через цикл find получаем сам объект.
    3. В конце записываем полученный объект в массив. (P.S. Запомните одно важное правило, поскольку в React или Redux нельзя изменять состояние, использовать push следует крайне осторожно. В данном случае использовать push не стоит, пригодиться spread-оператор).


    Хоть и написал в ответе, продублировать здесь лишним не будет. Утром не смог добавить пример. Однако, исходя из вашего изначального вопроса о магазине, написал простенький пример.

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

    Сам пример: CodeSandbox (Cart)
    Ответ написан
    8 комментариев
  • Какой стек выбрать для не сложного многопользовательского SPA?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    При этом, как Вы понимаете, нет цели изучить весь язык, стать супер-программистом.

    Конкретно из-за этой строчки, то как вы хотите добиться результата - не имеет смысла.
    Это тоже самое, что хотеть написать "абстрактную войну и мир", без знания языка.

    вносит и читает периодически разного рода простые данные

    Любая web-система оперирует разного рода простыми данными, в смысле вообще любая. Да, даже google
    смотрит такую же простую аналитику, построенную арифметически на этих данных

    Аналитика строится на базе большого набора данных

    Рекомендую не использовать слово "просто", оно вводит в заблуждение прежде всего вас.

    Или же брать Angular (который именно под SPA и заточен)

    У вас данные должны будут где-то храниться, SPA не решает эту задачу

    По пробуйте следующий стек:
    - LAMP
    - Yii2
    - JS
    - Vue
    - Webpack
    - Gulp

    Ваш проект может занять несколько лет вашей full-time работы, будьте к этому готовы.

    Я из тех людей, которые считают что "хочешь сделать хорошо, сделай это сам"

    Сколько железа вы уже выплавили самостоятельно?))
    Ответ написан
    1 комментарий
  • Какой стек выбрать для не сложного многопользовательского SPA?

    rockon404
    @rockon404
    Frontend Developer
    Для вашей задачи можно использовать React/Vue + Webpack + Koa + ReactNative/Weex + MongoDB/MySQL/GraphQL + Docker + Nginx + Git.
    1. На React вы сможете написать как само веб приложение, так и нативные мобильные клиенты под Android и IOS с помощью React Native. Можно выбрать Vue - он проще для новичка и на нем также можно писать нативные мобильные приложения c Weex. Использовать Angular не советую, так как порог вхождения у него выше, а грамотную архитектуру написать сложнее. Тут нужен опыт или советы опытного разработчика.
    2. Webpack. Как не крути, а со сборкой фронтенда вам придется разобраться. В современной разработке без этого никуда. Использовать решения вроде create-react-app, лично я не советую. Как альтернативу для быстрого старта, лучше выбрать ReKit. Это тулкит для разработки на React, содержащий в себе полноценную IDE, начальную структуру проекта с роутингом и Redux, DevServer, HMR, инструменты для тестирования и много других интересных фич, вроде аналитики. Еще в сгенерированном проекте полностью отсутствует вендорная магия, вроде react-scripts в create-react-app и у вас не будет каких либо проблем с миграцией.
    3. Если выберите Koa для сервера, вам, как минимум, не придется изучать еще один ЯП. API накидать на нем плевое дело для опытного разработчика, вам же придется изучать статьи и репозитории с примерами на github. Можно выбрать Express это предшественник Koa, и в силу возраста, статей и ответов на типовые вопросы на stackoverflow для него больше.
    4. Выбор БД не принципиален.
    5. Использование Docker так же не обязательно, но разобравшись сразу, вы во многом облегчите себе жизнь и не столкнетесь с ситуацией, что ваш проект который вроде работал локально, не хочет заводиться на удаленном сервере.
    Ну Nginx и Git думаю в представлении и обосновании мотивации к использованию не нуждаются.
    Так же, возможно, хорошим решением будет использование облачных сервисов вроде Amazon Web Services

    Прежде чем браться изучать эти инструменты вам обязательно надо хорошо изучить JavaScript, HTML и CSS.

    По приложению вам понадобится:
    1. Веб сайт с описанием сервиса и формой входа/регистрации
    2. Клиентское приложение
    3. Админка
    4. Мобильные приложения

    Потратьте время на пользовательские истории, UML диаграммы и схемы интерфейсов. Используйте трекер задач.

    Мое мнение, чтобы изучить все вышеперечисленное, а начинать вам, судя по всему, придется начать с основ JavaScript, HTML и CSS, уйдет уйма времени. Чтобы после изучения всего вышеперечисленного, научиться на всем этом писать хороший код, уйдет еще больше времени. Одно дело изучить инструменты, совсем другое научиться писать хороший код, решать типовые задачи, организовывать архитектуру. А решать задачи всех планов, вам придется как по фронтенду, так и по бекенду.

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

    Если на рынке уже есть сильный конкурент и ваш сервис просто будет повторять его бизнес модель, то он вряд ли взлетит, только потратите силы и время. Обязательно изучите рынок прежде чем, что-либо предпринимать.
    Ответ написан
    2 комментария
  • Как научить PhpStorm запоминать свернутые блоки?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    PhpStorm 2020.2.3
    Windows 10 10.0

    Сохраняет свернутые участки кода:
    Settings > Editor > General > Code Folding > Custom folding regions.

    UPD: если свернуть участок кода и сразу же выйти из программы, то есть вероятно, что свернутый код не будет свернут, после захода в программу. Необходимо выдержать некоторую задержку (3-5 сек) после сворачивания участка кода, перед выходом из программы.

    UPD 12.07.2023: Участки кода должны быть свернуты после выставления настройки Custom folding regions - уже свернутые участки кода у меня не сохраняются, необходимо повторить сворачивание.
    Ответ написан
    1 комментарий
  • Курсор ввода в любом месте окна браузеров?

    rus0nix
    @rus0nix
    Admin
    Видимо вы нажали клавишу F7 в Microsoft Edge.
    5b549528da25f774201802.jpeg
    Нажмите опять эту клавишу для отключения.
    Ответ написан
    20 комментариев
  • Выдает ошибку, не могли бы помочь?

    Dante449
    @Dante449
    Изучаю Python
    Решение проблемы:
    Открываем терминал от админа.
    Пишем и запускаем: Set-ExecutionPolicy RemoteSigned

    На вопрос отвечаем: Да (Да для всех)
    Ответ написан
    11 комментариев