Сайт о телевидении

Сайт о телевидении

» » Архив рубрики: Книги по JavaScript. Самоучитель JavaScript - Дунаев В

Архив рубрики: Книги по JavaScript. Самоучитель JavaScript - Дунаев В

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

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

Почему JavaScript?

Стоит отметить открытость языка - компании, обычно соперничающие друг с другом, сотрудничают с целью развития JavaScript. Язык очень гибок и подойдёт сторонникам как объектно-ориентированного, так и функционального подхода. Огромное количество библиотек и фреймворков позволяет с лёгкостью решать любые типы задач, а серверная платформа Node.js даёт возможность использовать язык не только в браузере, но и в консоли. Вы даже можете писать настольные и мобильные приложения: первые - при помощи фреймворка Electron, а вторые - на NativeScript или React Native.

Основы

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

  • объектно-ориентированный JS - конструкторы и фабрики, наследование;
  • функциональный JS - функции высшего порядка, замыкания, рекурсия;
  • спецификации тестов Jasmine;
  • основы HTML, CSS и jQuery.

Git

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

  • создание и перемещение файлов в каталогах;
  • инициализация и коммиты в Git;
  • настройка репозиториев в GitHub.

Алгоритмы и структуры данных

Затем стоит изучить алгоритмы (в частности, понятие сложности алгоритмов), а также базовые структуры данных: связные списки, очереди, стеки, двоичные деревья поиска и хэш-таблицы. В этом вам поможет .

Бэкенд

Node.js

10 лет назад JavaScript можно было использовать только для фронтенд-разработки. Теперь благодаря Node.js одним «фронтом» дело не ограничивается. Node - это просто среда для выполнения JS-кода на стороне сервера, поэтому вам не придётся изучать новый синтаксис, но понадобится импортировать и экспортировать файлы, разбивать код на модули и использовать менеджер пакетов npm.

Серверы, HTTP, Express.js

После изучения Node стоит продолжить знакомство с бэкенд-разработкой и разобраться в серверах и маршрутизации. Можно начать с портов и протоколов с акцентом на HTTP, а потом заняться Express - Node-библиотекой для обработки запросов.

Асинхронный JavaScript

Базы данных, схемы, модели и ORM

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

Фронтенд

HTML и CSS

HTML и CSS - это основа основ для любого веб-разработчика. Вам не обязательно знать их в совершенстве, но разбираться в них вы должны. Также можно изучить какую-нибудь популярную библиотеку (например, Bootstrap) и CSS-препроцессор вроде Sass - он поможет сделать CSS похожим на обычный код. Для упрощения работы с HTML можно выбрать один из популярных шаблонизаторов, например, pug.

jQuery и манипуляция DOM

Создав внешний облик страницы при помощи HTML и CSS, вы будете использовать и библиотеку jQuery для управления DOM. Многие считают, что jQuery бесполезна и её скоро заменят Angular и React, но она безумно популярна, и поэтому её стоит знать. Кроме того, однажды вы попадёте в ситуацию, когда забивать гвозди React-микроскопом вам будет неудобно, и тогда на помощь вам придёт лёгкая jQuery.

Инструменты разработчика Chrome

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

AJAX

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

Продвинутые темы

Разработка через тестирование

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

Веб-сокеты

Этой теме стоит уделить особое внимание, поскольку очень полезны. Протокол WebSocket, в отличие от HTTP, позволяет работать с двунаправленным потоком данных, что делает эту технологию уникальной. Самой распространённой реализацией является библиотека socket.io - разобраться с ней и применить полученные навыки на практике поможет по созданию многопользовательской браузерной игры.

ES6, Babel, Webpack

