Задать вопрос
  • Как вернуть кнопки браузеров в PHPStorm?

    zorro76
    @zorro76
    Попробуй посмотреть Settings - Tools - WebBrowsers внизу там стоит галочка: Show Browser popup in the editor (должно быть отмечено)
    Ответ написан
    4 комментария
  • Как избавиться от начального значение в useState?

    MrDecoy
    @MrDecoy
    Верставший фронтендер
    У Вас нет проблемы, которую Вы описали, потому что это работает несколько не так, как Вы, я полагаю, думаете.
    const Logic = () => {
      const [inputValues, setInputValues] = useState('');
      console.log('1)', inputValues);
      const onChangeInput = e => {
        setInputValues((currentState) => {
          console.log('2) current', currentState); 
          return e.target.value});
        console.log('3)', inputValues);
      };
    
      return <View inputValues={inputValues} onChangeInput={onChangeInput} />;
    };
    
    // Будем вводить букву 'a' в инпут. В итоге в консоле получим:
    // 1)"" <-- из-за useState('');
    // 2) current "" <-- так как значение мы ещё не обновили, то получаем то же начальное значение из useState('');
    // 3) "" <-- вызвывается ПОСЛЕ setInputValues, тем не менее, имеет ещё не обновлённое значение.
    // 1) a <-- произошло изменение состояния, компонент перерисовался.


    Дальше, в заивисимости от того, что Вы хотите сделать,
    выводите значение либо в "1)" - это вывод с новым state но перед перерисовкой,
    либо в "3)" Вам нужно выводить e.target.value.

    Операция изменения состояния - асинхронная и реакт может собирать несколько изменений состояния в одно для оптимизации.
    Ответ написан
    Комментировать
  • Правда ли, что программы написанные на C++ работают быстрее чем аналогичные на C#. к примеру?

    @finlandcoder
    В 2018 году скорость С++ в 2-3 раза выше, чем C#. Но тут еще нужно учитывать кривизну рук программиста и алгоритмы. Так что разницы никакой нет. Вы, конечно, можете как дополнение к своему computer science fundamentals, разобраться в этом вопросе или нагуглить.
    https://days2011.scala-lang.org/sites/days2011/fil...
    В том же Амазоне на некоторых сервисах 90% Scala и 10% С++.
    Причины тормозов - GC (вызывается каждый {}), VM и всякие "Boxing and Unboxing". Также - память. VM может работать с пулами памяти и выделять сразу сотню мегабайт. Но это всё тюнится. Вон в амазоне отключают GC у Java VM.


    void func1(string s) // будет работать в Java быстрее, чем в С++
    Ответ написан
    Комментировать
  • Можно ли в javascript составлять имя метода из переменных?

    profesor08
    @profesor08 Куратор тега JavaScript
    Можно
    class Bla {
      customNameMethod() {
        alert()
      }
    }
    
    const bla = new Bla();
    
    bla["custom" + `Name` + 'Method']();
    
    let methodName = `Name` + 'Method';
    
    bla[`custom${methodName}`]();
    Ответ написан
    1 комментарий
  • Оценка и анализ сайта?

    solotony
    @solotony
    покоряю пик Балмера
    Я сам в программировании не разбираюсь


    наймите человека который разбирается. вместе с ним проработайте техническое задание. а уже потом, на основании ТЗ смотрите что у вас сделано.
    Ответ написан
    Комментировать
  • Оценка и анализ сайта?

    joeberetta
    @joeberetta
    Читай: https://epdf.pub/google-for-dummies.html

    Может вообще этот сайт оставить в покое.)))

    Конечно. Вы же блин собираетесь играя в песочницу построить себе многоэтажный дом в центре города. (Это я про wp, если что)
    Ответ написан
    1 комментарий
  • Оценка и анализ сайта?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Заброшенные и перспективные проекты всегда лучше создавать с "нуля".
    Ответ написан
  • Обрабатывает ли php условие полностью?

    usdglander
    @usdglander Куратор тега PHP
    Yipee-ki-yay
    Вы будете сильно удивлены, если узнаете, PHP перед выполнением скрипта транслирует его в байт-код, который потом и выполняет? Если да, то вам необходимо восполнить пробелы в знаниях о том как выполняются php-скрипты.
    Ответ написан
    Комментировать
  • Обрабатывает ли php условие полностью?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    проверить своё предположение ты можешь очень просто - всего лишь внеся ошибку синтаксиса в код внутри else. Если РНР "не читает" его, то ошибка не появится.

    Но, разумеется, ошибка будет. потому что у тебя неверное представление о работе интерпретаторов.

    Разумеется, РНР сначала читает весь код. И только после этого начинает исполнение.
    Чтобы не "увеличивать загрузку страницы" существует такая вещь как "опкод-кэш", который сохраняет уже "прочитанный" РНР код в памяти.
    Ответ написан
    1 комментарий
  • DigitalOcean как не платить НДС 20%?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    теперь я должен платить налог +20%
    Не заслужили считаю

    Пишите петицию по поводу отмены НДС, пикеты там одиночные и всё такое. В выборах на разных уровнях тоже полезно участвовать.
    Ответ написан
  • Python-ограничений действительно медленно?

    DevMan
    @DevMan
    numpy? не, не слышал.
    Ответ написан
    Комментировать
  • Насколько решение соответствует ТЗ(React)? Есть ли грубые ошибки?

    @afanasiyz
    Javascript-разработчик
    По коду кажется все ОК (никаких сильных претензий не возникает сходу), только по-моему пагинацию прикрутить вы забыли (она нигде не вызывается).

    UPD: претензии небольшие все таки есть, class Results:
    renderNoResultsMessage() {
        const { results, noResultsMessage } = this.props;
        if (results && !results.length && noResultsMessage) {
          return (<div className="no-result">
            <h3>
              {noResultsMessage}
            </h3>
          </div>);
        }
      }


    Кажется эта функция не очень то renderNoResults, она еще checkForResults, а только потом render - не надо так делать, по коду непонятно. функция, которая renderSMTH -должна только рендерить, без лишних проверок

    UPD 2 пагинацию увидел, с ней все ок.
    Ответ написан
  • Почему Google Fonts использует только Woff2?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    Пора ли переходить только на woff2 формат?

    caniuse.com/#feat=woff2
    Ответ написан
    Комментировать
  • Почему Google Fonts использует только Woff2?

    llgruff
    @llgruff
    Scala
    Google Fonts чекает текущий бразер в котором идёт вызов шрифтов и формирует оптимальный css для загрузки.
    Если например используется актуальный chrome тогда шрифты отдаются в woff2, если что-то старее тогда: woff или ttf и т.д.
    Ответ написан
    Комментировать
  • Что работает лучше: $3 vs $2.99?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    Наверное, стоит провести A/B исследование, в какие-то дни (или половине пользователей) поставить $2.99, в какие-то $3. т.к. тут нужно учитывать то, что может конкретно ваша аудитория не ведется на этот ход. Да и вообще, я допускаю тот момент, что сейчас этот ход все используют по инерции, не задумываясь о том, насколько хорошо это работает, а это может уже работать не так хорошо как раньше.
    В любом случае, можете ставить $2.99 без опасений, т.к. хуже от этого не будет. Но просто было бы интересно проверить.
    Ответ написан
    Комментировать
  • Хочу подтянуть свои знания до Junior Python?

    @dasauser
    Пишу на PHP
    читаешь доку и пишешь код
    upd: придумай идею, реализовывай.
    Ответ написан
    Комментировать
  • Хочу подтянуть свои знания до Junior Python?

    kshnkvn
    @kshnkvn
    yay ✌️ t.me/kshnkvn
    Перестать изучать код и начать писать код. Алгоритм прост:
    1. Читаете главу книги, например Лутца.
    2. Исходя из прочитанного материала придумываете несколько применений полученным знаниям и пишите как можно больше кода.
    3. Повторяете пункты 1 и 2.

    Попутно решаете задачи на checkio и codewars.
    Когда научитесь писать свой код и решать хоть какие то задачи - приступаете к изучению чужого кода.
    Ответ написан
    Комментировать
  • Получение выделенного фрагмента в определенном элементе?

    Выделение на странице может быть только одно и получить его можно при помощи window.getSelection() или document.getSelection()
    методы объекта Selection описаны здесь https://developer.mozilla.org/ru/docs/Web/API/Selection
    Теперь к вашей задаче. Человек на странице может выделить несколько нод, что именно вы хотите получить? Входит л целевая нода в выделеный текст - Selection.containsNode()
    Ответ написан
    Комментировать
  • Как более грамотно переписать подобный код?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const attacks = [
      { minChance: 7, damage: 40, name: 'critical' },
      { minChance: 5, damage: 20, name: 'big' },
      { minChance: 0, damage: 10, name: 'weak' },
    ];
    
    const messages = {
      start: (player, enemy) => `Welcome! Yor health is - ${player}%, your enemy health - ${enemy}%`,
      end: (player, enemy) => `You ${enemy <= 0 ? 'win' : 'lost'}! Your hp level - ${player}, opponents hp level - ${enemy}`,
      chance: (player, enemy) => `your chance - ${player}, your opponent chance - ${enemy}`,
      turn: (player, enemy, hit, isEnemy) =>
    `${isEnemy ? 'Enemy' : 'Your'} turn...
    ${isEnemy ? 'Enemy' : 'You'} did a ${hit} hit
    ${isEnemy ? 'Your' : 'Enemy'} hp - ${isEnemy ? player : enemy}`,
    };
    
    
    const simpleFight = () => {
      const hp = [ 100, 100 ];
    
      console.log(messages.start(...hp));
    
      while (hp.every(n => n > 0)) {
        const chances = hp.map(() => Math.random() * 11 | 0);
    
        console.log(messages.chance(...chances));
    
        if (chances[0] !== chances[1]) {
          const chance = Math.max(...chances);
          const attack = attacks.find(n => n.minChance < chance);
          const isEnemyAttacks = chance === chances[1];
          hp[+!isEnemyAttacks] -= attack.damage;
    
          console.log(messages.turn(...hp, attack.name, isEnemyAttacks));
        }
      }
    
      console.log(messages.end(...hp));
    };
    Ответ написан
    1 комментарий
  • Как деструктуризировать state в React ESLint?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    const { id } = this.state;

    Еще из примера не понятно зачем вы задаете данные массивом и делаете деструктуризацию. Такая структура тяжелей читается и поддерживается, а создание массива и деструктуризация, в этом случае, лишняя операция. Правильней будет так:
    const { id } = this.state;
    const newOrder = { id, ... };
    const orders = [];
    Ответ написан
    1 комментарий