Содержание

Изучение JavaScript с нуля

Рассказ программиста о том, как добиться успехов в изучении JavaScript.

JavaScript – язык, на котором сегодня работает всё – от веб-приложений до мобильных приложений и серверов. Его популярность резко выросла за последние несколько лет, обойдя такие языки, как Java и PHP. Сейчас – наилучшее время для изучения JavaScript. Я расскажу, с чего началась моя история, что я изучил и как стать профессионалом в JavaScript.

Предыстория

JavaScript был создан Бренданом Эйхом в 1995 году. Брендан был принят в компанию Netscape Communication, задачей которой было сделать веб более динамичным. Через 10 дней, Брендан создал прототип языка, с синтаксисом, очень похожим на Java. Это был день рождения JavaScript.

В 1996, JavaScript был передан ECMA (Европейская ассоциация производителей компьютеров), чтобы зарегистрировать новый стандарт языка. Это привело к официальному выпуску ECMA-262. Несмотря на то, что JavaScript употребляется чаще, официальное название стандарта – ECMAScript.

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

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

Первые шаги

После моего первого знакомства с JavaScript, я решил составить план изучения языка:

1. Научиться учиться и запоминать простые вещи

2. Изучить основы JavaScript

3. Погрузиться в изучение и приступить к изучению расширенных возможностей языка.

4. Начать создание своих проектов.

5. Завести блог об изучении JavaScript

6. Научить других

Этот план я называю никогданекончающимся, что несложно заметить, взглянув на него. Я буду выполнять пункт за пунктом, но сначала я хотел бы вас предостеречь. Прежде чем приступить к изучению, вы должны понимать, что путь тернист. В какой-то момент вы придёте в отчаяние, главное не поддаваться ему, а продолжать работать. С этим сталкивались все, даже профессионалы. Эту часть обучения, нужно принять как должную.

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

Учитесь учиться

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

Написание технических текстов как способ обучения

В процессе обучения я записывал все свои достижения. Сделать это можно создав блог или любым другим удобным для вас способом. Если же публиковать свои достижения вы не считаете нужным, ведите записи на своём ПК. Результаты будут видны практически сразу, кроме того, способ помогает тренировать память. Это способствует пониманию пройденного.

Тесты на знание

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

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

Не торопитесь

Наихудшее время для обучения – когда вы чувствуете усталость. В такие моменты, главное не заставлять себя. Сделайте перерыв на несколько дней, когда будете готовы продолжайте обучение. Кроме того, я настоятельно рекомендую использовать метод помидора. Суть в том, чтобы 25 минут заниматься, и 5 минут отдыхать. Этот способ помогает повысить продуктивность.

Найдите ментора

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

Основы JavaScript

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

MDN’s JavaScript Guide — руководство охватывает всё необходимое, грамматику и типы, циклы, функции, выражения, числа и даты, форматирование и многое другое.

You Don’t Know JS — это серия книг Кайла Симпсона. Здесь содержится информация, которая поможет вам изучить язык более глубоко.

Eloquent JavaScript — ещё одна крутая книга о JavaScript. Советую читать её, только после того, как вы получите базовые знания или если у вас есть опыт программирования на других языках.

Free Code Camp — сообщество программистов, где вы будете участвовать в чемпионатах, создавать проекты и получать сертификаты. Способ подойдёт даже новичку, кроме того его можно совмещать с занятиями на других ресурсах.

CodeCademy — ещё одна платформа для обучения с помощью задач. Идеально для новичка.

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

Если вы чувствуете, что не можете самостоятельно справиться с проблемой, погуглите, обратитесь на форум Stack Overflow или просто спросите у ваших знакомых программистов. Всегда спрашивайте себя, для чего вы делаете что-то – «Для чего мне нужны циклы, когда проще использовать метод карт?», «Зачем мне JQuery, если можно обойтись без него?».

«Я знаю основы, что дальше?»

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

Справиться со стрессом мне помогла моя сила воли. Я понимал, что это поможет мне перейти на новый уровень.

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

Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript — в книге описываются 68 подходов для написания кода, к каждому автор приводит примеры. Вы узнаете, как подбирать стиль программирования для разных проектов, решать проблемы и многие другие аспекты программирования.

JavaScript — The Good Parts — несмотря на то, что книга порядком устарела, она всё ещё является отличным помощником. Книга научит вас писать красивый и эффективный код.

JavaScript Design Patters — в книге рассказывается о том, как применять современные шаблоны к языку. Написано всё простым языком.

Test-Driven JavaScript Development — одна из лучших книг, обучающих тестированию кода JavaScript.

Путь к профессии

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

Человека нельзя назвать кузнецом своего дела, если он знает всё, но ничего не умеет. То же самое с программированием. Если вы не практикуетесь, вы ничего не получите. Так что мой совет – учитесь и практикуйтесь одновременно. Не стоит волноваться по поводу того, что ваш код не будет идеальным. Главное – практика. Создайте аккаунт на GitHub, пишите код ежедневно, сделайте это одним из пунктов распорядка дня. Когда вы создадите свой проект, поделитесь с сообществом и ждите отзывов. Обратная связь, особенно если это мнение аргументированно, дорогого стоит. В процессе работы над проектом, вы приобретёте навыки, которые помогут вам не только в программировании, но и в других делах.

Человека нельзя назвать кузнецом своего дела, если он знает всё, но ничего не умеет.

Если у вас есть шанс посетить мастер-класс, конференцию или любой другое мероприятие, посвящённое JavaScript, не упускайте его! Подобные встречи мотивируют. Вы познакомитесь с такими же, как и вы, сможете обменяться опытом, что пойдёт вам на пользу.

Не переставайте учиться

Теперь, когда вы обладаете солидным набором знаний и умений, время перейти к следующей проблеме – как оставаться на плаву. Поток информации бесконечен. Чтобы быть в курсе, я подписался на несколько изданий – JSK Daily, Frontend Buzz, JavaScript Weekly, JavaScript World, Hashnode Times. Это помогает мне узнавать про новые события, обновления. Это не занимает много времени. Я читаю новости после работы или во время перерывов. Наиболее интересные мысли и статьи я сохраняю в Trello или на GitHub. Если меня заинтересовала новая технология, я выделяю время для изучения.

Кроме того, я ежедневно просматриваю видеоуроки.

Как преодолеть разочарование

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

Если вы чувствуете, что пора сделать перерыв – сделайте его. Займитесь чем-нибудь более прикладным, занимайтесь спортом, отдохните с друзьями. Разнообразьте свою жизнь, а когда почувствуете, что отдохнули, возвращайтесь к работе. У вас появится заряд энергии и мотивации. У меня было несколько фаз, когда мне требовался отдых. После него я чувствовал себя лучше.

Что я изучил

Ниже я приведу несколько важных советов, которые пригодятся в процессе изучения.

Научитесь правильно искать

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

Научитесь задавать правильные вопросы и выбирать правильное время

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

Помогайте другим

Если вы что-то знаете, поделитесь с другими. Найдите сообщество программистов и помогайте другим. Это поможет вам не только ощутить удовлетворение, но и освежить знания. Помогать другим никогда не поздно.

Заключение

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

7 ошибок, из-за которых вы отстаете в изучении JavaScript

Перевод статьи
«7 Mistakes That Keep You Behind».

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

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

Но есть и хорошие новости. Учебный
процесс можно улучшить при помощи
правильных подходов. В этой статье мы
разберем семь ошибок, допускаемых
разработчиками при изучении JavaScript. Это
именно те ошибки, которые тормозят ваше
продвижение вперед.

1. Вы слишком торопитесь при
изучении концепций

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

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

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

Продвигайтесь вперед только когда
чувствуете, что текущая тема вам уже
совершенно понятна и легка.

2. Вы не владеете своим кодом

В последнее время люди становятся
очень зависимы от работы других людей.
Они копируют файлы, созданные авторами
учебных курсов или, например, используют
lodash-библиотеку буквально для всего.

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

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

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

3. Вы проводите слишком много
времени за обдумыванием и планированием

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

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

Но это лишь игры вашего разума.

Не увлекайтесь процессом сбора 80
руководств, 6 книг и коллекции из 50
закладок в браузере. Не пытайтесь
охватить все это одновременно, следуя
своему желанию почувствовать себя
королем веб-разработки.

Если вы изучаете JavaScript, учитесь на
практике. Просто начните писать
что-нибудь. Используйте то, что изучили
за прошлый час, и напишите маленький
пример кода чисто для себя. Это принесет
вам больше пользы, чем марафонское
чтение всех собранных вами материалов.

4. Вы перегружаете себя лишней
информацией

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

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

Могу посоветовать проводить за
написанием кода хотя бы 15 минут на каждый
час усвоения информации.

5. Вы сравниваете себя с более
опытными разработчиками

Когда вы сравниваете себя с другими,
вы не думаете о том, как они достигли
такого уровня, вы думаете лишь о самом
этом уровне.

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

Просто фокусируйтесь на том, что
изучаете, и по мере продвижения вперед
ваш уровень будет постоянно повышаться.
И тогда (довольно скоро) уже другие
новички будут думать о том, как вам
удалось достичь таких высот.

6. Изучение инструментов и
фреймворков, созданных поверх JavaScript

То есть, вам нужно изучить JavaScript, но
вместо этого вы сразу переходите к
изучению React/jQuery/Angular/Vue. Но что будет,
когда выйдет новый революционный
инструмент и вам придется переключиться
на него? Вы будете вынуждены обращаться
к кому-ни

Как выучить Java с нуля: советы новичкам

Есть
множество причин изучать Java
(самостоятельно или записавшись на
курсы
Java)
независимо от того, новичок вы в
программировании или специалист по
другому языку. Самые очевидные из них
связаны с тем, что Java
— язык универсальный и надёжный. Он
работает почти на любом устройстве, от
“умного” утюга и телефона до автомобиля
Tesla
и суперкомпьютера. У Java
— отличная обратная совместимость: это
значит, что поддерживать старый Java-код
относительно легко, как и переходить
на новые версии языка.

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

В
этой статье расскажем о том, как подойти
к изучению Java
с учетом особенностей этого языка и где
учиться на практике. 

А
теперь — подробнее: почему
Java?

Прежде,
чем обсудить подходы к изучению Java,
мы должны расставить все точки над i
в вопросе, зачем учить Java
в принципе.

Java
— отличный выбор для новичков,
ориентированных на карьеру. Он занимает
первые места в рейтингах популярности
(например, TIOBE)
и является одним из самых востребованных
языков программирования в мире. Только
вдумайтесь в это число: три миллиарда
устройств используют Java!
Это значит, что найти работу или стажировку
“джависту” достаточно легко.

Факты
свидетельствуют о том, что 90%
компаний из списка Fortune
500
используют Java
для создания приложений и серверных
систем.

Кроме
того, этот язык — выгоден с финансовой
точки зрения: скажем, в США типичный
Java-программист
зарабатывает 102
514 долларов в год.
Для стран постсоветского пространства
цифра будет несколько более скромной.
И тем не менее, зарплатная планка
Java-программистов
очень высока даже в
России
или Украине,
особенно по сравнению с оплатой труда
других специалистов массовых профессий.
 

Вы
можете использовать Java
для создания различных платформ и
приложений для любых устройств —
ноутбуков, компьютеров, игровых консолей,
автомобильных навигационных систем,
проигрывателей Blu-ray,
устройств медицинского мониторинга,
лотерейных терминалов, парковочных
счетчиков и так далее. Благодаря этой
универсальности варианты специализации
Java-разработчиков
стремятся к бесконечности.

У
Java
есть библиотеки почти на все случаи
программистской жизни. То есть этот
язык — отличный инструмент для решения
подавляющего большинства задач.

Особо
выделим приложения для Android.
Большинство из них также создаются на
Java,
что открывает возможности ещё и для
мобильной разработки во всём её
разнообразии. К слову, есть несколько
очень удачных курсов Java
для Android,
и в этой статье мы их упомянём.

Наконец,
не стоит сбрасывать со счетов мощнейшее
сообщество Java,
которое может оказать поддержку в
процессе обучения:

  • 2-е по величине сообщество StackOverflow
  • 4-е по величине сообщество Meetup (насчитывается более 1400 групп Java Meetup, общее количество участников которых превышает 580 000)
  • 2-й язык с наибольшим количеством тегов на GitHub (более 1,5 миллионов Java-проектов живут на GitHub)

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

Трудно
ли изучать
Java?

И
да, и нет. Поначалу вы столкнетесь с
простыми “азбучными” понятиями —
переменными, методами (функциями),
библиотеками. Однако не стоит обольщаться
и думать, что и дальше всё будет так же
просто. В Java
есть и более сложные и абстрактные вещи.
Например, новичку не так уж просто сразу
осознать объектно-ориентированный
стиль программирования, а многопоточность
и вовсе способна произвести когнитивный
диссонанс в неподготовленном мозгу. Но
на самом деле, если правильно подойти
к учёбе, освоение Java
упрощается на порядок. Тем более, с
какого-то момента всё станет проще уже
хотя бы потому, что вы обретёте прочный
фундамент.  

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

5
главных советов, как изучать
Java,
чтобы не было мучительно больно

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

1. Соблюдайте правильный баланс между теорией и практикой

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

Тем
не менее, огромное множество новичков
совершает  одну
и ту же ошибку: они пытаются с самых
первых шагов поглубже погрузиться в
теорию. Они читают книги и лекции по
Java,
смотрят видеоролики в надежде, что после
этого программы писать будет намного
проще. Но дело в том, что так не будет:
практическая деятельность по-настоящему
познаётся только на практике. Это всё
равно, что надеяться научиться плавать
или кататься на коньках, в основном
читая книги по плаванью и конькам.

Поэтому
совет номер один: создавайте базу знаний
за счёт теории постепенно, а концентрируйтесь
— на практических занятиях. Если всё
время учёбы — это 100%, то практике нужно
посвящать примерно 75-80% этого времени.

В
начале обучения не пытайтесь понять
всю подноготную создаваемых вами
программ сразу: почитайте немного, чтобы
знать синтаксис, а затем пишите код
снова и снова! Вы будете учиться по ходу
дела, и то, что вы отточили на практике,
вы поймёте гораздо глубже и быстрее.

Тем,
кто занимается без ментора, довольно
сложно соблюдать этот баланс. Начинающему
разработчику непонятно, откуда брать
задания, какие задания ему подходят, а
за какие следует браться позже. Кроме
того, кто проверит корректность кода
или поможет, если что-то не получается?

В
сети можно найти хорошие видеокурсы
или площадки с заданиями по Java.
Один из лучших курсов — JavaRush,
поскольку в нём соблюден указанный выше
баланс: он на 80% ориентирован на практику
и только на 20% — на теорию. В курсе Java
Core
рассматривается полностью (синтаксис
Java,
ООП, структуры, многопоточность и т.
Д.), но при этом вы не увязнете в теории,
а будете познавать её постепенно, прежде
всего решая множество упражнений.

После
того, как вы решите все 1200+ задач в
JavaRush,
у вас будет порядка 500 часов реального
опыта программирования.

2.
Создайте расписание учёбы и поставьте
чёткие цели

Скачки
от одного к другому крайне редко приносят
хороший результат в учёбе. Гораздо
эффективнее погрузиться в язык однажды
и уже не отвлекаться на другие. Представьте,
что вы будете изучать одновременно
испанский и итальянский языки. Скорее
всего, вы запутаетесь и в конечном итоге
будете пользоваться неким гибридом.

Итак,
вы хотите изучить Java.
Это — ваша самая первая и общая цель.
Теперь следует составить программу и
разбить вашу цель на более конкретные
“подцели”, чтобы сохранить импульс.
Работать над избранной учебной программой
лучше каждый день. Даже если вы потратите
на учёбу всего полчаса в день, если вы
будете каждый день писать код, это
закрепит привычку и станет частью вашей
жизни гораздо быстрее, чем если занятия
будут нерегулярными. И постарайтесь
себя убедить, что ваши занятия — это не
блажь и не развлечения. Они для вас —
обязательны.  

Чтобы
оставаться сосредоточенным при низкой
мотивации, напоминайте себе, почему вы
хотите изучать Java
в принципе. Хотите стать профессиональным
разработчиком и найти классную работу?
Возможно, мечтаете создать собственное
приложение? Определите свои цели и
сделайте из них “маячки”, а затем —
ориентируйтесь на них, как только
почувствуете потерю мотивации (а это
случается чаще, чем хотелось бы, особенно
при самостоятельном обучении).

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

В
курсе JavaRush
часть этой работы уже проделана за вас.
Там есть последовательная программа и
уйма задач с автопроверкой правильности
решений. А ещё он разбит на небольшие
модули, и вы будете чётко видеть прогресс.
Так что вам остаётся только задать
самому себе темп и — вперёд!

3.
Попробуйте игровой формат в обучении,
чтобы успешно учиться, сохраняя мотивацию

Давайте
посмотрим правде в глаза: успешных
самоучек в любой отрасли — не очень
много. Возможно, один на сотню найдётся.
Низкий процент объясняется не чьей-то
тупостью или безалаберностью. Чаще
всего вполне разумные люди, споткнувшись
о неудачи, теряют мотивацию, поскольку
не в состоянии оценить свой реальный
прогресс. А порой они попросту не
понимают, что их усилий было недостаточно
для преодоления той или иной трудности.

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

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

