После моей первой недели 15-недельного буткемпа по программированию я обнаружил, что чувствую себя перегруженным концепциями, которые вскоре забуду…
Теперь большинство этих понятий прочно засело в моей памяти золотых рыбок посредством заметок и обучения на примерах.
Например, когда я научился использовать массивные методы для одного из них: я просмотрел множество видеороликов, многократные применения таких методов и множество собственных консольных журналов, чтобы чувствовать себя более комфортно в этой области JavaScript.
Однако, когда пришло время выполнить мои первые задания с использованием методов .map(), .filter() и .find(), мой код стал выглядеть как никогда прежде. -увиденный инопланетный язык.
Одна вещь, которую я заметил, однако, это то, как хорошо я, наконец, начал усваивать эти понятия благодаря простому любопытству.
Я начал задавать вопросы типа:
- «Почему я перебираю массивы?»
- «Я знаю, как это работает, но… для чего это используется?»
И в самые мрачные моменты:
- «…что вообще такое такойJavaScript?»
Если вы обнаружите, что задаете эти общие вопросы (и часто вопросы, которые кажутся неловкими), вы не одиноки.
Я понял, что именно так я сам и многие другие на самом деле учусь!
Вам предоставляется общая концепция, а затем вы углубляетесь в мельчайшие особенности этой концепции. Эти особенности меняют ваше фундаментальное понимание общей концепции, вы возвращаетесь назад, чтобы задать более конкретные вопросы, и так далее, и так далее...
Просите, и вы получите, как они говорят
К концу первой недели мы уже прошлись по HTML, CSS и JavaScript. HTML — это общее содержимое веб-сайта, CSS — это стиль указанного содержимого, а JavaScript обеспечивает поведенческий механизм, позволяющий пользователю взаимодействовать с отображаемым содержимым HTML и CSS.
Но на протяжении всего этого процесса мне не терпелось узнать одну вещь: «Как пользователи добавляют или изменяют контент на веб-сайте?»
Как в фейсбуке, например.
Как только файлы HTML, CSS и JavaScript Facebook загружаются в браузер, как я могу публиковать или лайкать что-то?
Мы рассмотрели специфику событий и прослушивателей событий, которые, по сути, позволяют пользователям взаимодействовать с модулем объекта документа (или DOM для краткости).
Хорошо, я понял, я выбираю или создаю элемент HTML, на котором я хочу, чтобы произошло событие, будь то щелчок, прокрутка мыши, ввод и т. д., и я заставляю свой JavaScript «прослушивать» это событие.
Тем не менее, я все еще чувствую некоторые незавершенные вопросы — как работает взаимодействие с пользователем применительно к более крупной системе, в которой несколько пользователей изменяют веб-страницу? Чем мой Instagram немного отличается от других? Я что-то упустил из прошлой лекции или учебного материала?
Я с облегчением обнаружил, что на самом деле задал вопросы раньше срока, поскольку ответы мы рассмотрели позже…
Только на второй неделе мы начали изучать общий процесс того, как браузер пользователя взаимодействует с серверами.
И!
Пользователь и сервер отправляют серию запросов данных и ответов, используя URL-адреса и протокол передачи гипертекста…
Хм, как все знакомо…
Загадочное «https://…», которое я набирал всю свою жизнь, в конечном итоге превратилось из просто того, что нужно набирать, в целый новый мир (широкая сеть!) общения, которого мне не хватало на.
Теперь, в тот момент курса, я не чувствовал, что изучаю совершенно новые концепции с нуля и просто запоминаю термины без более широкой основы. Скорее — я чувствовал, что горы страниц и страниц курсового материала теперь прикованы к моему безраздельному вниманию, и мое любопытство наконец-то утолено.
Как обсуждалось ранее, некоторые из моих абстрактных вопросов приводят ко все более и более конкретным ответам, меняя то, как я рассматриваю общую структуру. Мои вопросы о том, как пользователь взаимодействует с веб-страницей, также отвечали на вопросы о том, как работает Интернет в целом!
Самое главное, мои вопросы привели к более полезному процессу обучения, который не был увяз в миллионе деталей, которые, казалось бы, не имели соединительной ткани.
Нет домена, нет стыда
Что я на самом деле пытаюсь донести до вас, так это то, что нормально чувствовать себя потерянным, когда учишься программировать, и что нормальнозадавать вопросы о том, что в противном случае может показаться простым , очевидные вопросы.
Так как…
Когда вы задаете такие вопросы или пересматриваете основные пошаговые цели своего кода, вы в конечном итоге получаете более четкое и решительное представление о том, чего именно вы пытаетесь достичь.
И самое главное… дайте волю своему любопытству!