Задать вопрос
  • Почему не срабатывает forEach()?

    Deonisius
    @Deonisius
    Родился в 11110110111 году, 11000 января.
    forEach работает с массивом, а у вас коллекция узлов (NodeList ). И советую использовать не getElementsByClassName, а querySelector/querySelectorAll. Всё-таки кроссбраузерней, да и удобней, когда селектор сложный.
    var dependent = document.querySelectorAll('.dep');
    [].forEach.call(dependent, function(item, i, arr) {
        alert(i + ": " + item + " (массив:" + arr + ")");
    });
    Вариант второй - преобразуем NodeList в массив и работаем с ним уже соответственно:
    var dependent = [].slice.call(document.querySelectorAll('.dep'));
    dependent.forEach(function(item, i, arr) {
        alert(i + ": " + item + " (массив:" + arr + ")");
    });
    Ответ написан
    Комментировать
  • ReactJS ошибка - "This synthetic event is reused for performance reasons", что делать?

    0xD34F
    @0xD34F Куратор тега React
    правильно ли я все понял?

    нет

    "Получить стандартное событие" - откуда вы это взяли? Испытываете проблемы с пониманием английского текста - можете попробовать русский вариант.
    Ответ написан
    Комментировать
  • Выражение вместе со строковым литералом (jsx)?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    <h1 className={`class_${url}`}>Hello, world!</h1>

    <h1 className={'class_' + url}>Hello, world!</h1>
    Ответ написан
    Комментировать
  • Как в мобильных браузерах работает кнопка "Версия для ПК" или "Полная версия сайта"?

    @BorisKorobkov
    Web developer
    мне надо на своем ресурсе заставить работать эту кнопку, а конкретнее из адаптивного сайта сделать десктопный при нажатии на эту кнопку


    Вариант 1. Обычная ссылка на другой URL (например, example.com <-> m.example.com) с другим дизайном

    Вариант 2. Установить куку и перезагрузить страницу. На сервере анализировать куку и отобразить нужный дизайн.

    Вариант 3. Все-таки использовать адаптивный дизайн, а по клику на кнопку подгружать css, меняющий дизайн
    Ответ написан
    2 комментария
  • Подключение к базе данных MySql, как правильно и современно?

    DevMan
    @DevMan
    если вы планируете работать с базой напрямую, то пдо.
    если планируете использовать более высокоуровневые абстракции/орм, то этим вопросом задаваться не стоит (они уже сами все реализовывают).
    Ответ написан
    Комментировать
  • Подключение к базе данных MySql, как правильно и современно?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Вопрос хороший, но неправильно сформулирован.
    Поскольку тут на самом деле два вопроса - какой драйвер использовать и уже потом - как правильно соединяться.
    Ответ на первый вопрос очевиден. Если выбирать из mysql_connect, mysqli и PDO, то достаточно зайти на страницу мануала, посвященную каждому варианту, и посмотреть, что там написано. Ну или попробовать использовать в своем коде и посмотреть что получится.

    А вот вопрос, как правильно подключаться в двух оставшихся вариантах, действительно важный, и ответ на него, как обычно, почти никто не знает, поскольку все друг у друга списывают статьи не 2-х, а 22-х летней давности. К счастью, есть сайты с актуальной информацией.

    Теоретически, можно использовать mysqli. Но не нужно. Потому что это низкоуровневый драйвер и пользоваться им без подготовки очень неудобно. Но если вот прям так приспичило, то вот как правильно соединяться используя mysqli

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

    Но правильным ответом, если выбирать из перечисленных трех, будет PDO. Здесь тоже не так просто, поэтому смотрим как правильно соединяться используя PDO - учитывая те же ключевые моменты, которые указаны выше.

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

    Пароль в базе данных не шифруется а хэшируется. Делается это с посощью функции password_hash
    Ответ написан
    3 комментария
  • Какие выбрать размеры Landing Page?

    Сделайте макеты на 1920, 960 и 600px.
    320-600 - для мобил
    600-900 - планшетов
    все что больше для ПК

    media и viewport в помощь ))
    Ответ написан
    1 комментарий
  • Правильно ли я понимаю callback функции?

    @StockholmSyndrome
    правильно ли вы понимаете callback-функции по этому куску кода не понять
    лучше расскажите, зачем вам return внутри setTimeout
    Ответ написан
    1 комментарий
  • Правильно ли я понимаю callback функции?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Не совсем удачное название аргумента callback-функции в вызове (последняя строчка).

    Вместоf(true, 500, callback => console.log(callback));
    может, лучше
    const myCallback = arg => console.log(arg);
    f(true, 500, myCallback);
    Ответ написан
    Комментировать
  • Является ли данный код асинхронным?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Нет, не является. Абсолютно все его части выполняются синхронно, попытка использовать сопрограмму бессмысленна.
    Ответ написан
    5 комментариев
  • Где сейчас тусуются серьезные PHP программисты?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Завсит от цели, для чего это спрашивается.

    Если чтобы поприставать с нубскими вопросами - то нигде.
    Если чтобы почитать умных мыслей - РНР дайджест на Хабре прекрасно суммирует все, что было написано за две недели. У меня например никогда не хватает времени, чтобы прочесть всё. Куда больше-то - я уж и не знаю.
    Если чтобы поучаствовать в серьезном прокете - на гитхабе, выбирай любой.
    Если чтобы послушать интересные доклады и пообщаться вживую - то конференции.
    Если интересует внутренне устройство языка - то php internals.
    Если интересует, что пишут пхп селебрити про что угодно, кроме программирования - то твиттер (Расмус показывает картинки из аэропортов и роботов, которых собирает его сын, Сара постит котиков - и так далее).

    Где точно не тусуются:
    Тостер и всякие подобные ресурсы типа стаковерфлоя.
    Ну то есть специалиста можно найти, если поискать, но концентрация будет гомеопатическая, если учитывать количество восторженных щеночков, которые увидели язык вчера, и спешат срочно поделиться уже накопленным багажом знаний.
    Чаты. Телеграм, дискорд - вот это вот все.
    Самая адовая трата времени, которая в принципе бывает в жизни.
    Опять же, люди пишут о чем угодно, кроме программирования, и ради пары полезных строчек надо убить весь день.
    Ответ написан
    4 комментария
  • Создание своей темы в VS Code?

    MrDecoy
    @MrDecoy
    Верставший фронтендер
    Ознакомьтесь со следующими разделами доеументации:
    Про темы
    как узнать название скоупа, в котором находится то, что нужно раскрасить.

    Пример, как раскрасить конкретно слово this в js. В settings.json добавим следующий код:
    "editor.tokenColorCustomizations": {
    
    ​ ​ ​ "textMateRules": [
    
    ​ ​ ​ ​ ​ {
    
    ​ ​ ​ ​ ​ ​ ​ "scope": "variable.language.this.js",
    
    ​ ​ ​ ​ ​ ​ ​ "settings": {
    
    ​ ​ ​ ​ ​ ​ ​ ​ ​ "foreground": "#FF0000",
    
    ​ ​ ​ ​ ​ ​ ​ ​ ​ "fontStyle": "bold underline"
    
    ​ ​ ​ ​ ​ ​ ​ }
    
    ​ ​ ​ ​ ​ }
    
    ​ ​ ​ ]
    
    ​ }

    И получим красный жирный подчеркнутый this.
    Ответ написан
    Комментировать
  • С чем связана ошибка в Promise?

    Xuxicheta
    @Xuxicheta
    инженер
    then ждет на вход коллбек, т.е. функцию.
    А вы ему пихаете промис, да еще и стартуете все эти промисы одновременно.

    Если сделать так
    .then(() => animation(2, 1000, log))
    то animation выполнится, когда резолвится промис -> будет выполнен коллбек, в котором запускается следующая animation
    Ответ написан
    Комментировать
  • С чем связана ошибка в Promise?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Вы не понимаете, как работают промисы и JS. Это самая главная ошибка.

    Попробую чуть-чуть объяснить.
    fn(a,b,c).then(fn(k,m,n))
    Вот так вы пишете. Что здесь происходит.
    fn срабатывает и сразу же возвращает объект типа промис, в котором вы вызываете метод then. Этот метод принимает две функции - для успеха и для фейла. В качестве функции успеха вы указываете выражение fn(k,m,n). Окей, далее JS вычисляет это выражение, то есть буквально выполняет эту функцию и в качестве результата получает новый промис, который используется в качестве callback функции успеха для первого промиса.

    Внимательно перечитайте документацию.
    https://learn.javascript.ru/promise

    Исправлением ошибки будет что-то вроде этого:
    animation(1, 500, log)
        .then(e=>animation(2, 1000, log))
        .then(e=>animation(3, 2000, log))
        .then(e=>animation(4, "500", log));
    Ответ написан
    Комментировать
  • Как сделать так, чтобы шапка сайта не перезагружалась при переходе на другие страницы?

    vessels
    @vessels
    Ни черта не понял, но очень интересно!
    Вы хотите сделать одностраничник, чтобы контент динамично перезагружался не меняя некоторых элементов, ведь так? Ну чтож, могу посоветовать использовать js - jquery $( "#result" ).load( "ajax/test.html" );, .load. Но если проект большой, не стоит использовать этот метод, советую изучить и понять что такое SPA (single page application), а дальше выбрать фреймворк в котором вы желаете работать, это может быть ReactJS, AngularJS, VueJS, мне лично больше нравится ReactJS. Стоит заметить что изучение данных фреймворков займет не мало времени, но оно того стоит!
    Ответ написан
    3 комментария
  • Как правильно вывести информацию из компонента React?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Что бы Вы изменили в коде?

    Все.

    const uid = () => Math.random().toString(36).slice(2);
    
    class App extends React.Component {
      state = {
        tasks: [
          {
            id: uid(),
            title: 'title',
            description: 'description',
          }
        ]
      };
    
      handleCreateTaskClick = () => {
        this.setState(state => ({
          tasks: [
            ...state.tasks,
            {
              id: uid(),
              title: 'title',
              description: 'description',
            },
          ],
        }));
      };
    
      render() {
        const { tasks } = this.state;
    
        return (
          <div>
            <button onClick={this.handleCreateTaskClick}>Добавить задачу</button>
            <ul>
              {tasks.map(task => (
                <li key={task.id}>
                  id: {task.id} | {task.title} | {task.description}
                </li>
              ))}
            </ul>
          </div>
        );
      }
    }
    Ответ написан
    Комментировать
  • Как правильно вывести информацию из компонента React?

    0xD34F
    @0xD34F Куратор тега React
    class App extends React.Component {
      state = {
        tasks: [
          {
            id: 1,
            title: 'title',
            description: 'description',
          },
        ],
      }
    
      createTask = () => {
        this.setState(({ tasks }) => ({
          tasks: [
            ...tasks,
            {
              id: 1 + Math.max(0, ...tasks.map(n => n.id)),
              title: 'title',
              description: 'description',
            },
          ],
        }));
      }
    
      render() {
        return (
          <div>
            <button onClick={this.createTask}>Добавить задачу</button>
            <ul>
              {this.state.tasks.map(({ id, title, description }) => (
                <li key={id}>id: {id} | {title} | {description}</li>
              ))}
            </ul>
          </div>
        );
      }
    }
    Ответ написан
    Комментировать
  • Как правильно изменить state?

    profesor08
    @profesor08
    В рендер функции нельзя менять стейт. Это аксиома, надо запомнить.

    P.S. Можешь обойтись без биндингов.
    class App extends React.Component {
    
        constructor() {
            super();
            this.state = {
              prop: 1,
            }
        }
    
        stateChange = () => {
            this.setState({
              prop: this.state.prop + 1,
            });
        }
    
        render = () => {
            return <div>
                <p>{this.state.prop}</p>
                <input type="button" value="Обновить" onClick={() => {this.stateChange()}}/>
            </div>;
        }
    
    }
    
    ReactDOM.render(<App/>, document.getElementById('body'));
    Ответ написан
    Комментировать
  • Как правильно изменить state?

    miraage
    @miraage
    Старый прогер
    incProp = () => {
      this.setState(state => ({
        prop: state.prop + 1,
      }));
    };
    
    render() {
      return <button onClick={this.incProp}>...</button>;
    }
    Ответ написан
    Комментировать
  • Как найти элементы в исходном коде?

    hzzzzl
    @hzzzzl
    смотри в консоли network -> xhr
    подгружаются цены там, и вставляются на страницу

    5cf0d08c4c97c909916451.png
    Ответ написан
    3 комментария