exam19 - stankin/inet-2022 GitHub Wiki

Билет 19

1. Модель взаимосвязи открытых систем. Понятие канала данных.

2. Современные фреймворки и их применение для разработки веб-приложений.

◀️ Реферат к вопросам экзамена по дисциплине Интернет-технологии 1 курса магистратуры ▶️

Выполнили: Козмин Вадим ИДМ-22-02, Белоцерковец Александр ИДМ-22-06, Глущенко Дмитрий ИДМ-22-04, Маликова Елизавета ИДМ-22-08, Попкова Юлия ИДМ-22-01, Шайдуллов Амир ИДМ-22-07

Модель взаимосвязи открытых систем. Понятие канала данных

Канал (канал связи) – средство односторонней передачи данных. Примером канала может быть полоса частот, выделенная одному пере­датчику при радиосвязи. В некоторой линии можно образовать несколь­ко каналов связи, по каждому из которых передается своя информация, т. е. линия разделяется между несколькими каналами. Существуют два метода разделения линии передачи данных: временное мультиплекси­рование (иначе разделение по времени, или TDM), при котором каждому каналу выделяется некоторый квант времени, и частотное разделение (FDM – Frequency Division Method), при котором каналу выделяется не­которая полоса частот.

Канал передачи данных – средства двустороннего обмена данными, включающие АКД и линию передачи данных.

По природе физической среды передачи данных (ПД) различают каналы передачи данных на оптических линиях связи, проводных (медных) линиях связи и беспроводные. В свою очередь, медные каналы могут быть представлены коаксиальными кабелями и витыми парами, а беспроводные – радио- и инфракрасными каналами.

В зависимости от способа представления информации электриче­скими сигналами различают аналоговые и цифровые каналы передачи данных. В аналоговых каналах для согласования параметров среды и сигналов применяют амплитудную, частотную, фазовую и квадратурно-амплитудную модуляции. В цифровых каналах для передачи данных используют самосинхронизирующиеся коды, а для передачи аналоговых сигналов – кодово-импульсную модуляцию.

Первые сети ПД были аналоговыми, поскольку использовали распространенные телефонные технологии. Но в дальнейшем устойчиво растет доля цифровых коммуникаций (это каналы типа Е1/Т1, ISDN, сети Frame Relay, выделенные цифровые линии и др.).

В зависимости от направления передачи различают каналы симплексные (односторонняя передача), дуплексные (возможность одновременной передачи в обоих направлениях) и полудуплексные (возможность попеременной передачи в обоих направлениях).

В зависимости от числа каналов связи в аппаратуре ПД различают одно- и многоканальные средства ПД. В локальных вычислительных сетях и в цифровых каналах передачи данных обычно используют временное мультиплексирование, в аналоговых каналах – частотное разделение.

Если канал ПД монопольно используется одной организацией, то такой канал называют выделенным, в противном случае канал является разделяемым или виртуальным (общего пользования).

Аналоговые каналы передачи данных. Аналоговый канал на входе (и, соответственно, на выходе) имеет непрерывный сигнал, те или иные характеристики которого (например, амплитуда или частота) несут передаваемую информацию. Наиболее распространенным типом аналоговых каналов являются телефонные каналы общего пользования (каналы тональной частоты). В каналах тональной частоты полоса пропускания составляет 0,3...3,4 кГц, что соответствует спектру человеческой речи.

Проводные линии связи. В вычислительных сетях проводные линии связи представлены коаксиальными кабелями и витыми парами проводов.

Используются коаксиальные кабели: "толстый" диаметром 12,5 мм и "тонкий" диаметром 6,25 мм. "Толстый" кабель имеет меньшее затухание, лучшую помехозащищенность, что обеспечивает возможность работы на больших расстояниях, но он плохо гнется, что затрудняет прокладку соединений в помещениях, и дороже "тонкого".

Цифровые каналы передачи данных. Различают несколько технологий связи, основанных на цифровых каналах передачи данных.

Связь ООД с АКД (например, компьютера с модемом или низкоскоростными периферийными устройствами) чаще всего осуществляется при помощи последовательных интерфейсов RS-232С, RS-422 (их аналогами в системе стандартов ITU являются V.24, V.11), а связь ООД с цифровыми сетями передачи данных - при помощи интерфейсов Х.21, X.35, G.703.

Современные фреймворки и их применение для разработки веб-приложений.

