По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:

В сегодняшней статье рассмотрим модуль, который позволяет просматривать детальную информацию о сервере IP-АТС Asterisk и о процессах, которые на нем запущены прямо из web-интерфейса FreePBX - Asterisk Info. Все примеры в данной статье будут приводиться с использованием FreePBX 13. Ту же самую информацию можно получить, используя командную строку Asterisk – CLI (Command Line Interface). Сразу отметим, что данная информация будет понятна и полезна только продвинутым пользователям Asterisk и системным администраторам, например, при траблшутинге проблем.
Модуль Asterisk Info
Перейдём в модуль и рассмотрим его функционал. Модуль доступен по следующему пути с главной страницы Reports -> Asterisk Info
Как только мы переходим в модуль, перед нами открывается страница Summary. Здесь находится следующая информация:
Uptime – Показывает как долго сервер работает без отключения и рестарта
Reload - Показывает, когда последний раз была выполнена перезагрузка сервера. Перезагрузка происходит после нажатия на кнопку Apply Config, которая появляется после внесения изменений в конфигурацию через вэб-интерфейс
Active SIP Channels -Показывает, как много на сервере активных SIP каналов. Не надо путать с активными звонками.
Active IAX2 Channels – Показывает количество активных IAX2 каналов
SIP Registry - Показывает количество SIP транков, которые зарегистрированы на сервере
IAX2 Registry - Показывает количество IAX2 транков, которые зарегистрированы на сервере
SIP Peers - Показывает количество зарегистрированных SIP пиров. Пир – это внутренний номер (Extension) или транк (Trunk)
IAX2 Peers - Показывает количество зарегистрированных IAX2 пиров.
Справа можно выбрать другой тип отчета.
Registries
Данный отчет показывает каждое соединение, на которое зарегистрирован сервер Asterisk. Обычно здесь находится информация о транках. Этот отчёт показывает, на что зарегистрирован сервер, но не что зарегистрировано на нем, эту информацию следует искать во вкладке Peers.
Channels
Здесь выводится информация о каждом активном канале на сервере. Канал – это одно двустороннее соединение между двумя устройствами.
Peers
Здесь выводится информация о каждом устройстве, транке, внутреннем номере, которое зарегистрировано на сервере Asterisk.
SIP Info
Данный отчёт суммирует предыдущие два Registry и Peers, но выводит информацию только по SIP.
IAX Info
Данный отчёт суммирует Registry и Peers, но выводит информацию только по IAX2.
Conferences Report
Данный отчёт показывает информацию о любых активных конференциях на сервере.
Subscription Report
Показывает список всех подсказок (hints), которые созданы на сервере. Подсказка это то, на что подписана BLF кнопка на телефоне.
Voicemail Users Report
Показывает информацию о голосовой почте пользователей. Например, как много новых сообщений поступило.
Queues
Показывает информацию по очередям. Например, сколько сейчас звонков находится в очереди.
Full Report
Показывает информацию из всех предыдущих вкладок в одном окне.

Благодаря росту объема данных и развитию технологий Data Science набирает популярность. Компании в разных отраслях — от ритейла до банков — нуждаются в специалистах, которые могут работать с данными, создавать модели и внедрять их для решения бизнес-задач. Это делает область Data Science одной из самых востребованных в мире. Наша статья поможет вам разобраться в профессиях, связанных с этой сферой, какие навыки нужны и на какие зарплаты можно ориентироваться.
Кратко про Data Science
Data Science — это область, которая объединяет обработку, анализ и интерпретацию данных. Она включает в себя программирование, статистику и машинное обучение, чтобы выявить закономерности в данных и превратить их в полезную информацию. Примеры использования Data Science можно увидеть в разных сферах — от прогнозирования продаж и создания рекомендаций в онлайн-магазинах до диагностики заболеваний и оптимизации бизнес-процессов. Главная цель — помочь принимать обоснованные решения на основе данных.
Топ-5 профессий в сфере Data Science
Сфера Data Science охватывает множество направлений — это Data Scientists, аналитики данных, инженеры данных, специалисты по машинному обучению и другие. Согласно исследованиям рынка труда и IT-отрасли в 2024 году в России в этой сфере работает порядка 50–70 тысяч человек. А теперь рассмотрим профессии подробнее.
№1. Data Scientist
Data Scientist или дата-сайентист анализирует данные, разрабатывает модели машинного обучения и помогает бизнесу принимать решения на основе прогнозов.
Основные навыки, которые пригодятся дата-сайентисту
Программирование:
языки Python и R – основные инструменты для анализа данных. Вместе с Python применяются библиотеки для анализа (Pandas, NumPy) и машинного обучения (TensorFlow, Scikit-learn). А еще понадобится знание SQL для работы с базами данных.
Математика и статистика:
понимание основ статистики, теории вероятностей и линейной алгебры.
Визуализация данных:
превращение сложных аналитических результатов в понятные отчеты. Инструменты Tableau и Power BI помогают строить интерактивные графики и дашборды для анализа данных в реальном времени. Для работы с графиками в Python пригодятся Matplotlib и Seaborn: Matplotlib подходит для построения базовых графиков, а в Seaborn можно наглядно визуализировать корреляцию и распределение данных.
Машинное обучение:
позволяет решать задачи прогнозирования, классификации и автоматизации. Например, библиотека TensorFlow подходит для построения нейронных сетей, которые можно использовать для распознавания изображений или прогнозирования спроса. PyTorch, благодаря гибкости, удобен для исследований и создания прототипов, например, при разработке моделей для предсказания ценовых изменений. Scikit-learn, в свою очередь, обеспечивает простоту реализации традиционных алгоритмов, таких как регрессия или кластеризация.
Софт-скилы
: аналитическое мышление, коммуникация и умение учиться самостоятельно. Важно не просто уметь анализировать данные, но и понимать, как они помогают бизнесу, объяснять результаты сложного анализа простыми словами и быть готовым учиться новому.
Сколько получает дата-сайентист
Средняя зарплата варьируется от 150 до 250 тысяч рублей.
Junior: 60–80 тыс. руб.
Middle: 100–250 тыс. руб.
Senior: от 250 тыс. руб. (до 500 тыс. руб. в крупных компаниях).
№2. Data Analyst или аналитик данных
Работа аналитика данных состоит из сбора, обработки, анализа и интерпретации данных, а также их визуализации в понятные отчеты и графики. Его цель — помочь компании принимать обоснованные решения на основе фактов, а не догадок. Например, аналитик данных может изучить клиентскую базу, чтобы выделить сегменты, склонные к покупкам, или провести исследование эффективности рекламных кампаний для оптимизации затрат.
Скиллы для работы аналитиком данных
Технические навыки:
важно уметь работать с базами данных и знать SQL. Для аналитика данных нужны продвинутые функции Excel: сводные таблицы, макросы для анализа данных.
Визуализация:
пригодятся инструменты Tableau или Power BI для создания наглядных отчетов и дашбордов.
Статистический анализ:
знание базовых методов статистики (регрессия, корреляция), которые помогают находить закономерности в данных.
Программирование:
навыки работы с Python или R для анализа данных, включая использование библиотек Pandas, NumPy и Matplotlib.
Мягкие навыки
: умение представить сложные данные доступным языком и работа в команде.
Сколько зарабатывает дата-аналитик
Зарплаты варьируются в зависимости от города, уровня квалификации и компании. Средняя зарплата аналитика данных в России составляет:
Junior: 70 000–100 000 рублей в месяц.
Middle: 120 000–180 000 рублей в месяц.
Senior: 200 000–300 000 рублей в месяц.
№ 3. Machine Learning Engineer
Инженер машинного обучения разрабатывает и внедряет модели машинного обучения (ML). Инженеры ML занимаются построением, обучением и оптимизацией моделей, которые позволяют компьютерам прогнозировать данные, анализировать изображения, понимать текст или рекомендовать товары.
Основные навыки инженера машинного обучения
Программирование:
владение языками Python или R, и библиотеками машинного обучения Scikit-learn, TensorFlow и PyTorch. Опыт работы с большими данными с помощью Apache Spark или Hadoop.
Алгоритмы и модели ML:
понимание основных методов машинного обучения: классификации, регрессии, кластеризации. Навыки работы с нейронными сетями и глубоким обучением.
Математика и статистика
: хорошее знание линейной алгебры, теории вероятностей и статистики, которые используются при разработке моделей.
Обработка данных:
умение готовить и очищать данные с помощью Pandas и NumPy и навыки работы с базами данных (SQL).
Разработка и внедрение моделей:
создание моделей, их тестирование и оптимизация. Использование контейнеризации (например, Docker) и технологий для развёртывания моделей в продакшн-среде.
Soft skills:
Работа в команде, так как ML-инженеры взаимодействуют с аналитиками, разработчиками и бизнес-отделами. Умение объяснять сложные технические концепции бизнес-пользователям.
Сколько зарабатывает инженер машинного обучения
Junior ML-инженер может зарабатывать от 80 000 до 120 000 рублей в месяц.
Специалисты со средним уровнем опыта могут рассчитывать на зарплату в диапазоне от 150 000 до 250 000 рублей в месяц.
Senior получает от 330 тысяч рублей и выше, особенно если он работает в крупной ИТ-компании.
№4. Data Engineer (инженер данных)
Инженер данных проектирует и поддерживает инфраструктуру для обработки больших объемов данных. Он ответственен за то, чтобы данные компании, были доступными, структурированными и готовыми для использования аналитиками и моделями машинного обучения.
Основные навыки инженера данных
Работа с базами данных:
владение SQL для управления реляционными базами данных (например, MySQL, PostgreSQL). Плюс опыт работы с NoSQL базами, такими как MongoDB или Cassandra.
Облачные технологии и большие данные:
навыки работы с платформами, такими как AWS, Google Cloud или Azure, а также инструментами обработки больших данных (Apache Spark, Hadoop).
Программирование:
языки Python и Java, которые используются для автоматизации и построения пайплайнов данных. Знание Scala для работы с большими данными.
Инструменты ETL и оркестрация
: умение настраивать процессы извлечения, трансформации и загрузки данных с помощью Airflow, Apache NiFi или Talend.
Инфраструктура и DevOps:
знание контейнеризации (Docker, Kubernetes) и CI/CD-подходов для поддержки и развертывания инфраструктуры данных.
Мягкие навыки:
работа в команде, чтобы координировать задачи с аналитиками и ML-инженерами. Аналитическое мышление и способность решать проблемы.
Зарплата Data Engineer
Junior получает от 100 000 до 150 000 рублей в месяц.
Зарплата Middle Data Engineer составляет от 150 000 до 250 000 рублей в месяц.
Senior получает от 250 тысяч рублей до 400 тысяч рублей в месяц.
Руководитель направления (Lead Data Engineer/Head of Data Engineering) — от 400 000 рублей и выше.
#5. Data Arhitect
Дата-архитектор обеспечивает доступность, надежность и безопасность данных. Его основная задача — проектировать, внедрять и поддерживать системы обработки и хранения данных.
Основные навыки архитектора данных
Дизайн баз данных и хранилищ:
проектирование реляционных (PostgreSQL, MySQL) и NoSQL (MongoDB, Cassandra) баз данных. Знание принципов построения хранилищ данных (Data Warehouses) и озёр данных (Data Lakes).
Интеграция данных:
работа с ETL-инструментами (Talend, Apache NiFi) для интеграции данных из разных систем. Разработка архитектуры потоков данных в реальном времени (например, с помощью Apache Kafka).
Облачные технологии:
работа с облачными платформами AWS, Google Cloud или Azure для построения масштабируемой инфраструктуры данных.
Безопасность данных и соответствие стандартам:
обеспечение защиты данных, включая шифрование и контроль доступа. Знание нормативов GDPR или ФЗ-152 (о персональных данных).
Аналитическое мышление и системный подход:
умение анализировать потребности бизнеса и создавать архитектуру, которая будет устойчивой к изменениям и масштабируемой.
Soft skills:
сюда входит координация работы с разными командами проекта и умение представлять сложные технические концепции понятным языком.
Сколько зарабатывает архитектор данных:
Начинающий специалист зарабатывает от 100 000 до 150 000 рублей в месяц.
Опытные архитекторы данных могут получать от 200 000 до 300 000 рублей.
В крупных международных компаниях доход может достигать 400 000 рублей и выше.
Подведем итоги
Data Science — это перспективная сфера с большим выбором профессий и высоким уровнем доходов. Вы можете выбрать профессию, которая соответствует вашим интересам, от анализа данных до построения сложных моделей машинного обучения. А ещё можете начать
карьеру дата-сайентиста с нуля
на курсе от Merion!