Вот
почему JavaRush
идеально подходит тем, у кого нет опыта
программирования: опыт в играх, хотя бы
небольшой, есть практически у всех, а в
этом курсе применена геймификация:

  • JavaRush
    проходится как видеоигра. Когда вы
    правильно решаете задачу, вы получаете
    «темную материю» (баллы, которые вам
    нужны, чтобы открыть следующую лекцию
    или следующий уровень).

  • Вы
    играете за антропоморфного робота по
    имени Амиго, и проходите курс от уровня
    к уровню, от квеста к квесту, собирая и
    тратя темную материю.

  • У
    курса есть сюжет, включающий космические
    путешествия, инопланетную жизнь и
    роботов.

  • JavaRush
    разделен на 40 уровней (4 квеста по 10
    уровней), каждый из которых содержит
    около 15-30 заданий, связанных с написанием
    кода, 10-20 лекций по Java,
    а также мотивационные статьи — они
    помогут вам двигаться вперед, даже
    когда становится сложно.

Пройдя
эту игру, вы научитесь
программировать!…Видеоигры, кстати,
написаны программистами, все до единой.
  

4.
Общайтесь с другими студентами и
Java-программистами.
Не стесняйтесь задавать вопросы!

Для
лучшего понимания того, как идёт учёба,
люди осмысленно или подсознательно
сравнивают себя с другими. Кроме того,
общаться с теми, кто учит то же, что и вы
— чрезвычайно полезно.

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

Когда
становится тяжело (а в любом адекватном
учебном процессе бывают такие моменты,
даже у гениев), заданные вовремя правильные
вопросы — это уже половина успешного
разрешения проблемы. Не бойтесь
спрашивать, даже если вам кажется, что
ваш вопрос глупый и вас засмеют.
Начинающими были АБСОЛЮТНО все и чего-то
не знать или не понимать — естественно.
Так что если кто и будет смеяться над
вами, это — проблема того, кто будет
смеяться, а не ваша.

Помимо
Stack
Overflow,
задавать вопросы по Java
можно в специальном разделе “Помощь”
на JavaRush.
В этом сообществе студенты просят
подсказки, помогают преодолеть препятствия
и делятся ответами и советами.

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

5.
Создайте собственное портфолио

Один
из первых советов начинающему разработчику,
который уже выучил азы языка — “создайте
собственный проект и дайте возможность
другим увидеть вашу работу”. Это отличный
совет. Подумайте над своим проектом.
Это не обязательно должно быть что-то
масштабное, но нечто такое, что позволит
оценить ваш уровень владения Java.
Например, небольшая игра или приложение
по тайм-менеджменту.

В
таком случае, когда вы начнёте рассылать
своё резюме на  вакансию
Java-разработчика
или заняться внештатными проектами, у
вас уже будет портфолио, которое вы
сможете продемонстрировать потенциальным
работодателям или заказчикам.

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

Заключение

Теперь
вы вооружены стратегиями и техниками,
которые помогут вам правильно изучить
Java.
Главные ключи к изучению Java
—  это
практика, последовательность шагов, но
самое позитивное — ничто вам не мешает
сделать своё путешествие увлекательным!

Начните
его с прохождения бесплатных уровней
на JavaRush 

Сколько нужно времени на изучение Java? Исследование JavaRush

Один из самых популярных вопросов среди тех, кто начинает учить Java — “За какое время можно научиться программировать?”

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

Но мы решили приблизиться к тому, чтобы определить оптимальный отрезок времени на обучение. Для этого в марте мы провели опрос среди наших студентов с минимум 30-м уровнем на JavaRush и спросили, как они изучали программирование на Java и сколько времени для этого понадобилось.

1. Портрет студента: стартовый уровень знаний, сфера деятельности

В Java-программирование можно прийти практически из любой сферы: это подтверждают результаты опроса. Для начала мы решили узнать, чем наши выпускники занимались до изучения Java.
Практически 40% пользователей, которые начали обучение на JavaRush, изучали программирование в ВУЗе. Вдвое меньше — знали по крайней мере один язык программирования (не Java), еще меньше — были знакомы с основами Java. Конечно, это хорошая основа для старта. Но не обязательная. Примерно треть студентов осваивали Java с чистого листа.
Среди студентов с техническим бэкграундом больше всего сисадминов, программистов 1С, веб-разработчиков, инженеров. Среди “свитчеров” разбег большой — от преподавателей до специалистов по продажам, маркетингу, экономистов, спортсменов.

Давайте посмотрим теперь, сколько времени в среднем может понадобиться на обучение и поиск работы Java-джуном.

2. Время на обучение и поиск работы

Минимум — 3 месяца, максимум — несколько лет уходит на изучение программирования на Java. Интересно, что даже те, кто в общей сложности потратил больше 2 лет (2,5, 3 или 4 года) отметили, что справились бы вдвое быстрее, если бы не “растягивали” обучение.
В среднем на поиск работы уходит от месяца до трех. Минимум — неделя. Максимум — год.

3. Планирование обучения

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

Мы спросили у выпускников JavaRush, сколько времени они выделяли на обучение, и узнали, что в среднем они занимались по 1-3 часа в день, часто совмещая обучение с основной работой.
При этом почти треть выпускников обучалась без перерывов, а остальные делали одну или несколько пауз на значительное время.
Само собой, чем больше времени уделять учебе и чем меньше «привалов» устраивать, тем больше шансов освоить Java-программирование и найти работу в течение 6-12 месяцев. А если очень постараться, то и в течение 3-6 месяцев.
Как ответил один из участников опроса: «С самого начала у меня был какой-то план, и я его не придерживался».

Нужно планировать свое обучение или нет? Большинство считает, что да. План обычно включает в себя список тем и инструментов, которые необходимо освоить, примерные сроки обучения и список ресурсов (онлайн-курсов, книг, другое), которые нужны для этих целей.

73% ответили, что у них был предварительный план. Из тех, кто планировал обучение, две трети выпускников обучались на нескольких ресурсах, почти треть — только на JavaRush.

4. Источники обучения

Что учить, как учить, а еще — где учить? В идеале, нужно комбинировать несколько источников. Ниже — список обучающих источников в порядке упоминаемости нашими выпускниками.
Учить программирование только по книгам — бессмысленно. Но совсем без них — тоже не получится 🙂 Они хорошо дополнят практику программирования.

Среди лучших книг для новичков студенты и выпускники JavaRush назвали:

  • Head First Java
  • Effective Java
  • Философия Java
  • Структуры данных и алгоритмы в Java
  • Чистый код
  • Java 8. Руководство для начинающих
  • Паттерны проектирования
  • Java. Библиотека профессионала

Мини-итог по планированию обучения

Чтобы обучение было эффективным, выпускники и опытные программисты рекомендуют:

  • проходить JavaRush
  • смотреть видеокурсы (Головач и другие)
  • читать туториалы (Tutorialspoint, Baeldung, Oracle)
  • проходить сертификацию Oracle (Associate, Professional — OCA, OCP)
  • практиковаться на Github
  • читать Stackoverflow, Хабр и другие ресурсы
  • проходить стажировку JavaRush, местных IT-компаний

Тем, кто только начинает обучение, будет кстати этот план: Как начать программировать

5. Рекомендации тем, кто ищет работу в сфере Java-программирования

Пожалуй, самая популярная фраза в советах от тех, кто уже закончил обучение и нашел работу — «не сдаваться». Легко ли учиться? Далеко не всегда. Но это точно стоит потраченных усилий 🙂

За сколько можно выучить php

Php За сколько реально выучить?

Гость

За сколько времени можно выучить php если сильно этого хотеть?
идти на курсы или дома книги, уроки и так далее…

Enyby

Начально — месяц.

PHP с нуля

Реально — год.

