Telegram Group & Telegram Channel
Вышел httr2 1.0.0

Команда Хедли работала над вторым поколением httr на протяжении последних двух лет, и вчера был официальный релиз стабильной версии httr2.

httr2 является преемником httr.Основное его отличие состоит в том, что у него есть явный объект запроса, который можно создать с помощью нескольких вызовов функций. Это делает интерфейс более естественным для работы в пайпах и в целом упрощает жизнь, поскольку вы можете итеративно создавать сложный запрос. httr2 также основан на 10-летнем опыте разработки пакетов, который мы накопили с момента создания httr, поэтому его использование должно быть более удобным. Если вы в настоящее время являетесь пользователем httr, вам не нужно переходить на него, поскольку мы продолжим поддерживать пакет в течение многих лет, но если вы начинаете новый проект, я бы рекомендовал вам попробовать httr2.

От себя добавлю, что с момента выхода httr2 все свои новые пакеты я уже писал на его основе.

————————————————
Что нового в httr2 1.0.0

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

Для управления политикой отправки набора запросов в данном релизе добавлены следующие 3 функции:

req_perform_sequential() - берет список запросов и выполняет их по одному.
req_perform_parallel() - берет список запросов и выполняет их параллельно (до 6 одновременно по умолчанию). По смыслу похоже на req_perform_sequential(), но, очевидно, быстрее за счет потенциальной нагрузки на сервер. У него также есть некоторые ограничения: самое главное, он не может обновить токен OAuth с истекшим сроком действия и игнорирует политику обработки ошибок настроенную через`req_retry()` и ограничение скорости отправки запросов через req_throttle().
req_perform_iterative() - принимает один запрос и функцию обратного вызова для генерации следующего запроса из предыдущего ответа. Это будет продолжаться до тех пор, пока функция обратного вызова не вернется NULL или max_reqs не будут выполнены запросы. Это очень полезно для API с поддержкой пагинации, которые сообщают только URL-адрес следующей страницы.

Небольшой пример кода для работы с набором запросов:

# формируем URL для запроса
urls <- paste0("https://swapi.dev/api/people/", 1:10)
# генерируем список объектов запроса
reqs <- lapply(urls, request)
# последовательно отправляем каждый запрос из списка
resps <- req_perform_sequential(reqs)

# функция для парсинга результатов
sw_data <- function(resp) {
tibble::as_tibble(resp_body_json(resp)[1:9])
}
# парсинг результата
resps |> resps_data(sw_data)


● В функцию req_url_query() добавлен аргумент .multi, который позволяет управлять поведением параметра, если вы передаёте в него набор значений в виде вектора:
- .multi = "comma" - разделение значений через запятую
- .multi = "pipe" - разделение значений через |
- .multi = "explode" - создание одного параметра для каждого значения (например a = c(1, 2) конвертируется в ?a=1&a=2)

● Так же у пакета теперь появился официальный логотип, который вы видите на изображении к посту.

Ссылки:
- Прочитать о выпуске httr2 1.0.0 можно по ссылке

Полезные материалы по httr2:
- Начало работы с httr2
- Оборачиваем API с помощью httr2
- Видео урок по созданию пакета обёртки над API с помощью httr2

#новости_и_релизы_по_R



group-telegram.com/R4marketing/1301
Create:
Last Update:

Вышел httr2 1.0.0

Команда Хедли работала над вторым поколением httr на протяжении последних двух лет, и вчера был официальный релиз стабильной версии httr2.

httr2 является преемником httr.Основное его отличие состоит в том, что у него есть явный объект запроса, который можно создать с помощью нескольких вызовов функций. Это делает интерфейс более естественным для работы в пайпах и в целом упрощает жизнь, поскольку вы можете итеративно создавать сложный запрос. httr2 также основан на 10-летнем опыте разработки пакетов, который мы накопили с момента создания httr, поэтому его использование должно быть более удобным. Если вы в настоящее время являетесь пользователем httr, вам не нужно переходить на него, поскольку мы продолжим поддерживать пакет в течение многих лет, но если вы начинаете новый проект, я бы рекомендовал вам попробовать httr2.

От себя добавлю, что с момента выхода httr2 все свои новые пакеты я уже писал на его основе.

————————————————
Что нового в httr2 1.0.0

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

Для управления политикой отправки набора запросов в данном релизе добавлены следующие 3 функции:

req_perform_sequential() - берет список запросов и выполняет их по одному.
req_perform_parallel() - берет список запросов и выполняет их параллельно (до 6 одновременно по умолчанию). По смыслу похоже на req_perform_sequential(), но, очевидно, быстрее за счет потенциальной нагрузки на сервер. У него также есть некоторые ограничения: самое главное, он не может обновить токен OAuth с истекшим сроком действия и игнорирует политику обработки ошибок настроенную через`req_retry()` и ограничение скорости отправки запросов через req_throttle().
req_perform_iterative() - принимает один запрос и функцию обратного вызова для генерации следующего запроса из предыдущего ответа. Это будет продолжаться до тех пор, пока функция обратного вызова не вернется NULL или max_reqs не будут выполнены запросы. Это очень полезно для API с поддержкой пагинации, которые сообщают только URL-адрес следующей страницы.

Небольшой пример кода для работы с набором запросов:

# формируем URL для запроса
urls <- paste0("https://swapi.dev/api/people/", 1:10)
# генерируем список объектов запроса
reqs <- lapply(urls, request)
# последовательно отправляем каждый запрос из списка
resps <- req_perform_sequential(reqs)

# функция для парсинга результатов
sw_data <- function(resp) {
tibble::as_tibble(resp_body_json(resp)[1:9])
}
# парсинг результата
resps |> resps_data(sw_data)


● В функцию req_url_query() добавлен аргумент .multi, который позволяет управлять поведением параметра, если вы передаёте в него набор значений в виде вектора:
- .multi = "comma" - разделение значений через запятую
- .multi = "pipe" - разделение значений через |
- .multi = "explode" - создание одного параметра для каждого значения (например a = c(1, 2) конвертируется в ?a=1&a=2)

● Так же у пакета теперь появился официальный логотип, который вы видите на изображении к посту.

Ссылки:
- Прочитать о выпуске httr2 1.0.0 можно по ссылке

Полезные материалы по httr2:
- Начало работы с httr2
- Оборачиваем API с помощью httr2
- Видео урок по созданию пакета обёртки над API с помощью httr2

#новости_и_релизы_по_R

BY R4marketing | канал Алексея Селезнёва | Язык R




Share with your friend now:
group-telegram.com/R4marketing/1301

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

In 2014, Pavel Durov fled the country after allies of the Kremlin took control of the social networking site most know just as VK. Russia's intelligence agency had asked Durov to turn over the data of anti-Kremlin protesters. Durov refused to do so. Groups are also not fully encrypted, end-to-end. This includes private groups. Private groups cannot be seen by other Telegram users, but Telegram itself can see the groups and all of the communications that you have in them. All of the same risks and warnings about channels can be applied to groups. Sebi said data, emails and other documents are being retrieved from the seized devices and detailed investigation is in progress. Despite Telegram's origins, its approach to users' security has privacy advocates worried. Official government accounts have also spread fake fact checks. An official Twitter account for the Russia diplomatic mission in Geneva shared a fake debunking video claiming without evidence that "Western and Ukrainian media are creating thousands of fake news on Russia every day." The video, which has amassed almost 30,000 views, offered a "how-to" spot misinformation.
from vn


Telegram R4marketing | канал Алексея Селезнёва | Язык R
FROM American