0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Что это</a></li>
1
<ul><li><a>Что это</a></li>
2
<li><a>О типах утилит</a></li>
2
<li><a>О типах утилит</a></li>
3
<li><a>О структуре интернета</a><ul><li><a>Физический</a></li>
3
<li><a>О структуре интернета</a><ul><li><a>Физический</a></li>
4
<li><a>Канальный</a></li>
4
<li><a>Канальный</a></li>
5
<li><a>Сетевой уровень</a></li>
5
<li><a>Сетевой уровень</a></li>
6
<li><a>Транспортный уровень</a></li>
6
<li><a>Транспортный уровень</a></li>
7
<li><a>Уровень приложений</a></li>
7
<li><a>Уровень приложений</a></li>
8
</ul></li>
8
</ul></li>
9
<li><a>Виды web утилит</a><ul><li><a>Серверные</a></li>
9
<li><a>Виды web утилит</a><ul><li><a>Серверные</a></li>
10
<li><a>Клиентские</a></li>
10
<li><a>Клиентские</a></li>
11
<li><a>SPA</a></li>
11
<li><a>SPA</a></li>
12
<li><a>MPA</a></li>
12
<li><a>MPA</a></li>
13
<li><a>PWA</a></li>
13
<li><a>PWA</a></li>
14
</ul></li>
14
</ul></li>
15
<li><a>Принцип работы</a><ul><li><a>Клиентская часть</a></li>
15
<li><a>Принцип работы</a><ul><li><a>Клиентская часть</a></li>
16
<li><a>Серверная часть</a></li>
16
<li><a>Серверная часть</a></li>
17
</ul></li>
17
</ul></li>
18
<li><a>Несколько слов об HTTP</a></li>
18
<li><a>Несколько слов об HTTP</a></li>
19
</ul><p>Информационные технологии никогда не стоят на месте. Они открывают перед юзерами новые возможности, о которых раньше не слышали. Еще несколько десятилетий назад Интернет казался чем-то неизведанным, а сейчас он есть почти в каждом доме.</p>
19
</ul><p>Информационные технологии никогда не стоят на месте. Они открывают перед юзерами новые возможности, о которых раньше не слышали. Еще несколько десятилетий назад Интернет казался чем-то неизведанным, а сейчас он есть почти в каждом доме.</p>
20
<p>В разработке подобные ситуации тоже накладывают отпечатки. Так появились веб-приложения. Именно им будет посвящена информация далее. Она пригодится всем, кому интересно программирование "для интернета".</p>
20
<p>В разработке подобные ситуации тоже накладывают отпечатки. Так появились веб-приложения. Именно им будет посвящена информация далее. Она пригодится всем, кому интересно программирование "для интернета".</p>
21
<h2>Что это</h2>
21
<h2>Что это</h2>
22
<p>В Google полно информации о том, что такое веб-приложение. Это совершенно разное программное обеспечение, которое выполняет функции через клиент. Им выступает браузер.</p>
22
<p>В Google полно информации о том, что такое веб-приложение. Это совершенно разное программное обеспечение, которое выполняет функции через клиент. Им выступает браузер.</p>
23
<p>Web App базируется на работе клиента и сервера. Утилита получает запрос от пользователя в интернет-обозревателе, обрабатывает его, а затем дает тот или иной результат. Пример - работа калькулятора или софта для скачивания музыки из социальных сетей.</p>
23
<p>Web App базируется на работе клиента и сервера. Утилита получает запрос от пользователя в интернет-обозревателе, обрабатывает его, а затем дает тот или иной результат. Пример - работа калькулятора или софта для скачивания музыки из социальных сетей.</p>
24
<p>Соответствующие технологии активно применяются на практике. Они стали частью обыденной жизни. Только создавать их требуется через специализированные языки программирования. Чаще всего - скриптовые.</p>
24
<p>Соответствующие технологии активно применяются на практике. Они стали частью обыденной жизни. Только создавать их требуется через специализированные языки программирования. Чаще всего - скриптовые.</p>
25
<h2>О типах утилит</h2>
25
<h2>О типах утилит</h2>
26
<p>Google указывает на то, что все apps можно условно разделить на три категории:</p>
26
<p>Google указывает на то, что все apps можно условно разделить на три категории:</p>
27
<ol><li>Десктопные. Их называют компьютерными. Это - обычные программы, которые работают без интернета и клиент-серверных моделей. К браузеру они не имеют никакого отношения.</li>
27
<ol><li>Десктопные. Их называют компьютерными. Это - обычные программы, которые работают без интернета и клиент-серверных моделей. К браузеру они не имеют никакого отношения.</li>
28
<li>Мобильные. Аналоги десктопных, но для смартфонов и планшетов.</li>
28
<li>Мобильные. Аналоги десктопных, но для смартфонов и планшетов.</li>
29
<li>Web. Универсальный сегодня вариант. Работают и на смартфонах, и на планшетах, и на компьютерах. По функционалу пока несколько слабее десктопных утилит. От железа устройства практически не зависят.</li>
29
<li>Web. Универсальный сегодня вариант. Работают и на смартфонах, и на планшетах, и на компьютерах. По функционалу пока несколько слабее десктопных утилит. От железа устройства практически не зависят.</li>
30
</ol><p>Для того, чтобы рассматриваемый тип application работал исправно, требуется обеспечить подключение к Сети. Из-за этого разработчику необходимо сначала разобраться структуру функционирования Интернета, а также освоить способы обмена данными между девайсами.</p>
30
</ol><p>Для того, чтобы рассматриваемый тип application работал исправно, требуется обеспечить подключение к Сети. Из-за этого разработчику необходимо сначала разобраться структуру функционирования Интернета, а также освоить способы обмена данными между девайсами.</p>
31
<h2>О структуре интернета</h2>
31
<h2>О структуре интернета</h2>
32
<p>В Google полно полезных данных, связанных с веб-приложениями. Перед тем, как приступить к непосредственной разработке, стоит разобраться с клиент-серверными моделями и особенностями сетевой структуры. Эта информация пригодится даже системным администраторам-новичкам.</p>
32
<p>В Google полно полезных данных, связанных с веб-приложениями. Перед тем, как приступить к непосредственной разработке, стоит разобраться с клиент-серверными моделями и особенностями сетевой структуры. Эта информация пригодится даже системным администраторам-новичкам.</p>
33
<p>Существуют различные сетевые структуры. Наиболее распространенная - пятиуровневая. Носит название модели TCP/IP. Она включает в себя:</p>
33
<p>Существуют различные сетевые структуры. Наиболее распространенная - пятиуровневая. Носит название модели TCP/IP. Она включает в себя:</p>
34
<ul><li>физический уровень;</li>
34
<ul><li>физический уровень;</li>
35
<li>канальный;</li>
35
<li>канальный;</li>
36
<li>сетевой;</li>
36
<li>сетевой;</li>
37
<li>транспортный;</li>
37
<li>транспортный;</li>
38
<li>уровень приложения.</li>
38
<li>уровень приложения.</li>
39
</ul><p>Эти слои показывают, согласно Google. Уровни сетевого взаимодействия. Каждый предусматривает свои ключевые особенности.</p>
39
</ul><p>Эти слои показывают, согласно Google. Уровни сетевого взаимодействия. Каждый предусматривает свои ключевые особенности.</p>
40
<h3>Физический</h3>
40
<h3>Физический</h3>
41
<p>Физический уровень - самый низкий. Он связан с законами физики. Пример - оптоволокно передает пучки света, которые принимаются компьютером как нули и единицы. Любое действие в Сети преобразовывается в набор сигналов. Они через кабель или радиоволны будут транслироваться между девайсами.</p>
41
<p>Физический уровень - самый низкий. Он связан с законами физики. Пример - оптоволокно передает пучки света, которые принимаются компьютером как нули и единицы. Любое действие в Сети преобразовывается в набор сигналов. Они через кабель или радиоволны будут транслироваться между девайсами.</p>
42
<p>На физическом уровне для работы веб-приложений используются самые разные протоколы. Пример - 1000BASE-SX, 802.15 и им подобные. Они помогают сетевым устройствам "понимать" друг друга, а также контактировать на установленной языке.</p>
42
<p>На физическом уровне для работы веб-приложений используются самые разные протоколы. Пример - 1000BASE-SX, 802.15 и им подобные. Они помогают сетевым устройствам "понимать" друг друга, а также контактировать на установленной языке.</p>
43
<h3>Канальный</h3>
43
<h3>Канальный</h3>
44
<p>Изучая веб-приложения, в Google, можно отыскать сведения о канальном уровне. Он отвечает за соединение устройств в пределах одной сети (локального характера). Тут чаще всего применяются протоколы:</p>
44
<p>Изучая веб-приложения, в Google, можно отыскать сведения о канальном уровне. Он отвечает за соединение устройств в пределах одной сети (локального характера). Тут чаще всего применяются протоколы:</p>
45
<ol><li>Ethernet. Это - ситуация, когда компьютеры будут соединяться кабелем.</li>
45
<ol><li>Ethernet. Это - ситуация, когда компьютеры будут соединяться кабелем.</li>
46
<li>Wi-Fi. Представляет беспроводной коннектинг.</li>
46
<li>Wi-Fi. Представляет беспроводной коннектинг.</li>
47
</ol><p>Для подключения используются MAC-адреса. Они представлены уникальными идентификаторами. Не повторяются ни у одного устройства.</p>
47
</ol><p>Для подключения используются MAC-адреса. Они представлены уникальными идентификаторами. Не повторяются ни у одного устройства.</p>
48
<h3>Сетевой уровень</h3>
48
<h3>Сетевой уровень</h3>
49
<p>Особо важный при работе с веб-приложениями. Google указывает на то, что он обеспечивает взаимодействие компьютеров из самых разных сетей. Осуществляется на основе IP-протоколов. Они присваивают сетевым устройствам определенные адреса.</p>
49
<p>Особо важный при работе с веб-приложениями. Google указывает на то, что он обеспечивает взаимодействие компьютеров из самых разных сетей. Осуществляется на основе IP-протоколов. Они присваивают сетевым устройствам определенные адреса.</p>
50
<p>IP-адрес включает в себя 4 однобайтных числа. Они должны быть прописаны в десятичной системе. Для подключения к сайтам, почтовым клиентам и серверам можно использовать протоколы IPv4 и IPv6.</p>
50
<p>IP-адрес включает в себя 4 однобайтных числа. Они должны быть прописаны в десятичной системе. Для подключения к сайтам, почтовым клиентам и серверам можно использовать протоколы IPv4 и IPv6.</p>
51
<h3>Транспортный уровень</h3>
51
<h3>Транспортный уровень</h3>
52
<p>При разработке веб-приложений нужно хорошо разобраться в транспортном уровне. Он, по Google, отвечает за идентификацию адресатов и разделение потоковых данных. За счет оного можно запустить на девайсе несколько apps типа web. И каждое будет получать свои ответы.</p>
52
<p>При разработке веб-приложений нужно хорошо разобраться в транспортном уровне. Он, по Google, отвечает за идентификацию адресатов и разделение потоковых данных. За счет оного можно запустить на девайсе несколько apps типа web. И каждое будет получать свои ответы.</p>
53
<p>Для того, чтобы трафик не смешивался, у каждого приложения есть отдельный порт для общения в Сети. Пример - браузер для открывания странички использует port 80, а для соединения с БД - port 8080.</p>
53
<p>Для того, чтобы трафик не смешивался, у каждого приложения есть отдельный порт для общения в Сети. Пример - браузер для открывания странички использует port 80, а для соединения с БД - port 8080.</p>
54
<p>Самыми популярными здесь выступают протоколы TCP и UDP:</p>
54
<p>Самыми популярными здесь выступают протоколы TCP и UDP:</p>
55
<ol><li>Первый гарантирует получение всей передаваемой информации. В противном случае юзер видит в веб-приложении ошибку.</li>
55
<ol><li>Первый гарантирует получение всей передаваемой информации. В противном случае юзер видит в веб-приложении ошибку.</li>
56
<li>UDP не имеет никаких гарантий того, что клиентская часть получит необходимые материалы в целости и сохранности. Пример - просмотр видео в Ютубе.</li>
56
<li>UDP не имеет никаких гарантий того, что клиентская часть получит необходимые материалы в целости и сохранности. Пример - просмотр видео в Ютубе.</li>
57
</ol><p>Все чаще на практике встречается протокол TCP.</p>
57
</ol><p>Все чаще на практике встречается протокол TCP.</p>
58
<h3>Уровень приложений</h3>
58
<h3>Уровень приложений</h3>
59
<p>Google подскажет, с чего начинать изучение веб-приложений. И что собой представляет apps level при работе Сети - тоже. Это - то, с чем происходит непосредственная работа программиста. Главная его задача - предоставления интерфейса, который будет обеспечивать взаимодействие с Сетью и девайсами.</p>
59
<p>Google подскажет, с чего начинать изучение веб-приложений. И что собой представляет apps level при работе Сети - тоже. Это - то, с чем происходит непосредственная работа программиста. Главная его задача - предоставления интерфейса, который будет обеспечивать взаимодействие с Сетью и девайсами.</p>
60
<p>Здесь, по Google, применяются самые разные протоколы:</p>
60
<p>Здесь, по Google, применяются самые разные протоколы:</p>
61
<ul><li>BitTorrent;</li>
61
<ul><li>BitTorrent;</li>
62
<li>HTTP;</li>
62
<li>HTTP;</li>
63
<li>SMTP;</li>
63
<li>SMTP;</li>
64
<li>FTP;</li>
64
<li>FTP;</li>
65
<li>SSH.</li>
65
<li>SSH.</li>
66
</ul><p>Огромное значение для коддинга веб-приложений имеет HTTP.</p>
66
</ul><p>Огромное значение для коддинга веб-приложений имеет HTTP.</p>
67
<h2>Виды web утилит</h2>
67
<h2>Виды web утилит</h2>
68
<p>Сегодня нет единой классификации, которая может описать сразу все приложения, которые работают с Сетью. В Google полно вариантов. Связано это с тем, что последнее десятилетие дало огромный толчок в развитии соответствующих технологий, а также полностью перевернуло представление о рассматриваемых apps.</p>
68
<p>Сегодня нет единой классификации, которая может описать сразу все приложения, которые работают с Сетью. В Google полно вариантов. Связано это с тем, что последнее десятилетие дало огромный толчок в развитии соответствующих технологий, а также полностью перевернуло представление о рассматриваемых apps.</p>
69
<p>В Google удастся обнаружить "классическое" разбиение утилиты. Всего веб софта 5 типов:</p>
69
<p>В Google удастся обнаружить "классическое" разбиение утилиты. Всего веб софта 5 типов:</p>
70
<ul><li>серверные;</li>
70
<ul><li>серверные;</li>
71
<li>клиентские;</li>
71
<li>клиентские;</li>
72
<li>MPA;</li>
72
<li>MPA;</li>
73
<li>SPA;</li>
73
<li>SPA;</li>
74
<li>PWA.</li>
74
<li>PWA.</li>
75
</ul><p>Далее каждый вариант будет рассмотрен более подробно. Эта информация поможет понять, какое именно веб-приложение хочет написать разработчик.</p>
75
</ul><p>Далее каждый вариант будет рассмотрен более подробно. Эта информация поможет понять, какое именно веб-приложение хочет написать разработчик.</p>
76
<h3>Серверные</h3>
76
<h3>Серверные</h3>
77
<p>Серверные web программы работают на удаленных устройствах. Для их создания обычно используют такие языки программирования:</p>
77
<p>Серверные web программы работают на удаленных устройствах. Для их создания обычно используют такие языки программирования:</p>
78
<ul><li>Python;</li>
78
<ul><li>Python;</li>
79
<li>C#;</li>
79
<li>C#;</li>
80
<li>Ruby;</li>
80
<li>Ruby;</li>
81
<li>Java;</li>
81
<li>Java;</li>
82
<li>PHP.</li>
82
<li>PHP.</li>
83
</ul><p>Пользовательского вмешательства практически не требуют. Во время перехода между страницами происходит генерирование нового контента.</p>
83
</ul><p>Пользовательского вмешательства практически не требуют. Во время перехода между страницами происходит генерирование нового контента.</p>
84
<p>Пример - push-уведомления в смартфоне. Пользователь будет получать от веб-приложения информацию о новом сообщении, письме, корректировках тарифов, ничего не делая.</p>
84
<p>Пример - push-уведомления в смартфоне. Пользователь будет получать от веб-приложения информацию о новом сообщении, письме, корректировках тарифов, ничего не делая.</p>
85
<h3>Клиентские</h3>
85
<h3>Клиентские</h3>
86
<p>Google уверяет, что есть и клиентские программы. Они не требуют наличия серверной части и обходятся JavaScript. Сделанные утилиты будут использовать в виде оболочки браузер юзера. Не позволяют сохранять результат работы дольше одной сессии.</p>
86
<p>Google уверяет, что есть и клиентские программы. Они не требуют наличия серверной части и обходятся JavaScript. Сделанные утилиты будут использовать в виде оболочки браузер юзера. Не позволяют сохранять результат работы дольше одной сессии.</p>
87
<h3>SPA</h3>
87
<h3>SPA</h3>
88
<p>Это - одностраничники. Они отвечают за реализацию сложного функционала в браузерном окне. Для того, чтобы принять решение и отобразить результат, обозреватель сети перезагружать нет никакой необходимости.</p>
88
<p>Это - одностраничники. Они отвечают за реализацию сложного функционала в браузерном окне. Для того, чтобы принять решение и отобразить результат, обозреватель сети перезагружать нет никакой необходимости.</p>
89
<p>Достигается за счет технологий AJAX. В качестве ответа на действие юзера будет меняться содержание странички. Пример - почти все почтовые сервисы.</p>
89
<p>Достигается за счет технологий AJAX. В качестве ответа на действие юзера будет меняться содержание странички. Пример - почти все почтовые сервисы.</p>
90
<h3>MPA</h3>
90
<h3>MPA</h3>
91
<p>Web приложения могут быть и типа MPA - многостраничные. Их применяют компании для построения сложных систем. Здесь:</p>
91
<p>Web приложения могут быть и типа MPA - многостраничные. Их применяют компании для построения сложных систем. Здесь:</p>
92
<ol><li>Корректировки информации приводят к полной перезагрузке странички.</li>
92
<ol><li>Корректировки информации приводят к полной перезагрузке странички.</li>
93
<li>При наличии большого количества данных и контента - это лучшее решение.</li>
93
<li>При наличии большого количества данных и контента - это лучшее решение.</li>
94
<li>Требуют большого количества ресурсов и обходятся дороже при разработке web приложений.</li>
94
<li>Требуют большого количества ресурсов и обходятся дороже при разработке web приложений.</li>
95
</ol><p>Пример - интернет-магазин с огромным ассортиментом товаров вроде Wildberries или Amazon.</p>
95
</ol><p>Пример - интернет-магазин с огромным ассортиментом товаров вроде Wildberries или Amazon.</p>
96
<h3>PWA</h3>
96
<h3>PWA</h3>
97
<p>Среди основных типов web приложений PWA выступает инновационным решением. Способ подачи информации, который схож с "оффлайн" утилитами. Основная область применения - мобильные устройства.</p>
97
<p>Среди основных типов web приложений PWA выступает инновационным решением. Способ подачи информации, который схож с "оффлайн" утилитами. Основная область применения - мобильные устройства.</p>
98
<h2>Принцип работы</h2>
98
<h2>Принцип работы</h2>
99
<p>Google подскажет, как организована работа рассматриваемого типа софта. В сети устройства с выходом в Интернет носят название узлов. Ими выступают:</p>
99
<p>Google подскажет, как организована работа рассматриваемого типа софта. В сети устройства с выходом в Интернет носят название узлов. Ими выступают:</p>
100
<ul><li>компьютеры и ноутбуки;</li>
100
<ul><li>компьютеры и ноутбуки;</li>
101
<li>мобильные девайсы;</li>
101
<li>мобильные девайсы;</li>
102
<li>роутеры.</li>
102
<li>роутеры.</li>
103
</ul><p>За клиентскую часть приложения отвечает frontend-разработка, для серверную - backend.</p>
103
</ul><p>За клиентскую часть приложения отвечает frontend-разработка, для серверную - backend.</p>
104
<h3>Клиентская часть</h3>
104
<h3>Клиентская часть</h3>
105
<p>Google - поисковик, который может выдать противоречивую информацию. Поэтому стоит изучать особенности web приложений постепенно. Особую роль играет клиентская часть.</p>
105
<p>Google - поисковик, который может выдать противоречивую информацию. Поэтому стоит изучать особенности web приложений постепенно. Особую роль играет клиентская часть.</p>
106
<p>Фронтенд разработка - это создание визуальной составляющей будущей утилиты. Она отвечает за выполнение тех или иных действий со стороны юзера. То, что пользователь будет видеть на экране и взаимодействовать.</p>
106
<p>Фронтенд разработка - это создание визуальной составляющей будущей утилиты. Она отвечает за выполнение тех или иных действий со стороны юзера. То, что пользователь будет видеть на экране и взаимодействовать.</p>
107
<h3>Серверная часть</h3>
107
<h3>Серверная часть</h3>
108
<p>Бэкенд разработка - то, что пользователь визуально оценить не в состоянии в web приложении. Это - логика, прописанная программером. Она реализуется на стороне удаленного сервера. Таковым обычно выступает отдельный мощный компьютер.</p>
108
<p>Бэкенд разработка - то, что пользователь визуально оценить не в состоянии в web приложении. Это - логика, прописанная программером. Она реализуется на стороне удаленного сервера. Таковым обычно выступает отдельный мощный компьютер.</p>
109
<p>При раскрытии страницы веб-приложения, если верить Google, происходит следующее:</p>
109
<p>При раскрытии страницы веб-приложения, если верить Google, происходит следующее:</p>
110
<ol><li>Клиент направляет команду-запрос на сервер. Здесь все находится в зависимости от протоколов. Обычно задействован HTTP.</li>
110
<ol><li>Клиент направляет команду-запрос на сервер. Здесь все находится в зависимости от протоколов. Обычно задействован HTTP.</li>
111
<li>Server получает и обрабатывает данные.</li>
111
<li>Server получает и обрабатывает данные.</li>
112
<li>Происходит выдача ответа. Пример - отображение странички.</li>
112
<li>Происходит выдача ответа. Пример - отображение странички.</li>
113
</ol><p>Для того, чтобы реализовывать веб-технологии, нужно не только уметь программировать, но и работать с базами данных.</p>
113
</ol><p>Для того, чтобы реализовывать веб-технологии, нужно не только уметь программировать, но и работать с базами данных.</p>
114
<h2>Несколько слов об HTTP</h2>
114
<h2>Несколько слов об HTTP</h2>
115
<p>Уровень приложения в модели TCP/IP - это самый высокий по Google. Работа веб-приложений связана с протоколом HTTP.</p>
115
<p>Уровень приложения в модели TCP/IP - это самый высокий по Google. Работа веб-приложений связана с протоколом HTTP.</p>
116
<p>Это - свод принципов и правил передачи гипертекста. Изначально он предназначался для того, чтобы передавать информацию в виде HTML. Сейчас отвечает за управление доступом и пересылку любых сведений в клиент-серверной утилите.</p>
116
<p>Это - свод принципов и правил передачи гипертекста. Изначально он предназначался для того, чтобы передавать информацию в виде HTML. Сейчас отвечает за управление доступом и пересылку любых сведений в клиент-серверной утилите.</p>
117
<p>ПО, работающее с HTTP-протоколами, подразделяют на:</p>
117
<p>ПО, работающее с HTTP-протоколами, подразделяют на:</p>
118
<ul><li>клиенты;</li>
118
<ul><li>клиенты;</li>
119
<li>прокси;</li>
119
<li>прокси;</li>
120
<li>серверы.</li>
120
<li>серверы.</li>
121
</ul><p>У HTTP протоколов несколько версий. Ходовая - HTTP/1.1. Он предусматривает постоянный коннектинг веб-приложения по TCP. Версия HTTP/2 появился в 2015 году и помогает заниматься уплотнением каналов. Третья версия предусматривает замену TCP на UPD.</p>
121
</ul><p>У HTTP протоколов несколько версий. Ходовая - HTTP/1.1. Он предусматривает постоянный коннектинг веб-приложения по TCP. Версия HTTP/2 появился в 2015 году и помогает заниматься уплотнением каналов. Третья версия предусматривает замену TCP на UPD.</p>
122
<p>Это - ключевая информация о рассматриваемом типе утилит. Они встречаются в обыденной жизни все чаще. А если закончить специализированные компьютерные курсы, можно быстро создать собственное веб-приложение на разных языках. Пользователей ждет практика, грамотно поданная теория, а также сертификат о полученных знаниях.</p>
122
<p>Это - ключевая информация о рассматриваемом типе утилит. Они встречаются в обыденной жизни все чаще. А если закончить специализированные компьютерные курсы, можно быстро создать собственное веб-приложение на разных языках. Пользователей ждет практика, грамотно поданная теория, а также сертификат о полученных знаниях.</p>
123
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em></p>
123
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em></p>
124
124