Yorie (Никита Саньков

Если есть опыт в программировании на других языках, то синтаксис языка и базовые вещи — за неделю. Если нет — 1-2 месяца. Чтобы чувствовать себя, как рыба в воде — 2-3 года. В 2-3 года я включаю не только непосредственное изучение самого языка, но также использование всех инструментов, которыми пользуются специалисты PHP, а также те компоненты, с которыми Вам в любом случае придется работать, раз уж Вы связались с веб-программированием: MySQL, Apache, возможно, настройка *nix-систем, а также nginx, знакомство с популярными CMF, понимание шаблонов проектирования (MVC, декораторы, обсерверы и пр.), опыт работы с CMS, и непосредственно, большой опыт в разработке и поддержке собственного веб-проекта — без этого далеко не уедешь.

Инфинити

Зависит только от того, насколько ты хорошо уловишь саму суть программирования. Грубо говоря, есть ли у тебя талант программировать.

Идти на курсы — пустая трата денег. Вся необходима инфа есть в инете

Гость

Нереально php выучить за неделю. Выучить синтаксис — да, уж очень он си-подобный, но не язык. Курсы, конечно, можно (только не лекции). А можно и дома, только нужно писать скрипты, как можно больше.

Epsiloncool (Epsilon S

PHP до конца выучить невозможно в принципе. Это не стишок, чтобы его рраз — и выучить. Речь может идти только о планомерном постепенном изучении языка. День за днём, месяц за месяцем ты будешь постигать всё новые и новые его стороны.

Хотя первый ололо-сайт с нуля ты можешь написать уже через месяц.

Курсы могут дать тебе первоначальный толчок и задать направление, в котором двигаться. Они тебя не научат владеть языком в совершенстве, ибо память так работает: пока ты сам своими руками не напишешь и через все ошибки сам не пройдёшь, ты этого не запомнишь.

Гость

За 5 месяев один знакомый овладел

  • За сколько можно выучить: PHP & Mysql, Javascript, Java, c++?
  • За сколько времени можно более-менее выучить PHP?
  • За сколько можно выучить HTML PHP MySQL JavaScript?
  • За сколько можно выучить 5 языков: HMTL, CSS, PHP, JavaScript, MySQL, если уделять этому 5 часов в день?
  • За сколько времени можно выучить HTML, CSS, JS, MySQL и PHP чтобы можно было фрилансить?

За сколько времени возможно выучить язык JavaScript? И что нужно…

Javascript не такой уж и сложный, мне он дался довольно легко, нежели Javajs в основном используется для веб-разработки или nodejsв первом случае желательно еще знать HTML и CSS

Выучить JavaScript — очень быстро. Научиться не наступать на грабли (а их в JS на каждом шагу) и создавать качественные программы — годы.

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

Если знаешь С, С++, то за неделю большую часть возможностей языка JavaScript освоишь за неделю-две.

Дальше возникает вопрос: где и зачем ты его собираешься использовать?
Думаю, что как большинство в браузере. Если так, то нужно разобраться, что такое DOM-документ и освоить основные функции работы с таким документом.

Наконец, нужно разобраться как устроена объектная модель JavaScript, что такое prototype и как им пользоваться. Поскольку объектная модель мало похожа на аналогичную модель в других языках, то потребуется больше времени.

Короче, за месяц если плотно заниматься JS, то можно стать гуру. Это далеко не финал, поскольку на JS написано множество полезных библиотек для Web-дизайна: jQuery, AngularJS и многие другие… Их лучше осваивать вооружившись литературой по мере возникновения практической необходимости.

Вот такой наполеонjвский план наступления на JavaScript )))

В Интернете много хороших книг, но читая книги программистом не станешь. Чтобы стать программистом, нужно много программировать.
JavaRush — это онлайн-курс обучения программированию на Java, на 80% состоящий из практики.
Именно то, что нужно чтобы стать Java-программистом.

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

javarush.ru/user/reference/f2095d07-1d68-4260-b58a-a3944736c628

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

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

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

Если есть опыт, то месяца 3-4
Лично я без опыта выучил за 5

JavaScript красивейший язык программирования. Аналогов по свободе мысли снятию шаблонов не встречал 🙂 Когда открываешь для себя всё новые и новые моменты полной свободы во всех местах, просто «обалдеваешь» это как океан возможностей. Всё течёт всё меняется, типы переменных плавают и подвергаются самым немыслимым метаморфозам. Например самое простое, если хотите сложить два числа в javascript вполне вероятно будет просто слипание, т. е. c = a+ b (при а например 2 а b 3) может получится 23 🙂 а так c = +a + +b будет 5 и т. д. Таких нюансов 10-ки, особенно касается операций сравнения переменных или объектов, это отдельный мир. Иногда чтобы один объект привести к другому и сравноить их приходится от одного объекта отнимать другой, и глядишь если результат == 0 тогда их числовое значение было одинаковым 🙂 🙂 🙂 а напрямую сравнить два объекта будет очень сложно, особенно имеющих вложенную структуру. Javascript отдельный мир магии программного кода, когда шаг за шагом познаёшь его хочется иногда кричать «Ба…» вот это да. Ничего подобного раньше не встречал. Не могу нарадоваться на JavaScript свобода и волшебство везде.

P.S. Использую js для автоматизации работы браузеров в различных сайтах, букмекерские конторы, парсеры, чекеры и т. д. Всю рутину роботы на Javascript хавают на ура, и сутками висят на сайте добывая нужные данные или вводя ставки. Код простой и эффективный, отказоустойчивость высокая, возможно для подобных задач ничего на данный момент лучше не придумано 🙂

Сколько времени нужно, чтобы изучить JavaScript?

Могу ли я выучить JavaScript за пару недель?

Сколько времени нужно, чтобы перейти на продвинутый уровень?

Если вы хотите стать фронтенд-разработчиком или просто немного поработать кодом, это могут быть два из первых вопросов, которые приходят вам в голову.

Как и многие другие темы в программировании, на эти вопросы нет однозначного правильного ответа. Однако JavaScript — относительно простой язык программирования.Итак, количество времени, необходимое для изучения JavaScript, напрямую связано с количеством времени, которое вы готовы потратить на его изучение.

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

Я разделил это руководство на следующие разделы:

  1. Введение в JavaScript и фреймворки
  2. Как начать изучение JavaScript
  3. Важность изучения ванильного JavaScript
  4. Заключение и заключительные слова

Итак, сколько времени нужно, чтобы изучить JavaScript? Давайте узнаем!

1. JavaScript и фреймворки

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

Фреймворки JavaScript

— это коллекции библиотек кода JavaScript, которые предоставляют предварительно написанный код JavaScript, готовый к использованию для стандартных функций и задач программирования.Они ускоряют процесс разработки и хорошо разделяют обязанности в коде. Существует множество фреймворков, включая Angular, React, Vue и MeteorJS. Если вы какое-то время баловались кодом, вероятно, слышали о них.

2. Начало работы с JavaScript

Чтобы начать изучение JavaScript или любого другого языка, важно сначала понять синтаксис языка. Узнайте, что такое:

  • Объявление переменной: Переменные JavaScript — это контейнеры для хранения значений данных.
  • Заявления: Операторы JavaScript — это «инструкции», которые «выполняются» веб-браузером.
  • Ключевые слова: Ключевые слова — это токены, которые имеют особое значение в JavaScript: break, case, catch, continue, debugger, default, delete, do, else, finally, for, function, if, in, instanceof, new, return, switch, this, throw, try, typeof, var, void, while и with.
  • Комментарии: Чтобы создать однострочный комментарий в JavaScript, вы помещаете две косые черты «//» перед кодом или текстом, который вы хотите игнорировать интерпретатором JavaScript.
  • Функции: Функции — один из основных строительных блоков в JavaScript. Функция — это процедура JavaScript — набор операторов, выполняющих задачу или вычисляющих значение.
  • Объекты: В JavaScript, как и во многих других языках программирования, объекты можно сравнивать с объектами в реальной жизни. Все значения JavaScript, кроме примитивов, являются объектами.

Когда вы ознакомитесь с ними, попробуйте что-нибудь построить! Напишите веб-страницу «Привет, мир» или создайте контактную форму для отправки основной информации.Оба эти упражнения помогут вам оценить общую картину и применить полученные навыки.

Попробуйте решить проблемы по темам, в которых вы хорошо разбираетесь. Если, например, вы хорошо разбираетесь в математике, создайте приложение-калькулятор. Если вы хорошо разбираетесь в маркетинге, создайте целевую страницу для лидогенерации. Основная цель — решение реальной проблемы.

3. Забудьте о фреймворках (пока!): Начните с ванильного JavaScript

Рамки важны, но…

Не пытайтесь изучить фреймворк.Не поймите меня неправильно, дело не в том, что вам не стоит их изучать — они творят чудеса для всех разработчиков! Однако ваше время будет лучше потратить на то, чтобы убедиться, что вы хорошо владеете HTML, CSS и JavaScript. Эти базовые языки веб-разработки являются строительными блоками любой инфраструктуры JS. Их изучение поможет вам узнать о фреймворках и использовать все те возможности, которые они предоставляют.

Многие люди, которые начинают изучать JavaScript в рамках фреймворка, не могут переключать передачи.Во многом это связано с тем, что все, что они знают о HTML, CSS и JavaScript, исходит из контекста конкретной платформы. Однако если вы начнете работать за пределами фреймворков, вы можете перейти к любому фреймворку и начать выяснять, как с ними работать, как только вы освоите JavaScript.

Когда приходит время обновлять, у тех, кто изучает JavaScript с помощью фреймворков, возникает больше проблем. JavaScript в рамках фреймворка часто обновляется, что может сделать все, что вы знаете об этом фреймворке, неактуальным.Angular настолько сильно изменился за последние несколько лет, что Angular 1.x практически не имеет ничего общего с Angular 6. Библиотеки и инструменты приходят и уходят, но ваши способности и навыки, которые вы развиваете, останутся.

Не теряйте время зря

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

Итак, я сделал свою первую покупку на Amazon: книгу под названием jQuery in Action . Эта книга научила меня всему, что касается мира jQuery, от выбора элемента из DOM до создания сложных вызовов AJAX для REST API. Я чувствовал себя ниндзя в искусстве программирования. Но знаете что? jQuery был заменен на HTML5 и ES2015, а современные браузеры поддерживают новый набор собственных API, которые вскоре сделают jQuery бесполезным.

