По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Если вас удивляет то, каким образом веб-приложения могут взаимодействовать друг с другом и передавать информацию для оптимизации операций, то вам следует познакомиться с Webhook , веб-перехватчиком. Webhook (он же веб-перехватчик) – это больше, чем просто средство информационного взаимодействия для онлайн-сервисов. Webhook – это достаточно любопытная технология, используемая для запуска приложений. Эта статья позволит получить четкое понимание того, что же такое Webhook и какие методы его работы существуют. Видео: что такое Webhook и чем отличается от API? Что такое Webhook: быстрый экскурс Webhook – это автоматически сгенерированный HTTP-запрос, созданный на основе каких-то данных. Он запускается предопределенным событием или действием в исходной системе и передается системе, с которой исходная система пытается установить связь. Webhook работает быстрее, чем опрос или API. Вместе с этим для разработчиков он является менее трудоемким с точки зрения работы. Применительно к приложениям, Webhook – это не что иное, как SMS-уведомления, которые мы получаем во время использования приложения. Например, при покупке некого товара в Интернете продавец присылает вам уведомление по SMS. Аналогично, каждый раз, когда в исходной системе происходит некоторое событие/действие, система принимающей стороны уведомляется через Webhook. Для чего нужен Webhook? Webhook используется для связи приложений и быстрого обмена данными между системой-источником и системой-получателем. Это приводит к двусторонней связи между двумя различными сетевыми системами. Ниже приведен список нескольких сценариев, при который Webhook справится лучше, чем любое другое средство связи приложений: Использование Webhook для передачи информации о событиях в различные базы данных. Требуется мгновенный ответ приложения при выполнении определенного действия. Использование Webhook для беспрепятственной синхронизации данных клиентов в приложении. Необходимость иметь модель push-уведомлений для получения своевременных обновлений. Связь должна быть взаимно-однозначной. Webhook может помочь установить соединение между средством массовой email-рассылки/управления проводимыми акциями и платежными системами. Разработчики требуют приравнять 2 системы к временной системе связи. Принимая во внимание все эти утилиты, Webhook можно назвать ключевым инструментом для разработки SaaS-приложений. Одним из реально существующих примеров использования Webhook является Shopify , который использует веб-перехватчик, например, для операций автоматического обновления корзины или объявления о продаже. Еще одной известной платформой является Stripe . Она использует Webhook для передачи сведений, связанных с обновлениями учетных записей, уведомлений об оплате и др.   Webhook vs API Человеку, не являющемуся специалистом в данной области, может показаться, что Webhook и API это одно и то же, поскольку они оба используются для установки связи между приложениями. Ситуация усугубляется, когда некоторые разработчики называют Webhook обратным API . В данном случае только опытный разработчик сможет понять разницу между этими двумя технологиями и использовать их. Мы подготовили краткий обзор основных различий между Webhook и API. Обе эти технологии, как принято считать, используются приложениями для передачи информации другому приложению. В общих чертах они работают одинаково. Ключевое различие заключается в процессе получения данных. API использует процесс «опроса» для получения необходимых данных. Опрос ( polling ) – это выполнение запросов на сервер с целью проверки появления новых данных. Webhook работает по принципу «принудительной отправки данных», то есть как только происходит инициирующее событие, из источника отправляются необходимые данные. API ожидает появления новых данных и требует периодической активности, в то время как Webhook активируется автоматически при возникновении события. Если говорить об их практической реализации, то они принципиально разные. Например, API связывается с продавцом, чтобы удостовериться, что нужный вам товар есть в наличии, а Webhook попросит продавца самому связаться с вами, как только нужный товар будет доступен. При таком подходе обе стороны экономят время и усилия. Безопасность Web API – сложная задача, поскольку запросы выполняются снова и снова, и каждый раз необходимо внедрять методы обеспечения безопасности API. Обеспечить безопасность Webhook относительно просто, поскольку запросы производятся не так часто. Webhook лучше использовать, когда требуются обновления приложения в режиме реального времени, а API – когда часто обновляется серверное приложение. Webhook – это простейшая модель API. API – это полноценный язык приложений, способный выполнять добавление, удаление и извлечение данных. Webhook работает автоматически, в то время как API требует некоторых усилий разработчика. Webhook не является широко поддерживаемым, в то время как большинство сторонних интеграций принимают API.   Как работает Webhook? На первый взгляд все кажется похожим, но Webhook включает в себя определённый сложный процесс. Вот как это работает: Шаг 1: Генерация запроса Для использования Webhook система должна быть достаточно оборудована для поддержки всего процесса. Можно разработать дружественную к Webhook систему, осуществляя несколько HTTP-запросов для различных событий. Основанный на этом принципе Webhook имеет хорошую совместимость с платформой SaaS, поскольку присутствует поддержка нескольких событий. Также с Webhook совместимы такие платформы, как GitHub, Shopify, Twilio, Stripe и Slack. Для начала нужно зарегистрироваться, чтобы принять Webhook'и. Регистрация должна быть проведена для более чем одного события. После регистрации на целевой URL будет автоматически сгенерирован запрос Webhook. Этот запрос обработается автоматически, когда произойдет определенное событие. Шаг 2: Применение Webhook Когда процесс подготовки завершен, можно использовать Webhook'и. Процесс можно упростить, если вы создадите свои Webhook и протестируете их на пригодность. Если вам покажется это слишком тяжелым, то вы можете просто добавить нужный URL-адрес веб-перехватчика в приложение и начать делиться данными. Для использования Webhook вы можете использовать средства, указанные ниже: 1. RequestBin и Postman для тестирования Webhook Как уже отмечалось, тестирование Webhook – это наиболее эффективный способ понять его метод работы. RequestBin и Postman – два самых популярный инструмента для тестирования. Используя RequestBin, разработчики могут создавать нужные URL-адреса веб-перехватчиков и обмениваться данными, чтобы проверить, как он их идентифицирует. Postman аналогично может обрабатывать процесс отправки запроса для терминала и выделенный код приложения. Разработчик может свободно работать с кодировкой JSON и XML. 2. Общение приложений Тестирование Webhook было исчерпывающим. И теперь можно приступить к делу и позволить приложениям общаться между собой. Для начала разработчикам необходимо активировать Webhook триггерных приложений. Как правило, каждое приложение имеет большое количество настроек веб-перехватчиков. Чтобы получить данные из используемого триггерного приложения, необходимо открыть настройку Webhook в заданной форме. Будет сгенерировано поле URL и варианты для спецификации HTTP-запроса веб-перехватчика. На следующем шаге уже необходимо использовать URL-адреса приложения, получающего данные. В этом приложении каждый документ имеет свой конкретный URL-адрес слияния. Скопируйте URL-адрес слияния или любой другой предполагаемый URL-адрес приложения. Затем снова перейдите в приложение-триггер и вставьте скопированный URL-адрес веб-перехватчика из приложения, получающего данные, в поле URL-адреса приложения-триггера. Сохраните изменения. Теперь приложение готово к работе. Вы можете использовать любой из вышеупомянутых средств включения Webhook. Чтобы концепция работы была более понятна, ниже мы привели пример работы Webhook Shopify:   Пример Webhook Давайте продолжим приведенный выше пример Shopify. Предположим, что новый пользователь только что разместил 2 заказа в интернет-магазине после подтверждения адреса электронной почты. Получение информации с помощью события customer/update будет выглядеть примерно так: HTTP/1.1 200 OK { "webhook": { "id": 744408886555322224, "email": "ss@testmail.com", "accepts_marketing": false, "created_at": null, "updated_at": null, "first_name": "Jane", "last_name": "Doe", "orders_count": 2, "state": "disabled", "total_spent": "0.00", "last_order_id": 54254, 54258 "note": "The user registered from India and uses store for sending gifts", "verified_email": true, "multipass_identifier": null, "tax_exempt": false, "phone": 8585858585, "tags": "retailer", "last_order_name": null, "currency": "INR", "addresses": [ ], "accepts_marketing_updated_at": null, "marketing_opt_in_level": null, "admin_graphql_api_id": "gid://shopify/Customer/744408886555322224" } } Заключение Процесс передачи данных является ключевым во взаимодействии человека и веб-приложений. Webhook делает взаимодействие между приложениями быстрым, беспрепятственным и не таким сложным. Webhook является альтернативой API и автоматизирует коммуникационное соединение.
img
Чтобы понять NoSQL, нужно разобраться, что такое SQL и почему мы говорим ему No. Итак, SQL (structured query language) расшифровывается как «язык структурированных запросов», и это язык запросов для управления данными в так называемых реляционных базах данных, или просто БД В реляционных базах мы храним данные в таблицах, которые логически связаны между собой - отсюда и название - реляционные от слова relation, связь. Это один из самых популярных типов баз. В этих таблицах есть строки и столбцы. В столбце таблицы хранится определенный тип данных, а в каждой ячейке – значение. Строка же получается как набор связанных значений, которые относятся к одному объекту - мы видим что у крыла типа чайка длина 25 метров. Ну и каждая строка в таблице может быть помечена каким то уникальным идентификатором, который называется первичным ключом (primary key). А затем при помощи него мы можем связать данные из нескольких таблиц, например в отдельной таблице, где он станет внешним ключом (foreign key). В общем, как таблица в экселе, только данные могут быть связаны. Что еще важно знать: реляционные БД требуют так называемую схему (schema) - описание структуры таблицы ее полей и ограничений. То есть если нам например нужно добавить или убрать столбец в таблице, то это изменение коснется всех данных внутри нее. Также БД этого типа соответствуют так называемым принципам ACID (Atomicity — Атомарность, Consistency — Согласованность, Isolation — Изолированность, Durability — Надёжность), что вкратце означает, что при работе с базой, целостность и согласованность данных гарантирована, даже если возникли проблемы с сетью или железом, что полезно при работе с финансами, например. В качестве примеров таких баз назовем: Microsoft SQL Server, Oracle Database, MySQL и PostgreSQL. Разобрались. Теперь вернемся к NoSQL. Это тип баз данных, которые хранят данные в отличном от реляционных таблиц формате. Они узкоспециализированны для конкретных задач и нужны для улучшения производительности, масштабируемости и удобства в работе. Базы данных "ключ-значение" (key-value) Суть в том, что мы храним данные в таком виде: у нас есть уникальный ключ, который указывает на какое-то значение. А сама база - это совокупность этих пар. Вот так просто! Причем эти данные могут быть чем угодно, числом, строкой или даже другой парой ключ-значение потому что в отличии от реляционных баз данных они не имеют предопределенной структуры данных. Многие БД такого типа хранят данные в памяти (RAM), в отличии от других баз, которые хранят данные на диске, что хоть и может ограничивать объем хранимых данных (хотя они требуют гораздо меньше памяти), но это обеспечивают просто невероятную скорость. Ну и раз это NoSQL то никаких сложных запросов, никаких связей друг с другом - мы просто записываем ключ и его значение, и получаем значение по ключу. Где их использовать? Они отлично подходят для хранения кэша или пользовательских сессий. А в качестве самого простого примера можно назвать корзину в интернет магазине - где мы храним идентификатор пользователя, и сколько товаров он положил в корзину. Самые популярные хранилки по типу “ключ - значение” это Redis, Memcached и DynamoDB. Wide-column (columnstore базы данных, БД с широкими столбцами или колоночные БД) Все также просто - берем key-value БД, и делаем так чтобы в значении мы могли хранить несколько столбцов сразу. Это позволяет удобно хранить связанную информацию. Похоже на реляционную БД, но только в отличии от нее, тут у нас нет схемы, поэтому мы можем хранить разные неструктурированные данные. Такой тип БД подойдет для хранения логов, данных с умных холодильников и чайников, а также различных аналитических приложений, где данные хранятся в большом объеме. Netflix, например, хранит в таких таблицах историю просмотров пользователя. В качестве примеров таких баз назовем Cassandra, Hbase и ClickHouse. Базы данных документов или документориентированные БД (Document DB) Подробнее про них можно прочитать в нашей отдельной статье. Если предыдущие типы NoSQL БД обычно используются для специфических задач, то эти базы уже более универсальны, и могут стать основным местом хранения информации. Здесь мы храним документы. Документ это набор нескольких пар ключ-значение, о которых мы говорили раньше, и раз это не SQL, то они неструктурированны и не требуют схему. Это значит, что мы можем легко добавлять и удалять поля в документе, в отличие от реляционных БД, где изменения затронули бы всю таблицу. Документы даже могут быть вложенными, и содержать в себе другие документы. Данные хранятся в стандартных форматах, таких как XML, YAML и JSON. Такая форма хранения идеально подходит к объектам, которые используются в приложениях. Мы буквально сразу получаем полный объект который нам нужен, а в SQL нужно сначала приложить усилия и даже сделать несколько запросов и все собрать в необходимый вид. Документы можно группировать друг с другом собирая их в коллекции, которые можно собирать в логическую иерархию, получая что-то по типу реляционных БД. Это как шкаф на работе - в один ящик мы можем положить трудовые договоры, в другой - договоры с партнерами, а в третий договоры аренды. Ничто нам не мешает сложить всё в одну кучу, но так удобнее. И вот эти ящики как раз и будут коллекциями в нашем случае. А отсутствие схемы позволяет нам положить в один ящик договоры, которые схожи логически, но имеют разную структуру внутри. Например, долгосрочный договор с сотрудником и договор с компанией. Коллекции есть не у всех БД такого типа, некоторые системы используют теги или древовидные иерархии. Они часто используются для мобильных приложений и игр, блогов, интернет магазинов и всяких штук где у нас имеется много контента. Самые популярные БД такого типа - MongoDB, Amazon DynamoDB, CouchDB. Графовые БД (Graph DB) Тут мы больше значения уделяем тому как данные связаны друг с другом, и эта БД лучше всего обрабатывает такие данные. Тут у нас есть узлы, которые представляют данные и ребра (или соединения), которые описывают связь между этими данными. Помните как в реляционных базах мы записывали связь в отдельной таблице? Тут мы можем обойтись без нее, просто показав связь. Такие базы просто необходимы для алгоритмов рекомендаций, социальных сетей, управления компьютерными сетями и маршрутизацией или даже обнаружения финансового мошенничества. Самые популярные графовые базы: Neo4j и DGraph Поисковые БД (Search-engine database) Они, как понятно из названия, нужны для поиска данных из большого количества источников. Работают они примерно также как и базы данных документов - мы добавляем документы с текстом внутри, а БД проанализирует весь текст в этих документах и создаст индексы для этого текста. По сути это работает как указатели, которые ты видел в конце книги, где указывается какой-то термин и страница на которой он встречается. И когда пользователь выполняет поиск, то сканируются только эти индексы, а не все документы в базе. Ну и очевидно что они используются в качестве полнотекстового поиска, а также для хранения и анализа логов. Примеры - Elasticsearch, Solr, Algolia Базы данных временных рядов (Time series database) Это базы данных, оптимизированные для данных с отметками времени. Такое используется, для мониторинга систем, где мы храним значение времени и данные в этот момент. Например, загрузка сервера или количество подключений. Примеры - InfluxDB и Prometheus Многомодульные БД (multi-model) Также существуют так называемые много-модульные БД (multi-model), которые поддерживают несколько моделей данных. Например тот же рredis умеет и в ключ-значение, и документы с графами и даже временные данные обработает.
img
Линукс - как много в этом слове эмоциональной и смысловой нагрузки. А как много разных дистрибутивов входят в это семейство И частенько требуется понять, какая конкретно версия установлена и этому помогает пакет systemd, который в настоящее время имплементирован во многие дистрибутивы. Самый простой способ проверить версию Linux это просто использовать hostnamectl команду без каких-либо аргументов. Эта команда возвращает название дистрибутива, версию и кодовое название вместе с конкретной версией ядра. Довольно распространенной ошибкой является называть все семейство GNU/Linux систем просто Linux-ом. Важный момент в том, что Linux - это только ядро, а GNU - непосредственно сама система в виде набора скомпилированных библиотек и системных инструментов. GNU и Linux должны работать в тандеме для того, чтобы операционная система корректно работала. Так как одно не может существовать без другого, корректнее называть эту связку GNU/Linux или Lignux. Дополнительные способы определения Системы управления пакетами в Linux Если команда выше вам не помогла, следующим шагом будет проверка установленного пакетного менеджера, так как вероятность, что один из трех пакетных менеджеров все-таки установлен крайне высока. rpm - пакетный менеджер для систем RedHat dpkg - пакетный менеджер для систем Debian pacman - пакетный менеджер для систем Arch Таким образом, если система использует rpm, то скорее всего у вас используется RHEL, CentOS, Fedora и т.д. Если deb, то скорее всего это Ubuntu, Debian, Mint. И соответственно в случае pacman это будет Arch или Manjaro (и им подобные).Для определения пакетного менеджера нужно ввести команду $ for i in $( echo rpm dpkg pacman ); do which $i; done 2 /dev/null В случае deb и rpm она вернет следующее: /usr/bin/dpkg и /bin/rpm соответственно. Проверка версии CentOS/RHEL Самый простой способ проверки версии CentOS это чтение файла /etc/centos-release с помощью команды cat /etc/centos-release В свою очередь для RHEL нужно будет прочитать файл /etc/redhat-release Команду соответственно меняем: cat /etc/redhat-release Думаю логика здесь понятна, для Fedora нужно будет поменять команду на fedora-release - проще некуда. Проверка версии Debian, Mint и Ubuntu Для Debian - подобных систем нужно прочесть файл /etc/issue: cat /etc/issue Проверка версии Arch Проверять версию Arch не имеет смысла, так как каждый раз при запуске команды pacman -Suy ваша система автоматически обновляется до последней версии. Проверка системных параметров Проверка системной архитектуры и версии ядра Самый простой и популярный способ определения системной архитектуры и версии ядра Linux это использование команды uname с аргументом -a. То есть команда будет выглядеть следующим образом: uname - a В выводе будет указана версия ядра и разрядность архитектуры. Проверка архитектуры ЦПУ Самым простым и распространенным способом является команда: lscpu Как видно из вывода, вместе с моделью процессора и его частотой также видна его разрядность и еще много различных параметров.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59