Задать вопрос
  • Как правильно изменить 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 вам что-то нужно сделать с "девственным" объектом?
    Второй вариант лучше и читабельнее.
    Не мешайте объявление переменной и работу с ней.
    Ответ написан
    Комментировать
  • Насколько корректно писать код в подобном стиле?

    Vlad_IT
    @Vlad_IT Куратор тега JavaScript
    Front-end разработчик
    Плохо писать текст в элемент через innerHTML.
    Второй вариант короче (на одну строку), и подходит тогда, когда потом нужно снова использовать element. Мне кажется, он предпочтительнее.
    UPD: ой, я и не заметил (читая вопрос через смартфон), что в первом коде используется два раза равенство. Такой код работать будет, но он не явный, а неявные штуки - зло. Новичков он может поставить в ступор, т.к. не сразу ясно, что будет содержаться в переменной. И этот код также похож на опечатку, типа вероятно нужно было использовать сравнение (в данном случае, по названию переменной все понятно, но все же).
    Ответ написан
    4 комментария
  • Насколько адекватно требовать домашнего развития от разработчиков?

    Zoominger
    @Zoominger
    System Integrator
    снг-бодишопов перфоманс ревью опен-сорс

    Лец ми спик фром май харт.

    По теме:
    1). Каким образом вы сделали данные выводы? Вы описываете исключительно свои частные субъективные наблюдения или у вас есть какие-нибудь источники, может, HR-handbook, где прямо описывается практика вешания ярлыков? Не сочтите за какую-то грубость, просто так можно что угодно утверждать.

    2). Вопросы, которые вы перечислили, вполне нормальные, мне на каждом интервью их задавали. Так проверяется мотивация, любовь к своему делу, уровень развития собеседника.

    3). Развиваться на и вне работы - рядовое качество нормального айтишника. Если кто-то говорит, что уже достиг каких-то высот и дальше ему развиваться некуда, то этот человек либо лжёт, либо скоро устареет и потеряет ценность. Область IT меняется постоянно и относительно быстро и изучать что-то самому - суровая необходимость, ибо на ряд специальностей нет образовательных программ даже на Западе.
    Ответ написан
    3 комментария
  • Кто сталкивался с биткоин вымогателями бд?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Закрывать весь доступ к базе извне. MySQL должен слушать только локальные адреса.
    Доступ к серверу должен быть только по ssh с ключом, а не паролем.
    Убирать PHPMyAdmin, настроить SQLWorkbench с доступом через ssh-туннель.
    Ответ написан
    Комментировать
  • Кто сталкивался с биткоин вымогателями бд?

    serginhold
    @serginhold
    Вообще ноль информации в посте, но смотрю есть тег phpmyadmin, может дело в нем? стоит какая-нибудь дырявая версия. При этом я вообще не понимаю нафига им пользоваться)
    Ответ написан
    Комментировать
  • Кто сталкивался с биткоин вымогателями бд?

    sim3x
    @sim3x
    Вас взломали и у вас нет квалификации в расследовании взлома?
    Делаем образ выключенной системы снаружи и бекапим его себе (зачем? Возможно найдете того кто сможет расследовать)
    Берем список софта и убираем из него все, что не требуется для работы сервиса
    - пхпмайадмин, фтп, как раз примеры такого софта

    Сносим ОС (считайте что скомпроментирован рут и все тулзы ОС)
    И ставим по хорошему мануалу с изрядной долей паранои (чаще всего одна статья не поможет - делайте свои заметки при установке)
    Максимально изолируем все от всего
    Наружу смотрит только вебсервер
    ссш по портпиннингу (оно делается в полпинка, как на стороне клиента так и на стороне сервера)
    Ваши цмс и скрипты должны обновляться регулярно
    Следите за логами - часто взлом происходит в течении нескольких дней и простой греп по логам покажет, кого вам нужно забанить по ип и где поставить капчу

    То что у вас есть бекапы делает вашу ситуацию в разы лучше
    Ответ написан
    Комментировать
  • Как подключить файл js к серверу Node.js?

    rockon404
    @rockon404
    Frontend Developer
    Устанавливаем express:
    npm i -S express

    const express = require('express');
    
    const app = express();
    
    const port = process.env.PORT || 3000;
    
    app.use('public', express.static('public'));
    
    app.get('*', (req, res) => {
      res.sendFile('public/index.html');
    });
    
    app.listen(port, () => {
      console.log('Server listen at %s port', port);
    });


    В строчке: app.use('public', express.static('public')); подключается промежуточное ПО express.static, которое будет перехватывать все запросы за статическими файлами по пути: hostname:port/public/*, например http://localhost:3000/public/style.css, забирать их из папки /public и возвращать клиенту.
    Ответ написан
    Комментировать
  • Как выполнить подсчет суммы положительных чисел?

    @dGololobov
    начинающий
    let result = array.reduce((acc, elem) => (elem > 0) ? acc + elem : acc, 0)


    В общем добавьте стартовое значение аккумулятора = 0 перед закрывающей скобкой редьюса
    Ответ написан
    Комментировать
  • Как выполнить подсчет суммы положительных чисел?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    const array = [-1, 0, 1, -5, 2, 3];
    
    const result = array.reduce((acc, currentNumber) => {
      if(currentNumber >= 0) {
        return acc + currentNumber;
      }
      return acc;
    }, 0);
    Ответ написан
    Комментировать
  • Что такое Vue Native?

    andykov
    @andykov
    Shit happens
    Vue Native это обертка над React Native.
    NativeScript это отдельный кроссплатформенный фреймворк который дает доступ к нативным компонентам платформы. И оба эти инструмента это не WebView.
    NS использует движок V8 JavaScript для Android и JavaScriptCore для iOS. RN использует только JavaScriptCore
    для обеих платформ. NS может в JS, TS, Angular и в этом году добавили официальную поддержку Vue за счет интеграции с плагином nativescript-vue
    Можно в playground'e пощупать.

    С RN я не работал, как и с VN, но мне интересно развитие NS.
    В общих чертах RN и NS похожи, но отличаются архитектурой взаимодействия с родными модулями платформ.
    NS работает c API интерфейсом платформы непосредственно в движке JS, отправляя вызовы и конвертируя данные на лету. При компиляции все XML компоненты передаются на собственные компоненты Android и iOS перед упаковкой в ​​двоичный файл платформы. В оф.документации все расписано
    Есть хорошая статья в блоге NS, где они разбирают серию статей от Airbnb об опыте с RN.

    Считаю что NativeScript недооценен сообществом, годный продукт.

    Простые приложения можно строить и на NS, что то более сложное где память решает, лучше писать нативно.
    Ответ написан
    1 комментарий