Сейчас основным стандартом является ES6 (ES2015), но уже принят ES2016, а ES2017 находится в разработке, поэтому нужно всегда быть в курсе обновлений и использовать их. Проблемы совместимости решаются всего парой инструментов:

  • Babel - компилирует ES6-код (скоро появится поддержка ES2016) в ES5, который поддерживается всеми браузерами. Он даже умеет компилировать JSX/React-компоненты, что делает его незаменимым для любого веб-разработчика;
  • Webpack - собирает все ваши исходные файлы (картинки, шрифты, таблицы стилей, JS-файлы и т.д.) в единый граф зависимостей. Он не пригодится при создании маленьких приложений, но при работе с React его помощь неоценима.

React и Redux

React - библиотека для создания пользовательских интерфейсов. Она была создана компанией Facebook в 2013 году и достаточно быстро стала популярной среди разработчиков. Вам стоит прочитать , а затем разобрать , чтобы понять, как работает React и для чего он нужен. React пригодится не только для фронтенд-разработки: Facebook выпустила варианты фреймворка для мобильной (React Native) и VR-разработки (React VR).

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

Аутентификация, сессии, cookies

Вам также стоит разобраться, как приложения взаимодействуют с пользователями, обрабатывают вход в учётную запись и выход из неё, выдают привилегии. Для отслеживания личности пользователя в течение сессии используются cookies - небольшие текстовые файлы, передаваемые сервером браузеру в ответе на HTTP-запрос. А для обеспечения связи базы данных и страничек авторизации можно использовать библиотеку express-session.

Веб-безопасность

И, наконец, стоит обратить внимание на безопасность. Важно изучить как методы атак, так и способы защиты от них.

Название : Самоучитель JavaScript.

Эта книга предназначена для самостоятельного освоения программирования на языке JavaScript. Кроме общего руководства, она содержит множество примеров и текстов готовых к использованию программ. Рассматриваются вопросы создания сценариев для веб-сайтов, а также сценариев, выполняемых Windows Scripting Host. В приложениях приводится справочная информация по JavaScript и HTML. Книга адресована как новичкам, так и тем, кто уже имеет некоторый опыт в веб-дизайне и программировании. Во втором издании книги исправлены замеченные опечатки и неточности.

Типы данных
Переменные и оператор присвоения
Имена переменных
Создание переменных
Область действия переменных
Операторы
Комментарии
Арифметические операторы
Дополнительные операторы присвоения
Операторы сравнения
Логические операторы
Операторы условного перехода
Операторы цикла
Выражения с операторами

Функции
Встроенные функции
Пользовательские функции
Выражения с функциями
Встроенные объекты
Объект String (Строка)
Объект Array (Массив)
Объект Number (Число)
Объект Math (Математика)
Объект Date (Дата)
Объект Boolean (Логический)
Объект Function (Функция)
Объект Object

Пользовательские объекты
Создание объекта
Добавление свойств
Связанные объекты
Пример создания базы данных с помощью объектов
Специальные операторы
Побитовые операторы
Объектные операторы
Комплексные операторы
Приоритеты операторов
Зарезервированные ключевые слова
Основы создания сценариев
Из истории программирования НО
От простого до динамического HTML

Простой HTML
Динамический HTML
Где, что и как делают сценарии
Расположение сценариев
Обработка событий
Объекты, управляемые сценариями
Понятие события
Свойства события
Прохождение событий
Указание обработчика события в сценарии
Работа с окнами и фреймами
Создание новых окон

Фреймы
Плавающие фреймы
Всплывающие окна
Динамическое изменение элементов документа
Использование метода writeQ
Изменение значений атрибутов элементов
Изменение элементов
Загрузка изображений
Управление процессами во времени

Работа с Cookie
Объектная модель браузера и документа
Объект window
Свойства window
Методы window
События window
Объект document
Свойства document
Коллекции document
Методы document
События document
Объект location
Свойства location
Методы location
Объект history
Свойство history
Методы history

Объект navigator
Свойства navigator
Коллекции navigator
Методы navigator
Объект event
Объект screen
Объект TextRange
Свойства TextRange
Методы TextRange
Примеры сценариев
Простые визуальные эффекты
Смена изображений
Подсветка кнопок и текста
Мигающая рамка
Переливающиеся цветами ссылки
Объемные заголовки

