Skip to content

Commit a64577c

Browse files
committed
add more info about courses
1 parent ed8e8b5 commit a64577c

File tree

14 files changed

+301
-78
lines changed

14 files changed

+301
-78
lines changed

assets/courses/git-win-1.png

198 KB
Loading

assets/courses/git-win-2.png

213 KB
Loading

fixture/init/course.js

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ exports.Course = [
1717
{
1818
"_id": "543250000000000000000003",
1919
slug: "nodejs",
20-
videoKeyTag: "nodejs",
20+
videoKeyTag: "js",
2121
title: "Курс по Node.JS",
22-
shortDescription: `Грамотная разработка на платформе Node.JS (серверный JavaScript).`,
22+
shortDescription: `Профессиональная разработка на платформе Node.JS/IO.JS (серверный JavaScript), с использованием современных фреймворков и технологий.`,
2323
isListed: true,
2424
weight: 2
2525
}
@@ -45,7 +45,7 @@ exports.CourseGroup = [
4545
},
4646
{
4747
course: '543250000000000000000002',
48-
dateStart: new Date(2016, 5, 1),
48+
dateStart: new Date(2016, 6, 1),
4949
dateEnd: new Date(2016, 11, 10),
5050
timeDesc: "пн/чт 21:30 - 23:00 GMT+3",
5151
slug: 'js-2',
@@ -55,6 +55,19 @@ exports.CourseGroup = [
5555
isListed: true,
5656
isOpenForSignup: true,
5757
title: "Курс JavaScript/DOM/интерфейсы (06.01)"
58+
},
59+
{
60+
"course": "543250000000000000000003",
61+
dateStart: new Date(2016, 6, 1),
62+
dateEnd: new Date(2016, 11, 10),
63+
timeDesc: "пн/чт 21:30 - 23:00 GMT+3",
64+
slug: "nodejs-01",
65+
price: 1,
66+
webinarId: '789',
67+
participantsLimit: 30,
68+
isListed: true,
69+
isOpenForSignup: true,
70+
title: "Курс по Node.JS"
5871
}
5972
];
6073

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,23 @@
11
+b.courses-how.courses-mix
2-
+e('h2').title Как проходит обучение?
2+
+e('h2').title Как проходит обучение?
33

4-
+e.body
5-
p Время обучения: 2 месяца, включая одну неделю каникул с самостоятельно выполняемым заданием, плюс видеокурс за неделю до начала занятий.
4+
+e.body
5+
p Время обучения: месяц, плюс неделя каникул с самостоятельно выполняемым заданием, плюс собрание до начала занятий.
66

7-
p За это время мы планируем освоить очень многое.
7+
p Курс большой, в темах много деталей, чтобы их освоить надо выполнять задания.
88

9-
p Это подразумевает не ленивое ковыряние в носу во время лекции, а довольно-таки активный режим обучения.
9+
p.
10+
При каждой встрече я рассказываю, показываю что и как делать, отвечаю на вопросы,
11+
иногда мы что-то пробуем делать на месте, затем идёт домашнее задание на применение изученного.
1012

11-
ol
12-
li До начала курса вы получаете вводный видео-курс.
13-
p К основному курсу необходимо с ним ознакомиться. Там раскрыты самые базовые темы, которые можно дать в таком формате. Это введение нужно, чтобы мы на занятиях не разбирали ну уж совсем простые темы (но вы сможете задавать вопросы по ним, если будут, в том числе и до начала курса).
13+
p.
14+
На следующей встрече мы смотрим, что и как у вас получилось.
15+
Чтобы получить от курса максимум результата, нужно это что-то делать и показывать.
16+
Только тогда вы будете действительно понимать, что и как.
1417

15-
li Далее, к каждому занятию выдаются материалы для освоения и задачи. Если это текст - читаете, если видео - смотрите в удобное для вас время. Делаете задачи.
16-
li Мы встречаемся два раза в неделю онлайн, я рассказываю важные и тонкие моменты, на которые следует обратить внимание в материале (простые вы изучили по лекциям дома), вы задаете вопросы, показываете решения. Мы смотрим, как можно сделать лучше. Продолжительность 1.5 часа, может быть меньше или больше, в зависимости от темы и количества вопросов.
18+
p У вас будет возможность задать вопросы разработчику с опытом использования Node.JS более 5 лет. Пользуйтесь этим.
1719

18-
p
19-
strong Резюмирую: будьте готовы к тому, что придётся учиться и делать реальные задачи, многие из которых не так уж просты.
20+
p
21+
strong Этот курс требует вашего активного участия.
2022

2123

handlers/courses/templates/blocks/nodejs/programAndSignup.jade

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,28 @@
44
+e.col.columns__col
55
+e.content
66
+e('h3').title Программа
7-
p Курс состоит из 10 занятий, каждое из которых посвящено своему аспекту разработки.
87

98
p.
10-
Большое внимание уделяется именно правильным подходам к решению задач,
11-
которые зачастую отсутствуют в интернет-примерах и руководствах.
9+
Этот курс посвящён профессиональной Node.JS-разработке.
10+
Как и JavaScript вообще, Node даёт большую свободу. Здесь мы изучим, как использовать её правильно.
1211

1312
p.
14-
Кроме того, формируется общее представление, как можно строить архитектуру проекта в целом.
13+
В результате курса мы создадим реальный проект, и разберёмся в Node.JS на принципиально другом уровне,
14+
чем даёт чтение интернет-пособий, большинство которых, увы, сильно устарели.
15+
16+
p Вы останетесь свободны в выборе архитектуры, но получите множество готовых рецептов.
17+
18+
p Курс можно условно разделить на три части.
1519

1620
ol
1721
li
18-
+e.text.
19-
Первая часть позволяет хорошо разобраться в языке JavaScript,
20-
получить знания и навыки написания хорошего JavaScript-кода.
22+
+e.text Особенности Node.JS, фундаментальная разработка.
2123
li
22-
+e.text.
23-
Вторая часть позволяет научиться работать со страницей и посетителем,
24-
создавать меню, слайдеры, Drag’n’Drop и прочие интерфейсные компоненты.
24+
+e.text Разработка веб-сервисов на современных технологиях.
2525
li
26-
+e.text.
27-
Третья часть посвящена более сложным интерфейсам.
28-
На ней мы изучаем, как построить архитектуру, взаимодействие между компонентами,
29-
как организовать проект и код, систему сборки, используем ES6.
26+
+e.text Архитектура сложных приложений, организация разработки проекта.
3027

31-
p Большое внимание на этом курсе уделяется стилю кода. Это важно. Хороший стиль кода позволяет писать более быстро, красиво и делать меньше ошибок. А на серьёзных проектах он просто необходим.
28+
p Детали программы смотрите ниже.
3229

3330
+e.col.columns__col
3431
+e.content
@@ -53,7 +50,8 @@
5350
+b('a')(data-group-signup-link href='/courses/groups/' + group.slug + '/signup' type="button").button._action
5451
+e('span').text Записаться
5552

56-
p В стоимость входит 2 месяца обучения, включая одну неделю каникул с самостоятельно выполняемым заданием и организационное собрание. Также участники получают вводный видеокурс за неделю до начала занятий.
53+
p В дополнение к сроку обучения, указанному выше, будет неделя каникул с самостоятельно выполняемым заданием и организационное собрание.
54+
5755
p Вы можете подписаться на уведомления по набору новых групп по этой программе:
5856

5957
include ../subscribe

handlers/courses/templates/blocks/nodejs/programDetails.jade

Lines changed: 38 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -12,62 +12,67 @@
1212
+e('h2').title.phone-only Первая часть курса
1313
ol
1414
li
15-
strong Основной JavaScript.
16-
p Здесь мы изучим сам язык, его конструкции и особенности, которые позволяют "разговаривать" на JavaScript коротко, понятно, а главное - без ошибок.
15+
strong Фундаментальный Node.JS
16+
p Здесь мы изучим особенности работы Node.JS, его важнейшие модули и приёмы разработки.
17+
p Мы используем наше знание браузерного JavaScript, чтобы изучить их быстрее.
1718
ul
18-
li IDE, настройка, полезные приёмы использования, средства для автопроверки кода.
19-
li Основные структуры данных, работа с числами, строками, датами, массивами, объектами.
20-
li Инструменты разработки, отладка в браузерах.
21-
li Автоматизированное тестирование, инструменты и их применение.
19+
li Настройка окружения, редактора, инструменты для разработки и отладки.
20+
li Модули: организация, подключение, версионность.
21+
li Встроенные модули http, path, fs, child_process и другие.
22+
li Событийный цикл, потоки в деталях, важные подводные камни и примеры.
2223
li
23-
strong Более глубокое понимание языка.
24-
p Чтобы писать хороший код, а также грамотно пользоваться современными фреймворками, мы изучим JavaScript лучше, включая тонкости и продвинутое применение языковых конструкций.
24+
strong Сервер на Node.JS
25+
p Создадим код и тесты для веб-сервера на Node.JS, кластеризуем его на всех ядрах процессора.
2526
ul
26-
li Замыкания и их грамотное применение.
27-
li Внутреннее устройство движка JavaScript.
28-
li Контекст this в деталях.
29-
li Форвардинг, одалживание и делегирование функций.
30-
li Прототипы, классы, прототипное и функциональное ООП, детали использования.
27+
li Создание сервера на Node.JS
28+
li Тестирование с использованием mocha, supertest и других фреймворков.
29+
li Promises, Iterators, Generators, их особенности в Node.JS
30+
li Фреймворк Koa.JS для создания серверов
31+
li Структура приложения и виды Middleware для Koa.JS
32+
li PM2 для запуска и поддержания процессов сервера.
3133

32-
p По окончанию первой части курса вы свободно пользуетесь языком JavaScript, с учётом его особенностей. Мы улучшим эти навыки в последующих частях курса.
34+
p По окончанию первой части курса вы понимаете, как разрабатывать на Node.JS, как делать сервер, устойчивый к пользовательским и, по возможности, к программным ошибкам, и можете запустить, пока ещё, весьма небольшой Node-проект.
3335

3436
+e.body._02
3537
+e('h2').title.phone-only Вторая часть курса
3638
ol
3739
li
38-
strong Документ, генерация интерфейса.
39-
p Здесь мы учимся работать с документом, решать всевозможные задачи в браузере.
40+
strong Работа с базой данных
41+
p Мы будем использовать MongoDB и Mongoose, однако те же принципы применимы к другим базам, на их место можно поставить MySQL, PostgreSQL, Redis и т.п.
4042
ul
41-
li Внутреннее устройство браузера, оптимальная организация страницы со скриптами.
42-
li Дерево DOM, особенности разработки в современных браузерах с отмирающей, но иногда нужной поддержкой старых.
43-
li Динамическая генерация интерфейса - методы DOM, их грамотное использование.
43+
li MongoDB и Mongoose, их особенности, примеры использования, схемы, валидация, плагины.
44+
li REST-сервис для управления объектами User
45+
4446
li
45-
strong События, взаимодействие с посетителем.
47+
strong Веб-сервис, уровень 2
4648
ul
47-
li Основы и тонкости работы с различными событиями для решения основных интерфейсных задач.
48-
li Drag'n'Drop, по окну и внутри элемента
49-
li Паттерн "делегирование", оптимизация производительности и архитектуры, чтобы интерфейсы не тормозили.
50-
li Объектно-ориентированная разработка, компонентная архитектура с использованием ООП, событий и DOM.
51-
52-
p По окончании второй части вы можете создавать интерфейсные компоненты, но нужно больше практики.
49+
li CLS и его грамотное использование для получения текущего запроса вне middleware
50+
li Логирование и обработка ошибок без потери контекста
51+
li Шаблонизация с Jade
52+
li Авторизация с Passport.JS
53+
li CSRF-защита от взлома для форм и AJAX-запросов
54+
li Socket.IO – интеграция и использование с Koa.JS и другими сервисами.
5355

5456
+e.body._03
5557
+e('h2').title.phone-only Третья часть курса
5658
ol
5759
li
58-
strong Архитектура и сборка кода.
60+
strong Архитектура проекта
61+
p В среднем Node.JS-проекте – более сотни файлов. Это нормально, и даже вполне удобно, если их правильно организовать.
5962
ul
60-
li Организация скриптов, стилей и других компонентов проекта на диске, современные технологии Frontend-разработки и сборки.
61-
li Node.JS как средство запуска полезных утилит.
62-
li Шаблонизация, системы организации шаблонов и детали их работы.
63-
li Архитектура сложных интерфейсов.
63+
li Архитектура HMVC для Koa.JS
64+
li Организация шаблонов, тестов, клиентских скриптов.
65+
li Gulp.JS для сборки.
6466
li
65-
strong Куда дальше?
67+
strong Выкладка Production
6668
ul
67-
li Обзор AJAX-технологий и фреймворков (Angular.JS, React.js), куда двигаться дальше.
69+
li Организация git-репозитария и модулей.
70+
li Deploy через свой Gulp-task или через PM2.
6871

6972
p На практике эти части не так чтобы резко отделены друг от друга, переход между ними плавный. Продвинутые темы используют элементы предыдущих.
7073

74+
p В курсе очень много деталей, изложить их кратко не представляется возможным, если у вас есть какой-то вопрос по программе – напишите его внизу, в комментарии, я отвечу.
75+
7176
script.
7277
var className = 'tabbed-pane', block = document.querySelector('.' + className);
7378

0 commit comments

Comments
 (0)