Мораль этой истории такова: инвестируйте 80% своего времени в изучение таких основ, как чистый код, шаблоны проектирования, предметно-ориентированный дизайн и объектно-ориентированная архитектура. Как и фреймворки, технологии приходят и уходят, но эти основы останутся. То, что вы изучаете, будет переносимо между компаниями, командами и доменами, и ваши знания с меньшей вероятностью станут неактуальными.

А как насчет остальных 20% моего времени? Оставьте это для фреймворков, библиотек и инструментов. Будьте осторожны: чем дольше технология находится на рынке, тем безопаснее ее вложение.Не спешите осваивать новую технологию — мы не знаем, сколько ей лет. Пусть время покажет вам, в какие технологии стоит инвестировать. Время — ваш лучший советчик. Научитесь ждать.

4. Сколько времени нужно, чтобы изучить JavaScript? Заключительные слова

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

Постановка целей может быть мощным инструментом, который поможет вам продвинуться на пути к изучению JavaScript. Ставьте цели вокруг упражнений, таких как создание простой целевой страницы, которые помогут вам практиковаться и двигаться вперед. Это поможет вам не сбиться с пути и, поделившись с нужным человеком, поможет вам оставаться подотчетным.

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

Если вы хотите узнать больше о том, как стать фронтенд-разработчиком, ознакомьтесь с этими руководствами:

Сколько времени нужно, чтобы изучить JavaScript?

Вопрос, который хотят знать все начинающие веб-разработчики: сколько времени потребуется, чтобы изучить JavaScript? Один вопрос, который я регулярно задаю: могу ли я выучить JavaScript за неделю? В то время как вы можете изучить или JavaScript за неделю, переход на средний уровень, необходимый для работы начального уровня, займет около девяти месяцев.Многие люди обнаруживают, что они относительно легко могут освоить HTML и CSS, но обнаруживают, что им требуется больше времени для изучения JavaScript. А поскольку JavaScript является важным навыком для всех интерфейсных веб-разработчиков, важно хорошо изучить его и развить мышление, которое позволит вам справиться с разочарованием.

Эта оставшаяся часть этого сообщения была обновлена ​​в марте 2019 года, чтобы отразить важные изменения в библиотеках JavaScript, которые описаны ниже.

Сегодня я собираюсь рассказать о навыках, которые необходимо приобрести, чтобы стать младшим веб-разработчиком Front-End, и попытаться дать вам реалистичное представление о том, сколько времени потребуется для приобретения этих навыков.Это может занять у вас больше или меньше времени, в зависимости от уровня вашего опыта и от того, насколько вы стратегически подходите к обучению JavaScript.

Изучение JavaScript требует стратегического подхода

Чтобы стать фронтенд-разработчиком, вы обязательно должны изучить JavaScript. На изучение JavaScript у меня ушло больше времени, чем необходимо, потому что я сначала попытался изучить jQuery. jQuery — популярная библиотека JavaScript, и я подробно расскажу об этом ниже. Я слышал, что его легче изучать, чем JavaScript, поэтому решил начать с него.Это была моя первая ошибка. Когда я начал изучать jQuery, я уже немного изучил JavaScript, и в итоге я запутал синтаксис JavaScript и jQuery. Я мог бы сэкономить много времени и разочарований, если бы сначала изучил ванильный JavaScript, так что это то, что я рекомендую сейчас, если вы начинаете изучать JavaScript. Также важно отметить, что больше нет необходимости становиться экспертом по jQuery. Я расскажу об этом подробнее в шаге 2 ниже.

Существует большая путаница в отношении того, какие части JavaScript изучать в первую очередь, поэтому я обрисую путь.После того, как вы освоитесь с основными библиотеками JavaScript (шаг 2) и завершите один или два проекта с бэкэндом (шаг 3), у вас, вероятно, будет достаточно знаний, чтобы получить работу младшего Front-End веб-разработчика. Ваша первая цель — получить достаточно знаний и практиковаться там, где вам комфортно с промежуточным JavaScript. На этом этапе вы можете начать изучать библиотеки и фреймворки.

Шаг 1. Изучите ванильный JavaScript

Ванильный JavaScript — это код JavaScript, который не улучшается никакими библиотеками или фреймворками.Уровень сложности варьируется от самых основ языка до промежуточных и продвинутых концепций программирования, включая замыкания и прототипное наследование в объектно-ориентированном программировании. Чтобы устроиться на работу в качестве интерфейсного веб-разработчика, вы должны иметь хотя бы промежуточное знание этих концепций. Вам, конечно, не обязательно владеть функциональным программированием или понимать все аспекты цепочки прототипов, но закрытие и общие функции, такие как call, apply и bind, являются важными концепциями, которые вам нужно понять, прежде чем вы попадете на тротуар со своим резюме.

Ванильный JavaScript возрождается, теперь, когда совместимость между браузерами не является проблемой. Чтобы увидеть некоторые примеры Vanilla JavaScript, вы можете посетить этот сайт на Vanilla JS. Несмотря на то, что веб-сайт был создан для шутки, он может дать вам представление о языке JavaScript, если вы еще не знакомы с ним.

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

Шаг 2. Изучите важные библиотеки, такие как React

Прежде чем мы перейдем к изучению React.js, я собираюсь рассказать, стоит ли вам изучать jQuery. Это библиотека, включенная во многие старые курсы JavaScript, поэтому вам важно знать о ней и о том, почему она была изобретена, чтобы вы могли понять контекст, когда начинаете изучать учебные ресурсы.

Краткая боковая панель: стоит ли изучать jQuery?

jQuery — самая распространенная библиотека JavaScript; однако в более новых курсах, таких как The Complete Web Developer от Андрея Нэагои в 2019 году, jQuery не преподается. Причина в том, что jQuery больше не является необходимым инструментом, который веб-разработчики должны иметь в своем арсенале.Чтобы понять, почему, мы можем кратко изучить историю jQuery и почему он был создан.

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

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

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

Изучите React.js

React.js — это интерфейсная библиотека, которая позволяет создавать пользовательские интерфейсы. Если вы хотите работать интерфейсным веб-разработчиком, вам необходимо изучить эту библиотеку.

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

Когда вы будете готовы изучить React.js, у вас будет несколько отличных вариантов. Он является частью курса Андрея Нэагои «Полный веб-разработчик в 2019 году», который также охватывает HTML, CSS, JavaScript и node.js, о которых я расскажу ниже. Если вы уже знаете JavaScript и готовы изучить React.js, вы можете ознакомиться с полным руководством Максимилиана Шварцмюллера React — The Complete Guide.Он содержит колоссальные 40 часов инструкций по React.js, а также содержательный проект, который вы можете использовать в своем портфолио.

Шаг 3. Изучите другие подходящие интерфейсные среды

Прежде чем мы обсудим, какие фреймворки вам следует изучить, я хотел бы упомянуть важное различие между библиотеками и фреймворками. В то время как библиотеки позволяют вам выбирать функции и методы, которые вы хотите добавить в существующий код, у фреймворков есть собственная уникальная структура, в которую вы добавляете свой код.У фреймворков есть собственный синтаксис, который вам придется адаптировать, поэтому важно иметь твердое представление о языке JavaScript, прежде чем начинать экспериментировать с фреймворками (или библиотеками, если на то пошло!).

Итак, какие интерфейсные JavaScript-фреймворки вам следует изучить? Это во многом будет зависеть от того, какие проекты вы хотите реализовать и где вы хотите работать. Эти две вещи будут определять, какой фреймворк вы изучите в первую очередь. Ember.js, например, отлично подходит для веб-приложений с большим набором функций.Angualr.js, с другой стороны, идеален для сложных проектов и когда требуется стабильность. Это прочная структура, поддерживаемая большим сообществом разработчиков.

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

В настоящее время два самых популярных фреймворка — это Angular и Vue. Другие примеры фреймворков включают Ember, Backbone, Knockout и Meteor. Если у вас есть промежуточное понимание JavaScript, вы можете создать несколько проектов с новой структурой за один-три месяца, в зависимости от сложности вашего проекта.

Если вы не знаете, с чего начать, мой друг Сид написал потрясающий пост о другом курсе Максимилиана Шварцмюллера, который знакомит с популярными фреймворками JavaScript, чтобы вы могли определить, какие из них вы хотели бы изучить.

Шаг 4. Изучите внутреннюю веб-разработку

Backend веб-разработка включает изучение Node.js, Express.js и Mongo DB, которая представляет собой реляционную базу данных. Node.js перемещает JavaScript на серверную или внутреннюю сторону и позволяет нам запускать код JavaScript вне нашего браузера.В дополнение к node.js вы будете использовать npm, менеджер пакетов Node. Для Node.js существует огромное количество пакетов из-за большого количества разработчиков, которые внесли в него свой вклад. Хотя эти менеджеры пакетов упрощают программирование, иногда бывает трудно их отлаживать, поэтому лучше всего заняться внутренним JavaScript, когда у вас будет хотя бы год опыта. Прилежный программист может изучить основы Node.js за несколько недель с помощью The Complete Web Developer в 2019 году, в котором вы создадите проект JavaScript, для которого требуются интерфейс и серверная часть.

