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

Теперь большинство этих понятий прочно засело в моей памяти золотых рыбок посредством заметок и обучения на примерах.

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

Однако, когда пришло время выполнить мои первые задания с использованием методов .map(), .filter() и .find(), мой код стал выглядеть как никогда прежде. -увиденный инопланетный язык.

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

Я начал задавать вопросы типа:

  • «Почему я перебираю массивы?»
  • «Я знаю, как это работает, но… для чего это используется?»

И в самые мрачные моменты:

  • «…что вообще такое такойJavaScript?»

Если вы обнаружите, что задаете эти общие вопросы (и часто вопросы, которые кажутся неловкими), вы не одиноки.

Я понял, что именно так я сам и многие другие на самом деле учусь!

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

Просите, и вы получите, как они говорят

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

Но на протяжении всего этого процесса мне не терпелось узнать одну вещь: «Как пользователи добавляют или изменяют контент на веб-сайте?»

Как в фейсбуке, например.

Как только файлы HTML, CSS и JavaScript Facebook загружаются в браузер, как я могу публиковать или лайкать что-то?

Мы рассмотрели специфику событий и прослушивателей событий, которые, по сути, позволяют пользователям взаимодействовать с модулем объекта документа (или DOM для краткости).

Хорошо, я понял, я выбираю или создаю элемент HTML, на котором я хочу, чтобы произошло событие, будь то щелчок, прокрутка мыши, ввод и т. д., и я заставляю свой JavaScript «прослушивать» это событие.

Тем не менее, я все еще чувствую некоторые незавершенные вопросы — как работает взаимодействие с пользователем применительно к более крупной системе, в которой несколько пользователей изменяют веб-страницу? Чем мой Instagram немного отличается от других? Я что-то упустил из прошлой лекции или учебного материала?

Я с облегчением обнаружил, что на самом деле задал вопросы раньше срока, поскольку ответы мы рассмотрели позже…

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

И!

Пользователь и сервер отправляют серию запросов данных и ответов, используя URL-адреса и протокол передачи гипертекста…

Хм, как все знакомо…

Загадочное «https://…», которое я набирал всю свою жизнь, в конечном итоге превратилось из просто того, что нужно набирать, в целый новый мир (широкая сеть!) общения, которого мне не хватало на.

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

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

Самое главное, мои вопросы привели к более полезному процессу обучения, который не был увяз в миллионе деталей, которые, казалось бы, не имели соединительной ткани.

Нет домена, нет стыда

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

Так как…

Когда вы задаете такие вопросы или пересматриваете основные пошаговые цели своего кода, вы в конечном итоге получаете более четкое и решительное представление о том, чего именно вы пытаетесь достичь.

И самое главное… дайте волю своему любопытству!