Фреймворки — это программные продукты, которые упрощают создание и поддержку технически сложных или нагруженных проектов. Фреймворк, как правило, содержит только базовые программные модули, а все специфичные для проекта компоненты реализуются разработчиком на их основе. Тем самым достигается не только высокая скорость разработки, но и большая производительность и надёжность решений.

Преимущества фреймворков:

  1. Простота в сопровождении проекта.
  2. Проекты на базе фреймворков легко масштабируемы и модернизируемы.
  3. Решения на фреймворках, как правило, работают значительно быстрее и выдерживают большую нагрузку, чем CMS и самописные системы.

Фреймворк Vue JS

Vue JS отлично подходит для начинающих разработчиков. Vue JS — это один из самых популярных фреймворков JavaScript, который предназначен для реализации пользовательского интерфейса в приложениях и веб-сайтах. Он легко интегрируется в любые интернет-разработки в качестве основного инструмента для frontend. Vue JS для начинающих программистов открывает широкие возможности в мире веб-дизайна, так как обладает достаточно широкими возможностями. При этом данный фреймворк является не слишком сложным в изучении, если сравнивать его с «конкурентами»: React или Angular.

Обзор Vue JS

Vue JS — это своего рода уже готовый «каркас» для разработки интерфейсов на языке программирования JavaScript. Внутри него уже собраны все необходимые библиотеки, которые дают возможность проще и быстрее вести разработку. Данный фреймворк вышел в 2014-м году. В его основе лежит другой фреймворк — Angular JS. Angular JS — это довольно сложный инструмент, поэтому Evan You (сотрудник компании Google) его «переработал» и создал легкий и простой Vue JS. Vue JS — это инструмент уровня «представления», он очень легко интегрируется с другими библиотеками и инструментами в любых проектах на разных этапах. То есть его внедрение может быть постепенным в уже существующий проект, тем самым возможности проекта расширяются. Простое интегрирование с проектами, библиотеками и другими фреймворками — это главная отличительная черта Vue JS.

Особенности Vue JS

Vue JS, как и любой другой подобный инструмент, обладает собственными особенностями, которые его выделяют на общем фоне:

  1. Virtual DOM. Vue JS работает с виртуальным DOM, как и некоторые другие фреймворки, такие как React, Ember и др. Кстати, впервые такая возможность стала доступной на React. Оценив ее достоинства, другие инструменты для разработки стали применять ее у себя. Так поступил и Vue JS.
  2. Привязывает данные элементам. В Vue JS есть специальная функция, которая способна создавать и привязывать значения элементам HTML: изменять атрибуты, стили, взаимодействовать с классами и др.
  3. Компонентность. Vue JS создает собственные компоненты (они же пользовательские элементы) — их можно неоднократно повторять в HTML-документе.
  4. Анимация. Данный фреймворк легко взаимодействует со сторонними библиотеками анимации. Помимо этого, по умолчанию в нем встроены функции, которые могут задавать элементам «эффект перехода».
  5. Шаблоны. В Vue JS есть собственные HTML-шаблоны, что может ускорить вашу разработку.
  6. Директивы. В этом фреймворке встроены собственные директивы: v-if, v-else, v-show и др. Они помогают быстрее и легче выполнять различные действия во frontend.
  7. Наблюдатель. В Vue JS есть собственный «наблюдатель», который, например, будет следить за изменяемыми вводными данными. Для этого не нужно писать дополнительный код.
  8. Компактность. Сам фреймворк очень легковесный, поэтому он не «нагрузит» вашу разработку и обеспечит должную производительность.

Vue JS и конкуренты

У Vue JS два основных конкурента — React и Angular. Вообще конкурентов больше, то есть работу, которую можно сделать на Vue JS, можно выполнить и другими фреймворками и языками программирования. Но парочка «React и Angular» ближе «по духу» к Vue JS, так как все они являются производными от языка программирования JavaScript. Поэтому имеет смысл сравнивать именно эти три инструмента.

Если коротко, то Vue JS по функциональности больше похож на React, хотя бы потому, что оба инструмента используют в своей работе виртуальный DOM и компонентность. Оба эти инструмента показывают высокую производительность и хорошую масштабируемость. Однако React все-таки немного «круче» за счет того, что имеет более разнообразную экосистему вокруг себя и позволяет работать там, где Vue JS не может, например, при разработке виртуальной реальности. React использует JSX, а это значит, что для него HTML, CSS, JavaScript — это все часть JavaScript. А Vue JS не использует JSX, а это значит, что для него HTML, CSS, JavaScript — разные понятия.

