Признание того, как я начинал как худший разработчик.

Полный стек проекта MERN с реакцией/редукцией

Мой первый побочный проект называется mybooktracker, веб-сайт управления книгами. Это полноценный проект MERN с реакцией/сокращением, интегрированный с API Google Книг и входом OAuth. Его развернули, и я даже снял демонстрационное видео на Youtube, видите, как я им гордился.

Вот несколько фотографий:

Только начал заниматься веб-программированием

Выглядит потрясающе, правда? Но на самом деле это была полная КАТАСТРОФА. Это было сделано в течение первого года, когда я наткнулся на веб-разработку, я прошел курс веб-программирования, а затем внезапно я смог сделать красивый веб-сайт с кучей инструментов и пакетов, которые я едва знаю, как они работают. Я был так поражен и взволнован тем, чего я могу достичь, что, как только курс закончился, я начал этот проект.

Я писал плохой код.

У меня нет точного плана, когда я начну делать веб-сайт, поэтому я выбирал макет и компоненты, которые, кажется, работают. Я смешивал синтаксис ES6 и ES5, использовал непоследовательные способы стилизации компонентов, плохо называл их и писал повторяющийся код в разных местах. Да, я писал плохой код.

Я не знаю, как они работают... но это работает.

В то время у меня не было достаточного понимания того, что я делаю, я едва знал, как работает фронтенд, бэкенд и база данных. Я все еще мог начать разработку приложения для реагирования с помощью одной команды «create-react-app», не зная, что такое Webpack, и запустить сервер nodejs и подключиться к mongoDB с приведенным примером кода и немного изменить их.

Добавление кода, который я не знаю, что они означают…

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

Веб-безопасность? Тестирование? Контроль версий?

К тому времени у меня также не было особых знаний о веб-безопасности или тестировании. Я помню, как использовал «dangeroussetinnerhtml», думая, какое у него странное имя, но несмотря ни на что. Файл App.test.js в моей папке игнорировался с самого начала и до конца моей разработки, так как мне сказали не беспокоиться об этом, когда я проходил курс.

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

Загадочно развернут.

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

Развертывание прошло успешно, хотя мне не удалось пройти проверку, необходимую для включения публичного входа через Google OAuth, поскольку моя учетная запись принадлежит школьной рабочей области Google и blablabla. (Отчасти рад, что этого не произошло) Я все еще был очень доволен тем, как все получилось.

Проект - бардак.

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

Как только я начал учиться, я понял, что НИЧЕГО НЕ ЗНАЮ…

После этого интервью я начал действительно пытаться понять, что такое веб-разработка. Начав, я понял, что НИЧЕГО НЕ ЗНАЮ. Я начал изучать основы Интернета, как работают эти протоколы; Я узнал о том, как веб-браузер отображает веб-сайт, как работает веб-сервер, база данных и другие основные механизмы веб-сайта, такие как Ajax, RWD, cookie/сессия, тестирование, CI/CD, контейнеризация и т. д.

Всегда находилось случайное техническое слово, о котором я не знал.

Когда я учился, всегда было случайное техническое слово, о котором я не знал, оно возникало из ниоткуда, и когда я искал его в Google, было целое другое поле, которое Я никогда в жизни не слышал о, ожидая, когда я узнаю. Веб-безопасность была одной из областей, которые меня очень шокировали тем, насколько я не знал, когда делал свой первый проект. Облачные сервисы были одними из моих любимых из-за того, насколько они невероятны. Это также было спорным вопросом, который казался очень актуальным, но в то же время слишком обширным, чтобы быть актуальным.

Чем больше я узнаю, тем меньше я знаю.

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

Поздравляем, вы находитесь на этапе 2.

Если вы начинаете чувствовать, что ничего не знаете, Поздравляем, вы находитесь на этапе 2. Этап 2 стать хорошим программистом. Фаза 1 — это когда вы думаете, что все так просто, фаза 2 — это когда вы понимаете, что есть так много вещей, которых вы не знаете. Фаза 3 — это когда вы понимаете, что все они в основе своей одинаковы, и вы уже знали их.

Мне это старший сказал. Я до сих пор помню, как я был вдохновлен, когда услышал, как он это сказал. Он рассказал мне о своем опыте работы бэкенд-инженером и о том, как он оказался там, где он есть. Это заставило меня чувствовать себя мотивированным.

Ведь я не жалею, что сделал это.

Недавно начинается новый семестр моих степеней CS, и у меня есть новые цели для себя. Оглядываясь назад, я до сих пор думаю, что многому научился в этом первом проекте, несмотря на все неудачи. Я не жалею, что сделал это. Я узнал, как решить проблему, посмотрев в Google, и я научился читать документ API и интегрировать их. Ошибки, которые я совершил, всегда будут для меня напоминанием о том, что в следующий раз я должен действовать лучше.

Мы все с чего-то начинаем.

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