Применение фильтров
Эффект печати на пишущей машинке
Движение элементов
Движение по заданной траектории
Перемещение мышью
Рисование линий
Прямая линия
Произвольная кривая
Графики зависимостей, заданных выражениями
Графики зависимостей, заданных массивами
Динамические линии
Напишем число словами
Обработка данных форм

Меню
Раскрывающийся список
Настоящее меню
Поиск в текстовой области
Таблицы и простые базы данных
Доступ к элементам таблицы
Добавление и удаление строк таблицы
Генерация таблиц с помощью сценария
Простые базы данных
Сортировка данных таблицы
Фильтрация данных таблицы

Поиск по сайту
Вставка HTML-документа в таблицу
Обработка табличных данных
Защита веб-страниц с помощью пароля
Взаимодействие с Flash-мультфильмами
Передача данных из JavaScript в ActionScript
Вызов сценария JavaScript из сценария ActionScript
Работа с файловой системой
и реестром Windows
Создание объекта файловой системы
Работа с дисками
Работа с папками
Создание папки
Копирование, перемещение и удаление папки

Работа с файлами
Создание текстового файла
Копирование, перемещение и удаление файла
Чтение данных из файла и запись данных в файл
Создание ярлыков
Запуск приложений
Работа с реестром
Приложение Руководство по динамическому HTML
Основные понятия
Форматирование текстов
Стандартные логические стили
Управление шрифтом
Цвет
Текст заданного формата
Списки
Разделительные полосы
Бегущая строка
Специальные и зарезервированные символы

Графика на веб-страницах
Вставка изображений
Фоновая графика
Ссылки
Текстовые ссылки
Графические ссылки
URL-адреса ссылок
Ссылки в пределах одного документа
Таблицы
Стили
Позиционирование элементов
Статические фильтры
Динамические фильтры
Таблицы стилей в отдельных файлах
Вставка Flash-мультфильма в веб-страницу
Вставка звука и видео

Поле ввода данных
Переключатели (radiobuttons)
Флажки
Кнопки
Фреймы
Тег МЕТА
Группа HTTP-EQUIV (HTTP-эквиваленты)
Группа NAME (имя)
Приложение Справочник по HTML
Теги HTML
Структура документа
Заголовки и названия
Абзацы и строки
Стили
Списки

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

Примеры правильных имен переменных: myFamily, my_adress, _x, tel412_3456.
Примеры неправильных имен переменных: 512group, my adress, tel:4l2 3456.
При выборе имен переменных нельзя использовать ключевые слова, то есть слова, используемые в определениях конструкций языка. Например, нельзя выбирать слова var, if, else, const, true, false, function, super, switch и ряд других. Список ключевых слов приведен в разделе 1.11. Имя должно отражать содержание переменной. Если имя состоит из нескольких слов, то между ними можно вводить символ подчеркивания или писать их слитно, начиная каждое слово с прописной буквы.

Вот примеры: my_first_adress,myFirstAdress. Иногда в качестве первого символа имени используют букву, указывающую на тип данных (значений) этой переменной: с - строковый (character), n - числовой (number), b - логический (boolean), о - объект (object), a - массив (array). Например cAdress, nCena, aMonth.

Сейчас самое время изучить JavaScript. После выхода последней спецификации JavaScript – ECMAScript 6.0 (ES6) – научиться создавать высококачественные приложения на этом языке стало проще, чем когда-либо ранее. Эта книга знакомит программистов (любителей и профессионалов) со спецификацией ES6 наряду с некоторыми связанными с ней инструментальными средствами и методиками на сугубо практической основе.
Этан Браун, автор книги Web Development with Node and Express, излагает не только простые и понятные темы (переменные, ветвление потока, массивы), но и более сложные концепции, такие как функциональное и асинхронное программирование. Вы узнаете, как создавать мощные и эффективные веб-приложения для работы на клиенте или сервере Node.js.

