Русский
Русский
English
Статистика
Реклама

Power automate

Common Data Service и Power Apps. Создание мобильного приложения

31.07.2020 00:18:01 | Автор: admin
Всем привет! Сегодня попробуем автоматизировать процесс создания поручений с использованием платформы данных Microsoft Common Data Service и сервисов Power Apps и Power Automate. На базе Common Data Service построим сущности и атрибуты, при помощи Power Apps сделаем несложное мобильное приложение, ну а Power Automate поможет связать все компоненты единой логикой. Не будем терять времени!



Но для начала немного терминологии. Что из себя представляет Power Apps и Power Automate мы уже знаем, но, если вдруг кто не в курсе, рекомендую ознакомиться с моими предыдущими статьями, например, вот тут или тут. Однако, что из себя представляет Common Data Service мы еще не разбирали, поэтому самое время добавить немного теории.



Common Data Service (сокращенно CDS) это платформа хранения данных вроде базы данных. Собственно, это и есть база данных, расположенная в облаке Microsoft 365 и имеющая тесную связь со всеми сервисами Microsoft Power Platform. Также CDS доступна через Microsoft Azure и Microsoft Dynamics 365. Данные в CDS могут попадать различными способами, один из способов, например, создание записей в CDS вручную, по аналогии с SharePoint. Все данные в Common Data Service хранятся в виде таблиц, называемых сущностями. Есть ряд базовых сущностей, которые можно использовать для своих целей, но можно также создавать и свои собственные сущности со своими наборами атрибутов. Аналогично SharePoint, в Common Data Service при создании атрибута можно указать его тип и типов здесь огромное количество. Одной из интересных особенностей является возможность создавать так называемые Наборы параметров (аналог вариантов для поля типа Выбор в SharePoint), которые можно переиспользовать в любом поле сущности. Плюс, данные могут быть загружены из различных поддерживаемых источников, а также из приложений Power Apps и из потоков Power Automate. В общем, если кратко, то CDS это система хранения и поиска данных. Преимуществом данной системы является тесная интеграция со всеми сервисами Microsoft Power Platform, что позволяет выстраивать структуры данных различного уровня сложности и использовать их в дальнейшем в Power Apps приложениях и с легкостью подключаться к данным через Power BI для построения отчетности. CDS имеет свой интерфейс для создания сущностей, атрибутов, бизнес-правил, связей, представлений и дашбордов. Интерфейс работы с CDS расположен на сайте make.powerapps.com в разделе Данные, где собраны все основные возможности для настройки сущностей.
Итак, давайте попробуем что-нибудь настроить. Создадим в Common Data Service новую сущность Поручение:



Как Вы можете заметить, при создании новой сущности необходимо указать ее имя в единичном и множественном значении, а также требуется задать ключевое поле. В нашем случае это будет поле Наименование. Кстати, также можете обратить внимание, что внутренние и отображаемые имена сущностей и полей указываются сразу на одной форме, в отличие от SharePoint, где требуется сначала создать поле на латинице, а потом уже переименовывать его на русский язык.
Также, при создании сущности есть возможность произвести огромное количество различных настроек, но сейчас не будем этого делать. Создаем сущность и переходим к созданию атрибутов.
Создаем поле Статус с типом Набор параметров и определяем 4 параметра в разрезе этого поля (Новое, Исполнение, Исполнено, Отклонено):



Аналогичным образом создаем остальные поля, которые потребуются нам для реализации приложения. Кстати, перечень доступных типов полей указан ниже, согласитесь, их явно немало?



Обратите еще внимание на настройку обязательности полей, помимо Обязательное и Необязательное есть еще вариант Рекомендуется:



После того, как мы создали все необходимые поля, можно посмотреть на весь перечень полей текущей сущности в соответствующем разделе:



Сущность настроена и сейчас необходимо настроить форму ввода данных на уровне Common Data Service для текущей сущности. Переходим на вкладку Формы и нажимаем Добавить форму -> Основная форма:



Настраиваем новую форму для ввода данных через Common Data Service и выстраиваем поля друг за другом, после чего нажимаем кнопку Опубликовать:



Форма готова, проверим ее работу. Возвращаемся в Common Data Service и переходим на вкладку Данные, после чего нажимаем Добавить запись:



В открывшемся окне формы вводим все необходимые данные и нажимаем Сохранить:



Теперь в разделе Данные у нас есть одна запись:



Но отображается мало полей. Это легко исправить. Переходим на вкладку Представления и открываем на редактирование самое первое представление. Размещаем нужные поля на форме представления и нажимаем Опубликовать:



Проверяем состав полей в разделе Данные. Всё отлично:



Итак, на стороне Common Data Service готова сущность, поля, представление данных и форма для ручного ввода данных непосредственно из CDS. Теперь давайте сделаем приложение холста Power Apps для нашей новой сущности. Переходим к созданию нового приложения Power Apps:



В новом приложении производим подключение к нашей сущности в Common Data Service:



После всех подключений настраиваем несколько экранов нашего мобильного приложения Power Apps. Делаем первый экран с небольшой статистикой и переходами между представлениями:



Делаем второй экран с перечнем имеющихся поручений в сущности CDS:



И делаем еще один экран для создания поручения:



Сохраняем и публикуем приложение, после чего запускаем его для проверки. Заполняем поля и нажимаем кнопку Создать:



Проверим, создалась ли запись в CDS:



Проверим то же самое из приложения:



Все данные на месте. Остался финальный штрих. Сделаем небольшой Power Automate поток, который при создании записи в Common Data Service будет отправлять уведомление исполнителю поручения:



В итоге, мы с Вами сделали сущность и форму на уровне Common Data Service, приложение Power Apps для взаимодействия с данными CDS и поток Power Automate для автоматической рассылки уведомлений исполнителям, при создании нового поручения.

Теперь о ценах. Common Data Service не входит в Power Apps, поставляемый в составе подписки Office 365. Это значит, что если у вас есть подписка Office 365 и в рамках нее есть Power Apps, то Common Data Service, по умолчанию, у вас не будет. Для доступа к CDS необходима покупка отдельной лицензии на Power Apps. Цены на планы и варианты лицензирования указаны ниже и взяты с сайта powerapps.microsoft.com:



В следующих статьях мы с Вами рассмотрим еще больше возможностей Common Data Service и Microsoft Power Platform. Всем хорошего дня!
Подробнее..

Роботизация процессов (RPA) с помощью Power Automate Desktop

11.12.2020 18:19:05 | Автор: admin
Всем привет! Сегодня мы с Вами познакомимся с одним интересным сервисом от компании Microsoft, под названием Power Automate Desktop. Про облачный Power Automate мы уже с Вами не раз говорили и изучали его возможности, но что же из себя представляет Power Automate Desktop мы узнаем сегодня. Небольшой спойлер Power Automate Desktop используется для роботизации процессов. Итак, давайте начинать. И как обычно немного теории про RPA (Robotic Process Automation) и Power Automate.



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

В рамках линейки сервисов Microsoft 365 существует сервис Power Automate, который позволяет создавать потоки взаимодействия с данными с помощью коннекторов к большому количеству источников. Про данный сервис более подробно можно прочитать в одной из моих прошлых статей тут и тут. В большинстве последних обновлений данного сервиса Microsoft делает немалый упор на возможности роботизации, в частности, активно развивается отдельный подтип потоков Power Automate под названием UI Flows. Данный подтип потоков позволяет записывать действия пользователей в окне браузера и в дальнейшем воспроизводить их при выполнении определенных условий. Но только лишь UI Flows дело не ограничивается и относительно недавно был выпущен сервис Power Automate Desktop, который представляет из себя клиентское приложение, устанавливающееся на рабочую машину. С помощью Power Automate Desktop можно записывать и воспроизводить множество действий, которые связаны уже не с веб-интерфейсом различных сайтов, а с клиентскими приложениями на сервере. Теперь автоматизация повторяющихся действий стала еще проще и удобнее.

Как установить Power Automate Desktop?


Переходим на сайт сервиса Power Automate и в правом верхнем углу находим пункт Установка.


Выбираем Power Automate Desktop, скачиваем и запускаем установку приложения. Сама установка не представляет из себя ничего сложного. Соглашаемся с основными пунктами и нажимаем Установить.


После установки нам предложат установить дополнительные расширения Power Automate для браузеров Chrome, Edge и Firefox и перейти к запуску приложения Power Automate Desktop.


После запуска приложения необходимо указать учетную запись для подключения к Microsoft 365 и после удачной авторизации можно перейти к созданию нового потока Power Automate Desktop.

Как использовать Power Automate Desktop?



Попробуем создать новый поток и посмотреть, какие возможности нам доступны. Создаем поток с именем Hello Flow.



После создания нового потока открывается дизайнер, который визуально разбит на 4 основные области:

  1. Панель с доступными действиями для использования их в автоматизации процессов
  2. Лента с действиями сохранения, воспроизведения и записи действий внутри потока
  3. Раздел переменных потока
  4. Основной холст для размещения действий

Откроем раздел Message boxes, выберем действие Display Message и разместим его на холсте, после чего автоматически откроется окно настроек. Пишем заголовок и текст сообщения.


Сохраняем действие, сохраняем поток и нажимаем кнопку выполнения. Посмотрим, что получилось. Кажется, все хорошо.



Концептуально все аналогично облачному Power Automate: есть набор действий, которые необходимо разместить на холсте и настроить их выполнение. Давайте попробуем что-нибудь слегка посложнее и выполним запуск какого-нибудь приложения и запись действий внутри него.
Выбираем из раздела System действие Run application и размещаем его на холсте. Указываем путь к приложению. Пусть это будет калькулятор Windows. Дополнительные настройки не указываем, аргументы не передаем.


Запускаем поток. Калькулятор успешно запущен.



Не закрываем калькулятор, выбираем действие из раздела UI Automation Click UI element in window и размещаем его после запуска приложения на холсте.


Выбираем Add a new UI element и переходим в открытое приложение калькулятора. Нам нужно записать нажатие на кнопки. Запись производится при нажатой кнопке Ctrl на клавиатуре. Давайте запишем нажатие на цифру 2. Сохраняем записанное действие. Обратите внимание что имитировать можно не только левую кнопку мыши, но и правую, двойной клик и так далее.


Теперь добавляем еще несколько Click UI element in window действий для записи нажатия на кнопки. Нам нужно получить нажатие на кнопки 2 + 2 =, чтобы получить результат 4. Значит у нас будет 4 действия нажатий.



Сохраняем поток и отправляем его на выполнение.



Все получилось, мы роботизировали вычисление простой формулы на калькуляторе.
Теперь давайте сделаем еще один сценарий. При запуске облачного Power Automate потока будем запрашивать входные параметры и пробрасывать их в наземный Power Automate Desktop поток, который в свою очередь будет писать их в Excel файл лежащий в отдельной папке на жестком диске. Пусть в качестве примера это будет запрос справки 2ндфл.
Для начала создадим несколько переменных в Power Automate Desktop потоке.


Сделаем 4 переменных почта инициатора, количество экземпляров, год и дополнительная информация.



Создадим простенький Excel файл, который будем заполнять потоком. Всего 5 столбцов в таблице.



Теперь переходим в облачный Power Automate и устанавливаем локальный шлюз передачи данных между землей и облаком.



Устанавливаем и настраиваем шлюз, после чего создаем мгновенный настраиваемый поток Power Automate, запускаемый по кнопке с кубиком старта потока Power Automate Desktop.



Облачный поток готов. Теперь осталось немного настроить наземный поток Power Automate Desktop. Добавляем действие запуска Excel файла Launch Excel и прописываем путь до файла.


Теперь добавляем несколько действий Write to Excel worksheet для заполнения Excel файла и указываем входные переменные, которые мы определяем в облачном потоке Power Automate.



Возвращаемся в облачный поток Power Automate и запускаем его. Указываем входные параметры.



Результат не заставляет себя ждать. Все работает отлично.



Итого, Power Automate Desktop представляет из себя клиентское приложение, интегрированное через локальный шлюз данных с облачным сервисом Power Automate. Power Automate Desktop позволяет роботизировать многие сценарии, начиная от записи кликов мышки на объекты, заканчивая созданием учетных записей в Active Directory, заведением заявок в HelpDesk, взаимодействием с компонентами служб Azure и обращением к веб-сервисам. Практически любой сценарий, который необходимо роботизировать поддерживается за счет возможностей Power Automate Desktop. А за счет доступных опций совместной работы с облачными сервисами, раскрывается огромный потенциал данного приложения. Попробуйте установить Power Automate Desktop и изучить его возможности, на примере автоматизации ваших рутинных задач. Уверен, что, как минимум, некоторые из них получится переложить на плечи робота. В следующих статьях мы с Вами изучим еще больше возможностей сервисов Microsoft 365 и Azure. Спасибо за внимание, надеюсь было интересно!
Подробнее..

Личный кабинет адаптации сотрудника на Microsoft Power Platform и Microsoft Teams

21.02.2021 02:04:48 | Автор: admin
Всем привет! В одной из прошлых статей я рассказывал, как мы автоматизировали один процесс адаптации сотрудников в компании с использованием платформы Microsoft 365, возможностей Microsoft Power Platform и технологии чат ботов. Сегодня я расскажу о реализации приложения личного кабинета для системы адаптации персонала на базе Microsoft Power Apps и Power Automate. Посмотрим как можно организовать подобное приложение и какие возможности получится в него заложить в рамках общей системы адаптации персонала.

Итак, как мы помним из прошлой статьи, у нас с Вами есть сайт SharePoint Online со списками и библиотеками, для системы адаптации, форма на PowerApps, поток обработки данных на Power Automate и отчеты Power BI. Самое время добавить личный кабинет, в котором сотрудник и/или руководитель видели бы свои задачи на период адаптации и могли их выполнить, осуществив определенные действия.



Создание PowerApps приложения личного кабинета адаптации


Начинаем работу и в первую очередь переходим на страницу редактора Microsoft PowerApps и создаем новое приложение.



Далее, внутри редактора создаем первый экран. Изначально планируем что в приложении будет возможность отображения разных вариантов личных кабинетов в зависимости от принадлежности пользователя к той или иной роли. Чуть позже мы адаптируем данный механизм и сделаем автоматическое определение роли пользователя при открытии приложения, но начнем с экрана авторизации.



На данном экране располагаем две кнопки входа в личный кабинет. Одна ведет на личный кабинет сотрудника, вторая на личный кабинет руководителя. В зависимости от принадлежности пользователя к той или иной группе, кнопка Войти как руководитель может отображаться заблокированной, в случае если текущий пользователь не является руководителем. Далее делаем следующий экран. Это будет экран сотрудника, где будут отображаться основные данные о собственном профиле, а также перечень мероприятий, который необходимо пройти в период испытательного срока.



Как можно заметить, визуально данный экран разбит на две основные области: верхняя область с основными сведениями о себе и нижняя область с запланированными мероприятиями. Мероприятия отображаются с помощью визуального компонента Галерея, все остальные объекты это кнопки и текстовые области. Также на экране отображается кнопка Help для перехода на страницу справочных сведений и кнопки перехода к файлам чек-листа и задач на испытательный срок, о которых расскажу немного позже.

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

Итак, делаем первый экран личного кабинета руководителя. На нем руководитель должен видеть перечень своих новичков и иметь возможность посмотреть основные сведения по ним.



На данном экране руководитель может посмотреть основные сведения по своим сотрудникам, а также перейти к справочной информации с помощью кнопки Help. Помимо этого, есть возможность поиска информации и плюс ко всему можно попасть на дополнительный экран с задачами по выбранному сотруднику, нажав кнопку Задачи.



На этом экране руководитель может увидеть свои задачи на период испытательного срока по выбранному сотруднику, а также выполнить различные операции. В рамках данной системы заложено два действия Загрузить файл (для чек-листа и задач на испытательный срок соответственно) и Отметить мероприятие выполненным. Каждое из действий вызывает свой вариант диалогового окна, например кнопка Загрузить файл вызывает вот такое окно:



При этом все остальные кнопки блокируются и нет возможности осуществить какую-либо еще операцию до тех пор, пока либо не будет приложен файл, либо не закроем данное окно. Кнопка Подтвердить изначально заблокирована, но становится активной, как только указан добавляемый файл.



Второй вариант операции это Отметить выполненным и диалог выглядит следующим образом:



Что происходит при нажатии на кнопку Подтвердить? Всё очень просто осуществляется запуск Power Automate потока с пробросом ключевых параметров.



В зависимости от этих параметров в Power Automate потоке мы понимаем, что именно нам нужно сделать и какую информацию сохранить. То есть для загрузки файла и для отметки о выполнении используется один и тот же поток, но с разными входными параметрами.



Причем, после того как файл чек-листа или задач на испытательный срок добавлен и загружен, кнопка моментально трансформируется из кнопки загрузки в кнопку просмотра загруженного файла.



Личный кабинет руководителя готов. И остался еще один вариант личного кабинета, так называемая суперпозиция, когда новичок является руководителем и у него могут быть такие же новички на испытательном сроке. Объединяем два экрана и делаем небольшое меню навигации.



С помощью меню навигации можно моментально переключаться между экраном новичка и экраном руководителя.



Кстати, почтовый адрес тоже кликабельный и позволяет сразу же вызвать создание нового письма новичку.



Помните, в самом начале я говорил, что чуть позже мы займемся первым экраном авторизации и, может быть полностью откажемся от него? Настало это время. Этот экран и правда не очень нужен, если мы можем автоматически проверять текущего пользователя и вычислять к какой роли он относится. Идем в событие OnStart нашего приложения и пишем проверки.



В зависимости от того является наш пользователь сотрудником, руководителем или два-в-одном мы сразу же при запуске приложения перенаправляем пользователя на нужный экран минуя экран авторизации внутри приложения. Приложение готово. Осталось встроить его в Microsoft Teams.



В заключение хочу сказать, что Microsoft Power Platform обладает обширным набором возможностей, которые помогают создать приложения для ваших целей не только с точки зрения функциональности, но и дает возможности для применения определенных дизайнерских элементов, позволяющих сделать интерфейс приятным и красивым. В следующих статьях разберем еще больше различных решений на базе Microsoft Power Platform. Всем хорошего дня и спасибо за внимание!
Подробнее..

Microsoft Viva Connections. Развертывание платформы для внутренних коммуникаций

16.04.2021 16:20:16 | Автор: admin
Всем привет! Сегодня будет знакомство с новым сервисом из линейки сервисов Microsoft 365, под названием Microsoft Viva. А если быть точнее, то с целой линейкой сервисов. Посмотрим, что это такое, а один из них даже попробуем установить. Думаю, что будет интересно.



Что такое Microsoft Viva?


Microsoft Viva это набор возможностей сервисов Microsoft 365, объединенных для решения задач коммуникаций, обмена знаниями, сбора информации и ряда других задач. По сути, Microsoft Viva предоставляет возможности взаимодействия с сотрудниками в нескольких ключевых областях и для решения этих задач предлагает продукты:

  • Viva Connections сочетание спектра возможностей корпоративного портала SharePoint Online в приложении Teams с множеством дополнительных сервисов. Viva Connections предоставляет единую персонализированную ленту, в которой сотрудники могут изучать новости и участвовать в беседе. При этом можно работать как в интерфейсе Microsoft Teams, так и в отдельном мобильном приложении.
  • Viva Insights отчеты и советы по персональной и организационной продуктивности, основанные, в первую очередь, на сервисе MyAnalytics, а также на аналитических материалах сторонних платформ.
  • Viva Topics использование искусственного интеллекта для анализа данных, хранящихся в SharePoint Online, и создания различных информационных страниц по разнообразным темам.
  • Viva Learning корпоративная обучающая платформа, которая предоставляет сотрудникам в Microsoft Teams собственный и сторонний обучающий контент.

В сегодняшней небольшой статье речь у нас с Вами пойдет о Viva Connections. Попробуем развернуть данный сервис и разобраться что он из себя представляет.

Как установить Microsoft Viva Connections


В первую очередь необходимо установить SharePoint Online Home Site. Для этого необходимо создать новый информационный сайт SharePoint Online в центре администрирования или воспользоваться одним из шаблонов Microsoft LookBook.







После того как сайт будет создан, необходимо сделать его домашним сайтом для Вашей организации. Для этого скачиваем и устанавливаем последний SharePoint Online Management Shell, подключаемся к админке SharePoint Online и выполняем привязку домашнего сайта.



Примеры командлетов:

Install-Module -Name Microsoft.Online.SharePoint.PowerShell -forceConnect-SPOService -Url https://doctrix-admin.sharepoint.com -Credential a.braun@i-sys.ruSet-SPOHomeSite -HomeSiteUrl https://doctrix.sharepoint.com/sites/sharepoint-home-site 


Далее, скачиваем скрипт для установки Microsoft Viva Connections https://www.microsoft.com/en-us/download/confirmation.aspx?id=102888, открываем в PowerShell и запускаем установку. Скрипт после запуска потребует указать адрес сайта, который будет подцеплен к приложению Viva Connections в Microsoft Teams. Указываем наш адрес сайта. Вводим учетные данные администратора, вводим имя будущего приложения, а также указываем все необходимые данные, такие как краткое и полное описание приложения, прикладываем ссылки на иконки и так далее.



После выполнения скрипта создается zip файл приложения Viva. В моем случае, почему то, на рабочем столе. Хватаем этот zip файл и импортируем в приложения Teams.



Результат получается следующим.



Дополнительно, в центре администрирования Microsoft Teams в разделе Setup Policies можно указать это приложение как автоматически устанавливаемое и закрепленное в левой панели для всех сотрудников организации.



Одной из ключевых фишек Viva Connections является управляемая глобальная навигация, доступная уже сейчас, а также мобильное приложение для Android и iOS устройств, которое должно выйти в ближайшее время.





Основная задача Microsoft Viva Connections создать единую точку входа в корпоративный портал организации, посредством микса доступных возможностей Microsoft 365. И универсальное приложение для Teams и мобильных устройств может обеспечить эту точку входа. Далее, с приложения-портала пользователи могут уже переходить на сайты своих подразделений, общедоступные сервисы компании, недавние документы и различные другие области.

В итоге Microsoft Viva Connections это набор компонентов Microsoft 365, которые предоставляют пользователям доступ к возможностям порталов SharePoint Online со всеми имеющимися преимуществами. Просмотр новостей, видео, недавних сайтов и документов, переход к страницам баз знаний и многое другое. При этом сайт SharePoint Online можно настроить таким образом, чтобы он покрывал все необходимые требования вашей организации к порталу. PowerShell скрипт позволяет быстро создать такое приложение, импортировать в Teams и закрепить у каждого пользователя в панели действий на клиенте. Viva Connections доступен всем клиентам в рамках существующей лицензии Microsoft 365.

Viva Connections позволяет:

  • Собирать новости и беседы из SharePoint Online и Yammer.
  • Настраивать панели мониторинга с помощью Power Apps, SPFx и прочих решений.
  • Закреплять файлы и видео из Microsoft OneDrive и Microsoft Stream.
  • Использовать информацию из календарей и погодных сервисов.
  • Отображать документы из библиотек и списков SharePoint Online.




Данный сервис Microsoft Viva Connections представляет собой небольшую часть экосистемы Microsoft Viva, в которую входит множество сервисов по организации коммуникаций и обмена данными между пользователями в компании. И в следующих статьях мы обязательно посмотрим остальные сервисы. Спасибо за внимание!
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru