HTML Diff
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>