● Используйте ES6 для транскомпиляции в переносимый код ESS;
● Преобразуйте данные в формат, который может использовать JavaScript;
● Усвойте основы и механику применения функций JavaScript;
● Изучите объекты и объектно-ориентированное программирование;
● Ознакомьтесь с новыми концепциями, такими как итераторы, генераторы и прокси-объекты;
● Преодолейте сложности асинхронного программирования;
● Используйте объектную модель документа для приложений, выполняемых в браузере;
● Изучите основы применения платформы Node.js для разработки серверных приложений.

Познакомьтесь с радикальными изменениями в языке JavaScript, которые произошли благодаря новому стандарту ECMAScript 6. Николас Закас – автор бестселлеров и эксперт-разработчик – создал самое полное руководство по новым типам объектов, синтаксису и интересным функциям. Каждая глава содержит примеры программ, которые будут работать в любой среде JavaScript, и познакомят вас с новыми возможностями языка. Прочитав эту книгу вы узнаете о том чем полезны итераторы и генераторы, чем ссылочные функции отличаются от обычных, какие дополнительные опции позволяют работать с данными, о наследовании типов, об асинхронном программировании, о том как модули меняют способ организации кода и многое другое.
Более того, Николас Закас заглядывает в будущее, рассказывая про изменения, которые появятся в ECMAScript 7. Не важно, являетесь вы веб-разработчиком или работаете с node.js, в этой книге вы найдете самую необходимую информацию, позволяющую перейти от ECMAScript 5 к ECMAScript 6.

Эта книга позволит вам погрузиться в программирование и с легкостью освоить JavaScipt. Вы напишете несколько настоящих игр — поиск сокровищ на карте, «Виселицу» и «Змейку». На каждом шаге вы сможете оценить результаты своих трудов — в виде работающей программы, а с понятными инструкциями, примерами и забавными иллюстрациями обучение будет только приятным. Книга для детей от 10 лет.

«Node и Express подобны пулеметам, стреляющим серебряными пулями JavaScript».
Стив Розенберг, президент и генеральный директор корпорации Pop Art

Данная книга содержит пошаговые инструкции по использований новых возможностей ECMAScript 6 вместо устаревших трюков и приемов программирования на JavaScript.Книга начинается с знакомства со всеми встроенными объектами ES6 и описания создания итераторов ES6. Затем она расскажет, как писать асинхронный код с помощью ES6 в обычном стиле синхронного кода. Далее описывается использование программного интерфейса рефлексии Reflect API для исследования и изменения свойств объектов. Затем рассматривается создание прокси-объектов и их применение для перехвата и изменения поведения операций с объектами. Наконец, демонстрируются устаревшие методы модульного программирования, такие как IIЕЕ, CommonJS, AMD и HMD, и сравниваются с модулями ES6, способными значительно увеличить производительность веб-сайтов.Издание предназначено для программистов на JavaScript, обладающих базовыми навыками разработки, и желающим освоить новейшие возможности ECMAScript 6 для совершенствования своих программ, выполняемых на стороне клиента.

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

Новое издание признанного бестселлера, охватывающего как клиентские, так и серверные аспекты веб-разработки. Эта книга поможет вам освоить динамическое веб-программирование с применением самых современных технологий.
Книга изобилует ценными практическими советами, содержит исчерпывающий теоретический материал. Для закрепления материала автор рассказывает, как создать полнофункциональный сайт, работающий по принципу социальной сети.
Изучите важнейшие аспекты языка PHP и основы объектно-ориентированного программирования.
Познакомьтесь с базой данных MySQL.
Управляйте cookie-файлами и сеансами, обеспечивайте высокий уровень безопасности.
Пользуйтесь фундаментальными возможностями языка javascript.
Применяйте вызовы AJAX, чтобы значительно повысить динамику вашего сайта.
Изучите основы CSS для форматирования и оформления ваших страниц.
Освойте продвинутые возможности HTML5: геолокацию, обработку аудио и видео, отрисовку на холсте.