В то же время у Vue JS очень много общего с Angular JS, можно даже сказать, что последний очень сильно повлиял на Vue, так как именно из-за работы на Angular Эван Ю решил сделать более простой инструмент для разработки фронтенда, и получился Vue JS. При этом Vue JS реально проще, чем Angular, и более дружелюбен для начинающих разработчиков. Плюс Vue более гибкий и не такой строгий, как Angular. Если сравнивать производительность, то оба фреймворка примерно на одном уровне. React для тех, кто любит прогрессивный стиль программирования. Angular — это более строгий стиль программирования, подходит для тех, кто разрабатывал на Java или C#. А Vue JS предлагает простой классический стиль программирования, поэтому подходит для всех.

Фреймворк Django

Django – один из самых наиболее популярных фреймворков для веб-разработки на Python. Многие популярные сайты (Instagram, Youtube, Spotify) работают с помощью данного фреймворка. В официальном каталоге Django есть сотни плагинов и библиотек, которые помогут быстро и качественно разработать проект. Отличительной особенностью фреймворка является система управления информацией («админка»), которая создается автоматически. При необходимости её можно настроить в очень широких пределах. Важно отметить работу с базами данных в Django. За это в фреймворке отвечает Django ORM (объектно-реляционное отображение). Это «переводчик» с языка Python на язык SQL (от англ. Structured Query Language — «язык структурированных запросов»), понятный большинству баз данных. Благодаря Django ORM все запросы к базе данных можно писать прямо на Python.

Особенности Django

Основные преимущества фреймворка Django, благодаря которым он стал популярным:

  1. Развитая экосистема. Опытные разработчики рекомендуют воспринимать Django как систему. Это значит, что фреймворк обычно используется с большим количеством сторонних приложений. Их можно выбирать в зависимости от потребностей конкретного проекта.
  2. Зрелость. Django был представлен в 2005 году. За 14 лет существования он сильно изменился и усовершенствовался. В фреймворке постоянно появляются новые возможности, а старые совершенствуются.
  3. Административная панель. Административная панель Django автоматически генерируется при создании приложения. Это избавляет разработчика от необходимости создавать админку вручную.
  4. SEO-дружественность. Написанный на Python код получается читабельным и понятным даже неподготовленным людям. Это один из факторов, благодаря которым веб-приложения на Python считаются SEO-дружественными.
  5. Расширяемость. Функциональность Django расширяется с помощью плагинов. Это программные модули, которые позволяют быстро добавить на сайт нужную функцию.
  6. Библиотеки. В популярных языках программирования есть библиотеки, с помощью которых удобно решать специальные задачи. В библиотеках можно найти готовые решения: функции, классы, конфигурации и так далее. Благодаря таким решениям расширяются возможности языка, а также упрощается создание приложений.

Django и конкуренты

Фреймворки ускоряют разработку веб-приложений. И в экосистеме Python есть несколько фреймворков, которые можно рассматривать в качестве альтернативы Django. В их число входят Pyramid, Flask и Tornado. Все три инструмента подходят для работы как с масштабными проектами, так и с небольшими приложениями.

Также в качестве альтернативы можно рассматривать PHP-фреймворки, например, Laravel, Symphony или CakePHP. Например, Laravel подходит для работы с масштабными и маленькими проектами, и в этом фреймворке есть мощный движок шаблонов.

Если для вашего проекта критически важна безопасность, Laravel можно считать инструментом первого выбора. В нём реализованы мощные инструменты шифрования. Этот PHP-фреймворк работает с базами данных MySQL, PostgreSQL, SQL Server, SQ Lite.

Ещё одна достойная альтернатива — фреймворк Ruby on Rails. Этот инструмент ускоряет создание веб-приложений и позволяет разработчикам сфокусироваться скорее на бизнес-логике, чем на коде. Кстати, наш сайт создан на Ruby on Rails.

ИСТОЧНИКИ

  1. 📑 Каналы передачи данных - студопедия
  2. 📃 А.А. Байдыбеков "Современные фреймворки для разработки веб-приложений"
  3. 💬 Для чего нужен Vue JS? Базовая терминология и информация для новичков
  4. 📃 Почему Django — лучший фреймворк для разработки сайтов