Задать вопрос
  • Можно ли изучить игровой движок Godot без знаний англ?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Однако godot не располагает обширного русского сообщества

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

    Кстати советую вам не доверять машинным переводам. Они ущербны. Почти все.
    Ответ написан
    Комментировать
  • Есть ли методичка по терминам в программировании?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Она не нужна при системном обучении.
    Ответ написан
    Комментировать
  • Чем отличается событие клика от button.click();?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    Чем отличается событие клика от button.click()

    Событие вызывается когда пользователь нажмёт на кнопку.
    button.click() - программный тригер клика на кнопке без участия пользователя. То есть клик из под скрипта.

    Объект event, который пробросится в обработчик клика будет не одинаковый.
    Например, будет отличаться свойство isTrusted - у программного клика будет false.

    Ну и не на всё можно сделать клик програмно.

    Как вообще сформулировать гуглу запрос на эту тему, что бы статью какую-то почитать

    - События и обработка событий в javascript.
    - Эвент луп, микро и макро таски

    Ну и обо всём в js стоит начинать поиск отсюда https://learn.javascript.ru/
    Например, события - https://learn.javascript.ru/introduction-browser-events

    Вот тут вроде описано почему разные результат между пользовательским кликом и программным. Рекомендую всю статью к изучению
    https://jakearchibald.com/2015/tasks-microtasks-qu...
    Перевод на хабре: https://habr.com/ru/post/264993/
    Ответ написан
    Комментировать
  • Как правильно сортировать массив с датами и разным часовым сдвигом??

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Для работы с датами использовать momentjs.
    1. Сначала распарсить даты (иначе при сортировке их придется парсить два-три раза)
    2. Для сортировки использовать moment().diff()
    Ответ написан
    4 комментария
  • Какие подходы позволят написать зашифрованный сайт, у которого нельзя расшифровать код?

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

    delphinpro
    @delphinpro
    frontend developer
    Причем здесь bootstrap?
    Вы бы сначала CSS подучили бы...

    a.bg-light {
    }
    a.bg-light.p-2.rounded {
    }


    Но так делать всё равно не надо. Нужно добавить новый класс, и стилизовать его. Или поменять существующие на другие, если будет достаточно возможностей утилитарных классов bootstrap.
    Ответ написан
    Комментировать
  • Что дальше учить?

    Коротко - да, надо всё. Не надо только если тебе фронтенд не интересен - тогда и React можно не учить.
    Раз ты не можешь сам оценить нужность этих тем для тебя - значит уровень знаний у тебя сейчас околонулевой.

    Длинно - пройдись по каждой теме по порядку:
    - Если можешь ответить конкретно на вопрос "что я получу, если изучу эту тему", то решай сам.

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

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


    для чего они нужны?

    Ты ожидаешь, что тебе сейчас все 20 пунктов распишут?
    Не ленись - прочитай предисловие к каждому сам.
    Ответ написан
    3 комментария
  • Новый тип жалобы - member GPT?

    xez
    @xez
    TL Junior Roo
    Будучи языковой моделью ChatGPT не имеет личного мнения или чувства. Однако он может сказать, что использование генерируемых ИИ текстов, таких как текст, созданный GPT, становится все более распространенным в различных приложениях, таких как обслуживание клиентов, создание контента и т. д. Это может быть полезно для предоставления быстрой и точной информации, но важно использовать его ответственно и дать понять конечному пользователю, что текст сгенерирован ИИ. Кроме того, важно продолжать контролировать и улучшать производительность и точность модели ИИ, чтобы обеспечить высокое качество генерируемого текста.

    Сгенерировно: https://chat.openai.com/chat
    Переведено с помощью www.DeepL.com/Translator
    Ответ написан
  • Есть простой способ контроля событий прокрутки?

    @formasters777
    возможно есть библиотеки, которые делают это по другому, более кратко снаружи(методы),
    но внутри них скорей всего будет подобное.
    react по сути прослойка между DOM реальным и виртуальным, поэтому если Вы не сделаете компонент "управляемым", у Вас не будет доступа к его свойствам для регулировки.
    Но, если разместить код в тег script, написанный на чистом js, в уже скомпилированной версии,
    может он будет работать сам по себе, а react отдельно?


    Main page
    Ответ написан
    Комментировать
  • Как сделать линию, которая будет изменять размер если текста станет больше/меньше?

    @sega111sega
    <style>
      h1 {
        position: relative;
        overflow: hidden;
        font-family: 'PT Sans', sans-serif;
        font-size: 24px;
        font-weight: normal;
        text-transform: uppercase;
        letter-spacing: .1em;
      }
      h1:after {
        content: '';
        position: absolute;
        width: 100%;
        border-top: 2px solid #4e4e4e;   
        margin-top: .6em;
        margin-left: .4em;
      }
    </style>
    
    <h1>Текст</h1>
    Ответ написан
    Комментировать
  • Как в React отследить вебхук с сервера и отрисовать сообщение?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вебхук инициализируется сторонним сервером, по этому опрашивать его не надо. Как пример - платежные системы.

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

    Что дальше делать с этими данными уже ваше дело, можно прямо из этого скрипта послать сообщение в приложение, можено записать в бд и по таймеру запрашивать об обновлении бд с клиента...
    Ответ написан
    2 комментария
  • Почему блок занимает высоту больше, чем его содержимое?

    iiiBird
    @iiiBird Куратор тега CSS
    Пока ты спишь - твой конкурент совершенствуется
    потому что .personal-data-label {line-height: 163.68%;}
    а еще label инлайновый по дефолту и он имеет отступы.

    убери line-height у label и ему же задай display: block;
    Ответ написан
    2 комментария
  • JS. Как отфильтровать данный массив?

    @swe3etch
    var result2 = fruits5.filter(item => item < maxW && item > minW);
    Ответ написан
    2 комментария
  • Почему игнорируется условие if?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    1. Если что-то не работает как задумано, первое что нужно сделать это открыть инструменты разработчика на вкладке console и посмотреть нет ли там никаких ошибок. Если есть то загуглить их и посмотреть где они возникают. Попытаться осознать и исправить. А ещё лучше научиться отладке собственного кода https://learn.javascript.ru/debugging-chrome
    2. Перед тем как пользоваться тем или иным способом объявления переменных (var\let\const) стоит почитать про него и ознакомиться с нюансами.
    https://medium.com/nuances-of-programming/%D0%B2-%...

    А именно:
    if (parseInt(number.innerHTML) == 0){
      let step = 3;
      } else {
      let step = parseInt(number.innerHTML) - 1;
      }

    Переменной step не существует вне фигурных скобок, соответственно, ниже, где Вы пытаетесь засунуть step как innerHTML - возникает ошибка, что step не определена.
    Ответ написан
    2 комментария
  • Как правильно создать несколько обособленных компонентов?

    Надо давать элементам списка уникальный ключ – атрибут key.
    Так React поймёт, какие элементы удалены, добавлены.

    Индекс массива не подходит для значения key. Нужно что-то уникальное, характерное для каждого элемента массива, что не изменится при изменении порядка, скажем.

    В примере в вопросе, видимо, уникальны сами значения 1, 2, 3 – можно их использовать для атрибута key:
    arr.map(el => <TimerComponent name={el} key={el} />)
    Ну и массивы в стейте, помните, надо не мутировать, а заменять массив целиком на новый.

    Чтобы не перерендерился каждый раз вложенный компонент, можно его «мемоизировать»: обернуть в React.memo(), снабдив функцией, которая сравнивает предыдущее состояние и новое, и делает вывод, надо ли перерендерить. Тут, например, не надо перерендерить, если N остался тот же. Упрощённый Codepen:
    для сравнения в коде App закомментируйте-раскомментируйте соседние строки, чтобы вместо ItemMemo работал просто Item
    Ответ написан
    5 комментариев
  • Какая лучшая практика организации css в проекте react?

    @karminski
    Senior React.JS Developer
    Чтобы css не конфликтовали придумали css-modules
    Ответ написан
    Комментировать
  • JSON в базе данных это норма для реляционных баз данных?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    В любом базе можно хранить. Вопрос в том, что проще - брать json из базы и парсить его внутри на нужные значения, или хранить все значения в отдельных полях в базе.
    Это больше вопрос конкретного проекта и конкретного использования.
    А так - со стороны базы - никаких проблем в этом нет. Можно хранить как text или блоб для bson
    Ответ написан
    Комментировать
  • Как сделать так чтобы в input нельзя было вводить меньше 5?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    import React, { useState } from 'react';
    
    export function App(props) {
      const [value, setValue] = useState( '');
      const [bg, setBg] = useState('red');
      const handleChange = event => {
        setValue(event.target.value);
        if(value.length < 5 || value.length>50){
          setBg('red')
        }
        else{
          setBg('')
        }
       
      };
    
      return (
        <div className='App'>
          <input
            type='text'
            value={value}
            onChange={handleChange}
            style={{  backgroundColor: bg}}
          />
          <pre>{value}</pre>
        </div>
      );
    }
    Ответ написан
    1 комментарий
  • Почему не отображаются данные на странице, а вылазит ошибка?

    0xD34F
    @0xD34F Куратор тега React
    Что, "posts.map is not a function"? Давайте взглянем, что такое posts:

    const [posts, setPosts] = useState([]);

    Изначально это массив. У массивов map есть. А раз воспользоваться map'ом всё-таки не удаётся, значит, где-то вместо массива в качестве значения posts устанавливается какой-то мусор. Смотрим, где вызывается setPosts:

    setPosts(fetchReq);

    Окей, а что такое fetchReq? Давайте узнаем:

    const fetchReq = fetch(`${fetchURL}/posts`).then(res => res.json());

    Надо же, это промис. Зачем вы промис кладёте туда, где нужен массив? У промисов метода map нет. Надо дождаться выполнения этого промиса и передавать в setPosts результат. Исправляем:

    fetch(`${fetchURL}/posts`)
      .then(r => r.json())
      .then(setPosts);
    Ответ написан
    Комментировать