1. Инструкция по участию в рескладчинах тут.
    Инструкция по организации тут.
    Организовывать в этом разделе могут пользователи группы "Новичок" и выше!
    Чем больше народу тем меньше взнос!
    Если участников 0 то взнос большой, не пугайтесь, минимальное количество участников 2. При 2 участниках цена уже становится приятной)
    Не переводите ничего организаторам на личные кошельки. Оплата складчин осуществляется автоматически с внутреннего счета пользователя. Так мы защитим Вас от недобросовестных оргов.

 Базовый курс JavaScript

Тема в разделе "Курсы по программированию", создана пользователем Collab_Bot, 18 сен 2016.

Этап:
Набор участников
Цена:
663.00 ₽
Участников:
0 из 10
Организатор:
Отсутствует
Тип складчины:
Рескладчина
Источник:
Ссылка на продажник
0%
Расчетный взнос:
80.22 ₽
  • (Основной список пока пуст)


  1. Базовый курс JavaScript
    Старт: апрель 2016​ Программа курсаМодуль 1. Before we start

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


    1. Начало пути
    • JavaScript - плохой язык программирования
    • Как хорошо писать на плохом языке. Осознанность в разработке.
    • Что есть хороший код? Что есть плохой код? DRY, KISS, YAGNI
    • Инструменты JS-разработчика
    • Write once, debug everywhere.
    2. Написание, отладка и чтение кода. Основы.


    3. Сложно о простом: базовые типы в JavaScript

    • Обзор базовых типов
    • Приведение типов и почему это так важно
    • Value-типы vs reference-типы
    • this [​IMG]
    • Магия valueOf
    4. Работа с базовыми типами JS. Знакомство с защитным программированием. Понятие сode style


    5. Под прицелом: функции

    • Функции в математике и программировании: срывая покровы
    • Объекты первого рода
    • Функции высшего порядка и функции как возвращаемые значения
    • Вычислительная сложность и порядки роста
    • Замыкания
    6. Работа с функциями. Практика


    7. Рекурсия как способ мышления

    • Линейная и древовидная рекурсия
    • Рекурсивные функции, виды рекурсии
    • Избавляемся от рекурсии
    • Стек, контекст и прочие страшные слова
    • Мемоизация
    8. Рекурсия. Практика.

    Модуль 2. Структуры данных

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


    1. Базовые структуры данных. Что, как, зачем

    • Списки
    • Массивы и разреженные массивы
    • Хеши
    • Кольцевые буферы
    • Что, когда и как применять.
    2. Реализация базовых структур данных


    3. Структуры данных. Часть 2.

    • Стек
    • Очередь
    • Очередь с приоритетами
    • Множества
    • Операции над множествами
    4. Реализация структур данных. Практика


    5. Графы

    • Что такое граф?
    • Графы в задачах реального мира
    • Простые алгоритмы на графах (Дейкстра, Флойда Уоршелла, Прима-Краскала)
    • Сложные алгоритмы на графах (пример: нахождение максимального потока)
    6. Работа с графами. Практика


    7. Деревья

    • Обычные и двоичные деревья
    • Двоичные деревья поиска
    • Деревья в задачах реального мира
    • Поиск в ширину и глубину
    • Красно-черные деревья
    8. Деревья. Практика.

    Модуль 3. JS в браузере

    Цель модуля: дать студентам базовые навыки в работе с DOM, представить и пояснить концепцию событий


    1. Добро пожаловать DOMой.

    • HTML и DOM
    • События в DOM.
    • Погружение и всплытие
    • Отладка и DOM.
    • Текстово-узловой дуализм DOM [​IMG]
    2. DOM. Практика.


    3. DOM: чуть более детально

    • глобальные события
    • опасности stopPropagation и preventDefault
    • repaint / reflow и почему это важно
    • работа с CSS и стилями из JS
    • изменение DOM и события
    4. DOM. Практика


    5. Коммуникация с внешним миром

    • JSONP
    • AJAX и CORS.
    • WebSockets
    • localStorage, postMessage, почтовые голуби и другие методы коммуникации: о важности абстракций
    6. Коммуникация с внешним миром. Практика


    7. Знакомьтесь: бизнес-логика

    • Спагетти-код и к чему он приводит
    • Классические уровни абстракции JS-кода
    • Чем бизнес-логика отличается от логики приложения
    • Немного о тестах. Почему все носятся с TDD [​IMG]
    • Красиво и быстро: хитрости правильной разработки сложных приложений
    8. Архитектура простейших JS-приложений. Практика


    Модуль 4. Модульность и ООП

    Цель модуля: научить студентов разбивать задачу на отдельные модули, которые взаимодействуют между собой. Познакомить с ООП в JavaScript


    1. Модульность

    • Почему модульность это важно
    • API или “документация не нужна”
    • Модули и компоненты
    • Внутреннее состояние или у каждого свои секреты
    • Как не переусердствовать. Знакомство с уточкой.
    2. Модули в JS. AMD, Common.JS, Require.JS, ES6 Modules и прочие звери


    3. ООП

    • ООП для тех, кого там нет
    • Прототипное наследование. Никакой магии
    • extends
    • Реальные сценарии использования ООП
    • Наследование vs агрегация. Тонкие моменты
    4. ООП. Практика


    5. Визуальные компоненты

    • Слово о Web Components
    • Анатомия компонента
    • Компоненты и DOM
    • Убираем за собой. Чистота компонентов и глобальное состояние
    • Границы компонентов
    6. Пишем визуальные компоненты.


    7. И снова о бизнес и не очень логике

    • Бизнес-логика в компонентах
    • Компоненты высшего порядка
    • Примеси - добро или зло?
    • “Этого никогда не случится”
    • И снова о тестах
    8. Написание компонентов реального приложения. Практика.


    Модуль 5. Пишем приложение

    Цель модуля: познакомить студентов с самыми распространенными паттернами проектирования, дать опыт в MVC и MVVM, построить первое самостоятельное приложение


    1. Введение в паттерны

    • Понятие о паттернах
    • Вспомнить все: синглтон
    • Важные паттерны при разработке приложений: фабрика, фасад, медиатор
    2. Паттерны. Практика


    3. MVC

    • MVC как самый популярный паттерн
    • Слой модели
    • Слой View
    • Слой контроллера
    • Нарушая правила. Недостатки MVC
    4. Реализация MVC своими руками. Знакомство с Backbone.js


    5. Состояние приложения

    • Состояние приложения vs состояние компонентов
    • Роутинг: что, зачем, почему
    • Offline-first или то, о чем не думают 80% программистов
    • Race conditions и как с ними бороться
    • Ошибки: фатальные и не очень
    6. Пишем полноценное приложение. Часть 1


    7. Боремся со связностью

    • Проблема: он слишком много знал
    • Зависимости: скрытая угроза
    • Dependency Injection
    • Pub/Sub или события спешат на помощь
    • Еще раз о тестах
    8. Пишем полноценное приложение. Часть 2



    Модуль 6. Готовые решения

    Цель модуля: Дать студентам возможность пощупать и познакомиться с популярными библиотеками в JavaScript, “набить руку” в использовании чужой документации, чужого кода и результатов чужих трудов


    1. JQuery

    • Немного истории
    • Для этого есть плагин
    • JQuery UI как пример библиотеки виджетов
    • Почему JQuery никто не любит?
    2. Разработка модулей приложения на JQuery


    3. Progressive Enchancement / Graceful degradation

    • Мир браузеров: суровая реальность
    • Polyfill, Shim и прочие звери
    • ES5 / ES2015 / ES+1
    • Выбирая стратегию
    • Мобильный ад
    4. Пишем полноценное приложение. Часть 3.


    5. ES2015

    • Почему стоит использовать ES2015 уже сейчас
    • Главные фишки
    • Генераторы в деталях
    • ES7: будущее уже здесь
    6. Пишем полноценное приложение. Часть 4


    7. React

    • Почему именно React?
    • Вспомнить все: чистые компоненты
    • Реакт и роутинг
    • Асинхронность, функциональщина и прочие милые сердцу слова
    • Обзорно: изоморфные приложения
    8. Небольшое приложение на React.JS




    Модуль 7. Подводя итоги

    Цель модуля: Разработка реального приложения с использованием полученных за время курса знаний. Формирование представления о реальных процессах разработки JS-приложений в командах


    1. С чего начинается разработка

    • Основы командной разработки
    • Роль junior в разработке или как быть полезным
    • Быстрый обзор таск-менеджеров или кошмар большинства разработчиков
    • Как задавать вопросы?
    2. Пишем большое приложение. Часть 1.


    3. Рефакторинг

    • Что такое рефакторинг?
    • Когда необходимо рефакторить?
    • Когда нельзя рефакторить?
    • Архитектура vs чистота кода: ищем компромисс
    4. Пишем большое приложение. Часть 2.


    5. Программирование в команде

    • Как быть независимым программистом, не заводя кота
    • Документация и комментарии. Самодокументируемый код
    • Тесты как средство уменьшения количества седых волос
    • Существующие тестовые фреймворки. TDD и BDD
    6. Пишем большое приложение. Часть 2.


    7. Готовимся к Production

    • Зачем нужны системы сборки?
    • Минификация, минимизация и прочие прелести
    • Grunt vs Gulp vs Webpack
    • Обработка ошибок на production. Кроссбраузерные сюрпризы
    8. Пишем большое приложение. Часть 3.


    Бонусное занятие: куда двигаться дальше. Обзор существующей JS-экосистемыСтоимость курса
    Эквивалент $150 ($100 для онлайн участников) за модуль. Оплата производится перед началом каждого модуля
     

    Загрузка...
  • Кто мы?

    2 разработчика которые решили помочь другим разработчикам в решении их проблем, а так же пользователям с поиском самых свежих и качественных инфопродуктов. За 4 с небольшим месяца мы создали этот форум на который заходят ежедневно 1500 человек и посещаемость постоянно растёт. Мы создали панель лицензирования для защиты PHP скриптов от воровства и SEO панель для мониторинга наших сайтов и выбора верной стратегии их развития. Мы надеемся что то что мы создали пригодится Вам и возможно Вы поможете нам развиваться и совершенствоваться вместе с Вами.
  • Набираем команду!

    Мы набираем в нашу команду умных и амбициозных людей! Не важно в какой сфере Вы преуспели, Вы можете попасть в нашу команду и развивать с нами действительно достойный ресурс.

    Вступай!