После 200 дней кода…

Вступление

Если вы хотите сделать выводы, вот 4 пункта, не читая всю статью. Номер 1, React поможет улучшить ваш JavaScript (Совет: изучите основы ES6, прежде чем запускать React). Номер 2: создавайте проекты с использованием новых технологий и устанавливайте для них конкретные сроки. Номер 3: больше сосредоточьтесь на коде, а не на стилизации, потому что для этого могут быть дизайнеры. Номер 4: попробуйте Manjaro Linux, если вам надоела Windows (если у вас Mac, он уже довольно хорош).

Если вы все еще здесь, возможно, вы захотите прочитать статью. Вот и все ... после того, как я набрался огромного импульса за первые 100 дней кода, я хотел перейти ко второму раунду. Многие люди хотят использовать R2D2 в своих твитах, но я просто предпочитаю простые от 101 до 200. Второй раунд был довольно продуктивным, поскольку я создал нашу локальную группу Free Code Camp, переключился на Manjaro Linux из Windows для лучшей среды разработки, закончил пару онлайн-курсов и построил 3 новых проекта. Это была моя первая попытка познакомиться с ES6 и React, и это, безусловно, отличная поездка. То, что я думал, будет кирпичной стеной, оказалось новой страстью к написанию частей компонентов React и соединению их вместе, как пазл. Также было намного проще иметь дело, когда вы могли просто работать над одним аспектом своего приложения за раз, вместо того, чтобы смотреть на один большой файл JavaScript. Вот некоторые важные вещи, которые произошли во время моего второго раунда # 100DaysOfCode:

Дни с 101 по 125

Я начал работать над приложением Free Code Camp Wikipedia в начале этого задания и закончил на 118-й день. Чтобы помочь с задачей, я прошел бесплатный курс под названием Асинхронные запросы JavaScript от Udacity, который мне очень помог! Я хотел лучше понять AJAX (или, точнее, AJAJ), Fetch API и работу с обещаниями. В 109-й день я также запустил ES6 Уэса Боса для всех, чтобы подготовиться к React. Это один из лучших курсов, которые у меня когда-либо были, и я все еще просматриваю его после 200 дней написания кода (многие из них были включены в ES2015 / ES6). Я твердо верю, что хорошо разбираюсь в переменных var / let / const, области видимости, операторе распространения, деструктурировании, классах, цикле с .map / for in / for of, понимании Object.keys / values ​​/ entry и других базовых ES6 концепты очень помогут вам с React. В конце концов, React - это, в конце концов, JavaScript, и, следовательно, он также улучшит ваш JavaScript.

Я действительно начал бесплатный курс React на Edx, но закончил тем, что выбил его, так как мне не нравился темп. Для создания игры Connect 4 было много копи-пасты, и я просто не учился этому. За это время я также переключился на Ubuntu Mate, так как в моей Windows 10 появилось раздражающее сообщение о необходимости обновления. Привыкнуть к Linux было не так уж сложно, поскольку среда разработки была ближе к Mac, и мне она нравилась гораздо больше, чем Windows. Наша группа Free Code Camp Ashburn тоже только начала медленно развиваться, и я начал больше публиковать информацию о наших встречах, создании группы в Facebook и создании нашего местного веб-сайта.

Дни с 126 по 150

Эту четверть этапа я начал с приложения Free Code Camp Twitch API. Я знал, что это будет больше Fetch API, так что это будет быстрый проект, и я закончил на 130-й день. Я начал выполнять задачи HackerRank, но постоянно останавливался, так как пользовательский интерфейс был чрезмерно сложным (CodeWars - лучшая платформа. в любом случае). Мы с друзьями также пытались поработать над проектом и вместе подготовиться к собеседованию, но в конечном итоге это не удалось, так как другие вещи стали приоритетными. На 141 день я переключился на Manjaro Linux, который был намного лучше, чем Ubuntu Mate. Некоторые из функций, которые мне понравились, были Yakuake (постоянный терминал), переключатели нескольких окон (попробуйте Desktop Cube Animation, довольно гладко), программный менеджер Octopi (следит за всем вашим программным обеспечением и информирует вас об обновлениях) и просто красивый интерфейс, который появился. с установкой KDE.

Кроме того, на 145-й день у меня было собеседование на должность интерфейсного веб-разработчика для создания веб-сайтов с их стеком: JavaScript, PHP и Bootstrap. Компания провела еще пару раундов собеседований и сообщила мне об этом через 2 недели. К сожалению, я так и не получил от них ответа. Я начал Learn React.js, вводный курс по Lynda, сделанный в 2016 году, но он использовал старый синтаксис, например React.createClass (где сейчас большинство людей используют функциональные компоненты без сохранения состояния или классы ES6). Я все еще продвигался через это, но было трудно отличить старый синтаксис от нового. Если вы когда-нибудь обнаружите, что работаете со старым кодом React, response-codemod - находка, помогающая преобразовать ваш синтаксис. На самом деле, это помогло мне запустить приложение блокнота из курса Линды.

После этого я начал Базовый учебный курс React.js на Линде на 148-й день. Этот курс был намного лучше, но все же не вникал в большую глубину. По общему мнению, курсы Lynda.com никогда не содержат большого количества объяснений или передовых практик. Некоторые курсы пропущены или пропущены, так как они могут быть старше. Это был мой опыт работы с некоторыми другими курсами там. Курсы хорошо объясняют некоторые темы, но не обращают внимания на другие. Формат больше похож на смотри, кодируй и учись. Не знаю, как вы, но я лучше узнаю, если это хорошо объяснено и если я сам что-то кодирую. Я не должен жаловаться, поскольку моя библиотека предлагала подписку бесплатно (в вашей библиотеке она тоже может быть, проверьте). В любом случае у них есть другие интересные вещи, которые я надеюсь проверить в будущем.

Да, и я завершил все кредиты фармацевта CE и все 15 длинных статей с тестом "годен / не пройден" в конце, но не то, чтобы это важно для вас. Ха-ха

Дни с 151 по 175

Я запустил сайт фотографии для друга, чтобы опробовать Materialize CSS и Instagram API. Я также сделал для него отличную контактную форму. Я закончил базовый курс обучения ReactJS на 157-й день.

Затем появилась стажировка в Огайо. У меня было онлайн-собеседование, и они хотели узнать, какое веб-приложение я разработал. До этого момента у меня было только созданное мной приложение Twitch API. Так что мне пришла в голову идея создать проект на React для системы управления событиями, о которой я упоминал во время интервью. Я проработал неделю и по-настоящему изучил React. Было потрясающе то, что я узнал из-за нехватки времени. Я сделал все, что мог, и отправил им электронное письмо. К сожалению, я никогда не слышал о них. Это было нормально, потому что я так или иначе изучил огромное количество React, и это в конечном итоге привело меня к большему количеству экосистем React и Firebase.

В этот период мы продолжили наши регулярные встречи Free Code Camp. На одном мероприятии к нам даже пришли рекордные 7 разработчиков. Также был мой день рождения и Рождество, поэтому было много разных праздников. Я углубился в Firebase и много узнал о манипуляциях со структурой данных.

С 176 по 195 дни

На этом этапе я застрял в своем приложении React Respondez. Я не совсем понимал, как выполнять манипуляции с глубоким состоянием в React (кстати, вам не следует этого делать). Но я был упрям ​​и ничего не знал. В конце концов, я сменил передачу, чтобы сделать перерыв. Я изучил множество алгоритмов в Free Code Camp и Codewars, чтобы попытаться углубить свое понимание JavaScript. Тем временем я начал платный курс Уэса Боса React For Beginners, чтобы отточить свои навыки React. Я практически закончил курс на 180-й день, но некоторые части кода я не мог понять, как связать с Firebase, даже после повторного просмотра / исследования.

Я продолжил набирать обороты и пролистал бесплатный курс Learn Redux Уэса Боса, чтобы посмотреть, есть ли что-нибудь, что могло бы помочь моему приложению Respondez. Я закончил курс Redux на 191-й день с данными из моей учетной записи Instagram. Оказывается, Redux больше подходит для гораздо более крупных приложений, и все, что мне действительно нужно, это внутреннее состояние React и библиотека update-immutable.

Я вернулся в свое приложение Respondez и преодолел все препятствия, обгрызая ногти и выдергивая волосы. Я рада, что вернулась, потому что вы можете видеть то, что есть сегодня.

Заключение

Вот где я сейчас, просто работаю над приложением и пытаюсь его развернуть, исправляя ошибки, тестируя пользователей и пишу об этом статью. Я надеюсь, что смогу запустить его, чтобы другие группы Free Code Camp тоже могли его использовать.

Самая большая вещь, которую я извлек из этого 100-дневного цикла, - это упорствовать еще сильнее, а иногда самое простое решение - протолкнуться, а не пытаться искать библиотеки / другие ресурсы. Это также помогает установить добровольно установленные сроки, поскольку это поможет вам быстрее отправить приложение.

В следующие 100 раундов я пытаюсь выработать пару новых привычек. Я работаю над тем, чтобы просыпаться перед солнцем, медитировать, использую яблочный уксус, добавляю в свой рацион тушеные овощи и гуляю по подкастам. Это не связано с кодированием, но я подумал, что вы должны знать, что я чувствую значительный прирост своей производительности. Я чувствую себя полностью расслабленным и полным энергии, чтобы писать код и больше не сплю. Вот почему вы видите изображение ледяного восхода солнца в качестве моего знамени. Я люблю просыпаться перед солнцем, и холод бодрит (как сказал бы Вим Хоф, «холод - твой друг»).

Посмотрим, куда я пойду в следующем раунде. Несмотря на то, что кажется, что обучение никогда не прекращается, и эта первая работа разработчика недоступна, я по-прежнему полон надежд и полон решимости в том направлении, в котором я двигаюсь. Я буду продолжать строить и учиться каждый божий день. Я даже устроился на работу с частичной занятостью, чтобы прокормить себя, чтобы продолжить обучение программированию. Я надеюсь устроиться на работу разработчика через 3–6 месяцев. То тут, то там я получаю небольшие предложения по проектам, но пока нечего печатать в заголовках. Я говорю вам (как и я) продолжать настаивать. Несмотря на все трудности, вы намного сильнее, чем думаете, и просто еще не осознали этого. Если вам нужно взять выходной, отправиться на пробежку, посмотреть мотивационное видео или просто хорошо провести время с друзьями вдали от экрана, просто сделайте это! Это марафон, а не спринт. Я рядом с тобой, пока мы продолжаем измельчать. Спасибо и удачи всем моим коллегам-джедаям JavaScript, и не стесняйтесь связываться со мной!

Найдите меня на:
TWITTER ➞ https://twitter.com/traveldev
INSTAGRAM ➞ https://www.instagram.com/travel_Dev/
ПОРТФОЛИО ➞ http: //timothyhoang.net