0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Хотя модуль http и даёт нам возможность писать веб-приложения, этот способ нельзя назвать удобным. Сильно помешает отсутствие роутинга и удобных механизмов расширения функциональности. И это мы ещё не копнули вглубь.</p>
1
<p>Хотя модуль http и даёт нам возможность писать веб-приложения, этот способ нельзя назвать удобным. Сильно помешает отсутствие роутинга и удобных механизмов расширения функциональности. И это мы ещё не копнули вглубь.</p>
2
<p>Разработка веб-приложений это, в основном, стандартный процесс с понятным набором "хотелок", многие из которых будут пройдены в рамках данного курса. Центральной частью проекта курса является микрофреймворк Express.</p>
2
<p>Разработка веб-приложений это, в основном, стандартный процесс с понятным набором "хотелок", многие из которых будут пройдены в рамках данного курса. Центральной частью проекта курса является микрофреймворк Express.</p>
3
<p>Удивительное дело: курсы, которые вы прошли до этого, гораздо сложнее для понимания и освоения, чем курсы по конкретным инструментам, таким как Express. И, скорее всего, тенденция будет продолжаться. Связано это с тем, что умение программировать требует от вас хорошо развитого computational thinking (вычислительного мышления), включающего в себя много пунктов, помимо абстрактного и логического мышления. А работа с конкретным инструментарием больше похожа на монотонный труд в стиле "делай раз, делай два". Вся сложность в инструментах, обычно, сосредоточена в количестве используемых концепций. Поэтому для новичков документация по Express может показаться нереально сложной без шансов на понимание. Как вы скоро убедитесь, это дело наживное, и к концу курса вы сможете уверенно ориентироваться в возможностях фреймворка и сможете создавать свои приложения уже совсем по-взрослому.</p>
3
<p>Удивительное дело: курсы, которые вы прошли до этого, гораздо сложнее для понимания и освоения, чем курсы по конкретным инструментам, таким как Express. И, скорее всего, тенденция будет продолжаться. Связано это с тем, что умение программировать требует от вас хорошо развитого computational thinking (вычислительного мышления), включающего в себя много пунктов, помимо абстрактного и логического мышления. А работа с конкретным инструментарием больше похожа на монотонный труд в стиле "делай раз, делай два". Вся сложность в инструментах, обычно, сосредоточена в количестве используемых концепций. Поэтому для новичков документация по Express может показаться нереально сложной без шансов на понимание. Как вы скоро убедитесь, это дело наживное, и к концу курса вы сможете уверенно ориентироваться в возможностях фреймворка и сможете создавать свои приложения уже совсем по-взрослому.</p>
4
<h2>Фреймворк</h2>
4
<h2>Фреймворк</h2>
5
<blockquote><p>Программная платформа, определяющая способ структурирования кода приложения</p>
5
<blockquote><p>Программная платформа, определяющая способ структурирования кода приложения</p>
6
</blockquote><p>Фреймворк противопоставляют понятию библиотека. С библиотеками мы уже хорошо знакомы и писали их не раз. В программировании библиотека это код, который может быть использован в программном продукте для выполнения различных подзадач, важно, что при этом библиотека не влияет на архитектуру приложения и не накладывает на неё ограничений.</p>
6
</blockquote><p>Фреймворк противопоставляют понятию библиотека. С библиотеками мы уже хорошо знакомы и писали их не раз. В программировании библиотека это код, который может быть использован в программном продукте для выполнения различных подзадач, важно, что при этом библиотека не влияет на архитектуру приложения и не накладывает на неё ограничений.</p>
7
<p>Фреймворк это, как ни странно, тоже код, который диктует правила построения архитектуры приложения, задавая на начальном этапе разработки поведение по умолчанию - "каркас", который нужно будет расширять и изменять согласно указанным требованиям.</p>
7
<p>Фреймворк это, как ни странно, тоже код, который диктует правила построения архитектуры приложения, задавая на начальном этапе разработки поведение по умолчанию - "каркас", который нужно будет расширять и изменять согласно указанным требованиям.</p>
8
<p>Может показаться, что фреймворк - это штука, которая только мешает, но это не так. Большинство приложений укладывается в некоторые стандартные рамки, соблюдая которые можно автоматизировать очень много задач и писать намного меньше кода. А ещё это возможность создавать и переиспользовать библиотеки, ориентированные на работу с фреймворками. В современном мире популярный каркас идет в нагрузку с сотнями полезных расширений, которые за вас делают всё, что только можно вообразить, за пивом только не ходят.</p>
8
<p>Может показаться, что фреймворк - это штука, которая только мешает, но это не так. Большинство приложений укладывается в некоторые стандартные рамки, соблюдая которые можно автоматизировать очень много задач и писать намного меньше кода. А ещё это возможность создавать и переиспользовать библиотеки, ориентированные на работу с фреймворками. В современном мире популярный каркас идет в нагрузку с сотнями полезных расширений, которые за вас делают всё, что только можно вообразить, за пивом только не ходят.</p>
9
<h2>Микрофреймворк</h2>
9
<h2>Микрофреймворк</h2>
10
<p>Устоявшееся название для минималистичных веб-фреймворков.</p>
10
<p>Устоявшееся название для минималистичных веб-фреймворков.</p>
11
<ul><li>Представляет из себя набор middlewares (описываются позже)</li>
11
<ul><li>Представляет из себя набор middlewares (описываются позже)</li>
12
<li>Определяет прямую связь между маршрутом и обработчиком</li>
12
<li>Определяет прямую связь между маршрутом и обработчиком</li>
13
<li>Не определяет файловую структуру</li>
13
<li>Не определяет файловую структуру</li>
14
<li>Содержит минимальное количество встроенных возможностей</li>
14
<li>Содержит минимальное количество встроенных возможностей</li>
15
</ul><p>Express как раз относится к классу микрофреймворков. Очень популярное направление, родоначальником которого считается Sinatra, Ruby-микрофреймворк, появившийся в далеком 2007 году. С тех пор в каждом языке появились десятки подобных решений, среди которых есть минимум один-два очень популярных. Получается, что зная Express вам будет несложно начать работать с подобным микрофреймворком на любом другом языке.</p>
15
</ul><p>Express как раз относится к классу микрофреймворков. Очень популярное направление, родоначальником которого считается Sinatra, Ruby-микрофреймворк, появившийся в далеком 2007 году. С тех пор в каждом языке появились десятки подобных решений, среди которых есть минимум один-два очень популярных. Получается, что зная Express вам будет несложно начать работать с подобным микрофреймворком на любом другом языке.</p>
16
<h2>Проект</h2>
16
<h2>Проект</h2>
17
<p>Поскольку мы метим в веб-разработчики, то будет грехом не написать свой блог :) В процессе создания блога мы рассмотрим следующие темы:</p>
17
<p>Поскольку мы метим в веб-разработчики, то будет грехом не написать свой блог :) В процессе создания блога мы рассмотрим следующие темы:</p>
18
<ul><li>Express JS (Middlewares)</li>
18
<ul><li>Express JS (Middlewares)</li>
19
<li>Роутинг</li>
19
<li>Роутинг</li>
20
<li>Логгирование</li>
20
<li>Логгирование</li>
21
<li>Функциональное тестирование</li>
21
<li>Функциональное тестирование</li>
22
<li>Шаблонизация</li>
22
<li>Шаблонизация</li>
23
<li>REST</li>
23
<li>REST</li>
24
<li>Session</li>
24
<li>Session</li>
25
<li>Twitter Bootstrap</li>
25
<li>Twitter Bootstrap</li>
26
<li>Авторизация/Аутентификация</li>
26
<li>Авторизация/Аутентификация</li>
27
<li>Flash</li>
27
<li>Flash</li>
28
</ul><h2>Веб-доступ</h2>
28
</ul><h2>Веб-доступ</h2>
29
<p>В этом курсе, почти в каждом задании будет открыт веб-доступ, через который можно и нужно смотреть на то, что вы сделали. Веб-сервер по умолчанию не запущен. Для запуска наберите make start в терминале, убедитесь, что сервер нормально запустился, и пробуйте пользоваться. Это справедливо для любого задания курса, в котором есть веб-доступ.</p>
29
<p>В этом курсе, почти в каждом задании будет открыт веб-доступ, через который можно и нужно смотреть на то, что вы сделали. Веб-сервер по умолчанию не запущен. Для запуска наберите make start в терминале, убедитесь, что сервер нормально запустился, и пробуйте пользоваться. Это справедливо для любого задания курса, в котором есть веб-доступ.</p>