В программировании понятие «состояние» (state) относится к состоянию системы, компонента или приложения в какой-то определенный момент времени.
Приведем простой пример. Допустим, вы совершаете покупки на amazon.com, и будь то факт того, что вы вошли в данный момент на сайт, или есть ли какие-то товары в вашей корзине, это все является примерами состояния.
Состояние – это данные, которые хранятся и используются для отслеживания текущего статуса приложения. Именно понимание и управление состоянием играет решающую роль в создании интерактивных и динамических веб-приложений.
Понятие «состояние» относится к многим компонентам архитектуры. Шаблоны проектирования (например, REST или GraphQL), протоколы (например, HTTP и TCP), межсетевые экраны и функции могут как сохранять состояние, так и не делать этого. Однако основной принцип «состояния» (независимо от компонента, к которому оно привязывается) остается прежним.
В этой статье мы расскажем, что такое состояние. Кроме того, мы объясним, что такое stateful и stateless-архитектуры, а также их плюсы и минусы.
Что такое stateful-архитектура?
Представьте, что вы идете в пиццерию, чтобы пообедать. В этом ресторане работает только один официант, и он подробно записывает всю информацию о вас: номер вашего стола, ваш заказ, ваши предпочтения на основе предыдущих заказов (тип корочки, который вам нравится, или начинки, на которые у вас аллергия) и т.д.
Иллюстрация: официант принимает заказ в пиццерии
Вся информация, которую официант записывает в блокнот, и есть состояние клиента. Доступ к этой информации имеет только официант, который вас обслуживает. Если вы хотите внести какие-то изменения в свой заказ или проверить готовность заказа, вам нужно обратиться к тому же официанту. Ну и поскольку официант всего один, это не является проблемой.
А теперь представьте, что в ресторане стало больше посетителей. Вашему официанту приходится обслуживать и других гостей, поэтому на работу вызывают дополнительных официантов. И в данной ситуации вы хотите проверить статус вашего заказа и внести в него небольшое изменение – обычную корочку вместо сырной. А единственный официант, который может вас обслужить, - не тот, который принял ваш заказ.
Иллюстрация: другой официант не может изменить заказ клиента
У этого официанта нет информации о вашем заказе, то есть о вашем состоянии. И по понятным причинам он не сможет проверить статус вашего заказа или внести в него изменения. Ресторан, где сообщать о готовности заказа или вносить в него изменения могут только официанты, принявшие этот заказ, придерживается архитектуры с сохранением состояния (stateful).
Подобным образом stateful-приложение будет иметь сервер, который будет запоминать данные клиентов (то есть их состояния). Все будущие запросы будут перенаправляться через балансировщик нагрузки (придерживаясь при этом механизма «липких сессий» (Sticky Sessions)) на тот же сервер. Таким образом, сервер всегда будет знать все о клиенте.
На схеме ниже показаны два разных пользователя, и они оба хотят получить доступ к веб-серверу через балансировщик нагрузки. Так как состояние приложения сохраняется на сервере, пользователи при каждом запросе должны направляться на один и тот же сервер, чтобы сохранять состояние.
Схема: как работает stateful-приложение
Sticky sessions (липкие сессии) – это настройка, позволяющая балансировщику нагрузки раз за разом направлять запросы пользователя на один и тот же внутренний сервер на протяжении всей сессии. В этом и заключается ее отличие от обычной балансировки нагрузки, при которой запросы пользователя направляются на любой доступный сервер по циклическому алгоритму или по какому-то другому шаблону распределения нагрузки.
В чем же проблема stateful-архитектуры? Представьте себе ресторан, который работает таким образом. Несмотря на то, что это такой вариант может оказаться вполне идеальным и простым в реализации для небольшого семейного ресторана с небольшим количеством посетителей, его
нельзя назвать отказоустойчивым
и масштабируемым
.
Что будет, если у официанта, который принял у клиента заказ, возникнет ЧП и ему придется уйти? Вся информация по заказу так и останется у этого официанта. Это подрывает качество обслуживания клиентов, так как любой новый официант, который придет, чтобы заменить старого, не будет ничего знать о предыдущих заказах. Такая структура не является отказоустойчивой.
Кроме того, распределение запросов таким образом, что клиент может обращаться только к одному и тому же официанту, подразумевает, что нагрузка на официантов распределяется неравномерно. Кто-то будет завален заказами, особенно если он обслуживает какого-нибудь требовательного клиента, который постоянно меняет или добавляет что-то в свой заказ. А кому-то будет нечем заняться, и при этом они не смогут вмешиваться и помогать другим официантам. И опять-таки, такая структура не является масштабируемой.
Точно так же хранение данных о состоянии разных клиентов на разных серверах нельзя назвать отказоустойчивым и масштабируемым. Если произойдет сбой сервера, то все данные о состоянии будут утеряны. Так что, если пользователь вошел в систему и собирается оформить большой заказ, например, на amazon.com, ему придется снова пройти этап аутентификации, и при этом его корзина окажется пустой. Покупателю придётся снова входить в систему и заново заполнять корзину, и это явно испортит его впечатление от использования сайта.
Кроме того, добиться масштабируемости в час пик, например, в Черную пятницу, при использовании stateful-структуры будет не так просто. Структура будет автоматически масштабироваться, добавляя новые серверы, но, так как работает механизм «липких сессий», клиенты будут направляться на одни и те же серверы, что может привести к их перегрузке, что, в свою очередь, приведет к увеличению времени отклика, и это плохо скажется на взаимодействии с пользователем.
Многие из этих проблем может решить stateless-архитектура.
Что такое stateless-архитектура?
Stateless-архитектура – это термин, который в какой-то степени сбивает с толку, так как подразумевает, что система не фиксирует состояние. Но тем не менее такой тип архитектуры вовсе не означает, что информация о состоянии нигде не сохраняется. Это лишь значит, что информация о состоянии хранится вне сервера. Так что, понятие «stateless» может применяться только к серверу.
Вернемся к примеру с рестораном. В данном случае можно сказать, что официанты в этом ресторане имеют крайне плохую память. Они не помнят старых клиентов и тем более не помнят, что вы заказывали ранее и какая пицца вам нравится. Они просто принимают заказы клиентов в отдельной системе, скажем, на компьютере, к которому есть доступ у всех официантов. После чего они могут обратиться к компьютеру, чтобы получить более подробную информацию о заказе и внести в него необходимые изменения.
Иллюстрация: «забывчивый» официант принимает заказ, а затем обращается к компьютеру, чтобы получить больше информации о заказе
Сохраняя «состояние» заказа клиента в централизованной системе, которая доступна всем официантам, любой из них может обслужить любого клиента.
В рамках stateless-архитектуры HTTP-запросы от клиентов могут отправляться на любой из серверов.
Как правило, состояние хранится в отдельной базе данных, которая доступна для всех серверов. Таким образом, вы получаете отказоустойчивую и масштабируемую архитектуру, так как при необходимости вы можете удалять или добавлять серверы, не влияя при этом на данные о состоянии.
Кроме того, нагрузка будет равномерно распределяться по всем серверам, так как балансировщику нагрузки не нужно придерживаться схемы липких сессий для направления одних и тех же клиентов на одни и те же сервера.
На схеме ниже продемонстрированы два разных пользователя, которые пытаются получить доступ к веб-серверу через балансировщик нагрузки. Так как состояние приложения хранится отдельно от серверов, пользователи могут быть направлены на любой из них. После чего сервер запросит информацию о состоянии из внешней базы данных, которая доступна для всех серверов.
Иллюстрация: схема stateless-архитектуры
В большинстве случаев данные о состоянии хранятся в кэше, например, в Redis – внутреннем хранилище данных. В отличие от хранения на диске, хранение данных в оперативной памяти требует меньше времени на такие операции, как чтение и запись.
Объединяем все вместе
В этой статье описывается, как работают веб-приложения с сохранением и без сохранения состояния, а также их недостатки. Однако принципы stateful и stateless-архитектуры могут применяться не только к веб-приложениям.
Если мы в качестве примера посмотрим на сетевые протоколы, то увидим, что, например, HTTP – это протокол без сохранения состояния. Это значит, что каждый HTTP-запрос от клиента к серверу является
независимым
и
не содержит информации о предыдущих запросах
или их содержимом. Сервер обрабатывает каждый запрос как отдельную транзакцию и по определению не сохраняет информацию о состоянии клиента между запросами.
Состояние может храниться либо на серверах (stateful-архитектура), либо в отдельной базе данных вне серверов (stateless-архитектура). Сам по себе HTTP-протокол не сохраняет состояние.
В отличие от HTTP, который не сохраняет состояние, TCP-протокол устанавливает соединение и сохраняет состояние. Он устанавливает соединение между двумя устройствами (как правило, это клиент и сервер) и поддерживает непрерывный канал связи до тех пор, пока соединение не будет завершено.
Та же логика может применяться и к межсетевым экранам – они могут как сохранять состояние, так и не делать этого.
В AWS группа безопасности – это виртуальный брандмауэр, который контролирует входящий и исходящий трафик виртуальных машин или облачных экземпляров. Группы безопасности сохраняют состояние. Когда вы пропускаете определенный входящий трафик, соответствующий исходящий трафик пропускается автоматически. Иными словами, отслеживается состояние соединения.
Для управления входящим и исходящим трафиком в AWS на уровне подсети используются Списки управления сетевым доступом (NACL - Network Access Control Lists), которые не сохраняют состояние. Отсутствие фиксации состояния говорит о том, что вы должны явно определить правила как для входящего, так и для исходящего трафика.
В отличие от групп безопасности, где при пропуске входящего трафика исходящий трафик пропускается автоматически, NACL требуют определить отдельные правила для входящего и исходящего трафика.
Функции и шаблоны проектирования тоже могут сохранять или не сохранять состояние.
Основная идея, которая лежит в основе чего-то, что сохраняет состояние, заключается в том, что это что-то обладает идеальной памятью или знает все о предыдущих вызовах и запросах. А вот то, что не сохраняет состояние, ничего не запоминает и не обладает знаниями о предыдущих вызовах или запросах.
Надеюсь, что теперь вы стали лучше понимать, как работают stateful и stateless-приложения, и сможете решить, какой вариант вам больше подходит.