По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Использование REST API является полезной функцией для реализации ваших сценариев. Вы можете получить доступ к новым функциям, а также расширить возможности создания новых, более продвинутых сценариев. Опыт многих пользователей показывает, что, когда начинаешь использовать REST API в скриптах, то чувствуешь себя довольно неуклюже и непривычно. В этой заметке мы обсудим: Что такое REST API Как читать документацию Как использовать API REST с PowerShell Некоторые советы и подсказки, как облегчить и улучшить практику Что такое "REST"? REST, или RESTful API, это API, который использует HTTP запросы для получения, добавления, удаления или манипулирования данными в различных сервисах. Как правило, то, что нужно сделать с данными, решается тем, какой HTTP-метод вы используете. Вот краткий список методов HTTP и их применение в REST API: GET-Read POST-Create PATCH-Partial update/modify PUT-Update/replace DELETE-Remove Данные, которые возвращает API REST, обычно представляются в формате JSON. Теперь давайте начнём с нашего первого API запроса! Что такое API Работа с документацией Для использования различных API REST необходимо научиться читать и интерпретировать документацию. К счастью, если вы знаете, как читать один тип документации, вы сможете быстро научиться читать другие. В этой статье мы используем petstore.swagger.io, так как он использует популярный фреймворк Swagger, который довольно часто используется в разработке. На предыдущем рисунке показана наиболее важная информация о конечных точках REST API: HTTP-метод-GET/POST/DELETE и т.д. URL-адрес, связанный с конечной точкой REST API (Базовый URL, как правило, представлен в верхней части страницы документации) Краткое описание Подробности Первая страница документации просто замечательная, и, как правило, с помощью этой информации можно выполнить большинство запросов, требующих использования метода HTTP GET. Но такие методы, как POST и SET, обычно требуют, чтобы вы щелкнули и развернули строку, чтобы получить больше информации. Если вы нажмете на одну из строк, то получите информацию, которая выглядит так: Здесь мы представили конечную точку REST, которая может создать новый объект pet. Здесь указывается, как должен выглядеть JSON, предоставленный в теле POST, и какой тип контента он принимает. Другие конечные точки REST указывают, что это за параметры, каким типом данных они должны быть и т.д. Это основы для чтения документации. Теперь, когда общие принцип более-менее ясны, пора начать использовать REST API с PowerShell. Получение первых данных (GET) Используя REST API с PowerShell обычно довольно просто, используется встроенные командлеты, таким образом, нет необходимости в дополнительных модулях. Мы собираемся извлечь данные с помощью метода GET в конечной точке /pet/{ petId}. Если развернуть конечную точку /pet/{ petId} в документации, можно увидеть, что {petId} на самом деле является параметром, который принимает целое число. Это делает URL-адрес для выборки объекта pet с идентификатором 1: https://petstore.swagger.io/v2/pet/1 В документации SWAGGER REST API обычно отображается базовый URL-адрес в верхней части страницы. Теперь начнем с PowerShell. Откройте окно терминала и введите: PS51 > Invoke-RestMethod -Method GET -ContentType "application/json" -Uri "https://petstore.swagger.io/v2/pet/1" id : 1 category : @{id=0; name=string} name : doggie photoUrls : {string} tags : {@{id=0; name=string}} status : available Поскольку в ответе от сервера возвращается тип содержимого "application/json" используется метод Invoke-RestMethod, который автоматически преобразует возвращаемый JSON в объект. Ошибка 404 Not found, как правило, означает, что объект не найден или URL-адрес введен неправильно. Итак, мы выполнили первый вызов REST API. Но возможности метода GET для получения данных довольно ограничены, так что давайте создадим что-нибудь с помощью метода POST. Создание объекта методом POST Метод POST чаще всего используется для создания, например, пользователей или записей и т.д. Запрос POST отправляет BODY, содержащий информацию, конечной точке REST, обычно в формате JSON, но он также может быть в виде формы с кодировкой URL. Вы узнаете, как создать объект JSON, который можно отправить в конечную точку/pet. Можно увидеть, как должен выглядеть JSON, если развернуть строку POST/pet в документации. Начнем с создания хэштаблицы, который можно преобразовать в объект JSON. Raw JSON следует избегать в скриптах PowerShell, поскольку он ограничивает его возможности. $Body = @{ id = 19 category = @{ id = 45 name = "Whatever" } name = "Dawg" photoUrls = @( "string" ) tags = @( @{ id = 0 name = "string" } ) status = "available" } Если вам трудно создать хештаблицу, который преобразуется в нужный JSON, установите модуль PsdKit и используйте команду $ JsonString | ThreadTo-Psd Теперь имеется хэш-таблица, которую можно преобразовать в строку JSON и POST в конечную точку/pet: $JsonBody = $Body | ConvertTo-Json $Uri = "https://petstore.swagger.io/v2/pet" Invoke-RestMethod -ContentType "application/json" -Uri $Uri -Method Post -Body $JsonBody id : 19 category : @{id=45; name=Whatever} name : Dawg photoUrls : {string} tags : {@{id=0; name=string}} status : available При создании объекта он обычно получает созданный для подтверждения объект. Использование DELETE. Метод DELETE используется для удаления данных, а применение очень схоже с методом GET. PS51 > Invoke-RestMethod -Method DELETE -ContentType "application/json" -Uri "https://petstore.swagger.io/v2/pet/1" Только убедитесь, что не удалите ничего важного Использование PUT Метод PUT используется для обновления данных. Это делается аналогично методу POST путем представления полного или частичного объекта JSON: PS51> $Body = [PSCustomObject]@{ id = 19 name = "Dawg with a new name" } PS51> $JsonBody = $Body | ConvertTo-Json PS51> $Uri = "https://petstore.swagger.io/v2/pet" PS51> Invoke-RestMethod -ContentType "application/json" -Uri $Uri -Method PUT -Body $JsonBody id name photoUrls tags -- ---- --------- ---- 19 Dawg with a new name {} {} Обычно API REST возвращает объект JSON с использованными и/или обновленными данными. Можно увидеть, что объект был обновлен с помощью метода GET: PS 51> Invoke-RestMethod -ContentType "application/json" -Uri "https://petstore.swagger.io/v2/pet/19" id : 19 category : @{id=45; name=Whatever} name : Dawg with a new name photoUrls : {string} tags : {@{id=0; name=string}} status : available Создание функций Писать эти команды каждый раз вручную может стать довольно утомительным и на самом деле не масштабируемым. Если мы вызываем конечную точку несколько раз, то лучше создать для нее функцию. Это довольно просто и нужно написать всего несколько строк: Function Get-PetstorePet { [cmdletbinding()] param( # Id of the pet [Parameter(Mandatory,ValueFromPipeline)] [int]$Id ) Begin{} Process{ $RestMethodParams = @{ Uri = "https://petstore.swagger.io/v2/pet/$Id" ContentType = "application/json" Method = "GET" } Invoke-RestMethod @RestMethodParams } End{} } После создания функции ее можно вызвать в сценарии: PS51> Get-PetstorePet -Id 1 id name photoUrls tags -- ---- --------- ---- 1 Doggie {http://picture.url} {} Это можно сделать и для метода POST для создания нового объекта pet в Petstore: Function Add-PetstorePet { [cmdletbinding()] param( # Id of the pet [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [int]$Id, # Name of the pet [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string]$Name, # Status of the pet (available, sold etc) [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string]$Status, # Id of the pet category [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [int]$CategoryId, # Name of the pet category [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string]$CategoryName, # URLs to photos of the pet [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string[]]$PhotoUrls, # Tags of the pets as hashtable array: @{Id=1;Name="Dog"} [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [Hashtable[]]$Tags ) Begin{} Process{ $Body = @{ id = $Id category = @{ id = $CategoryId name = $CategoryName } name = $Name photoUrls = $PhotoUrls tags = $Tags status = $Status } $BodyJson = $Body | ConvertTo-Json $RestMethodParams = @{ Uri = "https://petstore.swagger.io/v2/pet/" ContentType = "application/json" Method = "Post" Body = $BodyJson } Invoke-RestMethod @RestMethodParams } End{} } И вызов этой функции PowerShell намного упрощает задачу: PS51> $AddPetStorePetsParams = @{ Id = 44 Name = "Birdie" Status = "available" CategoryId = 50 CategoryName = "Hawks" PhotoUrls = "https://images.contoso.com/hawk.jpg" Tags = @( @{ Id=10 Name="Not eagles" } ) } PS51> Add-PetStorePet @AddPetStorePetsParams id : 44 category : @{id=50; name=Hawks} name : Birdie photoUrls : {https://images.domain.com/hawk.jpg} tags : {@{id=0}} status : available Возможно, что многие модули, которые вы ежедневно используете, состоят из функций, который за кулисами используют REST API. Заключение Обучение работы с REST API, главным образом основано на чтении документации. Мы использовали документацию на основе SWAGGER в этом посте, так как она представляет, как могут выглядеть другие стили документации. Кроме того, преобразование вызовов API в функцию может сэкономить много времени, упростить работу и очистить сценарии.
img
Весь шум сосредоточен вокруг больших данных. И молодые, и опытные компании вовсю изучают новый подход к решению проблем с помощью «больших данных». Но что такое эти большие данные? И как можно воспользоваться растущим спросом на знания и технологии, касающиеся больших данных? Данные – это информация. Большие данные – это много информации. Ключевыми различиями между просто данными и большими данными заключается в объеме, скорости и многообразии. Как правило, большие данные – это более подробная информация с большим количеством отдельных компонентов, которые собираются за более короткий период времени. Источники больших данных часто являются новыми, но могут охватывать и более старые потоки данных. В наше время мы создаем больше данных, чем когда-либо прежде. Эти данные содержат ценную информацию, которую мы можем использовать для улучшения различных систем и процессов. Специалисты по обработке данных, аналитики и инженеры собирают и анализируют данные для того, чтобы сделать обоснованные и полезные выводы. Далее мы более подробно рассмотрим большие данные, а также технологии, которые лежат в их основе, проблемы их использования и многое другое. Примеры больших данных Как мы уже говорили ранее, большие данные содержат ценную информацию. Результаты анализа этих данных помогают компаниям лучше обслуживать своих клиентов и зарабатывать больше денег. Именно из-за этого большие данные часто используют в маркетинге. Многие из наших действий в Интернете отслеживаются, от нашей активности в социальных сетях до наших покупательских привычек. Маркетологи используют эти данные для таргетированной рекламы, продвижения товаров и услуг, соответствующих вашим интересам. Большие данные также используются в сфере здравоохранения. Вспомните хотя бы все эти устройства, которые мы сегодня используем, от Apple Watch до Fitbits. Эти устройства способны отслеживать частоту сердечных сокращений, дыхание, режим сна и многое другое – и даже предупреждать вас о любых изменениях, которые вас интересуют. Кроме того, врачи могут использовать данные с этих устройств для создания более полных профилей здоровья и для предоставления лучшего лечения для своих пациентов. Примеры больших данных можно найти в транспортной и автомобильной отраслях. Беспилотные автомобили и грузовики используют данные о погоде и дорожных условиях, информацию о транспортных средствах и пешеходах и многое другое для повышения безопасности и эффективности. Как вы можете видеть, большие данные обладают огромным потенциалом, способным улучшить наше общество. Но прежде чем использовать большие данные, их необходимо обработать. Обработка больших данных Так как большие данные очень обширны и детальны, их необходимо обработать, прежде чем анализировать для получения информации. Процесс обработки включает в себя сбор и сравнение данных их нескольких источников, их очистку от ошибок или дубликатов и многое другое. После того, как большие данные будут обработаны, специалисты по обработке данных просматривают их в поисках любых значимых закономерностей. Очень часто этот процесс основан на машинном обучении. Затем используются методы визуализации данных, чтобы упростить понимание результатов анализа. Также немаловажную роль в анализе данных играет статистика, так как помогает понять взаимосвязь между данными и вероятными результатами. Языки программирования больших данных За инструментами, которые специалисты по обработке данных используют для сбора, обработки, анализа и визуализации больших данных, стоит несколько языков программирования. Каждый из языков имеет свои собственные преимущества. Вот некоторые из наиболее популярных языков программирования, используемых для больших данных: Python Python - простой язык для изучения и один из самых популярных языков, используемых в науке о данных. Поэтому существует множество библиотек Python, которые предназначены для обработки, анализа и визуализации данных. Эти библиотеки существенно упрощают работу с большими данными. Python также можно использовать для статистического анализа, и он широко используется в машинном обучении – это два важнейших компонента науки о данных. Java Java является не менее полезным языком для больших данных. Некоторые из популярных инструментов для работы с большими данными написаны именно на Java. Они являются свободными, гибкими и бесплатными, что делает Java очень привлекательным для всех, кто работает с большими данными. JavaScript JavaScript – это один из основных языков программирования для веб-разработки. Он позволяет делать веб-сайты интерактивными и динамичными, а не статичными. Преимущества JavaScript делают его полезным для представления и визуализации данных в Интернете. JavaScript часто используется для обмена большими данными и упрощения их понимания. C/C++ С и С++ - невероятно полезные языки программирования. И хотя С был изобретен в начале 1970-х, а С++ - в середине 1980-х, программисты со знанием С и С++ по-прежнему пользуются большим спросом. И на это есть веская причина. Когда речь идет о скорости, то С++ часто оказывается лучшим вариантом. Одно из ключевых преимуществ языков программирования С – это быстрая обработка больших объемов данных. Когда необходимо получать информацию быстро в некоторых случаях, то С++ может оказать лучшим выбором. R Неотъемлемой частью получения достоверных и полезных выводов является статистический анализ больших данных. R отлично справляется со статистическим анализом и визуализацией. R является предпочтительным вариантом для анализа данных, когда необходимо применить сложную статистику. SQL SQL используется для доступа к информации, которая хранится в базах данных. Язык был разработан для оперирования с большими базами данных со связями между различными переменными из разных наборов данных. Часто SQL используется для простого доступа к большим объемам хранимых данных. Проблемы, связанные с большими данными С большими данными приходят большие проблемы. Входящие данные, которые необходимо проанализировать, могут оказаться структурированными, неструктурированными или чем-то средним между тем и тем. Структурированные данные четко определены, например, день рождения или количество проданных товаров в день. И их намного проще обрабатывать и интерпретировать. Неструктурированные данные сложно понять, и они нуждаются в дополнительной интерпретации, чтобы стать полезными. Хорошим примером неструктурированных данных обычно является текст электронного письма или твита. Одна из проблем больших данных заключается лишь в том, что просто необходимо осмыслить огромный объем доступной информации. Именно алгоритмы для понимания ключевого смысла текста являются основной частью извлечения информации из больших данных. Также серьезными проблемами является конфиденциальность и безопасность. Часто кажется, что мы слышим о краже личной информации от тысяч людей еженедельно. Большие данные требуют новых инструментов и методов для обеспечения безопасности информации. Потеря контроля над информацией может нанести ущерб репутации компании, а также может привести к различным юридическим и финансовым последствиям. Огромной проблемой также можно считать хранение и обработку данных. При наличии больших объемов данных, которые быстро меняются, требуется быстрый доступ и интерпретация. Часто для этой цели используют облачное хранилище, но оно может создавать дополнительные проблемы со скоростью, стоимостью и доступностью. Узнайте больше о больших данных Возможностей в области больших данных очень много, и спрос на специалистов по обработке данных, вероятно, будет только расти, так как онлайн-мир продолжает производить все больше информации. Если вас заинтересовала работа с большими данными, то первый шаг – это научиться работать с некоторыми языками программирования из списка выше.
img
В прошлой статье мы рассказывали о ресурсе HIBP, на котором можно, проверить находится ли ваш email или пароль в базе взломанных учётных данных. В этой статье расскажем о расширении от Google, которое может выполнять такую же проверку автоматически на любом сайте, где вы вводите учётные данные, используя браузер Google Chrome. Расширение, описанное в данной статье, актуально только для пользователей браузера Google Chrome. Остальным же, мы надеемся, будет просто полезно ознакомиться с возможностями решения. Похоже, что факт обнаружения баз слитых учёток Collection #1 и последующих более крупных Collection #2-5, не остался без внимания Google. Потому что 5 февраля (в день безопасного Интернета, кстати) они объявили о создании сразу двух расширений, которые призваны сделать процесс работы с вэб-ресурсами и приложениями ещё более безопасным. Про одно из них мы бы хотели рассказать в нашей статье. Password Checkup Проверяет учётные данные, которые вы вводите на каждом сайте или в приложении через Google, по базе из свыше 4 миллиардов взломанных логинов и паролей. Если расширение обнаруживает ваши логин и пароль (то есть оба типа данных, которые необходимы для получения доступа к вашему аккаунту) в списке взломанных, то оно генерирует оповещение с предложением сменить скомпрометированные данные. При этом, расширение не будет уведомлять о том, что вы используете слабый пароль или о том, что ваш старый, не актуальный пароль был скомпрометирован. Google заявляет, что разрабатывал расширение так, чтобы учетные данные, которые вы вводите, никогда не попали не только в злоумышленникам, но и в сам Google, в этом им помогали эксперты в области криптографии Стэндфордского Университа. Итак, как это работает? Когда вы вводите на каком-либо сайте свой логин и пароль расширение обращается к серверам Google для того, чтобы проверить находятся ли введённые учётные данные в списке скомпрометированных. При этом, в запросе не передаются сами логин и пароль. То есть расширение опрашивает сервер, не передавая туда запрашиваемую информацию. При этом, важно исключить возможность использования расширения злоумышленниками, которые будут брутить сайты и пробовать получить от расширения информацию о скомпрометированных учётках. Для этого в расширении применяется сразу несколько технологий шифрования, многоразовое хэширование вводимой информации, а также технологии Private Set Intersection (PSI) и k-annonimity. Google имеет в своём распоряжении базу из взломанных учётных данных, содержащих около 4 миллиардов записей. Однако, это не учётные данные в открытом виде, а их захэшированная и зашифрованная копия, ключ от которой известен только Google. Каждый раз, когда вы вводите свой логин и пароль, расширение Password Checkup будет отправлять на сервера Google захэшированную копию этих данных, ключ от которых будет известен только вам. В свою очередь на сервере Google эта копия также будет зашифрована специальным ключом. Последнее преобразование происходит локально в самом расширении - полученная копия от Google дешифруется и если результат сходится с тем хэшом скомпрометированных учётных данных, что хранится на сервере Google - то пользователю выводится Алерт с рекомендациями по смене пароля. Если вы пользуетесь браузером Google Chrome, то рекомендуем установить данное расширение, чтобы обезопасить свои аккаунты от доступа к ним третьих лиц. И никогда, пожалуйста, не используйте одни и те же пароли на разных сайтах.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59