• Стоит ли делать сайт с помощью Реакта?

    @immaculate
    Программист-путешественник
    Не стоит. React для приложений, а не для сайтов. Тем более, что для вашего сайта вообще ничего реализовывать не надо, кроме верстки: интернет-магазинов написано где-то 100,500 штук на каждом существующем языке программирования.

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

    Toisen
    @Toisen
    Backend Developer
    Много чего тут понаписали в ответах про полезность ВУЗа, про "зачем тебе веб" и т.д.т.п.
    Я напишу так, как если бы мне сейчас снова было 14, и я не знал ничего.
    1. Английский - до уровня спокойного чтения документации и технической литературы.
    2. FreeCodeCamp. Что бы ни говорили, я считаю этот портал самым лучшим для обучения вебу с нуля. Курс от javascrupt.ru, когда руки дойдут до JS, тоже довольно неплох.
    3. Алгоритмы и архитектура. Алгоритмы - наше всё. Они очень помогают начать мыслить в нужном направлении. Архитектура - легкое и полезное чтиво, когда у тебя набито достаточное количество шишек (книга Большой Четверки + Мартин Фаулер - это все, что нужно).
    4. Поглядывал бы на https://github.com/kamranahmedse/developer-roadmap просто чтобы знать, какие дорожки протоптаны и на какие фреймворки смотреть.

    Теперь что касается жизненного стиля:
    Я бы уделял часа 2-3 каждый день. Не важно, что конкретно ты пишешь или не пишешь в это время, да хоть просто на github позалипать, достаточно просто заниматься, и прогресс будет. Через месяц войдет в привычку читать техническую литературу в метро (благо книги по архитектуре вполне себе нормально читаются и без компьютера перед лицом).
    Что касается ВУЗа - он НЕ обеспечит тебя работой. Просто прими это как есть. Я понимаю, что людям сложно признать, что они потратили 4-6 лет впустую, и свято верят в то, что без бумажки их бы никуда не взяли, но я со своей колокольни скажу вот что: ни на одном собеседовании за 6 лет меня не спросили, есть ли у меня диплом. За 4 года обучения вся полезная информация, которая мне пригодилась, свелась к алгоритмам, БД и ООАиП. На это можно потратить пол года, но не 4. ИТ в этом плане довольно уникальная сфера: тут работодатели смотрят на то, что ты умеешь, а не на то, сколько у тебя бумажек. Однако, в ВУЗ я все же настоятельно рекомендую поступать и, желательно, в другой город. Во-первых от сиськи мамки оторвет, а во-вторых - это самые запоминающиеся годы, и мне искренне жаль тех людей, которые не узнали, что такое пожить в общаге за пол страны от родителей.
    После первого-второго курса (до этого ты осваиваешь фреймворки и уже имеешь крепкую базу, а заодно поглядываешь вакансии на hh.ru в сторону того, что нужно на позицию Junior-Middle) иди искать работу джуном просто для опыта, там старшие тебя понянькают и через пол года усердного впахивания ты будешь крепким мидлом.
    Много писали про игры, и как они ужасны. У каждого свои увлечения, и я не считаю игры каким-то злом. Если человек не может себя контролировать, то проблема не в играх. Все хорошо в меру.
    Ответ написан
    2 комментария
  • Существует ли хороший сборник задач по javascript, чтобы прокачаться?

    Устройся джуниором на работу. ПМ - лучший на свете сборник задач. Задачи, конечно, не такие как в учебниках и статьях в блогах. Но в реальной работе таких и не будет всё равно
    Ответ написан
    Комментировать
  • Что такое Redux простыми словами?

    @KnightForce
    Чтобы понять как работает Redux тебе нужно норм вкуривать React.
    Хотя бы для того, чтобы не пугаться props.

    Есть у тебя React. Это все просто JS объекты.
    <Component /> - так позволяет писать движок jsx, который и React его использует.
    Так как структура компонентная, ты должен думать как обновить компоненты в в другой части страницы.

    Принцип такой: компонент обычно обновляется при получении новых свойств - props или когда меняется его объект состояния - state.

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

    Что делает Redux:
    Он не призывает отказываться от state.

    Но есть общий контейнер данных. И когда данные меняются - меняются и компоненты, которые отображают именно эти данные.

    Когда нужно что-то поменять - вызываешь dispatch - специальная функция reducer реагирует на это - и меняет данные как тебе нужно. Когда данные заменятся - компонент Propvider - вызывает рендер у своего дочернего компонента (тот что оборачивает Provider).
    Например:
    <Provider>
       <MyComponent />//Вот сюда Provider пробросит (запишет) новые props.
    </Provider>


    Записывает он это самое глобальное хранилище и все компоненты, для которых поменялись данные - перерисуются.

    mapStateToProps - указывает какую часть этого глобального хранилища будет предоставлять provider.
    Если у тебя оно такое:
    {
       chunkStore: {},
       some: {}
    }

    То если mapStateToProps вернет{store: store.chunkStore}то Provider в props своего потомка пробросит такое: store: store.chunkStore. И ты будешь обращаться внутри к store, но там будет только часть chunkStore (не весь объект, а его поле).

    mapDispatchToProps - т.к. subscribe нет, то это возвращает функции, которые могут внутри себя вызывать dispatch().

    action - описывает то что и на что ты хочешь поменять. Какое поле и какие данные туда поместить.
    Ответ написан
    Комментировать
  • Почему не изменяется состояние компонента?

    @lnked
    попробуйте так:

    onChangeHandler (e) {
            this.setState({
                myValue: e.nativeEvent.target.value
            })
    }


    onChange={this.onChangeHandler}
    Заменить на:
    onChange={this.onChangeHandler.bind(this)}
    Ответ написан
    1 комментарий
  • Как можно закрепить своё понимание нового стандарта ES6?

    Stalker_RED
    @Stalker_RED
    Пару месяцев назад приняли ES8, а вы закрепляете ES6?

    Начните уже писать код, больше кода, разного. Все эти новшества - это инструменты, облегчающие вам работу. Можно пользоваться бензопилой, можно электропилой, можно ручной пилой. Если вам нужно спилить одну небольшую ветку, а осваивать бензопилу сложно и страшно - пилите ручной. Если вам нужно спилить 500 веток, то есть смысл разобраться с более быстрым и удобным инструментом.

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

    Также не стоит забывать, что браузеры при реализации этих "фич" могут запаздывать на годы. Те-же промисы не работают в IE и никогда работать не будут.
    Ответ написан
    1 комментарий