Задать вопрос
  • Правильно ли я понимаю 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 комментария
  • Как найти элементы в исходном коде?

    Chefranov
    @Chefranov
    Новичок
    Все есть в коде
    5cf0ce79c8adb207741901.png
    Другое дело что это сделано реактивно
    Ответ написан
    Комментировать
  • Много ли времени отнимает SEO одного сайты?

    PavelMonro
    @PavelMonro
    Сильно зависит от изначальной запущенности проекта. По сути поисковики меняются, СЕО - тоже, и отсюда следует что работа над сайтом должна вестись постоянная. Основное это контент, изображения, заголовки, ссылки и прочее. На это и уходит больше всего времени.
    Ответ написан
    Комментировать
  • Много ли времени отнимает SEO одного сайты?

    Eridani
    @Eridani
    Мимо проходил
    СЕО - не только работа по чеклисту, настройка тех. части и написание текстов, давно уже СЕО - совокупность работы маркетолога, программиста и дизайнера, ну и где-то там копирайтер, и самая ответственная работа тут у маркетолога-аналитика, который будет анализировать сайт, поведение и стараться сделать сайт лучше, составлять ТЗ на разработку новых компонентов, которые упрощали бы пользование сайтом, давали новый полезный функционал и, собственно, все то, что было бы необходимо для того, чтобы посетитель нашел ответы на все его вопросы, иными словами сделать так, чтобы сайт с ним "говорил" не хуже манагера-консультанта в магазине.

    Это такой продукт, который можно улучшать бесконечно.
    Ответ написан
    3 комментария
  • Как сделать парсер доски объявлений?

    kimono
    @kimono
    Web developer
    Заходите на страницу с объявлением и ищите это:
    <span class="show-phones" id="tm-telephone-body" data-url="/a/ajaxPhones?id=28104015" data-id="28104015">
      Показать телефон
    </span>


    Далее берёте ссылку из атрибута data-url и выполняете запрос с заголовком XMLHttpRequest:

    curl -X GET \
      'https://krisha.kz/a/ajaxPhones?id=28104015' \
      -H 'x-requested-with: XMLHttpRequest'


    В ответ получаете:
    ["+7 707 892 8095"]
    Ответ написан
    Комментировать
  • Как правильно обратиться к свойствам конструктора 1 из конструктора 2?

    0xD34F
    @0xD34F
    Забыли вызвать родительский конструктор в потомке: Construct1.apply(this, arguments);.
    Ответ написан
    1 комментарий
  • Правильно ли я понял ООП в прототипном стиле?

    SnyMaster
    @SnyMaster
    Будет работа пишите...
    Это функциональный стиль.
    Посмотрите про прототипный стиль тут https://learn.javascript.ru/prototypes
    Ответ написан
    5 комментариев
  • Почему не могу найти работу Junior'ом C#?

    @kttotto
    пофиг на чем писать
    Это не резюме, это набор слов, ничем Вас не выделяет из общей массы и даже делает низовым в списке общей массы.

    1. Такой кучи тегов даже у меня нет)) Если Вы знаете названия технологий, не говорит о том, что Вы знаете сами технологии. С Вашим опытом никто не поверит, что Вы имели реальный опыт со всем этим, а не просто hello world написали. Выберите те, в которых по Вашему мнению Вы лучше всего разбираетесь.

    2.
    Отличное знание WinForms, ASP.NET, LINQ и WPF. Паттерны: MVVM, MVP, Repository, IoC.

    Для третьекурсника звучит самонадеяно. При такой формулировке на техническом собеседовании будут проверять "отличное" знание и я почти уверен, что Вы его провалите. Лучше сказать что-то подобие: имел опыт работы с, для реализации использовал технологии, имею <начальные> навыки работы с и т.д.

    3.
    Занимался исправлением мелких багов, написанием небольших SQL-запросов и unit-тестов, решал небольшие задачи.

    Этим занимаются все разработчики, даже мидлы с сеньорами. Из Вашей фразы не понятно, какого уровня проект, какой стек, какие конкретно задачи Вы решали, как успешно Вы их решали. Работодателю нужно понимать Ваш реальный опыт и Ваши реальные возможности, а не нечто эфемерное "решал небольшие задачи".

    4.
    Если вспомнить css и html

    Вот такое никогда не пишите. Лучше соврать или преувеличить, или даже написать "Отличное знание", но не так как Вы здесь сформулировали.

    5. Не нужно оставлять ссылки на каждый проект в репозитории. Либо один, самый интересный на Ваш взгялд, либо одна ссылка на сам репозиторий. Работодатель пойдет туда только, если Вы заинтересуете его, не раньше. И ему пары файлов хватит оценить ваш уровень. Он не будет делать ревью всех Ваших проектов.

    6. Опыта одного проекта мало. Где опенсерс проекты, где участия в хакатонах, где амбиции стартапов, посещение конференций? Работодатель хочет понимать как Вы заинтересованы развиваться, какие у Вас планы для дальнейшего роста. Он берет вас нулевым не из альтруистических побуждений, а с надеждой, что Вы быстро вырастите и вернете ему прибылью затраченное на Вас время. Из Вашего резюме видно только одно: я студент - дайте работу. А почему Вам, за какие такие заслуги и что с этого будет иметь работодатель - не понятно.

    7. Я посмотрел Ваш код. Я бы не хотел, чтобы так писали у меня в проекте, начиная от именований и заканчивая некоторой логикой. Вас надо очень осторожно подпускать к реальным задачам и контролить, что Вы там напишете, просто чувствуется маленький опыт и до "отличных знаний" там далеко.

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

    AnatolTh
    @AnatolTh
    Full Stack Developer
    А если перед innerHTML вам что-то нужно сделать с "девственным" объектом?
    Второй вариант лучше и читабельнее.
    Не мешайте объявление переменной и работу с ней.
    Ответ написан
    Комментировать