Здравствуйте, я Бо Лазир, начинающий программист, который только что завершил свой первый проект в школе Flatiron. Я хотел обобщить свой опыт и рассказать о некоторых темах, о которых я узнал!

У меня почти нет опыта программирования, только базовые знания HTML и CSS. Я создал свой собственный веб-сайт для своего бизнеса по выгулу собак и был вдохновлен на дальнейшее развитие. До сих пор мне больше всего нравилось изучение основ Javascript и возможность сделать HTML-элементы более интерактивными. Я также очарован тем, как все работает друг с другом: возможность объединить несколько файлов, отправить их на Github для всеобщего обозрения и использовать команды терминала на вашем компьютере, чтобы все это произошло… Это похоже на суперсилу. !

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

В настоящее время у меня есть собственный бизнес по выгулу собак, и я был очень рад применить к нему некоторые знания в области программирования! В прошлом я использовал несколько различных программ для выгула/планирования выгула собак и всегда думал, что это можно сделать намного лучше. Одна из моих целей в этой программе — создать свое собственное программное обеспечение, которое я смогу использовать в своем личном бизнесе! Мой первый проект был сделан с учетом всего этого. Сейчас это простая программа, но она закладывает основу для более практичной программы, которая скоро появится!

Моя программа, которую я сделал, состоит из HTML, Javascript, CSS и имеет данные, хранящиеся в локальном файле JSON. Я использовал локальные серверы JSON для имитации реального сервера. (Я с нетерпением жду возможности узнать, как работают настоящие серверы, и иметь возможность хранить там всю информацию о моих клиентах!) У программы есть название и краткое введение для объяснения содержания. Существует поле выбора, которое позволяет вам выбрать день недели или выбрать собак, которые в настоящее время не запланированы. После выбора все соответствующие собаки и их информация будут загружены на экран! Теперь у вас достаточно информации, чтобы спланировать день выгула собак!

Есть пара технических концепций, которые мне потребовалось некоторое время, чтобы понять. Одним из них является добавление прослушивателей событий в javascript. В частности, добавление единицы к переменной, которую вы присвоили элементу документа! «addEventListener не является функцией» стало для меня очень частым сообщением об ошибке. Например, я бы попытался добавить прослушиватель событий к переменной, которая была описана внутри функции, извне этой функции… эта переменная не существовала в моей текущей области видимости! Сначала я не так много понимал, но теперь я понимаю. Это подводит меня к моей следующей большой технической борьбе…

Объем и асинхронный Javascript было довольно сложно понять! Особенно при работе с промисами в fetch. Изучение того, как правильно выполнять .then, было чрезвычайно полезным, чтобы преодолеть эту борьбу. Правильное объявление функции и ее размещение в fetch также имеют решающее значение. Когда мы начинали с Javascript, мы просто использовали простые функции. Теперь эти функции вложены в другие функции, вызываются при выборке и многое другое! Правильное понимание области действия и асинхронного javascript является обязательным условием для понимания функциональности кода в целом. Я прикрепляю скриншот своего кода ниже, который показывает, насколько вложенным становится код. Я уверен, что это станет еще более глубоким, и это только царапает поверхность!

В целом, я прекрасно провожу время, учась программировать! Нужно узнать намного больше, чем я думал изначально. Моя любимая часть — это общее понимание компьютера и того, как мы с ним творим. Использование вашего терминала, редакторов кода, онлайн-программ (таких как Github), файлов на разных языках кода и т. д. — все это объединено в одну работающую программу. Я очень рад продвинуться вперед в этой программе и еще больше развить эти навыки, чтобы создать несколько забавных/полезных программ в ближайшем будущем!