Я надеюсь, что эта статья прояснила порядок, в котором вы должны заниматься темами JavaScript. Напомню, что вы начнете с ванильного JavaScript. Когда вы достигнете среднего уровня владения языком JavaScript и поймете сложные темы, такие как подъем и закрытие, вы готовы перейти на React.js. Изучив React, вы можете начать работать с интерфейсными фреймворками и внутренним программированием на JavaScript. Вы можете начать подавать заявку на вакансии интерфейсной веб-разработки младшего уровня, если у вас будет средний уровень понимания языка JavaScript и вы пройдете комплексный курс начальной подготовки, такой как The Complete Web Developer в 2019 году.

Если у вас есть какие-либо вопросы о пути обучения JavaScript, который я описал, не стесняйтесь обращаться ко мне по адресу [email protected] или оставлять свои вопросы в комментариях. Я сделаю все возможное, чтобы помочь тебе.

Насколько сложно выучить JavaScript? Профи весят

Если вы думаете об обучении программированию и вам интересно, с каких именно языков кодирования начать, возможно, вы захотите поднять JavaScript (JS) в начало списка. JS — это язык сценариев, используемый для создания и управления динамическим содержанием веб-сайтов (например, анимированной графикой, интерактивными формами и прокруткой видео), и с 2014 года он считается самым популярным языком программирования на форуме разработчиков Stack Overflow.Эта популярность только возросла с широким использованием фреймворков JavaScript — коллекций библиотек кода JS, позволяющих разработчикам выполнять рутинные задачи, не переписывая каждый раз код, — и это мнение находит отклик на рынке вакансий, связанных с JavaScript. На момент написания этой статьи Indeed перечисляет более 28 000 вакансий разработчиков JavaScript, а Glassdoor указывает среднюю зарплату разработчиков JavaScript в размере 72 500 долларов в год.

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

Ожидайте потратить месяцы (а не годы) на изучение основ JavaScript

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

Время, необходимое для изучения JavaScript, во многом зависит от вашей методологии. Выбирайте между онлайн-курсами, очными занятиями или книгами в зависимости от того, что лучше всего подходит для вашей жизни.

Ариэль Кимбаровски, специалист по цифровому маркетингу в агентстве Codal, занимающемся дизайном пользовательского интерфейса и мобильных приложений, прошла курс онлайн-занятий и говорит, что ей потребовалось около года, чтобы овладеть языком. Кимбаровски училась в своем собственном темпе в качестве побочного проекта (с указанием временных рамок в год), что является одним из преимуществ онлайн-классов: изучение JS не было ее основным направлением, поэтому она могла и хотела не торопиться.Однако, если изучение JavaScript занимает более высокое место в вашем списке приоритетов, онлайн-курсы, такие как «Break into Tech Blueprint» от Skillcrush, предназначены для обучения JavaScript всего за три месяца (если вы рассчитываете на час в день).

Мара Белес Дин, инженер по обеспечению качества в компании MX, занимающейся разработкой программного обеспечения для финансовых данных, изучала JavaScript в составе группы коллег. Эта группа собиралась несколько раз в неделю в течение нескольких месяцев для работы над Eloquent JS (вводная книга по JavaScript).Дин говорит, что в группу входили как опытные JS-разработчики, так и новички, подчеркивая тот вид постоянного обучения и повышения квалификации, которое может происходить даже после того, как вы работаете на технической должности. Дин смогла продолжить свое участие в этой учебной группе, пройдя стажировку в команде разработчиков внешнего интерфейса своей компании, и надеется перейти на роль младшего интерфейсного инженера.

Итак, легко ли выучить JavaScript?

Если время для быстрого освоения основ JavaScript — это управляемый вопрос месяцев, значит ли это, что это легко? Кимбаровски говорит, что с ее точки зрения JS определенно не самый сложный язык программирования, но она также советует помнить, что все сталкиваются с разными препятствиями на пути к обучению.

По словам Кимбаровски, при изучении JavaScript (независимо от ваших собственных потребностей или стиля обучения) необходимо иметь в виду одну важную вещь — не поддаваться искушению пройти слишком быстро и быстро изучить основы. Для Кимбаровски ее собственные проблемы с изучением JS были вызваны тем, что слишком быстро переходили к новым концепциям и забывали более простые вещи, которым она уже научилась. «JavaScript — это язык, который строится сам на себе», — говорит Кимбаровски. «Это значительно усложняет написание и понимание более сложного кода JavaScript, если у вас нет основательных знаний по основам.”

Хорошая новость: имеется множество ресурсов, которые помогут вам оставаться в курсе изменений и справиться с любыми проблемами JavaScript, с которыми вы можете столкнуться, хотя для Дина это было проблемой само по себе. Дин говорит, что поле ресурсов JavaScript настолько заполнено, что фактически напугало ее, когда она пыталась начать работу. Оглядываясь назад, Дин рекомендует новым изучающим JavaScript просто сначала выбрать один ресурс, зафиксировать его и двигаться дальше. Некоторые из этих ресурсов включают участие в форумах разработчиков, таких как Stack Overflow, Codepen и Github, использование онлайн-руководств с таких сайтов, как Codeacademy и Coursera, или участие в платных онлайн-курсах под руководством инструктора из школ программирования, таких как Skillcrush.Дин также говорит — когда дело доходит до конкретных проблем, связанных с концепцией — быть настойчивым и продолжать работать, несмотря на любое разочарование или замешательство, которые могут возникнуть. «Программирование становится проще с практикой, независимо от того, какой язык вы изучаете, — говорит Дин. «Чем больше вы это делаете, тем лучше у вас получается».

Следующий шаг: фреймворки JavaScript

Частью роста JavaScript как ведущего языка программирования среди веб-разработчиков является рост фреймворков JavaScript. В общих чертах, JS Frameworks — это коллекции предварительно написанного кода JavaScript, который можно использовать для выполнения базовых и повторяющихся функций разработки вместо кодирования каждой из этих функций самостоятельно каждый раз, когда они появляются.Предоставляя кодерам JavaScript каркас для работы, они могут тратить больше времени и энергии на сложные части веб-сайта (вместо того, чтобы увязнуть в создании основных деталей с нуля). Но с таким большим количеством заранее написанного кода, доступного через фреймворки, означает ли это, что начинающие разработчики могут обойтись без изучения JavaScript в целом?

Кимбаровски считает, что понимание JavaScript как языка до того, как приступить к работе с JS-фреймворком, чрезвычайно важно. По словам Кимбаровски, без более высокого уровня представления JavaScript вы не поймете, как работает JS-фреймворк, а это означает, что в конечном итоге вы будете ограничены в том, для чего вы можете его использовать.Однако Кимбаровски советует также иметь в виду, что это работает в обоих направлениях: понимание JavaScript как языка не означает, что вам не нужно тратить некоторое время на ознакомление с тем, как работают определенные JS-фреймворки. «В конце концов, обучение использованию фреймворков похоже на изучение множества различных языковых расширений», — говорит Кимбаровски. «К счастью, существует множество документации и поддержки популярных JS-фреймворков. И — если вы понимаете концепции JavaScript — это действительно значительно упрощает исследование этих фреймворков.”

Вывод? Изучение JavaScript не обязательно будет самым простым делом, которое вы делали в своей жизни, но это будет далеко не самым сложным. Настойчивая практика и работа в течение нескольких месяцев должны дать вам возможность освоить основы — и если вы столкнетесь с какими-либо препятствиями на этом пути, вам в помощь придет множество документации и поддержка сообщества.

Изучение JavaScript — с чего начать и что делать, если вы застряли?

15 ноября 2017 г.

Вы пытались изучить тему / структуру, связанную с JavaScript, и обнаружили, что почти ничего не понимаете?

Есть простая причина, по которой вы не понимаете, что изучаете, — вы пропустили шаги.Вы пытались изучить что-то продвинутое, не имея фундаментальных оснований для поддержки.

То, что вы пытаетесь сделать, изучая слишком продвинутые вещи, похоже на попытку управлять F1 без водительских прав. Представляете, как сильно вы разобьетесь?

Так почему же вы заставляете себя изучать продвинутые JavaScript-фреймворки, такие как React, без предварительного изучения основополагающих тем?

Как изучить JavaScript

Чтобы изучить JavaScript, вам нужно знать три вещи:

1.Где ты по поводу JavaScript?

Вы полный новичок в JavaScript? Вы умеете только копировать и вставлять код? Или вам удобно писать компоненты JavaScript с нуля?

От того, где вы находитесь, зависит, какой «уровень» материала вы пытаетесь изучить. Если вы узнаете что-то слишком простое, вам станет скучно. Если вы узнаете что-то слишком сложное, вы будете поражены.

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

Это подводит нас к следующему:

2. Куда вы хотите попасть?

