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