Информация похожа на еду. Вы то, что потребляете. Скажите мне, на что вы обращаете внимание, и я скажу вам, кто вы.
Вы помните, когда еще в начальной школе эта математическая концепция продолжала надрывать вам задницу? Вы изучали алгебру в колледже и часами читали материал с остекленевшими глазами? Если да, то вы знаете, на что была похожа эта неделя Лямбды.
На этой неделе мы погрузились в тонкости React. Мы рассмотрели инструменты, жизненные циклы и многое другое. Кроме того, что, черт возьми, такое компоненты высшего порядка? Я имею ввиду, серьезно !?
› Щелкните здесь , чтобы прочитать оригинал‹ -
Для тех, кто не в курсе, я учусь на программе Full-Stack Web Development в Lambda School (Подробнее здесь). Lambda School - это онлайн-курс для начинающих, предлагающий 30-недельные программы по программированию, которые бесплатны до тех пор, пока вы не получите работу. Если вы не устроитесь на работу, им не будут платить.
Каждую неделю я пишу о своем опыте. Если вы еще не в курсе, можете начать с Части первой прямо здесь или просто продолжить чтение!
Наконец, если вы хотите самостоятельно зарегистрироваться в Lambda School, воспользуйтесь этой ссылкой. С его помощью вы получите 250 долларов после вашего первого дня, а Lambda даст мне 250 долларов за то, что я отправлю вас туда! Беспроигрышный вариант!
ПРОСТО ПРОЧИТАЙТЕ ИНСТРУКЦИЮ
Если бы это было так просто ...
Эта неделя была сложной для всех нас. Наше введение в React на Неделе 6 было трудным, но большинство полагало, что самое сложное прошло. Боже, неужто нас ждал сюрприз в понедельник утром.
Оказывается, есть еще много чего узнать о React.
День 1 был посвящен оценке данных и использованию проп-типов. Для большинства из нас это пришло довольно естественно, как только мы освоили синтаксис. Три разных способа написания PropTypes
не помогают.
Затем речь шла о жизненных циклах компонентов. Это было сложно понять. Для тех, кто не слишком знаком с React, всякий раз, когда компонент изменяется и ему необходимо повторно выполнить рендеринг, он проходит несколько этапов. На каждом перекрестке у вас есть возможность выполнять определенные задачи и изменять данные. Как концепция в этом есть смысл. Однако реализовать это на практике немного сложнее.
Компоненты высшего порядка были проклятием нашего существования на этой неделе. Нам, уже знакомым с понятием функций высшего порядка (т.е. передачей функции в качестве входных данных охватывающей функции), удалось осмыслить ее. И снова мы пытались заставить его работать в нашем собственном коде. Вся когорта ЕС действительно сплотилась и пошла помогать друг другу, где могла. Были распространены примеры кода и онлайн-руководства, а индивидуальная помощь была на расстоянии одного мастера. В конце концов, большинству из нас удалось заставить это работать.
Некоторые дополнительные тренировки определенно в порядке (высшего), но тем не менее это была победа.
Наконец, мы рассмотрели стили в React. Само по себе это может быть целая неделя занятий. До сих пор использовались отдельные таблицы стилей для каждого компонента. Однако это быстро превратилось в бесконечное количество ошибок специфичности и добавление дополнительных классов в наш JSX. Стилизованные компоненты были нашей спасительной милостью.
Круто было то, что мы четыре дня работали над одним и тем же проектом - клоном Instagram. Нам были предоставлены фиктивные данные и несколько указателей о том, как реализовать определенные функции. В остальном мы были сами по себе. Результаты были замечательными. Но у одного проекта на целую неделю занятий есть свои плюсы и минусы.
Это определенно помогает начать работу на 2–4 дни. Вы знаете код, знаете, как он работает и где что найти. Это способствует естественному прогрессу в обучении, добавляя новые функции по мере того, как вы изучаете новые методы.
Однако есть и недостатки. Факт есть; в этот момент у вас нет выхода. Мы все еще учимся, поэтому мы не можем структурировать наш код таким образом, чтобы это способствовало его расширению в будущем. (Хотя я думаю, что это само по себе является хорошим уроком). Некоторые студенты тратят пару часов на реструктуризацию всей своей кодовой базы из-за решений, которые они приняли в предыдущие дни.
«КАК Я ДЕЛАТЬ ЕЩЕ РАЗ?»
Поскольку большинству людей интересно, что именно мы узнаем в Lambda, я перечислил их все здесь. За 30 недель это может стать самым исчерпывающим резюме на сегодняшний день.
На 7 неделе мы рассмотрели:
- Понимание шаблонов, плюсов и минусов и т. Д .;
- Введение в тестирование и настройку нашей тестовой среды;
- Create-React-App по сравнению с другими шаблонами;
- Проверка данных, типы свойств и проверка свойств;
- Жизненные циклы компонентов React;
- Компоненты высшего порядка;
- Философия и принципы дизайна React;
- Стилизация приложений на React;
- Нечеткий поиск;
- Аутентификация.
Как всегда, я постарался просмотреть лишний материал. В основном из любопытства, но иногда для того, чтобы понять концепции, которые не очень хорошо проявились на уроках:
- Алгоритмы поиска. Я начал этот бесплатный принстонский курс по алгоритмам. Я дожил до второй недели и продолжу в ближайшие недели;
- Я прошел примерно 2/3 пути по книге Робина Веруха «Дорога к изучению реакции» во второй раз. Я пролетел через это, хотя иногда изо всех сил пытался осмыслить некоторые из более продвинутых концепций;
- Стилизованные компоненты. Я прошел через пару руководств, чтобы по-настоящему разобраться в передаче реквизита и включении условного стиля. Не особо много из этого получил.
- React-Router. Мы рассмотрим большую часть этого на следующей неделе. Я использовал его в прошлом, поэтому на этих выходных просмотрел документацию.
Я начинаю замечать, что предпочитаю проводить исследования на стороне, а не выполнять сложные задания в рамках учебной программы. Возможно, это как-то связано с поиском вещей, которые мне более удобны. Как бы то ни было, у меня есть список невыполненных заданий. Я считаю делом гордости закончить их все до окончания школы. Никаких полумер.
На этом этапе мы начинаем знакомиться с React и уверены в том, что можем создавать простые приложения. Невероятно, как много может измениться за полтора месяца. Большинство моих коллег никогда не писали столько, сколько статичный веб-сайт до того, как запустили Lambda!
И мы покрыли только 1/4 учебной программы ...
Вопросы и ответы
Когда вы начинали с Lambda, боялись ли вы, что это мошенничество? Что, если бы он не оправдал ваших ожиданий?
Честно говоря, меня это не волновало. Я следил за Остином с тех пор, как он основал Grasswire, поэтому был уверен в его способности осуществить это. Более того, Соглашение о разделе доходов убедило меня принять участие.
Если это окажется розыгрышем, никакого вреда не будет. В конце концов, условия ISA не будут применяться, и мне не придется платить ни цента. И наоборот, если бы они проделали достаточно хорошую работу, чтобы удовлетворить требованиям ISA, я был бы более чем счастлив заплатить 10%.
Сталкивались ли вы с какими-либо проблемами в качестве первой европейской когорты?
Пока их было очень мало. Европейские когорты имеют свою собственную сеть поддержки менеджеров проектов и инструкторов. Так что мы не особо много общаемся с США. Я заметил одну вещь: когорта ЕС в целом немного изолирована. Поскольку наш день занятий заканчивается еще до начала занятий в США, совпадений мало. В целом когорта из ЕС, похоже, менее активна в основном чате в Slack.
Время от времени Lambda будет проводить гостевые лекции или так называемые «коричневые мешки», на которых эксперты углубляются в тему по своему выбору. Однако все они приурочены к расписанию в США; то есть около 4 утра. Их записывают и выкладывают на Youtube, но это далеко не идеально.
СОЮЗ ЛЯМБДА
На следующей неделе мы будем уделять React еще больше времени. Маршрутизация, рендеринг на стороне клиента, HTTP и AJAX составят большую часть материала. Мы рассмотрим некоторые важные вещи, поэтому я должен выделить достаточно времени, чтобы пересмотреть и прочитать материал, если это необходимо. Я сделаю это.
Наконец, я действительно благодарен за возможность записаться на Lambda. Иногда мне кажется, что я переживаю будущее образования.
Я искренне надеюсь, что вам понравился обзор этой недели.
Hasta pronto!