JavaScript — основной инструмент веб-разработчиков, позволяющий делать интернет-страницы интерактивными. Перед вами — наиболее полное и великолепно структурированное руководство по JavaScript, которое позволит в совершенстве овладеть этим востребованным сейчас языком программирования. В книге уделено большое внимание библиотеке jQuery, в том числе самого современного плагина jQuery UI.

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

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

За последние несколько лет платформа Node.js стремительно повысила свой статус от экспериментальной технологии до основы для серьезных промышленных проектов. Тысячи программистов оценили возможность построения достаточно сложных, высоко нагруженных приложений на простом, элегантном и, самое главное, легковесном механизме. Все эти скучные слова правдивы, но на самом деле не это главное. Прежде всего Node.js – это совершенно увлекательная и захватывающая вещь, с которой по-настоящему интересно работать! Автор предлагает обзорную экскурсию по этой технологии, которая точно не будет скучной, ведь Node.js – это здорово! Есть одна особенность – невозможно рассказывать про использование Node.js в отрыве от остальных технологий современной веб-разработки (и Highload-разработки в частности). Я и не стал этого делать, дав обзор инструментов, без которых сегодня трудно обойтись. Прежде всего это чудесный язык JavaScript, и в книге рассказано о новинках в его последней и будущей спецификаций (EcmaScript 5 и 6). Кроме того, дается краткое введение в большинство связанных веб-технологий – от NoSQL-хранилищ данных (Memcached, MongoDB, Redis) до CSS-препроцессоров и MVC JavaScript-фреймворков. Конечно, эту книгу нельзя рассматривать как полноценный учебник по MongoDB, LESS или EcmaScript 6, Dark или CoffeScript, но даны основные представления об этих довольно интересных вещах, вполне достаточные для начала работы.

2 голоса

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

Как именно? У меня примерно 100 статей в блоге, посвящено этому. К примеру, « » или « ». Что уж говорить о тех, кто собирается заняться чем-то серьезным? Компьютерная грамотность среди населения растет, а вместе с ней и количество обучающих материалов. Осталось лишь найти лучшие.

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

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

Вопреки обычаю не стану долго ходить вокруг да около. Информации много. Приступим.

Бесплатные занятия по JavaScript

Финансовый вопрос для множества начинающих программистов имеет первостепенное значение. Это вполне логично. Интернет изначально создавался как база знаний, в которой каждый может найти интересующую информацию. «С чего это вдруг я должен платить?», — вполне естественный вопрос.

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

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

Если вы ничего не смыслите в JS (это всемирное сокращение JavaScript), могу предложить подборку видео с YouTube. Это вводный курс для обучения с нуля, созданный онлайн школой Хакслет.

Вы также можете получить курс «Основы программирования » с заданиями на официальном сайте компании. В 17 часов на обучение входят 27 уроков и 21 практическое упражнение.

После того, как основы будут изучены, можно перейти к следующему шагу «JS: подготовка к работе ». Доступ также предоставляется бесплатно.

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

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

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


Если нет желания тратить время и изучать так много, можете «выкупить» только ту информацию, что касается JS: «JavaScript. Уровень один» и «JavaScript. Уровень два». Правда, думаю, что в этом случае о стажировке придется забыть. Эту информацию следует уточнить у разработчиков.

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

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

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

Предыстория

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

Сегодня каждый браузер поддерживает его, тем самым делая 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 — несмотря на то, что книга порядком устарела, она всё ещё является отличным помощником. Книга научит вас писать красивый и эффективный код.

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

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

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

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

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

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

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

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

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

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

Что я изучил

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

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

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

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

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

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

Заключение

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