0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Jupyter Lab - определение</a><ul><li><a>Ключевые возможности</a></li>
1
<ul><li><a>Jupyter Lab - определение</a><ul><li><a>Ключевые возможности</a></li>
2
</ul></li>
2
</ul></li>
3
<li><a>JupyterNotebook - это…</a></li>
3
<li><a>JupyterNotebook - это…</a></li>
4
<li><a>Поддержка языков</a></li>
4
<li><a>Поддержка языков</a></li>
5
<li><a>Notebook и облако</a></li>
5
<li><a>Notebook и облако</a></li>
6
<li><a>Notebook на локальном устройстве</a><ul><li><a>Через Anaconda</a></li>
6
<li><a>Notebook на локальном устройстве</a><ul><li><a>Через Anaconda</a></li>
7
</ul></li>
7
</ul></li>
8
<li><a>Запуск Notebook и Lab</a></li>
8
<li><a>Запуск Notebook и Lab</a></li>
9
<li><a>Особенности работы в JupyterNotebook</a><ul><li><a>Вкладка Cell</a></li>
9
<li><a>Особенности работы в JupyterNotebook</a><ul><li><a>Вкладка Cell</a></li>
10
<li><a>Раздел Kernel</a></li>
10
<li><a>Раздел Kernel</a></li>
11
</ul></li>
11
</ul></li>
12
</ul><p>Информационный анализ и работа с "большими данными" - процессы, требующие применения определенных технологий. Без специального программного обеспечения обработать огромные объемы информации не представляется возможным. Сегодня существуют различные программы, инструменты и приложения, помогающие добиваться желаемого результата. Популярным вариантом выступает Jupyter.</p>
12
</ul><p>Информационный анализ и работа с "большими данными" - процессы, требующие применения определенных технологий. Без специального программного обеспечения обработать огромные объемы информации не представляется возможным. Сегодня существуют различные программы, инструменты и приложения, помогающие добиваться желаемого результата. Популярным вариантом выступает Jupyter.</p>
13
<p>Этот инструмент будет рассмотрен далее более подробно. Предстоит разобраться с его особенностями, сферой применения, а также установкой и запуском. Также внимание будет заострено на проекте the Jupyter Notebook. Предложенная информация пригодится преимущественно тем, кто занят в сфере IT или работает в Data Science.</p>
13
<p>Этот инструмент будет рассмотрен далее более подробно. Предстоит разобраться с его особенностями, сферой применения, а также установкой и запуском. Также внимание будет заострено на проекте the Jupyter Notebook. Предложенная информация пригодится преимущественно тем, кто занят в сфере IT или работает в Data Science.</p>
14
<h2>Jupyter Lab - определение</h2>
14
<h2>Jupyter Lab - определение</h2>
15
<p>The Jupyter Lab - это многофункциональная среда разработки. Она используется для получения удобного и быстрого доступа к разнообразным интерактивным вычислительным функциям и возможностям.</p>
15
<p>The Jupyter Lab - это многофункциональная среда разработки. Она используется для получения удобного и быстрого доступа к разнообразным интерактивным вычислительным функциям и возможностям.</p>
16
<p>Данное программное обеспечение представляет собой интерфейс, с помощью которого удастся написать и выполнить код сразу на нескольких языках программирования, а также визуализировать информацию и поделиться своими исследованиями с другими пользователями. Это - модульная структура. Она позволяет открывать в одной вкладке браузера сразу несколько элементов под названием the JupyterNotebook. Соответствующий инструмент простыми словами - это IDE.</p>
16
<p>Данное программное обеспечение представляет собой интерфейс, с помощью которого удастся написать и выполнить код сразу на нескольких языках программирования, а также визуализировать информацию и поделиться своими исследованиями с другими пользователями. Это - модульная структура. Она позволяет открывать в одной вкладке браузера сразу несколько элементов под названием the JupyterNotebook. Соответствующий инструмент простыми словами - это IDE.</p>
17
<h3>Ключевые возможности</h3>
17
<h3>Ключевые возможности</h3>
18
<p>The Jupyter Lab поддерживает следующие возможности и функции:</p>
18
<p>The Jupyter Lab поддерживает следующие возможности и функции:</p>
19
<ol><li>Создание и открытие документов. Здесь поддерживаются форматы "ноутбука" (.ipynb), скрипты Питон (.py), текстовые файлы (.txt) и другие.</li>
19
<ol><li>Создание и открытие документов. Здесь поддерживаются форматы "ноутбука" (.ipynb), скрипты Питон (.py), текстовые файлы (.txt) и другие.</li>
20
<li>Возможность редактирования программного кода. С его помощью получится не только создавать приложения, но и тестировать их на языке Питон. Некоторые другие языки разработки тоже поддерживаются рассматриваемым инструментом.</li>
20
<li>Возможность редактирования программного кода. С его помощью получится не только создавать приложения, но и тестировать их на языке Питон. Некоторые другие языки разработки тоже поддерживаются рассматриваемым инструментом.</li>
21
<li>Поддержка интерактивных виджетов: кнопок, ползунков, текстовых полей и других компонентов. Они делают работу с информацией максимально комфортной.</li>
21
<li>Поддержка интерактивных виджетов: кнопок, ползунков, текстовых полей и других компонентов. Они делают работу с информацией максимально комфортной.</li>
22
<li>Визуализация данных. У JupyterLab имеется множество инструментов, а также библиотек, позволяющих визуализировать информацию. За счет этого получается рисовать графики, диаграммы, а также иные визуальные представления, используемые для анализа и визуализации.</li>
22
<li>Визуализация данных. У JupyterLab имеется множество инструментов, а также библиотек, позволяющих визуализировать информацию. За счет этого получается рисовать графики, диаграммы, а также иные визуальные представления, используемые для анализа и визуализации.</li>
23
<li>Отладка и выполнение программного кода. Написанный код может выполняться по ячейкам. Здесь предусматривается пошаговое отслеживание процесса выполнения приложения. Отладчик поможет исправить ошибки и проверить правильность написанного проекта.</li>
23
<li>Отладка и выполнение программного кода. Написанный код может выполняться по ячейкам. Здесь предусматривается пошаговое отслеживание процесса выполнения приложения. Отладчик поможет исправить ошибки и проверить правильность написанного проекта.</li>
24
<li>Коллаборация. Работать в the Jupyter Lab можно не только одному, но и целой группой. Допускается пересылка "ноутбуков", взаимодействие с коллегами при помощи комментариев, а также одновременная работа над одним "ноутбуком".</li>
24
<li>Коллаборация. Работать в the Jupyter Lab можно не только одному, но и целой группой. Допускается пересылка "ноутбуков", взаимодействие с коллегами при помощи комментариев, а также одновременная работа над одним "ноутбуком".</li>
25
</ol><p>Все это делает the Jupyter Lab удобным и функциональным программным обеспечением для выполнения задач, связанных с анализом данных, машинным обучением и научными исследованиями.</p>
25
</ol><p>Все это делает the Jupyter Lab удобным и функциональным программным обеспечением для выполнения задач, связанных с анализом данных, машинным обучением и научными исследованиями.</p>
26
<h2>JupyterNotebook - это…</h2>
26
<h2>JupyterNotebook - это…</h2>
27
<p>The JupyterNotebook (ноутбук, the notebook) - программное обеспечение, которое используется в Data Science. Приложение, которое представляет собой среду разработки. Через нее предлагается сразу видеть результат выполнения имеющегося программного кода или его отдельного фрагмента.</p>
27
<p>The JupyterNotebook (ноутбук, the notebook) - программное обеспечение, которое используется в Data Science. Приложение, которое представляет собой среду разработки. Через нее предлагается сразу видеть результат выполнения имеющегося программного кода или его отдельного фрагмента.</p>
28
<p>Это веб-программа для создания вычислительных блокнотов. У него поддерживаются быстрые интерактивные способы создания прототипов, а также объяснений кодов, исследований и визуализации информации. The notebook - интерактивная вычислительная среда. Чаще всего она взаимодействует с языком Python.</p>
28
<p>Это веб-программа для создания вычислительных блокнотов. У него поддерживаются быстрые интерактивные способы создания прототипов, а также объяснений кодов, исследований и визуализации информации. The notebook - интерактивная вычислительная среда. Чаще всего она взаимодействует с языком Python.</p>
29
<p>Ноутбук - набор блоков кода, взаимодействующих друг с другом. Чаще всего соответствующее программное обеспечение используется в браузерах для анализа информации. Один the notebook - это одна браузерная вкладка.</p>
29
<p>Ноутбук - набор блоков кода, взаимодействующих друг с другом. Чаще всего соответствующее программное обеспечение используется в браузерах для анализа информации. Один the notebook - это одна браузерная вкладка.</p>
30
<p>Jupyter Notebook предусматривает две ключевые составляющие (части):</p>
30
<p>Jupyter Notebook предусматривает две ключевые составляющие (части):</p>
31
<ul><li>веб-приложение;</li>
31
<ul><li>веб-приложение;</li>
32
<li>"ноутбуки" - файлы, в которых предстоит работать с исходным кодом приложения, запускают его, а затем выводят в разнообразных форматах.</li>
32
<li>"ноутбуки" - файлы, в которых предстоит работать с исходным кодом приложения, запускают его, а затем выводят в разнообразных форматах.</li>
33
</ul><p>Рассматриваемое приложение позволяет написать функцию и проверить ее работу, не запуская всю программу целиком. Оно дает возможность поменять порядок реализации исходного кода. Допустимо отдельно загрузить файл в память, отдельно проверить его содержимое и отдельно обработать полученные цифровые материалы.</p>
33
</ul><p>Рассматриваемое приложение позволяет написать функцию и проверить ее работу, не запуская всю программу целиком. Оно дает возможность поменять порядок реализации исходного кода. Допустимо отдельно загрузить файл в память, отдельно проверить его содержимое и отдельно обработать полученные цифровые материалы.</p>
34
<p>Еще одна особенность the Jupyter Notebook - возможность вывода результата непосредственно после обработки части кода. Пример - разработчик может увидеть прямо в середине написанного приложения построенный системой график, получить предварительные расчеты (цифры) или любую иную виртуализацию.</p>
34
<p>Еще одна особенность the Jupyter Notebook - возможность вывода результата непосредственно после обработки части кода. Пример - разработчик может увидеть прямо в середине написанного приложения построенный системой график, получить предварительные расчеты (цифры) или любую иную виртуализацию.</p>
35
<h2>Поддержка языков</h2>
35
<h2>Поддержка языков</h2>
36
<p>The Jupyter Notebook часто ассоциируется с Python. На самом деле рассматриваемое приложение может работать с самыми разными языками программирования. К ним относят:</p>
36
<p>The Jupyter Notebook часто ассоциируется с Python. На самом деле рассматриваемое приложение может работать с самыми разными языками программирования. К ним относят:</p>
37
<ul><li>Python;</li>
37
<ul><li>Python;</li>
38
<li>bash-скрипты;</li>
38
<li>bash-скрипты;</li>
39
<li>R;</li>
39
<li>R;</li>
40
<li>Perl.</li>
40
<li>Perl.</li>
41
</ul><p>Для этого необходимо пользоваться "магическими" командами. Они так и называются - magic-команды. С их помощью получится запустить код на других языках, а также значительно расширить возможности "классического" Python.</p>
41
</ul><p>Для этого необходимо пользоваться "магическими" командами. Они так и называются - magic-команды. С их помощью получится запустить код на других языках, а также значительно расширить возможности "классического" Python.</p>
42
<h2>Notebook и облако</h2>
42
<h2>Notebook и облако</h2>
43
<p>Notebook может запускаться несколькими способами - в облаке или непосредственно на компьютере. Проще всего пользоваться первой технологией. Пример подходящего облака - Google Colab.</p>
43
<p>Notebook может запускаться несколькими способами - в облаке или непосредственно на компьютере. Проще всего пользоваться первой технологией. Пример подходящего облака - Google Colab.</p>
44
<p>Работа с Юпитер Ноутбук соответствующим методом позволяет всего лишь запустить браузер и открыть необходимую страницу. Облачная система самостоятельно выделит необходимые разработчику ресурсы и даст возможность запуска любого программного кода.</p>
44
<p>Работа с Юпитер Ноутбук соответствующим методом позволяет всего лишь запустить браузер и открыть необходимую страницу. Облачная система самостоятельно выделит необходимые разработчику ресурсы и даст возможность запуска любого программного кода.</p>
45
<p>У этого подхода есть преимущество. Оно заключается в том, что на компьютер ничего не придется устанавливать. Облачный сервис справится с подготовкой изучаемой технологии самостоятельно. Все, что останется сделать программисту - это написать и запустить исходный код.</p>
45
<p>У этого подхода есть преимущество. Оно заключается в том, что на компьютер ничего не придется устанавливать. Облачный сервис справится с подготовкой изучаемой технологии самостоятельно. Все, что останется сделать программисту - это написать и запустить исходный код.</p>
46
<p>Недостаток у the Jupyter Notebook тоже есть. Он заключается в скорости работы. При запуске программного обеспечения через облачный сервис обработка информации будет не такой быстрой, как при активации технологии на локальной машине. Также стоит учитывать, что в облаке не всегда есть "экзотические" (нестандартные) библиотеки для работы.</p>
46
<p>Недостаток у the Jupyter Notebook тоже есть. Он заключается в скорости работы. При запуске программного обеспечения через облачный сервис обработка информации будет не такой быстрой, как при активации технологии на локальной машине. Также стоит учитывать, что в облаке не всегда есть "экзотические" (нестандартные) библиотеки для работы.</p>
47
<h2>Notebook на локальном устройстве</h2>
47
<h2>Notebook на локальном устройстве</h2>
48
<p>Если хочется полностью самостоятельно контролировать в приложении "Юпитер Ноутбук" все, что происходит с кодом и активированной средой разработки, программа должна быть установлена на локальный компьютер. Сделать это можно при помощи pip:</p>
48
<p>Если хочется полностью самостоятельно контролировать в приложении "Юпитер Ноутбук" все, что происходит с кодом и активированной средой разработки, программа должна быть установлена на локальный компьютер. Сделать это можно при помощи pip:</p>
49
<p>pip3 install jupyter</p>
49
<p>pip3 install jupyter</p>
50
<p>Данная команда применяется в терминале Python. Сразу после установки приложение готово к запуску. Достаточно напечатать ее название в качестве команды, чтобы начать эксплуатацию программного обеспечения.</p>
50
<p>Данная команда применяется в терминале Python. Сразу после установки приложение готово к запуску. Достаточно напечатать ее название в качестве команды, чтобы начать эксплуатацию программного обеспечения.</p>
51
<p>Соответствующая команда запустит браузер, а также локальный сервер, необходимый для функционирования the notebook. Она продемонстрирует готовую среду программирования.</p>
51
<p>Соответствующая команда запустит браузер, а также локальный сервер, необходимый для функционирования the notebook. Она продемонстрирует готовую среду программирования.</p>
52
<h3>Через Anaconda</h3>
52
<h3>Через Anaconda</h3>
53
<p>Anaconda - это дистрибутив Питона, а также пакетный репозиторий, в котором можно обнаружить библиотеки и пакеты, предназначенные для машинного обучения и анализа данных. С помощью этого программного обеспечения тоже можно запустить the python-jupyter-notebook.</p>
53
<p>Anaconda - это дистрибутив Питона, а также пакетный репозиторий, в котором можно обнаружить библиотеки и пакеты, предназначенные для машинного обучения и анализа данных. С помощью этого программного обеспечения тоже можно запустить the python-jupyter-notebook.</p>
54
<p>После установки Anaconda технология Юпитер будет доступна для использования. В нем также можно обнаружить Jupyter Lab, а не только the notebook. Дополнительно поддерживается RStudio для тех, кто планирует писать код на языке R.</p>
54
<p>После установки Anaconda технология Юпитер будет доступна для использования. В нем также можно обнаружить Jupyter Lab, а не только the notebook. Дополнительно поддерживается RStudio для тех, кто планирует писать код на языке R.</p>
55
<p>Установка Anaconda подойдет опытным разработчикам. Она осуществляется так:</p>
55
<p>Установка Anaconda подойдет опытным разработчикам. Она осуществляется так:</p>
56
<ol><li>Скачать дистрибутив Anaconda с официального сайта.</li>
56
<ol><li>Скачать дистрибутив Anaconda с официального сайта.</li>
57
<li>Запустить "Мастер Установки" на компьютере.</li>
57
<li>Запустить "Мастер Установки" на компьютере.</li>
58
<li>Изучить информацию и нажать "Далее". На одном из этапов инициализации будет предложено поставить две галочки - "Добавить Anaconda в переменную path" и "Сделать дистрибутив версией по умолчанию". Ни один из этих пунктов отмечать не нужно.</li>
58
<li>Изучить информацию и нажать "Далее". На одном из этапов инициализации будет предложено поставить две галочки - "Добавить Anaconda в переменную path" и "Сделать дистрибутив версией по умолчанию". Ни один из этих пунктов отмечать не нужно.</li>
59
<li>Дождаться завершения установки программы.</li>
59
<li>Дождаться завершения установки программы.</li>
60
</ol><p>Обычно процесс занимает несколько минут. Сразу после завершения инициализации рекомендуется перезагрузить компьютер. Теперь пользователь сможет использовать the Jupyter Notebook и другие инструменты для работы с большими данными и их дальнейшего анализа.</p>
60
</ol><p>Обычно процесс занимает несколько минут. Сразу после завершения инициализации рекомендуется перезагрузить компьютер. Теперь пользователь сможет использовать the Jupyter Notebook и другие инструменты для работы с большими данными и их дальнейшего анализа.</p>
61
<h2>Запуск Notebook и Lab</h2>
61
<h2>Запуск Notebook и Lab</h2>
62
<p>The notebook можно запустить разными способами. Все зависит от того, как это программное обеспечение было инициализировано. В случае с браузерами и облачным сервисом все понятно - необходимые процессы осуществляются автоматически после открытия пользователем интернет-обозревателя и желаемой страницы с "облаком".</p>
62
<p>The notebook можно запустить разными способами. Все зависит от того, как это программное обеспечение было инициализировано. В случае с браузерами и облачным сервисом все понятно - необходимые процессы осуществляются автоматически после открытия пользователем интернет-обозревателя и желаемой страницы с "облаком".</p>
63
<p>Если была обычная установка (через Питон pip), активировать the notebook поможет команда jupyter notebook, записанная в терминале. Но есть и еще один вариант - запуск через Anaconda. Он является более сложным, поэтому такой вариант установки ПО рекомендован опытным специалистам.</p>
63
<p>Если была обычная установка (через Питон pip), активировать the notebook поможет команда jupyter notebook, записанная в терминале. Но есть и еще один вариант - запуск через Anaconda. Он является более сложным, поэтому такой вариант установки ПО рекомендован опытным специалистам.</p>
64
<p>Чтобы запустить the Jupyter-Python через Anaconda потребуется:</p>
64
<p>Чтобы запустить the Jupyter-Python через Anaconda потребуется:</p>
65
<ol><li>Зайти в Anaconda Navigator. Это можно сделать при помощи меню "Пуск" в Windows или при помощи Anaconda Prompt. Во втором случае после выбора соответствующей службы нужно набрать команду anaconda-navigator и подтвердить обработку.</li>
65
<ol><li>Зайти в Anaconda Navigator. Это можно сделать при помощи меню "Пуск" в Windows или при помощи Anaconda Prompt. Во втором случае после выбора соответствующей службы нужно набрать команду anaconda-navigator и подтвердить обработку.</li>
66
<li>В открывшемся окне найти the Jupyter Notebook.</li>
66
<li>В открывшемся окне найти the Jupyter Notebook.</li>
67
<li>Кликнуть в соответствующем информационном блоке по кнопке "Launch". На компьютере запустится локальный сервер, а в браузере откроется перечень папок устройства.</li>
67
<li>Кликнуть в соответствующем информационном блоке по кнопке "Launch". На компьютере запустится локальный сервер, а в браузере откроется перечень папок устройства.</li>
68
<li>Выбрать папку и создать the notebook. Для этого требуется кликнуть по желаемой папке и в правом верхнем углу кликнуть по New - Python 3.</li>
68
<li>Выбрать папку и создать the notebook. Для этого требуется кликнуть по желаемой папке и в правом верхнем углу кликнуть по New - Python 3.</li>
69
<li>Сохранить файл при помощи File - Save and Checkpoint с именем mynotebook.</li>
69
<li>Сохранить файл при помощи File - Save and Checkpoint с именем mynotebook.</li>
70
</ol><p>Принцип работы в рассматриваемом приложении будет точно таким же, как и в Google Colab. Когда программирование и анализ подойдут к концу, останется закрыть браузерную вкладку.</p>
70
</ol><p>Принцип работы в рассматриваемом приложении будет точно таким же, как и в Google Colab. Когда программирование и анализ подойдут к концу, останется закрыть браузерную вкладку.</p>
71
<h2>Особенности работы в JupyterNotebook</h2>
71
<h2>Особенности работы в JupyterNotebook</h2>
72
<p>Некоторые возможности Юпитер Ноутбук далее будут рассмотрены более подробно. Эта информация поможет быстрее освоить инструмент и использовать его для собственных проектов.</p>
72
<p>Некоторые возможности Юпитер Ноутбук далее будут рассмотрены более подробно. Эта информация поможет быстрее освоить инструмент и использовать его для собственных проектов.</p>
73
<h3>Вкладка Cell</h3>
73
<h3>Вкладка Cell</h3>
74
<p>Вкладка, которая используется для манипулирования запуском или исполнением ячеек. Здесь можно пользоваться такими командами как:</p>
74
<p>Вкладка, которая используется для манипулирования запуском или исполнением ячеек. Здесь можно пользоваться такими командами как:</p>
75
<ul><li>запуск ячейки, оставаясь в ней - Run Cells;</li>
75
<ul><li>запуск ячейки, оставаясь в ней - Run Cells;</li>
76
<li>исполнение всех ячеек в ноутбуке - Run All;</li>
76
<li>исполнение всех ячеек в ноутбуке - Run All;</li>
77
<li>реализация всех ячеек, расположенных выше - Run All Above;</li>
77
<li>реализация всех ячеек, расположенных выше - Run All Above;</li>
78
<li>исполнение ячеек, расположенных ниже текущей - Run All Below;</li>
78
<li>исполнение ячеек, расположенных ниже текущей - Run All Below;</li>
79
<li>очищение вывода - All Output - Clear.</li>
79
<li>очищение вывода - All Output - Clear.</li>
80
</ul><p>Это только начало. Еще одна вкладка в приложении, на которую необходимо обратить внимание в первую очередь - это Kernel.</p>
80
</ul><p>Это только начало. Еще одна вкладка в приложении, на которую необходимо обратить внимание в первую очередь - это Kernel.</p>
81
<h3>Раздел Kernel</h3>
81
<h3>Раздел Kernel</h3>
82
<p>В the Jupyter Notebook за счет вкладки Kernel получится управлять ядром или вычислительным движком ноутбука. Здесь рекомендуется обратить внимание на следующие операции:</p>
82
<p>В the Jupyter Notebook за счет вкладки Kernel получится управлять ядром или вычислительным движком ноутбука. Здесь рекомендуется обратить внимание на следующие операции:</p>
83
<ol><li>Прерывание исполнения ячейки при помощи Interrupt. Команда полезна, когда реализация кода отнимает очень много времени или в нем имеется ошибка, которая не позволит написанной программе самостоятельно завершиться.</li>
83
<ol><li>Прерывание исполнения ячейки при помощи Interrupt. Команда полезна, когда реализация кода отнимает очень много времени или в нем имеется ошибка, которая не позволит написанной программе самостоятельно завершиться.</li>
84
<li>Перезапуск ядра - Restart.</li>
84
<li>Перезапуск ядра - Restart.</li>
85
<li>Очистка вывода. За эту операцию отвечает команда Restart & Clear Output.</li>
85
<li>Очистка вывода. За эту операцию отвечает команда Restart & Clear Output.</li>
86
<li>Повторный запуск всех ячеек - Restart and Run All.</li>
86
<li>Повторный запуск всех ячеек - Restart and Run All.</li>
87
</ol><p>Теперь понятно, что собой представляет the Jupyter Notebook и Jupyter Lab. С некоторыми особенностями этого программного обеспечения тоже удалось познакомиться. Чтобы лучше понимать работу с большими данными и их анализ рекомендуется пройти специализированные дистанционные компьютерные курсы.</p>
87
</ol><p>Теперь понятно, что собой представляет the Jupyter Notebook и Jupyter Lab. С некоторыми особенностями этого программного обеспечения тоже удалось познакомиться. Чтобы лучше понимать работу с большими данными и их анализ рекомендуется пройти специализированные дистанционные компьютерные курсы.</p>
88
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em> </p>
88
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em> </p>
89
89