Люди изучают JavaScript по разным причинам. Вы пытаетесь сделать свой сайт более интерактивным? Если да, то то, что вам нужно узнать, полностью отличается от того, что вам нужно знать другому человеку, пытающемуся разработать веб-приложение.

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

Вы не можете использовать абстрактную цель вроде «научись достаточно, чтобы получить работу» . Если вы воспользуетесь этим в качестве цели, вы потеряетесь, потому что все нанимают по-разному. Не саботируйте себя, используя чужие цели. К тому же, если вы хотите, чтобы вас наняли, вас могут нанять с меньшими навыками, чем вам нужно.

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

3. Какой самый короткий путь между этими двумя точками?

Образовательная карта, которую вы создали, будет состоять из извилистых тропинок. Вы не будете знать, какие извилистые пути вы создали. Хуже того, вы не узнаете, есть ли какие-нибудь скрытые прямые пути, которые приведут вас от того места, где вы находитесь, туда, где вы хотите быть еще быстрее.

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

Здесь наставник может прийти и помочь. Наставник прошел путь, по которому вы пытаетесь идти. Он знает местность лучше вас. Если у вас есть наставник, посоветуйтесь с ним. Спросите их, как добраться туда, где вы хотите быть.

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

Для JavaScript вот самый простой путь, который я знаю. Вы можете использовать это, чтобы направлять вас.

Четыре этапа изучения JavaScript

Изучение JavaScript похоже на взросление. Есть разные фазы роста. Вы можете просмотреть его в следующих четырех фазах:

  1. Фаза младенца
  2. Детская фаза
  3. Подростковая фаза
  4. Взрослая фаза

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

Фаза младенца

Если вы только начинаете работать с JavaScript, значит, вы находитесь в фазе младенца.Вы ничего не понимаете в JavaScript. Синтаксис выглядит чужим.

На этом этапе вам следует сосредоточиться на том, чтобы тщательно изучить синтаксис JavaScript , чтобы вы знали, о чем говорят другие, когда говорят такие вещи, как объекты, массивы, функции и т. Д.

Детская фаза

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

Вам часто нужна помощь.Возможно, вы сможете скопировать-вставить и изменить что-то после нескольких часов поиска в Google, но вы все еще не уверены в своих навыках JavaScript. Вы не знаете, как работает DOM. Вы не умеете создавать вещи с нуля.

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

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

Подростковая фаза

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

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

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

Здесь вы также захотите начать изучение объектно-ориентированного программирования (ООП) и функционального программирования (ФП). Вы также хотели бы начать изучать запросы к API из таких мест, как Github и Twitter.

Взрослая фаза

Наконец, во взрослой фазе вы знаете достаточно JavaScript, чтобы быть опасным.Вы можете построить практически все, что захотите. Вы уверены в своем коде. Чисто. Вы знаете лучшие практики и использовали их все. Пришло время покинуть гнездо и поискать что-то новое, что-то родственное.

Здесь у вас есть несколько вариантов:

  1. Вы можете изучить фреймворк внешнего интерфейса (например, Angular, Vue или React).
  2. Вы можете изучить Node для создания серверной части.
  3. Вы можете еще глубже погрузиться в JavaScript.

Выберите здесь любой желаемый вариант.Что вы выберете, зависит от того, куда вы хотите добраться. (Помните, что ваша мотивация является решающим фактором. Не позволяйте никому решать за вас).

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

Если вы выберете изучение Node, вы начнете свой путь к полнофункциональному разработчику. Здесь вы должны узнать о базах данных и конфигурации сервера одновременно.

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

Как вы прорабатываете каждый этап?

Отличный вопрос.

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

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

Это план, которого я хотел, когда начал изучать JavaScript. Если бы он у меня был, я бы выучил JavaScript намного быстрее, чем я.

Почему я создал дорожную карту JavaScript?

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

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

Изучение JavaScript

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

Я называю это изучением JavaScript.

В разделе «Изучение JavaScript» я покажу вам все, что вам нужно знать, шаг за шагом, начиная от абсолютных основ до JavaScript и заканчивая созданием реальных компонентов с нуля.

Если вам понравилась эта статья и вы хотели бы получить больше практических занятий и пошаговых уроков, вам понравится Learn JavaScript.

Я уже потратил около

10 веб-сайтов для изучения JavaScript для начинающих

Первоначально опубликовано Джавином Полом 23 мая 2019 г. javarevisited.blogspot.com и http://java67.com

10 веб-сайтов для углубленного изучения JavaScript

Фотография Пола Эш-Лорана на Unsplash

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

Но если вы интересуетесь прекрасным миром веб-разработки и хотите изучить JavaScript, существует множество веб-сайтов, на которых вы можете изучить JavaScript онлайн БЕСПЛАТНО .

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

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

Если вы думаете, зачем мне изучать JavaScript? потому что обычно мне приходится работать с веб-приложением на основе Java, которое использует сервлет и JSP для сценариев на стороне сервера, но мы всегда используем JavaScript и jQuery для сценариев на стороне клиента.

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

10 отличных веб-сайтов для изучения JavaScript в Интернете

Вот мой список из шести веб-сайтов, на которых можно БЕСПЛАТНО изучить JavaScript в Интернете. Он включает в себя интерактивные сайты, официальные ресурсы, хорошие книги и другие ресурсы.

1. Codecademy

Одним словом, это хороший веб-сайт для изучения многих технологий в Интернете, но, вероятно, лучший веб-сайт для онлайн-изучения JavaScript.

Несмотря на то, что в настоящее время CodeAcademy предлагает Java, Git, командную строку UNIX и несколько других курсов, она сделала себе имя благодаря интерактивному курсу JavaScript, который позволяет изучать онлайн в удобном для вас темпе.

Вы можете оценить популярность этого курса, посмотрев на количество зачисленных студентов, в настоящее время 5M + , что является очень высоким показателем для любого БЕСПЛАТНОГО онлайн-курса.

Короче говоря, Code Academy — один из лучших веб-сайтов для изучения JavaScript в Интернете, и вы должны воспользоваться этим.

2. Udemy

Одно из лучших мест для онлайн-обучения. вы получите онлайн-курсы по всем новейшим технологиям и языкам программирования, таким как Java, Spring, структура данных и алгоритмы, Selenium, REST и т. д. Он предоставляет как бесплатные, так и платные ресурсы.

Вот несколько полезных бесплатных курсов для изучения некоторых интересных технологий:

  1. Полный курс JavaScript 2019: создание реальных проектов! ( ссылка )
  2. Bootcamp веб-разработчика ( ссылка )
  3. JavaScript Bootcamp — создание реальных приложений ( ссылка )
  4. Javascript Essentials (БЕСПЛАТНО) ( ссылка )

Платные ресурсы также очень дешевы, и их можно приобрести всего за 9 долларов.99 во время их флэш-распродажи, что случается довольно часто. Здесь полно великих учителей, таких как Colt_Steele, Rob Percival, Stephen Grider, Josh Portilla, John Purcell и т. Д.

3. Coursera

Это еще один замечательный веб-сайт, на котором можно учиться онлайн. Он основан профессорами Стэнфордского университета Эндрю Нг и Дафной Коллер и предлагает курсы, специализации и онлайн-степени.

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

Предлагает как бесплатные, так и платные онлайн-курсы и специализации. Вот некоторые из моих любимых бесплатных курсов программирования от Coursera:

  1. Основы программирования с помощью JavaScript, HTML и CSS ( ссылка )
  2. HTML, CSS и Javascript для веб-разработчиков ( ссылка )
  3. Интерактивность с помощью JavaScript ( ссылка )

Coursera также предоставляет вам сертификацию, которую вы можете продемонстрировать в своем профиле Linkedin, но за нее нужно будет заплатить.

4. Pluralsight

Один из лучших веб-сайтов для изучения любых технологий, таких навыков, как веб-разработка, мобильная разработка и язык программирования, например Java, фреймворка веб-разработки, такого как Angular, React, Spring Framework, Hibernate и т. Д.

Сайт также имеет множество полезных курсов для изучения JavaScript с точки зрения новичков, например:

  1. Основы JavaScript Лиам МакЛеннан
  2. JavaScript с нуля Джесси Либерти
  3. Основы программирования с помощью JavaScript Кайл Симпсон

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

5. freecodecamp.org

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

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

Основанный Куинси Ларсоном, это действительно отличное место для начала вашего пути к программированию.У них даже есть большая группа в Facebook (freecodecampearth), где вы можете задавать вопросы и делиться своим опытом обучения, а их публикация на Medium freeCodeCamp является крупнейшей публикацией Medium для статей по программированию.

6. Code Combat

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

Курсы были специально протестированы, чтобы преуспеть в классе, даже учителями, практически не имеющими опыта программирования. Здесь есть несколько курсов по веб-разработке, чтобы изучить основы JavaScript.

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

7. Школа кодов

Это еще один сайт, который мне очень нравится. Их руководство по jQuery действительно великолепно, но курс JavaScript также не отстает и дает вам реальный шанс изучить JavaScript онлайн БЕСПЛАТНО в удобном для вас темпе.

Подобно Codecademy, CodeSchool также предлагает интерактивные учебные пособия, но они более интересны, поскольку вы получаете оценки, значки и перекрестные уровни.

Это еще раз один из лучших ресурсов для изучения JavaScript в Интернете. Это интерактивно, интересно и в то же время нетривиально.

8. Изучение Интернета — Сеть разработчиков Mozilla

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

В отличие от CodeAcademy и CodeSchool, это не интерактивно, но вы найдете подробную информацию. Mozilla также является официальным источником любой информации о JavaScript.

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

10. Изучите JavaScript в Интернете — CodeMentor

Еще один замечательный сайт, который предоставляет интерактивные учебники по JavaScript. Этот веб-сайт предоставляет 4-недельный курс для изучения JavaScript, по сути, для освоения JavaScript, как утверждается в курсе.Вы узнаете не только об основном JavaScript, но и о других известных библиотеках JavaScript и связанных с ними концепциях, таких как ajax, json, jQuery, angular js и других.

Вот и все об этих лучших веб-сайтах для изучения JavaScript в Интернете . Если вы серьезно относитесь к изучению JavaScript, вы должны не просто расслабиться и расслабиться, но и начать разработку какого-нибудь реального проекта, начать использовать популярные библиотеки JavaScript, такие как jQuery, Angular, React и Node JS, чтобы понять, что отрасль ожидает от разработчик JavaScript.

Если вам нравится читать книги больше, чем веб-сайты, тогда вы также начнете с чтения Head First JavaScript , одной из лучших книг для изучения JavaScript с нуля.

Head First JavaScript ,

Если вы думаете, что есть еще один веб-сайт, который является отличным ресурсом для изучения JavaScript в Интернете и БЕСПЛАТНО, предложите его в разделе комментариев, я буду рад включить его в этот список.

Еще Интернет-ресурсы для изучения JavaScript и jQuery

10 вещей, которым нужно научиться на пути к тому, чтобы стать мастером JavaScript | автор: Лукас Гисдер-Дубе

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

1. Поток управления

Вероятно, самая основная тема в списке. Один из самых важных, может быть, самый важный. Если вы не знаете, как продолжить работу со своим кодом, вам придется нелегко. Знание всех тонкостей основного потока управления — это определенно , необходимо .

  • если еще — Если вы этого не знаете, как вы писали код раньше?
  • switch — это в основном , если еще более красноречиво, используйте его, как только у вас будет несколько разных случаев.
  • для — Не повторяйтесь, это для чего нужны петли. Кроме обычного для -loop `for of` и for in очень кстати. Большим преимуществом для циклов является то, что они блокируют, поэтому вы можете использовать в них async await .
  • Расширенные условные операторы. Использование тернарных и логических операторов может значительно облегчить вашу жизнь, особенно когда вы пытаетесь делать что-то встроенным, а это означает, что вы не хотите сохранять значения, чтобы использовать их позже.Пример:
 // ternaryconsole.log (new Date (). GetHours () <12? 'Доброе утро!': 'Время для сиесты') 
// логические операторыconst isJsMaster = prompt ('Вы мастер JavaScript ? ') ===' true '
console.log (isJsMaster &&' proficient coder ')

2. Обработка ошибок

У меня это заняло некоторое время. Неважно, работаете ли вы над внешним интерфейсом или с серверной частью, первый год или около того, вы, вероятно, по умолчанию выберете console.log или, возможно, консоль .ошибка для «обработки» ошибок. Чтобы писать хорошие приложения, вы определенно должны это изменить и заменить ленивые журналы на хорошо обработанные ошибки. Возможно, вы захотите узнать, как создать свой собственный конструктор ошибок и как правильно их отловить, а также показать пользователю, в чем заключается настоящая проблема.

ОБНОВЛЕНИЕ: ознакомьтесь со статьей о том, как изящно обрабатывать ошибки!

3. Модели данных

Подобно непрерывному перемещению по приложению, вы должны решить, где сгруппировать определенные блоки информации и где хранить их отдельно.Это относится не только к построению моделей базы данных, но также к параметрам функций и объектам или переменным. Пример:

 const calcShape = (ширина, высота, глубина, цвет, угол) => {...} const calcShape = ({ширина, высота, глубина, цвет, угол}) => {...} 

4. Асинхронность

Это очень важный аспект JavaScript. Либо вы извлекаете данные из бэкэнда, либо обрабатываете запросы асинхронно в самом бэкэнде. Практически во всех случаях использования вы столкнетесь с асинхронностью и ее недостатками.Если вы не знаете, что это такое, вы, вероятно, получите странную ошибку, которую попытаетесь исправить в течение пары часов. Если вы знаете, что это такое, но на самом деле не знаете, что с этим делать, вы попадете в ад обратных вызовов. Лучшим подходом является использование обещаний и / или async await в ваших приложениях.

5. Манипуляции с DOM

Это интересная тема. Обычно это как разработчик несколько упускается из виду в сегодняшней жизни. Возможно, вы изучили jQuery и никогда не чувствовали необходимости овладевать некоторыми собственными навыками манипулирования DOM, возможно, вы просто используете интерфейсную среду, где редко возникает необходимость в пользовательских манипуляциях с DOM.Однако я думаю, что это важная часть понимания JavaScript, по крайней мере, во фронтенде. Знание того, как работает DOM и как получить доступ к элементам, дает вам глубокое понимание того, как работают веб-сайты. Кроме того, будет точкой , где вам нужно будет выполнить некоторые пользовательские манипуляции с DOM, даже когда вы используете современные интерфейсы, и вы определенно не хотите помещать jQuery в свой пакет .json только для доступа к элементу.

Фото LinkedIn Sales Navigator на Unsplash

6.Node.js / Express

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

7. Функциональный подход

Постоянно ведутся споры о функциональном и функциональном подходе.объектно-ориентированное программирование. Вероятно, вы сможете добиться того же с помощью обоих подходов. В JavaScript это еще проще, вам доступны оба подхода. Такие библиотеки, как lodash, предоставляют вам действительно хороший набор инструментов для создания приложений с функциональным подходом. В настоящее время даже нет необходимости использовать внешние библиотеки. В официальной спецификации JavaScript реализовано множество наиболее важных функций. Вы определенно должны знать, как использовать map `reduce` filter ` forEach` и `find`.

8. Объектно-ориентированный подход

Подобно функциональному подходу, вам также необходимо познакомиться с объектно-ориентированным JavaScript, если вы хотите его освоить. Я долгое время игнорировал эту часть в своей карьере и просто работал над обходным путем, но иногда определенно лучше использовать объекты / классы и экземпляры для реализации определенных функций. Классы широко используются в React, MobX или пользовательских конструкторах.

9. Frontend Framework

Большая тройка — это React.js, Angular и Vue.js. Если вы сейчас ищете работу, у вас почти всегда будет одна из тех, которые указаны в качестве обязательного условия. Даже если они меняются довольно быстро, важно понимать их общую концепцию, чтобы понимать, как работают приложения. Кроме того, так проще писать приложения. Если вы еще не решили, на какой поезд хотите сесть, я предлагаю React.js. Я работаю с ним последние пару лет и не пожалел о своем решении.

10. Объединение / транспиляция

К сожалению, это большая часть веб-разработки.С одной стороны, я не должен сказать, что это плохо, потому что это здорово — иметь возможность писать код со всеми новейшими функциями. С другой стороны, причина, по которой я говорю это, заключается в том, что мы всегда должны помнить о том, что существуют старые браузеры, которые могут не поддерживать эти функции, поэтому мы должны преобразовать наш код во что-то еще, что понимают старые браузеры. Если вы работаете с node.js, у вас, вероятно, будет меньше возможностей для транспиляции кода. Де-факто стандартом транспиляции является babel.js, так что ознакомьтесь с ним. Что касается объединения кода и связывания всего вместе, у вас есть несколько вариантов. Webpack долгое время был доминирующим игроком. Некоторое время назад пакет parcel появился из ниоткуда и теперь является моим предпочтительным решением, поскольку он настолько производительный и простой в настройке, хотя и не идеальный.

БОНУС: регулярные выражения

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

Обновление: тестирование

Как отметил Пол Камма, тестирование — действительно важная часть разработки программного обеспечения, JavaScript не исключение. При написании кода вы (надеюсь) тестируете его, прежде чем запускать функцию, даже если это может быть ручная работа. Лучшим подходом является использование автоматических тестов, различные типы тестов — это модульное тестирование, сквозное тестирование, нагрузочное тестирование, тесты безопасности или внешние тесты (например, установлен ли компонент или нет). Существует множество различных тестовых сред, ферментов, жасмина, мокко, чая и т. Д.Моим любимым решением на данный момент является ava.js, так что попробуйте его, если вы до сих пор не работали с автоматическими тестами.