Цель заброшена
Автор не отписывался в цели 6 лет 11 месяцев 12 дней
Frontend Developer
На данный момент я безработный (фрилансю), до ноября 2017 года работал в большой компании (СМИ) на позиции junior frontend developer с октября 2016 года. При разработке использовал JQuery, SCSS, Gulp, Git. Это на мой взгляд для фронтендера уже устаревшие технологии (хотя и работающие), к сожалению с таким "букетом" в компанию с современным стеком не берут, поэтому было принято решение в корне изменить ситуацию и начать повышать профессиональные навыки.
Критерий завершения
Трудоустройство в сильную команду на позицию Frontend Developer
Личные ресурсы
На данный момент я знаю HTML, CSS, JavaScript (на базовом уровне), Jquery. Имею опыт программирования несложных скриптов на Jquery, сделал не один десяток сайтов с полным циклом работ от верстки и программирования до выкладки на продакшн.
У меня есть 4-5 часов в день на обучение.
Экологичность цели
Работа в крупной IT компании на должности frontend разработчика это моя давняя мечта, но чем старше я становлюсь, тем более четко вижу цель и способы ее достижения. Работая с 2008 года в IT сфере я многое попробовал, что-то получалось хуже, а что-то лучше, но с 2015 года меня зацепила верстка и программирование на js. Я учился сам и у меня не было четкого понимая и плана. Я был заложником хайпа и много времени изучал не фундаментальные вещи, а модные технологии и инструменты. В 2016 году переехал в Москву и устроился в крупное СМИ на позицию junior frontend developer. С 2017 года понял, что хочу большего и надо начинать повышать профессиональные навыки, чтобы изменить ситуацию в лучшую сторону.
-
Подготовительный этап
Выявить пробелы в знаниях с помощью опытного человека и скорректировать дальнейший план действий.
-
Написать резюме
-
Пройти курс по фронтэнду
Об авторе:
Меня зовут Евгений Родионов, и я учу людей фронтэнду.
Я руководил разработкой Рублёвки.ру и обучил команду, которая сейчас работает в Тинькофф, Рокетбанке, Ростелекоме и немецком Kairion.
Я веду канал про фронтэнд в Телеграме, пишу статьи на Медиуме и выпускаю 5-минутные видео на Ютубе.
Хочу, чтобы в России были крутые интерфейсы. Я взращиваю крутых ребят, с которыми готов работать сам.
Стоимость этапа — 8999 ₽
-
Изучить основы программирования
Изучить вебинары Дмитрия Лаврика по основам программирования
https://www.youtube.com/watch?v=ZC4s44qDjkI&list=PLyeqauxei6jfKHgefLiYxMQye331JZuqb
-
Прочитать learn.javascript.ru
Введение
- Введение в JavaScript
- Справочники и спецификации
- Редакторы для кода
- Консоль разработчика
Основы JavaScript
- Привет, мир!
- Внешние скрипты, порядок исполнения
- Структура кода
- Современный стандарт, "use strict"
- Переменные
- Правильный выбор имени переменной
- Шесть типов данных, typeof
- Основные операторы
- Операторы сравнения и логические значения
- Побитовые операторы
- Взаимодействие с пользователем: alert, prompt, confirm
- Условные операторы: if, '?'
- Логические операторы
- Преобразование типов для примитивов
- Циклы while, for
- Конструкция switch
- Функции
- Функциональные выражения
- Рекурсия, стек
- Именованные функциональные выражения
- Всё вместе: особенности JavaScript
Качество кода
- Отладка в браузере Chrome
- Советы по стилю кода
- Как писать неподдерживаемый код?
- Автоматические тесты при помощи chai и mocha
Структуры данных
- Введение в методы и свойства
- Числа
- Строки
- Объекты как ассоциативные массивы
- Объекты: перебор свойств
- Объекты: передача по ссылке
- Массивы с числовыми индексами
- Массивы: методы
- Массив: перебирающие методы
- Псевдомассив аргументов "arguments"
- Дата и Время
Замыкания, область видимости
- Глобальный объект
- Замыкания, функции изнутри
- [[Scope]] для new Function
- Локальные переменные для объекта
- Модули через замыкания
- Управление памятью в JavaScript
- Устаревшая конструкция "with"
Методы объектов и контекст вызова
- Методы объектов, this
- Преобразование объектов: toString и valueOf
- Создание объектов через "new"
- Дескрипторы, геттеры и сеттеры свойств
- Статические и фабричные методы
- Явное указание this: "call", "apply"
- Привязка контекста и карринг: "bind"
- Функции-обёртки, декораторы
Некоторые другие возможности
- Типы данных: [[Class]], instanceof и утки
- Формат JSON, метод toJSON
- setTimeout и setInterval
- Запуск кода из строки: eval
- Перехват ошибок, "try..catch"
ООП в функциональном стиле
- Введение
- Внутренний и внешний интерфейс
- Геттеры и сеттеры
- Функциональное наследование
ООП в прототипном стиле
- Прототип объекта
- Свойство F.prototype и создание объектов через new
- Встроенные "классы" в JavaScript
- Свои классы на прототипах
- Наследование классов в JavaScript
- Проверка класса: "instanceof"
- Свои ошибки, наследование от Error
- Примеси
Современные возможности ES-2015
- ES-2015 сейчас
- Переменные: let и const
- Деструктуризация
- Функции
- Строки
- Объекты и прототипы
- Классы
- Тип данных Symbol
- Итераторы
- Set, Map, WeakSet и WeakMap
- Promise
- Генераторы
- Модули
- Proxy
Документ, события, интерфейсы
- Окружение: DOM, BOM и JS
- Дерево DOM
- Работа с DOM из консоли
- Навигация по DOM-элементам
- Поиск: getElement* и querySelector* и не только
- Внутреннее устройство поисковых методов
- Свойства узлов: тип, тег и содержимое
- Современный DOM: полифиллы
- Атрибуты и DOM-свойства
- Методы contains и compareDocumentPosition
- Добавление и удаление узлов
- Мультивставка: insertAdjacentHTML и DocumentFragment
- Метод document.write
- Стили, getComputedStyle
- Размеры и прокрутка элементов
- Размеры и прокрутка страницы
- Координаты в окне
- Координаты в документе
- Итого
Основы работы с событиями
- Введение в браузерные события
- Порядок обработки событий
- Объект события
- Всплытие и перехват
- Делегирование событий
- Приём проектирования "поведение"
- Действия браузера по умолчанию
- Генерация событий на элементах
События в деталях
- Мышь: клики, кнопка, координаты
- Мышь: отмена выделения, невыделяемые элементы
- Мышь: движение mouseover/out, mouseenter/leave
- Мышь: Drag'n'Drop
- Мышь: Drag'n'Drop более глубоко
- Мышь: колёсико, событие wheel
- Мышь: IE8-, исправление события
- Прокрутка: событие scroll
- Клавиатура: keyup, keydown, keypress
- Загрузка документа: DOMContentLoaded, load, beforeunload, unload
- Загрузка скриптов, картинок, фреймов: onload и onerror
Формы, элементы управления
- Навигация и свойства элементов формы
- Фокусировка: focus/blur
- Изменение: change, input, cut, copy, paste
- Формы: отправка, событие и метод submit
Создание графических компонентов
- Введение
- Графические компоненты
- Вёрстка графических компонентов
- Шаблонизатор LoDash
- Коллбэки и события на компонентах
- Что изучать дальше
Веб-компоненты: взгляд в будущее
- С высоты орбитального полёта
- Пользовательские элементы: Custom Elements
- Shadow DOM
- Шаблоны <template>
- Стили и селекторы
- Импорты
- Веб-компонент в сборе
AJAX и COMET
- Введение в AJAX и COMET
- Node.JS для решения задач
- Основы XMLHttpRequest
- XMLHttpRequest POST, формы и кодировка
- XMLHttpRequest: кросс-доменные запросы
- XMLHttpRequest: индикация прогресса
- XMLHttpRequest: возобновляемая закачка
- COMET с XMLHttpRequest: длинные опросы
- WebSocket
- Протокол JSONP
- Server Side Events -- события с сервера
- IFRAME для AJAX и COMET
- Атака CSRF
- Метод fetch: замена XMLHttpRequest
- Таблица транспортов и их возможностей
Анимация
- Кривые Безье
- CSS-анимации
- JS-Анимация
Оптимизация
- Введение
- Как работают сжиматели JavaScript
- Улучшаем сжатие кода
- Утечки памяти
- Утечки памяти при использовании jQuery
- Очистка памяти при removeChild/innerHTML
- GCC: продвинутые оптимизации
- GCC: статическая проверка типов
- GCC: интеграция с Google Closure Library
Окна и Фреймы
- Открытие окон и методы window
- Общение между окнами и фреймами
- Кросс-доменные ограничения и их обход
- Общение окон с разных доменов: postMessage
- Привлечение внимания к окну
- Атака Clickjacking и защита от неё
CSS для JavaScript-разработчика
- О чём пойдёт речь
- Единицы измерения: "px", "em", "rem" и другие
- Все значения свойства "display"
- Свойство "float"
- Свойство "position"
- Центрирование горизонтальное и вертикальное
- Свойства "font-size" и "line-height"
- Свойство white-space
- Свойство "outline"
- Свойство "box-sizing"
- Свойство "margin"
- Лишнее место под IMG
- Свойство "overflow"
- Особенности свойства "height" в %
- Знаете ли вы селекторы?
- CSS-спрайты
- Правила форматирования CSS
Сундучок с инструментами
- Полезные расширения Firefox и Chrome
- Скриптуемый отладочный прокси Fiddler
- IE HTTP Analyzer
Регулярные выражения
- Паттерны и флаги
- Методы RegExp и String
- Классы и спецсимволы
- Наборы и диапазоны [...]
- Квантификаторы +, *, ? и {n}
- Жадные и ленивые квантификаторы
- Скобочные группы
- Обратные ссылки: \n и $n
- Альтернация (или) |
- Начало строки ^ и конец $
- Многострочный режим, флаг "m"
- Предпросмотр (неготово)
- Чёрная дыра бэктрекинга
О всякой всячине
- Эволюция шаблонных систем для JavaScript
- Книги по JS, HTML/CSS и не только
- Асинхронное выполнение: setImmediate
- Позднее связывание "bindLate"
- Sublime Text: шпаргалка
- Выделение: Range, TextRange и Selection
- Применяем ООП: Drag'n'Drop++
- Куки, document.cookie
- Intl: интернационализация в JavaScript
- Особенности регулярных выражений в Javascript
-
Пройти курс по основам ES6
https://www.youtube.com/playlist?list=PLqHlAwsJRxAOpWPtj2T6HhSzX-lKmKV2q
Вступление- Установка и настройка Babel
- Использование let
- Использование const
- Оператор разворота (spread operator)
- Шаблонные строки (template strings)
- Параметры функции
- Цикл for...of
- Объекты
- Классы
- Наследование
- Классы и наследование в ES5 и ES6
- Выражения классов
- Стрелочные функции
- Деструктивное присваивание массивов
- Деструктивное присваивание объектов
- Знакомство с обещаниями
- Создание обещаний (promises)
- Использование обещаний (promise)
- Символы (symbols)
- Итераторы (iterators)
- Знакомство с генераторами (generators)
- Создание генераторов (generators)
-
Пройти 10 технических собеседований
ЯндексFINSРоссийская газета- One Two Trip
-
Прочитать книги
Изучаем программирование на JavaScript (авторы: Эрик Фримен, Элизабет Робсон)- JavaScript. Сильные стороны (автор: Дуглас Крокфорд)
- Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих (автор: Адитья Бхаргава)
- 2027
- 30 октября 2017, 07:44
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением