По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Построение модели API требует стратегического подхода, и он связан с CRUD. Направляя разработчиков целиком и полностью, CRUD прокладывает путь для разработчиков API, ведя их по пути разработки доработанных и высококлассных API. Что такое CRUD? CRUD – это сокращение от Create (создание), Read (чтение), Update (модификация) и Delete (удаление). Эти четыре функции являются ключевыми принципами, которым следуют разработчики и программисты API при создании надежных API. В соответствии с отраслевым стандартом каждая модель API должна следовать всем этим четырем (или как минимум трем) принципам в процессе выполнения. Некоторые языки программирования следуют CRUD в том виде, в котором он есть, в то время как лишь некоторые используют адаптированную версию CRUD. К языкам, использующим инфраструктуру CRUD, относятся: Python, PHP, Java и .Net. CRUD работает как напоминание для разработчиков о том, что необходимо для того, чтобы приложение чувствовало себя полноценным. Она возникла в начале 80-х годов. В то время его использовали для иллюстрирования жизнеспособности базы данных SQL. Со временем он расширил список областей применения и стал ключевым принципом проектирования для DDS и HTTP. Определение функций CRUD Однозначное понимание функций CRUD позволяет разработчикам максимально эффективно использовать их. Итак, ознакомьтесь с каждой из 4 функций и рассмотрите примеры для того, чтобы лучше понимать их принцип действия. Create Эта функция используется для оповещения о введении любых новых изменений в базу данных и обеспечения их реализации. В реляционной базе данных SQL, Create называется INSERT. Этот оператор разрешает конечному пользователю создавать новые строки данных и позволяет ранее сохраненным данным легко взаимодействовать с новой базой данных. Пример: Допустим, мы добавляем Фрукты в список http://www.example.com/fruits/. Для того, чтобы создать объект «Манго», мы должны оправить запрос POST на этот URL: { “fruit": { "name": “Mango”, "color": “Yellow” } } Этот код создаст еще один объект в списке фруктов с именем «манго», у которого есть свойство (цвет) со значением «желтый». При успешном создании вы получите HTTP-ответ 201. Read Что функция поиска делает в обычных случаях, вы можете узнать, почитав о реляционных базах данных. Конечным пользователям разрешено искать различимые значения или данные в таблице данных и находить значения. Можно использовать определённые ключевые слова или фильтровать данные, чтобы получить точную информацию. Пример: Теперь для того, чтобы прочитать список, в который вы добавили объект в предыдущем примере, воспользуемся GET-запросом. Используйте этот код: GET http://www.example.com/fruits/ Если для вашего запроса существует запись, то вы увидите HTTP-ответ 200. Также вы увидите список фруктов. { "fruits": [ { "id": 1, "name": “Apple”, "color": “Red” }, { "id": 2, "name": “Grapes”, "color": “Green” }, ... { "id": 3, "name": “Mango”, "color": “Yellow” } ] } Для того, чтобы увидеть детали, связанные с конкретным объектом Манго, который мы создали, используйте этот код: GET http://www.example.com/fruits/3/ Update Функция модификации полезна для изменения уже существующих записей без внесения каких-либо нарушений в существующую базу данных. Для полной модификации требуется некоторая модификация в нескольких областях. Эта функция известна как Update как в SQL, так и в Oracle HCM Cloud. Пример: Для того, чтобы изменить значение объекта, выполним PUT-запрос для URL-адреса конкретного объекта. Вот так: PUT http://www.example.com/fruits/3/ { "fruits": { "name": “Ripe Watermelon”, "color": “Blood Red” } } Если возвращается идентификатор состояния 200, то обновление прошло успешно. Для подтверждения вы можете прочитать этот объект повторно и просмотреть значения для него. Delete При помощи этой функции пользователи могут удалять определенные записи или данные из определенной базы данных. Вы можете удалять данные, которые больше не нужны или устарели. Удаление бывает двух типов: обратимое или необратимое удаление. Необратимое удаление удаляет данные один раз, а обратимое используется для обновления состояния строки данных без ее окончательного удаления. Пример: Это очень просто. Давайте удалим созданный нами объект. DELETE http://www.example.com/fruits/3/ Теперь при GET-запросе (чтение) вы получите код 404, который говорит о том, что данных по вашему запросу нет. Преимущества CRUD Есть что-то, что заставляет разработчиков и дизайнеров приложений предпочитать CRUD любому другому подходу. Это «что-то» - это непревзойденная производительность, интегрированная с некоторыми уникальными функциями. Основные преимущества, которыми можно воспользоваться после запуска CRUD, представлены ниже. Меньшая вероятность атак путем внедрения SQL-кода Использование SQL-языка имеет больше шансов столкнуться с SQL-атаками, поскольку все операторы SQL выполняются непосредственно на SQL-серверах. Сервер также хранит инструкции и процедуры SQL, доступ неавторизованных ресурсов к которым может оказаться фатальным. Использование CRUD позволяет контролировать возможные атаки путем внедрения SQL-кода, поскольку использует уже сохраненные действия и не требует создания динамических запросов с использованием данных конечного пользователя. Кроме того, такой подход использует однозначное цитирование параметров SQL-операторов. Лучшая защита от случайного просмотра Пользователи специальных SQL-операторов должны получить разрешение на доступ к таблицам базы данных. После успешного предоставления разрешения конечным пользователям разрешается читать и управлять данными, имеющимися в Excel, Word и любой другой программе. Также возможен обход бизнес-правил приложения. Однако делать это не всегда выгодно. Риски утечки данных есть всегда. CRUD в такой ситуации полезен, так как делает возможным использование ролей приложений. Используя роли приложений, можно обеспечить высоко интегрированную безопасность базы данных и контролировать права доступа. Полномочия могут защищаться паролем, а поскольку пароли также интегрированы в приложение, то изменить их сложно. Таким образом, можно покончить со случайным просмотром. CRUD vs REST – сравнение CRUD и REST очень часто используют для обозначения одного и того же подхода. Такая путаница очевидна, так как приложения REST следуют принципу, подобному CRUD, для взаимодействия с другими приложениями или компонентами. Тем не менее, эти два термина не идентичны и имеют ряд явных сходств и различий. Что общего? Приложения REST разрабатываются с сохранением определенного набора ресурсов в смысловом центре. Эти ресурсы, как и ресурсы CRUD, можно легко создавать, читать, модифицировать и удалять. Просто вместо Create, Read, Update и Delete в REST используются ресурсы PUT/POST, GET, PATCH/POST и DELETE. В чем разница? Абсолютно точно, то у этих двоих больше различий, чем сходств. Взгляните на ключевые различия между ними. В части определения REST упоминается как архитектурная система, а CRUD – как функция. REST «крутится» вокруг ресурсов, основанных на компонентах HTTP. CRUD «крутится» вокруг информации, хранящейся в настройках базы данных. CRUD может быть частью REST, но REST не может быть частью CRUD. REST – это независимый подход, который может правильно функционировать и без CRUD. Что такое CRUD-тестирование? CRUD-тестирование – это оригинальная методология тестирования методом «черного ящика», которая широко используется для подтверждения полезности данного программного обеспечения в режиме реального времени. Это понятие используется для SQL и других ресурсов СУБД, для которых гарантируется точное отображение данных, сквозное обслуживание ACID-свойств и несравнимая целостность данных. Обеспечение безопасности в REST и CRUD-операциях Аутентификация, авторизация и учет использования ресурсов (или ААА – Authentication, Authorization, Accounting) – это крайне эффективная практика безопасности, которая одинаково хорошо подходят для REST и CRUD. Она включает в себя аутентификацию конечных пользователей, выполнение авторизации перед каждым доступом и привлечение конечных пользователей к ответственности за свои действия или использование данных.
img
Вокруг только и разговоров, что про нейросети. А что с ними делать? Давайте рассмотрим новые (старые) профессии, где можно использовать искусственный интеллект. К примеру, согласно  исследованию Stack Overflow 70% респондентов используют или планируют использовать инструменты искусственного интеллекта в процессе разработки. Те, кто учится программировать, чаще, чем профессиональные разработчики, используют инструменты искусственного интеллекта (82% против 70%). Никто не знает будущего, но правда становится любопытно, сможет ли ИИ полностью заменить человека в некоторых профессиях. А пока предлагаем ознакомиться те области, в которых частично применяются нейросети.  AI-тренер Что делает: такой специалист обучает искусственный интеллект создавать корректные, грамотные и логичные ответы.  Требования: — Опыт работы с языковыми моделями, такими как OpenAI ChatGPT; — Уровень английского языка С1-С2; — Умение грамотно и понятно писать тексты на русском языке; — Образование в областях лингвистики, филологии, литературного творчества, журналистики, коммуникаций или смежных областей. Сколько зарабатывает: от 75 000 рублей. «Яндекс» был одним из первых на российском рынке труда, кто открыл вакансии для AI-тренеров. Компания начала искать редакторов, филологов, журналистов,  чтобы тренировать свою собственную нейросеть YandexGPT. Сейчас на хх.ру AI-тренеров ищут Сбер, МТС и «Яндекс».  Нейро/ИИ — иллюстратор Что делает: генерирует с помощью искусственного интеллекта изображения для соцсетей, логотипы, макеты и другие элементы графического дизайна. Также нейросети могут помочь с улучшением изображения, например, удалить шумы или увеличить четкость и т.д. Требования:  — Знание графических программ (Photoshop, Figma, Illustrator и прочие); — Навык работы с нейросетями: необходимо составлять для них точные и корректные запросы, чтобы получить нужный результат; — Насмотренность и чувство вкуса. Сколько зарабатывает: зависит от уровня компетенций, средняя зарплата примерно равна зарплате дизайнера. Промпт-инженер Что делает: он управляет ИИ-системами, разрабатывает и настраивает большие языковые модели. Промт — это текстовый запрос для нейросети. Суть новой профессии заключается в том, чтобы анализировать задачи заказчика, составлять правильный промт для системы и получать результат с помощью нейросети. В задачи промт-инженера также входит: анализ данных и контекста, тестирование промтов, их оптимизация и обновление.  Требования:  — Знание языков программирования (Java, C++ и Python); — Понимание моделей машинного обучения и нейронных сетей; — Опыт работы с СhatGPT, Claude, GigaChat, YandexGPT и др. чат-ботами.  — Знание английского языка будет преимуществом Сколько зарабатывает: это новая отрасль с большим потенциалом,  и специалистов, как и вакансий в ней не так много. По данным вакансий в США в 2024 году средняя зарплата промт-инженера составляет $63 тыс. в год.   ИИ-копирайтер Что делает: собственно, все тоже самое, что и обычный копирайтер, только с использованием искусственного интеллекта. Пока нейросеть не может составить структурированный лонгрид, но с небольшими текстами справляется легко. Условный ChatGPT не может полностью заменить людей, обладающих опытом написания экспертного контента, в котором есть креативность, сочувствие и личный опыт. Требования: — Навыки работы с текстом; — Работа с нейросетью: генерировать запросы, проверять, редактировать тексты; фактчекинг; — Знание основ маркетинга. Сколько зарабатывает: заработная плата начинается от 40 000 руб. Специалист по ИИ-этике Что делает: решает сложные этические ситуации, которые возникают при использовании искусственного интеллекта. Он разрабатывает стандарты взаимодействия с ИИ, следит за сбором, использованием и безопасностью персональных данных, анализирует и оценивает новые алгоритмы на предмет ошибок или предвзятости, может принимать участие в судебном процессе в качестве эксперта по безопасному использованию нейросети.  Требования: — Понимание технологии ИИ; — Знание законодательства: международное право, IT-право, право на интеллектуальную собственность; — Широкий кругозор в области этики, философии, психологии и социологии. Сколько зарабатывает: предложений по работе пока немного, вакансии встречаются на англоязычных сайтах. Средняя зарплата в США  составляет $153,500 в год.  AI Product Manager Что делает: создает, управляет и развивает продукты, основанные на искусственном интеллекте. Такой специалист обладает знаниями на стыке продакт-менеджмента и хорошо ориентируется на ИИ-рынке. Требования:  — Понимание технологий искусственного интеллекта; — Опыт в продуктовом менеджменте; — Аналитические навыки: умение оценивать данные, рынок и тренды в технической области; — Софт-скиллс: коммуникативные навыки, проактивность, лидерские качества и тд. Сколько зарабатывает: зарплаты начинаются от 150 000 руб., на американской рынке менеджеры ИИ-продуктов получают конкурентоспособную зарплату от 100 000 до 150 000 долларов в год. Кроме новых профессий, связанных с искусственным интеллектом, его можно использовать в других рабочих задачах. Известны примеры, когда ChatGPT помогал студентам выполнять письменные работы или писал сценарий для нового сюжета. Разработчики с его помощью могут оптимизировать работу и писать участки кода в нейросети. Уверены, мы еще увидим новые направления на стыке искусственного интеллекта.   
img
Сталкивались ли вы задачей одновременной типовой настройки телефонный аппаратов? Например, настроить 50 штук IP – телефонов Yealink. Эта задача будет достаточно рутинной и затратной по времени. В FreePBX создан модуль End Point Manager, который позволяет создать шаблон настроек для определенных групп устройств и затем перенести его на телефонные аппараты. О нем и поговорим. /p> Пару слов про модуль End Point Manager Как уже сказано выше, модуль EPM позволяет производить автоматическую настройку различных единиц оборудования, от конечных телефонных аппаратов до шлюзов. Условно говоря, настройка модуля делится на следующие сегменты: Global Settings - глобальные настройки модуля, такие как IP – адрес Asterisk и прочие Extension Mapping - раздел, в котором сопоставляется шаблон и MAC – адрес устройства Brands - в разделе можно посмотреть марки оборудования, которые были сконфигурированы с помощью EPM Модуль является платным и стоит 75$ на 25 лет. В бесплатной версии модуля, доступна только настройка телефонов марки Sangoma. Полный перечень приведен в таблице ниже. Add Brand - добавьте необходимые брэнды оборудования, для которого вы бы хотели создать шаблон Image Management - здесь можно загрузить картинку в формате GIF, JPEG, или PNG и размером не более 20 мегабайт, которая будет использоваться на оконечных телефонов, например в роли фонового изображения. Данный функционал работает только на устройствах с поддержкой фонового изображения Basefile Edit - данный раздел позволяет менять различные значения, которые нельзя изменить через стандартные настройки телефона, например через его GUI. Представляет из себя XML – файл. Рекомендуем настраивать данный раздел только в том случае, если вы точно знаете что делаете. Custom Extensions - раздел аналогичен настройке в модуле Custom Extension Firmware Management - раздел служит для обновления прошивки телефонов. Network Scan - сетевая утилита, которая позволяет сканировать указанную сеть на предмет наличия в ней поддерживаемых устройств и уточнения их MAC - адресов Без приобретения лицензии на модуль вы сможете работать со следующими устройствами: Производитель Модель Поддержка фонового изображения Sangoma s300 Нет Sangoma s500 Да Sangoma s700 Да Sangoma Vega 50-4FXS - Sangoma Vega 50-8FXS - Sangoma Vega 3000-24FXS - Sangoma Vega 5000-24FXS - Sangoma Vega 5000-50FXS - Поддерживаемые без лицензии устройства В случае оплаты модуля, для работы будут доступны Aastra, Algo, Audio Codes, Cisco, Cortelco, CyberData, Digium, Grandstream, Mitel, Mocet, Obihai, Panasonic, Phoenix Audio, Polycom, Snom, Uniden, VTech, Xorcom и всеми любимый Yealink. Настройка Global Settings В настройках EPM переходим в раздел Global Settings: Internal IP Address - укажите IP – адрес вашего Asterisk. В нашем случае это 192.168.0.77 External IP Address - если какие-то из ваших телефонов будут подключаться к АТС из внешней сети, то в данном поле укажите внешний IP – адрес или FQDN (Fully Qualified Domain Name) Ports - в разделе будут указаны порты для WEB – доступа, порт для HTTP провижининга (автоматической настройки телефонов) и RESTful приложений Phone Admin Password - все управляемые телефоны имеют пароль для администратора. В данном поле вы можете указать его для всех устройств Phone User Password - некоторые модели телефонов, например Cisco, имеют систему авторизации для администратора через обычного пользователя. Здесь нужно указать его пароль ReSync Time - через указанное время телефоны будут обращаться к серверу на предмет изменения в их конфигурационных файлах. По умолчанию, время равно 86400 секунд, что есть 1440 минут, что в свою очередь ровняется 24 часа :) XML-API (RestAPI) Default Login - включение/выключение данной опции позволяет телефону обращаться к различным приложениям через RestAPI Extension Mapping IP Addresses - отображать ли IP – адрес устройства на этапе сопоставления телефона и внутреннего номера Extension Mapping Phone Status - отображать ли время пинга до устройства. Оба параметра замедляют работу. По окончанию настроек нажмите Save Global Настройка шаблона настроек Переходим к настройкам. Сделаем шаблон на примере производителя Sangoma. Для этого, в настройках модуля, в блоке Brands, выберем Sangoma. Для добавления нового шаблона нажимаем New Template. Производим настройки в первой вкладке, которая называется General: Template Name - даем имя для нашего шаблона. Например, New_template Default Template - будет ли данный шаблон шаблоном по умолчанию для телефонов. Выставляем Default Destination Address - в данном поле необходимо указать IP – адрес или доменное имя для нашей IP – АТС Asterisk. При нажатии на кнопки Internal или External, при сохранении, в поле будет автоматически подставлено значение внутреннего или внешнего IP – адреса АТС соответственно. Это удобно в том случае, если мы делаем разные шаблона для внутренних телефонов и для внешних. Provision Server Address - сервер, к которому телефон будет обращаться за конфигурацией. По умолчанию это наш Asterisk Provision Server Protocol - протокол, который будет использовать IP – телефон чтобы получить файл конфигурации. Оставьте в данном поле TFTP Переходим во вкладку Regional Time Zone - временная зона. Поле прибавляет, или удаляет определенное количество часов к GMT (среднее время по Гринвичу). Например, в Москве GMT +03:00 и мы выбираем +03.00 Primary Time Server - главный сервер синхронизации времени по протоколу NTP. Вы можете посмотреть список серверов в интернете Daylight Savings -опция подсказывает телефону, использовать ли настройки DST (Daylight Saving Time) – то есть сезонное время Country Tones - опция настройки гудка. В разных странах они различаются, выберите подходящий Web GUI Language - язык графического интерфейса администрирования IP - телефона LCD Display Language - язык на дисплее телефона Date Format - формат даты. Нам привычно ДД-ММ-ГГ Time Format - формат времени. Мы выбрали 24 часовой формат Двигаемся дальше и переходим во вкладку Options. Разберем здесь самые основные опции: Background Image - выберите фоновое изображение, которое ранее, было залито с помощью пункта меню Image Management Line Label - информация, которая будет отображаться о пользователе телефона на главном дисплее. Может быть следующих видов: Name - имя пользователя. Например, «Иван Петров» Extension - показывать только номер абонента. Например, «101» Name-Extension - показывать и имя и номер. Например, «Иван Петров 101» Multicast Enable - поддержка Multicast пейджинга Функционал Multicast Paging появился в 13 версии FreePBX. Если коротко, то теперь телефон может отправлять на заранее сконфигурированный широковещательный адрес пейджинг запросы. Более подробно вы можете почитать в статье про новинки FreePBX 13 Multicast Address - мультикаст адрес, о котором мы рассказали выше Dial Patterns - шаблон набора номеров для IP - телефона Ring Tone - выбрать номер звукового сопровождения для звонка (рингтон) Screen Saver - что показывать на дисплее телефона по таймауту бездействия Screen Saver Timeout Call Waiting Signal - хотите ли вы услышать звуковой сигнал, при условии того, что вы уже разговариваете с одним из абонентов и вам поступает второй звонок BLF Alert - тип индикатора BLF. Это может быть визуальное мигание, аудио сопровождение или оба сразу По окончанию настроек не забываем нажимать Save Template Соответствие телефона и шаблона После того, как мы произвели настройку шаблона его необходимо проассоциировать с телефонным аппаратом. Мы будем делать это с помощью MAC – адреса устройства. Переходим в раздел Extension Mapping и нажимаем Add Extension В столбце слева выбираем необходимый номер По середине, выбираем производителя и вводим MAC – адрес телефона В левом столбце выбираем шаблон и модель телефона Теперь, чтобы доставить на телефоны адрес TFTP сервера (адреса нашего Asterisk в данном случае), в настройках DHCP сервера необходимо настроить параметр option 150 с IP – адресом TFTP. Телефон обратиться на сервер с просьбой предоставить файл конфигурации для устройства с его MAC – адресом, которое мы создали на этапе ранее.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59