По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В данной статье мы посмотрим, что такое статические и динамические библиотеки. Местоположение библиотек по умолчанию. Определение используемых библиотек. Загрузка библиотек. Библиотеки это набор функций, которые могут использоваться в различных программах. Библиотеки могут быть статические (библиотека привязывается к определенной программе или софт содержит данную библиотеку в своем теле.) и динамическими (библиотеки грузятся в оперативную память и используются). Плюсы первого варианта нет проблемы совместимости, т. к. софт уже в себе содержит библиотеку, библиотека всегда с собой. Но при этом программы становятся большие по размеры и т.к каждая может загружать свои библиотеки, а иногда и одинаковые.  Второй вариант значительно лучше, сами программы по своему размеру меньше. Библиотека загружается один раз в оперативку. И следующая программа, которой необходимы такие же функции, берет и использует эти данные. По умолчанию библиотеки в Linux находятся в двух папках. Это корневая папка /lib в ней находятся библиотеки, которые используют программы, расположенные в корневой папке /bin. И есть вторая папка /usr/lib. В ней находятся библиотеки, которые используют программы расположенные /usr/bin.  Пути к библиотекам указаны файле /etc/ld.so.conf. Данный файл можно просмотреть стандартным способом, через утилиту cat. Видим, что написано включить все библиотеки, которые расположены по пути, указанном в файле. Те которые оканчиваются на .conf. Он просто включает в себя все настройки, которые находятся в конфигурационных файлах, в данной директории. Переходим в данную директорию. В данной директории мы можем видеть 2 файла конфигурации, в зависимости от версии и наполнения операционной системы их может быть и больше. Ну и соответственно в конфигурационных файлах находятся пути к директориям, где лежат необходимые для работы библиотеки. Если мы ставим какое, то свое программное обеспечение, которому необходимы дополнительные библиотеки, не идущие в составе дистрибутива linux, то в данной директории может создаться свой конфигурационный файл. Например: если мы используем систему виртуализации VMware, то к каждой VM устанавливаем VMware tools то данное программное обеспечение создаст свой конфигурационный файл с путями для своих библиотек. Переходим в директорию cd /etc/ и отсортируем так, чтобы в результатах все, что содержит ld. ls | grep ld. Получим следующее: Видим 3 основных конфигурационных файла. ld.so.conf - это файл конфигурации в котором написано откуда брать дополнительные библиотеки. Директория ls.so.conf.d в которой находятся дополнительные конфигурационные файлы и ld.so.cache это кэш библиотек. Он у нас выстраивается каждый раз для того, чтобы программы при необходимости при запросе библиотек не копались в файлах, а сразу брали из загруженного в оперативную память кэша. Т.е. если мы вносим какие-то изменения в файл конфигурации, добавляем какие-то конфигурационные файлы нам необходимо обновить этот кэш. Кэш обновляется командой ldconfig. Этого, собственно, достаточно, чтобы прогрузить все библиотеки в кэш. Давайте посмотрим, как, определить какими библиотеками пользуется какая программа. Для этого мы будем использовать команду ldd и путь к бинарному файлу. Например: Программа ls которая используется для вывода списка файлов в каталоге. Она находится в каталоге /bin/ls. В результате получим мы следующее: Мы видим, какие so использует данная программа и соответственно ссылки на них, где они расположены, собственно, so - это наши библиотеки в данном случае. Возможно добавление библиотек вручную, это может потребоваться если мы ставим совершенно стороннее программное обеспечение, которое очень трудно взаимодействует с Linux или устаревшее. Т.е. которое само не может создать конфигурационный файл и разнести библиотеки в системные директории Linux. Если мы хотим сделать это вручную, тогда нам необходим тот самый файл /etc/ld.so.conf. В данный файл мы можем дописать путь к файлу конфигурации библиотек тех, которые нам нужны. Либо есть более легкий вариант с использованием переменной export LD_LIBRARY_PATH и указать путь к тем особенным библиотекам, которые будет использовать наша "особенная" программа. Обычно все стороннее программное обеспечение устанавливается в папку /opt. Итоговый вариант будет выглядеть как: export LD_LIBRARY_PATH=/opt/soft/lib и когда пройдет экспорт, у нас попробует погрузится из этого пути библиотека, но перед этим необходимо не забыть сделать ldconfig.
img
Бизнес процессы в CRM – системе Битрикс24 позволяют упростить жизнь рядовым сотрудникам, автоматизируя различные сферы деятельности. В статье мы хотим рассказать о цикличном бизнес процессе, который будет запускать до тех пор, пока сделка находится в статусе «Дожатие» Сценарий Предположим, мы сконвертировали лида в сделку, выставили предложение и ждем реакции от клиента. В таком случае, с клиентом необходимо периодически связываться, уточняя, как у него обстоят дела, не решился ли он на покупку нашей услуги/товара. Чтобы ответственный менеджер не забыл про нашего клиента, мы хотим чтобы ему периодически (раз в три дня) приходили напоминания на почту о том, что данная сделка все еще находится на этапе «Дожатие» и с клиентом необходимо связаться. Это плоский, и весьма тривиальный бизнес процесс, но надо заметить, весьма эффективный. Как только менеджер сменит статус сделки на любой другой, или сконвертирует ее, сообщения приходить перестанут. Битрикс24 бесплатно! Реализация Переходим к настройке бизнес процессов. В разделе CRM → Настройки → Автоматизация → Бизнес-процессы и нажимаем Добавить шаблон: Во вкладке «Основное» даем название для бизнес – процесса, даем небольшое описание и снимаем галочки с параметров автоматического запуска, как показано ниже: Нажимаем «Сохранить». Переносим в рабочее поле необходимые элементы. В разделе «Конструкции», переносим элемент «Цикл». Нажатием на значок шестеренки этого элемента производим следующие настройки: Заголовок - название для элемента Тип условия - установите «Поле документа» Поле документа - указываем «Стадия сделки» Условие - выставляем «Равно» Значение - этап сделки под название «Дожатие» Условно говоря, наш цикл, будет выполняться до тех пор, пока статус сделки будет равен «Дожатие». Как только он будет изменен, бизнес процесс будет закончен. Добавляем элементы «Почтовое сообщение» и «Уведомление пользователя» из раздела «Уведомления» последовательно в цикле. В настройках почтового уведомления производим следующие настройки: Заголовок - название элемента внутри бизнес – процесса. Носит локальный характер Отправитель сообщения - с какого email адреса будет отправлено письмо. Получатель сообщения - адрес электронной почты адресата сообщения. В нашем случае, указана переменная {=Document:ASSIGNED_BY_EMAIL}, в которой хранится адрес электронной почты ответственного по данной сделке. Тема сообщения - тема электронного письма Текст сообщения - сообщение, которое будет отправлено адресату. Можно (и нужно) использовать переменные. Тип сообщения - типа может быть либо текстовый, либо html. В последнем случае, вы можете применять оформление письма с помощью html кода. Рекомендуем табличную верстку, как в случае с email рассылкой Помимо почтового уведомления, мы настроим отправку сообщения внутри Битрикс24. Переходим к опция настройки элемента «Уведомление пользователя»: Заголовок - так же имеет локальное значение внутри бизнес процесса Отправитель уведомления - пользователь, от которого поступит сообщение. В нашем случае это руководитель отдела продаж. Получатель уведомления - переменная, в которой хранится ответственный по сделке. Текст уведомления для сайта - сообщение, которое получит юзер внутри Битрикс24 Тип уведомления - мы выбираем персонализированное уведомление от руководителя отдела продаж. Чтобы неповадно было :) Как было сказано в начале статье, уведомления мы хотим посылать один раз в три дня. Находим раздел элементов «Прочее» и добавляем элемент «Пауза в выполнении». Производим его настройку, она тривиальна: Готово. Мы сделали простенький бизнес – процесс для отработки конкретного статуса. На финальном этапе он выглядит вот так: Сохраняем. Теперь нам необходимо создать служебный бизнес – процесс, который будет отслеживать изменение статусов. Как и ранее, в разделе «Сделка» нажимаем «Добавить шаблон»: Все настройки идентичны предыдущим, за исключение параметров автоматического запуска. Здесь мы выставляем галочку «При изменении». Производим настройку элементов бизнес – процесса. В разделе «Конструкции» добавляем элемент «Условие». По умолчанию, данный блок имеет два ответвления. Выбираем любое, и переходим к его настройке: Заголовок - локальное значение. Для наглядности мы назвали его согласно статусу – «Дожатие» Тип условия - выставляем «Поле документа» Поле документа - проверять будем стадию сделки Условия - равняется ли заданное поле нашему значению. Выставляем «Равно». Значение - тут выставляем «Дожатие» Следом за этим блоком добавляем из раздела «Обработка документа» элемент «Запуск бизнес-процесса» со следующими параметрами: Заголовок - любое удобное наименование ID документа - ID документа и указание сущности. Так как мы работаем со сделками, то указываем префикс DEAL_ Сущность - указываем «Сделка» Тип документа - укажите «Сделка» Шаблон - выберите бизнес – процесс, который необходимо запустить. В нашем случае это созданный БП «Дожатие» Для запуска бизнес-процесса изнутри бизнес-процесса используйте префикс CONTACT_, COMPANY_, DEAL_, LEAD_. Во второй ветке условия настройка тривиальна: В результате мы имеем следующую картину: Сохраняем и закрываем. Готово. Теперь, когда наш менеджер переведет сделку в статус «Дожатие», ему раз в три дня будет приходить напоминания о том, что данная сделка нуждается в его внимании. Как только сделка будет сконвертирована или переведена в иной статус, уведомления прекратятся.
img
Когда мы, разговаривая по IP телефону, слышим голос собеседника в трубке, или, используя систему видеоконференцсвязи, общаемся со своими коллегами и родственниками, то обмениваемся непрерывным потоком данных. При передаче потоковых данных, таких как голос и видео через пакетную сеть, очень важно использовать такие механизмы, которые решали бы следующие задачи: Устранение эффекта потери пакетов Восстановление порядка и контроль поступления пакетов Сглаживание эффекта задержки (джиттера) Именно для этих целей был разработан RTP (Real-time Transport Protocol) - протокол передачи в реальном времени, о котором пойдет речь в сегодняшней статье. Протокол разрабатывался в IETF группой Audio-Video Transport Working Group и описывается в рекомендации RFC 3550. Как правило, RTP работает поверх протокола UDP (User Datagram Protocol), так как при передаче мультимедийных данных очень важно обеспечить их своевременную доставку. RTP включает возможность определения типа полезной нагрузки и назначения последовательного номера пакета в потоке, а также применение временных меток. На передающей стороне каждый пакет помечается временной меткой, принимающая сторона получает ее и определяет суммарную задержку, после чего вычисляется разница в суммарных задержках и определяется джиттер. Таким образом, появляется возможность установить постоянную задержку выдачи пакетов и тем самым снизить влияние джиттера. Ещё одна функция RTP связана с возможными потерями пакетов при прохождении по IP сети, что выражается в появлении кратковременных пауз в разговоре. Внезапная тишина в телефонной трубке, как правило, очень негативно действует на слушателя, поэтому возможностями протокола RTP такие периоды тишины заполняются, так называемым,“комфортным шумом” RTP работает в связке с еще одним протоколом IETF, а именно RTCP (Real - time Transport Control Protocol), который описывается в RFC 3550. RTCP предназначен для сбора статистической информации, определения качества обслуживания QoS (Quality of Service), а также для синхронизации между медиа потоками RTP-сессии. Основная функция RTCP – установление обратной связи с приложением для отчета о качестве получаемой информации. Участники RTCP сессии обмениваются сведениями о числе полученных и утраченных пакетов, значении джиттера, задержке и т.д. На основе анализа этой информации принимается решение об изменении параметров передачи, например, для уменьшения коэффициента сжатия информации с целью улучшения качества ее передачи. Для выполнения этих функций RTCP передает специальные сообщения определенных типов: SR - Sender Report - отчёт источника со статистической информацией о RTP сессии RR - Receiver Report - отчёт получателя со статистической информацией о RTP сессии SDES - содержит описание параметров источника, включая cname (имя пользователя) BYE – Инициирует завершение участия в группе APP - Описание функций приложения RTP является протоколом однонаправленного действия, поэтому для организации двусторонней связи необходимо две RTP сессии, по одной с каждой стороны. RTP-сессия определяется IP адресами участников, а также парой незарезервированных UDP портов из диапазона 16384 - 32767. Кроме того, для организации обратной связи с приложением необходимо также установить двустороннюю RTCP сессию. Для RTCP сессии занимаются порты с номером на единицу большим чем RTP. Так например, если для RTP выбран 19554 порт, то RTCP сессия займет 19555 порт. Наглядно формирование RTP/RTCP сессии представлено на рисунке ниже. Стоит также отметить, что сам протокол RTP не имеет механизмов для самостоятельного установления сессии, эта задачу выполняют протоколы сигнализации, такие как SIP,H.323,SCCP , которые мы подробно рассматривали в предыдущих статьях.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59