API – это «технологии», которые широко используются в программном обеспечении и на онлайн-сервисах. Они могут быть использованы для самых разных целей. Все зависит от того, каким именно будет API.
Сегодня предстоит познакомиться с weather API. Нужно выяснить, что это вообще такое и для чего нужно. Также вниманию будет представлены лучшие бесплатные APIs для приложений и веб-страниц 2023-2024 годов.
Опубликованная ниже информация рассчитана на широкую публику. Особо полезной она будет для веб-разработчиков. Особенно тех, кто планирует использовать данные о погоде на своих сервисах и сайтах.
API – это интерфейс программирования приложения. Представляет собой программный интерфейс – описание способ взаимодействия одной компьютерной программы с другими. Служит некой противоположностью пользовательскому интерфейсу, который применяется для взаимодействия конечного пользователя с тем или иным программным обеспечением.
API обычно входит в описание Интернет-протоколов, программного каркаса (фреймворка) или стандарта вызова функций операционных систем. Очень часто встречается в качестве реализации отдельной программной библиотеки или сервиса операционной системы. API используется разработчиками в процессе написания веб-сайтов, онлайн-программ и иных приложений.
API погоды
Программные интерфейсы бывают разными. В зависимости от того, к какому типу они относятся, меняется спектр их возможностей и цели применения. Огромную роль для большинства современных онлайн-проектов имеют API погоды.
Это интерфейсы прикладного программирования. Они представляют собой своеобразные сервисы, которые предоставляют доступ к данным и прогнозам погоды в режиме реального времени. Соответствующие интерфейсы дают возможность программистам создавать ПО для своих клиентов с возможностью получения информации о погоде из различных источников.
Weather-API позволяет получать доступ к:
- текущей погодной ситуации в той или иной местности;
- почасовым и ежедневных прогнозам;
- долгосрочным прогнозам погоды.
За счет рассматриваемого интерфейса можно реализовать упомянутые функции всего за несколько строк кода. Это дает возможность создавать многофункциональные проекты, которые предоставляют наиболее полную и актуальную информацию о температуре, осадках, скорости и направлении ветра и иных погодных переменных.
Для чего нужны погодные интерфейсы
Weather API – это очень полезные «приложения». Они помогают решать самые разные задачи:
- Получение наиболее точной и развернутой информации о текущих погодных условиях. Иногда «просто посмотреть в окно» недостаточно, чтобы понимать, какой будет погода в регионе. Соответствующие сведения будут иметь огромную роль для сотрудников компаний, которым нужно знать погоду для выполнения должностных обязанностей. В качестве примера можно привести ремонтные работы.
- Планирование и принятие различных решений в тех или иных отраслях. В качестве примера стоит привести сельское хозяйство. Оно полагается на прогнозы для формирования графиков посадки и сбора урожая. Организаторы мероприятий соответствующие сведения тоже используют в своих целях – чтобы определить максимально комфортный момент проведения акций, торжеств и событий.
- Формирование удобных и функциональных приложений. Рассматриваемый тип программных интерфейсов дает возможность вставлять данные о погоде в разные приложения, сайты и сервисы. Разработчики могут задействовать API weather для формирования удобных и информационно наполненных цифровых платформ.
- Обеспечение безопасности и готовности к чрезвычайным ситуациям. Погодные условия часто могут приводить к стихийным бедствиям. Если город/человек к этому не готовы, можно серьезно пострадать и столкнуться с огромными финансовыми потерями. Рассматриваемые интерфейсы дают информацию о суровой погоде вроде ураганов, штормов и наводнений. Все это позволяет подготовиться в ЧС, а также сохранить имущество и человеческие жизни.
- Планирование путешествий и выбор транспортного средства. Погода оказывает огромное влияние на ситуацию на дорогах. Сильный дождь повышает количество аварий, как и гололед. Чтобы узнать о подобных ситуациях, нужно получать данные о погодных условиях. То же самое касается путешествий. Невозможно куда-то отправиться, не зная, с какими климатическими условиями столкнется человек. Никто не хочет выйти летом на улицу налегке и попасть под ливень.
- Прогнозирование в сферах энергетики и коммунальных услуг. В соответствующих областях API weather позволяют прогнозировать спрос на энергию, формировать графики технического обслуживания и оптимизировать распределение имеющихся ресурсов. Поставщики возобновляемой энергии смогут положиться на погодные условия для прогнозирования генерации солнечной/ветровой энергии.
- Анализ и исследования. Рассматриваемые интерфейсы нужны для научных исследований, изучения климатических условий и анализа погоды. Ученые способны получать исторические данные о погодных условиях и климатических моделях. Это помогает понять, как меняется мир и его состояние. А еще – предполагать, чего ожидать от погодных условий в отдельно взятых регионах.
Все вышесказанное указывает на то, что weather API дает возможность получить наиболее полную и точную информацию о погоде, а затем использовать ее в своих целях. Обычным людям такие интерфейсы тоже нужны. Особенно тогда, когда они планируют путешествия или просто собираются выйти на улицу.
Лучшие приложения
Погодные интерфейсы могут быть разными. Сегодня можно встретить очень много разных APIs. Среди них есть как платные программные продукты, так и бесплатные. Внимание будет уделено преимущественно второй категории. Это связано с тем, что работающие бесплатно элементы могут быть использованы без дополнительных расходов. Они подойдут новичкам и тем, кто пока сомневается в успехе своего проекта.
WeatherAPI.com
WeatherAPI.com – мощный и функциональный проект. Он поставляет APIs для формирования прогнозов погоды и геолокации. Здесь можно посмотреть как текущую погодную ситуацию, так и исторические данные.
Данный интерфейс поддерживает возможность просмотра не только температурного режима, но и давления, сведений о влажности воздуха, ветре и других подобных «параметрах». Пользователи могут задействовать при работе с ним свое местоположение (определение погоды в точке нахождения клиента), а также «погоду по часам».
При помощи WeaterAPI.com получится посмотреть предполагаемые прогнозы на 2 недели вперед, а также исторические сведения о погоде (в качестве примера – погодные условия в прошлом году в определенный день). Происходит все это при помощи REST API в формате JSON.
ForecastAPI
Free weather API, который работает на протяжении более 15 лет. Он собирает и анализирует информацию о погодных условиях их собственного метеорологического центра. Этот прием позволяет добиться максимальной точности независимо от местоположения клиента. С помощью ForecastAPI онлайн-проект будет оснащен наиболее точными данными.
Этот погодный интерфейс формирует прогнозы погоды по всему миру – для заданной точки ежедневно и бесплатно. Также клиент имеет право запросить погодную историю за последний год. Дополнительно предоставляется почасовая детализация и прогнозы на последующие 16 дней.
Meteostat
Meteostat – это free API weather, который предоставляет текущую погоду и исторические данные о ней, а также климате в том или ином регионе. Информацию он черпает из многочисленных метеостанций, работающих по всему миру.
Meteostat является одним из самых крупных поставщиков открытых данных о погодных и климатических условиях. С его помощью можно получить доступ к информации прошлых лет, а также к текущей «ситуации».
Данный проект позволяет не просто запросить информацию, но и классифицировать ее. Фильтрация осуществляется на основе указанного диапазона дат, местоположения и иных параметров.
WeatherStack
WeatherStack API – это возможность получения точных данных о погоде из наиболее надежных, стабильных и честных источников. Интерфейс позволят просматривать информацию о климатических условиях по всему миру.
У него есть возможность демонстрации погоды:
- текущие условия в точке нахождения человека или по указанным параметрам;
- ежедневные прогнозы;
- детализацию погодных условий по часам.
API поддерживает несколько тарифных планов, среди которых есть бесплатный пакет. За дополнительную плату пользователи могут получить доступ к историческим материалам.
WeatherStack предусматривает разные варианты интеграции с поддержкой RESTful API и клиентских библиотек. Интерфейс выдерживает высокие нагрузки и может работать стабильно на протяжении длительного времени.
Visual Crossing Weather
Visual Crossing Weather API – возможность обеспечить высокопроизводительный и быстрый доступ к записям погодных условий: как к историческим, так и к текущим. Доступные показатели включают в себя:
- температурный режим;
- количество осадков;
- скорость ветра (+порывы);
- наличие снега;
- влажность;
- давление.
Отслеживать прогнозы через этот API получится по часам, а также «по суткам» (день/ночь). Лучше всего этот интерфейс подходит для публичного корпоративного развертывания.
Weather Kit от Apple
Условно бесплатный интерфейс для формирования наиболее точных сведений о погодных условиях. Здесь огромное внимание уделяется бесшовной интеграции с платформами и устройствами от компании Apple. Кроме бесплатного пакета есть платные – с более широкими параметрами.
Weather Kit предусматривает глобальное покрытие, а также комплексные возможности прогнозирования, включая текущую ситуацию с погодой, почасовые и ежедневные прогнозы. А вот исторические данные здесь ответствуют.
Параметры интеграции Weather Kit хорошо интегрированы с платформами и устройствами Apple, поэтому интеграция проходит максимально плавно. Настройки ограничиваются только экосистемой компании.
Tomorrow.io
API Tomorrow.io – еще один интерфейс для предоставления данных о погоде с глобальным охватом. Он является условно бесплатным – основная масса функций здесь не требует дополнительных вложений.
Позволяет получать данные разного типа:
- погодную историю;
- почасовые прогнозы;
- ежедневные прогнозы;
- текущие погодные условия.
Разработчики вместе с Tomorrow.io получают расширяемый и гибкий «сервис». Он позволит адаптировать данные о погоде. API предусматривает высокий уровень безопасности и безотказной работы.
Что такое free API weather, понятно. И зачем такие интерфейсы нужны, тоже. Научиться использовать представленные «сервисы» (и не только их) на своих порталах и в приложениях помогут дистанционные компьютерные курсы.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!
<!DOCTYPE html>
<html dir="ltr" lang="ru-RU">
<head>
<meta charset="UTF-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="profile" href="http://gmpg.org/xfn/11" />
<title>API для использования данных о погоде на своих сервисах: ТОП лучших OTUS</title>
<!-- All in One SEO 4.5.2.1 - aioseo.com -->
<meta name="description" content="API – это «технологии», которые широко используются в программном обеспечении и на онлайн-сервисах. Они могут быть использованы для самых разных целей. Все зависит от того, каким именно будет API. Сегодня предстоит познакомиться с weather API. Нужно выяснить, что это вообще такое и для чего нужно. Также вниманию будет представлены лучшие бесплатные APIs для приложений и" />
<meta name="robots" content="max-image-preview:large" />
<link rel="canonical" href="https://otus.ru/journal/api-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih/" />
<meta name="generator" content="All in One SEO (AIOSEO) 4.5.2.1" />
<script type="application/ld+json" class="aioseo-schema">
{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/otus.ru\/journal\/api-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih\/#article","name":"API \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043e \u043f\u043e\u0433\u043e\u0434\u0435 \u043d\u0430 \u0441\u0432\u043e\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u0445: \u0422\u041e\u041f \u043b\u0443\u0447\u0448\u0438\u0445 OTUS","headline":"API \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043e \u043f\u043e\u0433\u043e\u0434\u0435 \u043d\u0430 \u0441\u0432\u043e\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u0445: \u0422\u041e\u041f \u043b\u0443\u0447\u0448\u0438\u0445","author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2024\/12\/oj-1080x720-42.jpg","width":2245,"height":1587},"datePublished":"2024-12-10T22:09:18+00:00","dateModified":"2024-12-10T22:09:21+00:00","inLanguage":"ru-RU","mainEntityOfPage":{"@id":"https:\/\/otus.ru\/journal\/api-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih\/#webpage"},"isPartOf":{"@id":"https:\/\/otus.ru\/journal\/api-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih\/#webpage"},"articleSection":"\u041f\u043e\u043b\u0435\u0437\u043d\u043e\u0435, API, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435"},{"@type":"BreadcrumbList","@id":"https:\/\/otus.ru\/journal\/api-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/#listItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/otus.ru\/journal\/","nextItem":"https:\/\/otus.ru\/journal\/api-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih\/#listItem"},{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/api-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih\/#listItem","position":2,"name":"API \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043e \u043f\u043e\u0433\u043e\u0434\u0435 \u043d\u0430 \u0441\u0432\u043e\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u0445: \u0422\u041e\u041f \u043b\u0443\u0447\u0448\u0438\u0445","previousItem":"https:\/\/otus.ru\/journal\/#listItem"}]},{"@type":"Organization","@id":"https:\/\/otus.ru\/journal\/#organization","name":"\u041e\u0442\u0443\u0441 \u043e\u043d\u043b\u0430\u0439\u043d-\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435","url":"https:\/\/otus.ru\/journal\/","sameAs":["https:\/\/www.youtube.com\/channel\/UCetgtvy93o3i3CvyGXKFU3g"],"contactPoint":{"@type":"ContactPoint","telephone":"+74999389202","contactType":"Customer Support"}},{"@type":"Person","@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author","url":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/","name":"A. Pavlenko","image":{"@type":"ImageObject","@id":"https:\/\/otus.ru\/journal\/api-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/d4c499a104d7c2522fa41f89e6819499?s=96&d=mm&r=g","width":96,"height":96,"caption":"A. Pavlenko"}},{"@type":"WebPage","@id":"https:\/\/otus.ru\/journal\/api-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih\/#webpage","url":"https:\/\/otus.ru\/journal\/api-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih\/","name":"API \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043e \u043f\u043e\u0433\u043e\u0434\u0435 \u043d\u0430 \u0441\u0432\u043e\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u0445: \u0422\u041e\u041f \u043b\u0443\u0447\u0448\u0438\u0445 OTUS","description":"API \u2013 \u044d\u0442\u043e \u00ab\u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438\u00bb, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0448\u0438\u0440\u043e\u043a\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0438 \u0438 \u043d\u0430 \u043e\u043d\u043b\u0430\u0439\u043d-\u0441\u0435\u0440\u0432\u0438\u0441\u0430\u0445. \u041e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u044b \u0434\u043b\u044f \u0441\u0430\u043c\u044b\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u0446\u0435\u043b\u0435\u0439. \u0412\u0441\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a\u0438\u043c \u0438\u043c\u0435\u043d\u043d\u043e \u0431\u0443\u0434\u0435\u0442 API. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 weather API. \u041d\u0443\u0436\u043d\u043e \u0432\u044b\u044f\u0441\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u044d\u0442\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u0442\u0430\u043a\u043e\u0435 \u0438 \u0434\u043b\u044f \u0447\u0435\u0433\u043e \u043d\u0443\u0436\u043d\u043e. \u0422\u0430\u043a\u0436\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u043b\u0443\u0447\u0448\u0438\u0435 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0435 APIs \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438","inLanguage":"ru-RU","isPartOf":{"@id":"https:\/\/otus.ru\/journal\/#website"},"breadcrumb":{"@id":"https:\/\/otus.ru\/journal\/api-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih\/#breadcrumblist"},"author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"creator":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2024\/12\/oj-1080x720-42.jpg","@id":"https:\/\/otus.ru\/journal\/api-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih\/#mainImage","width":2245,"height":1587},"primaryImageOfPage":{"@id":"https:\/\/otus.ru\/journal\/api-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih\/#mainImage"},"datePublished":"2024-12-10T22:09:18+00:00","dateModified":"2024-12-10T22:09:21+00:00"},{"@type":"WebSite","@id":"https:\/\/otus.ru\/journal\/#website","url":"https:\/\/otus.ru\/journal\/","name":"OTUS JOURNAL","description":"Blog about IT","inLanguage":"ru-RU","publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"}}]}
</script>
<!-- All in One SEO -->
<link rel='dns-prefetch' href='//otus.ru' />
<link rel='dns-prefetch' href='//fonts.googleapis.com' />
<link rel='stylesheet' id='wp-block-library-css' href='https://otus.ru/journal/wp-includes/css/dist/block-library/style.min.css?ver=6.4.7' type='text/css' media='all' />
<style id='classic-theme-styles-inline-css' type='text/css'>
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
</style>
<style id='global-styles-inline-css' type='text/css'>
body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
.wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;}
:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
.wp-block-pullquote{font-size: 1.5em;line-height: 1.6;}
</style>
<link rel='stylesheet' id='wbcr-comments-plus-url-span-css' href='https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/css/url-span.css?ver=2.2.0' type='text/css' media='all' />
<link rel='stylesheet' id='wpel-style-css' href='https://otus.ru/journal/wp-content/plugins/wp-external-links/public/css/wpel.css?ver=2.59' type='text/css' media='all' />
<link rel='stylesheet' id='ez-toc-css' href='https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/css/screen.min.css?ver=2.0.61' type='text/css' media='all' />
<style id='ez-toc-inline-css' type='text/css'>
div#ez-toc-container .ez-toc-title {font-size: 120%;}div#ez-toc-container .ez-toc-title {font-weight: 500;}div#ez-toc-container ul li {font-size: 95%;}div#ez-toc-container nav ul ul li {font-size: 90%;}
.ez-toc-container-direction {direction: ltr;}.ez-toc-counter ul{counter-reset: item ;}.ez-toc-counter nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }.ez-toc-widget-direction {direction: ltr;}.ez-toc-widget-container ul{counter-reset: item ;}.ez-toc-widget-container nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }
</style>
<link rel='stylesheet' id='contentberg-fonts-css' href='https://fonts.googleapis.com/css?family=Roboto%3A400%2C500%2C700%7CPT+Serif%3A400%2C400i%2C600%7CIBM+Plex+Serif%3A500' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-core-css' href='https://otus.ru/journal/wp-content/themes/contentberg/style.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-lightbox-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/lightbox.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='font-awesome-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/fontawesome/css/font-awesome.min.css?ver=1.8.3' type='text/css' media='all' />
<script type="text/javascript" id="breeze-prefetch-js-extra">
/* <![CDATA[ */
var breeze_prefetch = {"local_url":"https:\/\/otus.ru\/journal","ignore_remote_prefetch":"1","ignore_list":["\/wp-admin\/"]};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js" id="breeze-prefetch-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.min.js" id="jquery-core-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery-migrate.min.js" id="jquery-migrate-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/lazysizes.js" id="lazysizes-js"></script>
<link rel="https://api.w.org/" href="https://otus.ru/journal/wp-json/" /><link rel="alternate" type="application/json" href="https://otus.ru/journal/wp-json/wp/v2/posts/11315" /><link rel='shortlink' href='https://otus.ru/journal/?p=11315' />
<link rel="alternate" type="application/json+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fapi-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih%2F" />
<link rel="alternate" type="text/xml+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fapi-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih%2F&format=xml" />
<script>var Sphere_Plugin = {"ajaxurl":"https:\/\/otus.ru\/journal\/wp-admin\/admin-ajax.php"};</script><link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-32x32.png" sizes="32x32" />
<link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-192x192.png" sizes="192x192" />
<link rel="apple-touch-icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-180x180.png" />
<meta name="msapplication-TileImage" content="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-270x270.png" />
<style type="text/css" id="wp-custom-css">
#menu-item-10406 .wpel-icon {
display: none;
}
#menu-item-10407 .wpel-icon {
display: none;
}
.otus-login-site a .wpel-icon {
display: none;
}
.menu-menju-navykov-container a .wpel-icon {
display: none;
}
.otus-login-site a
{
background: #ffd709;
border-radius: 12px;
color: #0f0f10;
font-size: 14px;
font-weight: 700;
line-height: 20px;
display: block;
text-align: center;
padding: 8px 25px;
}
.main-footer.dark {
background: linear-gradient(90deg, #a64fc5, #4f54e6);
border-color: transparent;
}
.main-footer.bold .copyright {
color: #fff;
}
.main-footer.bold .to-top i {
color: #fff;
}
.main-footer.bold .back-to-top {
color: #fff;
}
.nav__scroll {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.scrollable-menu .menu {
display: flex;
}
.nav__scroll
{
background: linear-gradient(90deg, #a64fc5, #4f54e6);
}
.scrollable-menu .menu .menu-item {
flex: 0 0 auto;
padding: 15px 15px;
}
.scrollable-menu .menu .menu-item a {
color: #fff;
}
.nav__scroll::-webkit-scrollbar{background-color:#fff;height:5px;}
.nav__scroll::-webkit-scrollbar-thumb{background-color:#dcdcdc;}
.nav__scroll::-webkit-scrollbar-track{-webkit-border-radius:0;border-radius:0;background-color:#fff;}/
body {
min-width: 320px;
}
.banner-click img {
margin: 0 auto;
display: block;
}
.banner-click {
cursor: pointer;
}
.banner-footer-area {
margin-bottom: 20px;
}
.banner-left-area {
margin-top: 40px;
} </style>
<!--Start VDZ Yandex Metrika Plugin-->
<!-- Yandex.Metrika counter --><script type="text/javascript" >(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");ym(34531570, "init", {clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true, trackHash:true, ecommerce:"dataLayer"});</script>
<noscript><div><img src="https://mc.yandex.ru/watch/34531570" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter --><!--START ADD EVENTS FROM CF7--><script type='text/javascript'>document.addEventListener( 'wpcf7submit', function( event ) {
//event.detail.contactFormId;
if(ym){
//console.log(event.detail);
ym(34531570, 'reachGoal', 'VDZ_SEND_CONTACT_FORM_7');
ym(34531570, 'params', {
page_url: window.location.href,
status: event.detail.status,
locale: event.detail.contactFormLocale,
form_id: event.detail.contactFormId,
});
}
}, false );
</script><!--END ADD EVENTS FROM CF7-->
<!--End VDZ Yandex Metrika Plugin-->
</head>
<body class="post-template-default single single-post postid-11315 single-format-standard right-sidebar lazy-normal has-lb">
<div class="main-wrap">
<header id="main-head" class="main-head head-nav-below has-search-modal simple simple-boxed">
<div class="inner inner-head" data-sticky-bar="0">
<div class="wrap cf wrap-head">
<div class="left-contain">
<span class="mobile-nav"><i class="fa fa-bars"></i></span>
<div class="title">
<a href="https://otus.ru/journal/" title="OTUS JOURNAL" rel="home" data-wpel-link="internal">
<span class="text-logo"><img src="/journal/wp-content/themes/contentberg/img/logo_site.svg" alt="OTUS JOURNAL"></span>
</a>
</div>
</div>
<div class="navigation-wrap inline">
<nav class="navigation inline simple light" data-sticky-bar="0">
<div class="menu-rubriki-container"><ul id="menu-rubriki" class="menu"><li id="menu-item-109" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-1 menu-item-109"><a href="https://otus.ru/journal/category/pro-it/" data-wpel-link="internal"><span>Про IT</span></a></li>
<li id="menu-item-113" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-cat-4 menu-item-113"><a href="https://otus.ru/journal/category/polza/" data-wpel-link="internal"><span>Полезное</span></a></li>
<li id="menu-item-114" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-3 menu-item-114"><a href="https://otus.ru/journal/category/lifestyle/" data-wpel-link="internal"><span>Лайфстайл</span></a></li>
<li id="menu-item-10406" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10406"><a href="https://otus.ru/catalog/courses" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Обучение</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10407" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10407"><a href="https://otus.ru/about" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Информация</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </nav>
</div>
<div class="actions">
<div class="otus-login-site">
<a href="https://otus.ru/login/" target="_blank" data-wpel-link="external" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Войти<span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
<a href="#" title="Search" class="search-link"><i class="fa fa-search"></i></a>
</div>
</div>
</div>
</header> <!-- .main-head -->
<div class="nav nav_disable nav_colored nav_transparent course-categories__nav nav__scroll ">
<div class="container wrap">
<div class="links inline simple light scrollable-menu">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov" class="menu"><li id="menu-item-10413" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10414" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10415" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10416" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10417" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10418" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10419" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10420" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10421" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
</div>
</div>
<div class="main wrap">
<div class="ts-row cf">
<div class="col-8 main-content cf">
<article id="post-11315" class="the-post post-11315 post type-post status-publish format-standard has-post-thumbnail category-polza tag-api tag-programmirovanie">
<header class="post-header the-post-header cf">
<div class="post-meta the-post-meta">
<span class="post-cat">
<a href="https://otus.ru/journal/category/polza/" class="category" data-wpel-link="internal">Полезное</a>
</span>
<h1 class="post-title">
API для использования данных о погоде на своих сервисах: ТОП лучших
</h1>
<a href="https://otus.ru/journal/api-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih/" class="date-link" data-wpel-link="internal"><time class="post-date">10 декабря, 2024</time></a>
</div>
<div class="featured">
<a href="https://otus.ru/journal/wp-content/uploads/2024/12/oj-1080x720-42.jpg" class="image-link" data-wpel-link="internal"><img width="770" height="515" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20770%20515%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-contentberg-main size-contentberg-main lazyload wp-post-image" alt="API для использования данных о погоде на своих сервисах: ТОП лучших" title="API для использования данных о погоде на своих сервисах: ТОП лучших" decoding="async" fetchpriority="high" data-srcset="https://otus.ru/journal/wp-content/uploads/2024/12/oj-1080x720-42-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2024/12/oj-1080x720-42-270x180.jpg 270w" data-src="https://otus.ru/journal/wp-content/uploads/2024/12/oj-1080x720-42-770x515.jpg" data-sizes="(max-width: 770px) 100vw, 770px" /> </a>
</div>
</header><!-- .post-header -->
<div class="post-content description cf entry-content content-normal">
<div id="ez-toc-container" class="ez-toc-v2_0_61 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title " >Содержание</p>
<span class="ez-toc-title-toggle"><a href="#" class="ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle" aria-label="Toggle Table of Content"><span class="ez-toc-js-icon-con"><span class=""><span class="eztoc-hide" style="display:none;">Toggle</span><span class="ez-toc-icon-toggle-span"><svg style="fill: #999;color:#999" xmlns="http://www.w3.org/2000/svg" class="list-377408" width="20px" height="20px" viewBox="0 0 24 24" fill="none"><path d="M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z" fill="currentColor"></path></svg><svg style="fill: #999;color:#999" class="arrow-unsorted-368013" xmlns="http://www.w3.org/2000/svg" width="10px" height="10px" viewBox="0 0 24 24" version="1.2" baseProfile="tiny"><path d="M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z"/></svg></span></span></span></a></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="#API_%E2%80%93_%D1%8D%D1%82%D0%BE%E2%80%A6" title="API – это…">API – это…</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-2" href="#API_%D0%BF%D0%BE%D0%B3%D0%BE%D0%B4%D1%8B" title="API погоды">API погоды</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-3" href="#%D0%94%D0%BB%D1%8F_%D1%87%D0%B5%D0%B3%D0%BE_%D0%BD%D1%83%D0%B6%D0%BD%D1%8B_%D0%BF%D0%BE%D0%B3%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D1%8B" title="Для чего нужны погодные интерфейсы">Для чего нужны погодные интерфейсы</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-4" href="#%D0%9B%D1%83%D1%87%D1%88%D0%B8%D0%B5_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F" title="Лучшие приложения">Лучшие приложения</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-5" href="#WeatherAPIcom" title="WeatherAPI.com">WeatherAPI.com</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-6" href="#ForecastAPI" title="ForecastAPI">ForecastAPI</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-7" href="#Meteostat" title="Meteostat">Meteostat</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-8" href="#WeatherStack" title="WeatherStack">WeatherStack</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-9" href="#Visual_Crossing_Weather" title="Visual Crossing Weather">Visual Crossing Weather</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-10" href="#Weather_Kit_%D0%BE%D1%82_Apple" title="Weather Kit от Apple">Weather Kit от Apple</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-11" href="#Tomorrowio" title="Tomorrow.io">Tomorrow.io</a></li></ul></li></ul></nav></div>
<h1 class="wp-block-heading"></h1>
<p>API – это «технологии», которые широко используются в программном обеспечении и на онлайн-сервисах. Они могут быть использованы для самых разных целей. Все зависит от того, каким именно будет API.</p>
<p>Сегодня предстоит познакомиться с weather API. Нужно выяснить, что это вообще такое и для чего нужно. Также вниманию будет представлены лучшие бесплатные APIs для приложений и веб-страниц 2023-2024 годов.</p>
<p>Опубликованная ниже информация рассчитана на широкую публику. Особо полезной она будет для веб-разработчиков. Особенно тех, кто планирует использовать данные о погоде на своих сервисах и сайтах.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="API_%E2%80%93_%D1%8D%D1%82%D0%BE%E2%80%A6"></span>API – это…<span class="ez-toc-section-end"></span></h2>
<p>API – это интерфейс программирования приложения. Представляет собой программный интерфейс – описание способ взаимодействия одной компьютерной программы с другими. Служит некой противоположностью пользовательскому интерфейсу, который применяется для взаимодействия конечного пользователя с тем или иным программным обеспечением.</p>
<p>API обычно входит в описание Интернет-протоколов, программного каркаса (фреймворка) или стандарта вызова функций операционных систем. Очень часто встречается в качестве реализации отдельной программной библиотеки или сервиса операционной системы. API используется разработчиками в процессе написания веб-сайтов, онлайн-программ и иных приложений.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="API_%D0%BF%D0%BE%D0%B3%D0%BE%D0%B4%D1%8B"></span>API погоды<span class="ez-toc-section-end"></span></h3>
<p>Программные интерфейсы бывают разными. В зависимости от того, к какому типу они относятся, меняется спектр их возможностей и цели применения. Огромную роль для большинства современных онлайн-проектов имеют API погоды.</p>
<p>Это интерфейсы прикладного программирования. Они представляют собой своеобразные сервисы, которые предоставляют доступ к данным и прогнозам погоды в режиме реального времени. Соответствующие интерфейсы дают возможность программистам создавать ПО для своих клиентов с возможностью получения информации о погоде из различных источников.</p>
<p>Weather-API позволяет получать доступ к:</p>
<ul>
<li>текущей погодной ситуации в той или иной местности;</li>
<li>почасовым и ежедневных прогнозам;</li>
<li>долгосрочным прогнозам погоды.</li>
</ul>
<p>За счет рассматриваемого интерфейса можно реализовать упомянутые функции всего за несколько строк кода. Это дает возможность создавать многофункциональные проекты, которые предоставляют наиболее полную и актуальную информацию о температуре, осадках, скорости и направлении ветра и иных погодных переменных.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%94%D0%BB%D1%8F_%D1%87%D0%B5%D0%B3%D0%BE_%D0%BD%D1%83%D0%B6%D0%BD%D1%8B_%D0%BF%D0%BE%D0%B3%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D1%8B"></span>Для чего нужны погодные интерфейсы<span class="ez-toc-section-end"></span></h2>
<p>Weather API – это очень полезные «приложения». Они помогают решать самые разные задачи:</p>
<ol>
<li>Получение наиболее точной и развернутой информации о текущих погодных условиях. Иногда «просто посмотреть в окно» недостаточно, чтобы понимать, какой будет погода в регионе. Соответствующие сведения будут иметь огромную роль для сотрудников компаний, которым нужно знать погоду для выполнения должностных обязанностей. В качестве примера можно привести ремонтные работы.</li>
<li>Планирование и принятие различных решений в тех или иных отраслях. В качестве примера стоит привести сельское хозяйство. Оно полагается на прогнозы для формирования графиков посадки и сбора урожая. Организаторы мероприятий соответствующие сведения тоже используют в своих целях – чтобы определить максимально комфортный момент проведения акций, торжеств и событий.</li>
<li>Формирование удобных и функциональных приложений. Рассматриваемый тип программных интерфейсов дает возможность вставлять данные о погоде в разные приложения, сайты и сервисы. Разработчики могут задействовать API weather для формирования удобных и информационно наполненных цифровых платформ.</li>
<li>Обеспечение безопасности и готовности к чрезвычайным ситуациям. Погодные условия часто могут приводить к стихийным бедствиям. Если город/человек к этому не готовы, можно серьезно пострадать и столкнуться с огромными финансовыми потерями. Рассматриваемые интерфейсы дают информацию о суровой погоде вроде ураганов, штормов и наводнений. Все это позволяет подготовиться в ЧС, а также сохранить имущество и человеческие жизни.</li>
<li>Планирование путешествий и выбор транспортного средства. Погода оказывает огромное влияние на ситуацию на дорогах. Сильный дождь повышает количество аварий, как и гололед. Чтобы узнать о подобных ситуациях, нужно получать данные о погодных условиях. То же самое касается путешествий. Невозможно куда-то отправиться, не зная, с какими климатическими условиями столкнется человек. Никто не хочет выйти летом на улицу налегке и попасть под ливень.</li>
<li>Прогнозирование в сферах энергетики и коммунальных услуг. В соответствующих областях API weather позволяют прогнозировать спрос на энергию, формировать графики технического обслуживания и оптимизировать распределение имеющихся ресурсов. Поставщики возобновляемой энергии смогут положиться на погодные условия для прогнозирования генерации солнечной/ветровой энергии.</li>
<li>Анализ и исследования. Рассматриваемые интерфейсы нужны для научных исследований, изучения климатических условий и анализа погоды. Ученые способны получать исторические данные о погодных условиях и климатических моделях. Это помогает понять, как меняется мир и его состояние. А еще – предполагать, чего ожидать от погодных условий в отдельно взятых регионах.</li>
</ol>
<p>Все вышесказанное указывает на то, что weather API дает возможность получить наиболее полную и точную информацию о погоде, а затем использовать ее в своих целях. Обычным людям такие интерфейсы тоже нужны. Особенно тогда, когда они планируют путешествия или просто собираются выйти на улицу.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9B%D1%83%D1%87%D1%88%D0%B8%D0%B5_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F"></span>Лучшие приложения<span class="ez-toc-section-end"></span></h2>
<p>Погодные интерфейсы могут быть разными. Сегодня можно встретить очень много разных APIs. Среди них есть как платные программные продукты, так и бесплатные. Внимание будет уделено преимущественно второй категории. Это связано с тем, что работающие бесплатно элементы могут быть использованы без дополнительных расходов. Они подойдут новичкам и тем, кто пока сомневается в успехе своего проекта.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="WeatherAPIcom"></span>WeatherAPI.com<span class="ez-toc-section-end"></span></h3>
<p>WeatherAPI.com – мощный и функциональный проект. Он поставляет APIs для формирования прогнозов погоды и геолокации. Здесь можно посмотреть как текущую погодную ситуацию, так и исторические данные.</p>
<p>Данный интерфейс поддерживает возможность просмотра не только температурного режима, но и давления, сведений о влажности воздуха, ветре и других подобных «параметрах». Пользователи могут задействовать при работе с ним свое местоположение (определение погоды в точке нахождения клиента), а также «погоду по часам».</p>
<p>При помощи WeaterAPI.com получится посмотреть предполагаемые прогнозы на 2 недели вперед, а также исторические сведения о погоде (в качестве примера – погодные условия в прошлом году в определенный день). Происходит все это при помощи REST API в формате JSON.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="ForecastAPI"></span>ForecastAPI<span class="ez-toc-section-end"></span></h3>
<p>Free weather API, который работает на протяжении более 15 лет. Он собирает и анализирует информацию о погодных условиях их собственного метеорологического центра. Этот прием позволяет добиться максимальной точности независимо от местоположения клиента. С помощью ForecastAPI онлайн-проект будет оснащен наиболее точными данными.</p>
<p>Этот погодный интерфейс формирует прогнозы погоды по всему миру – для заданной точки ежедневно и бесплатно. Также клиент имеет право запросить погодную историю за последний год. Дополнительно предоставляется почасовая детализация и прогнозы на последующие 16 дней.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="Meteostat"></span>Meteostat<span class="ez-toc-section-end"></span></h3>
<p>Meteostat – это free API weather, который предоставляет текущую погоду и исторические данные о ней, а также климате в том или ином регионе. Информацию он черпает из многочисленных метеостанций, работающих по всему миру.</p>
<p>Meteostat является одним из самых крупных поставщиков открытых данных о погодных и климатических условиях. С его помощью можно получить доступ к информации прошлых лет, а также к текущей «ситуации».</p>
<p>Данный проект позволяет не просто запросить информацию, но и классифицировать ее. Фильтрация осуществляется на основе указанного диапазона дат, местоположения и иных параметров.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="WeatherStack"></span>WeatherStack<span class="ez-toc-section-end"></span></h3>
<p>WeatherStack API – это возможность получения точных данных о погоде из наиболее надежных, стабильных и честных источников. Интерфейс позволят просматривать информацию о климатических условиях по всему миру.</p>
<p>У него есть возможность демонстрации погоды:</p>
<ul>
<li>текущие условия в точке нахождения человека или по указанным параметрам;</li>
<li>ежедневные прогнозы;</li>
<li>детализацию погодных условий по часам.</li>
</ul>
<p>API поддерживает несколько тарифных планов, среди которых есть бесплатный пакет. За дополнительную плату пользователи могут получить доступ к историческим материалам.</p>
<p>WeatherStack предусматривает разные варианты интеграции с поддержкой RESTful API и клиентских библиотек. Интерфейс выдерживает высокие нагрузки и может работать стабильно на протяжении длительного времени.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="Visual_Crossing_Weather"></span>Visual Crossing Weather<span class="ez-toc-section-end"></span></h3>
<p>Visual Crossing Weather API – возможность обеспечить высокопроизводительный и быстрый доступ к записям погодных условий: как к историческим, так и к текущим. Доступные показатели включают в себя:</p>
<ul>
<li>температурный режим;</li>
<li>количество осадков;</li>
<li>скорость ветра (+порывы);</li>
<li>наличие снега;</li>
<li>влажность;</li>
<li>давление.</li>
</ul>
<p>Отслеживать прогнозы через этот API получится по часам, а также «по суткам» (день/ночь). Лучше всего этот интерфейс подходит для публичного корпоративного развертывания.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="Weather_Kit_%D0%BE%D1%82_Apple"></span>Weather Kit от Apple<span class="ez-toc-section-end"></span></h3>
<p>Условно бесплатный интерфейс для формирования наиболее точных сведений о погодных условиях. Здесь огромное внимание уделяется бесшовной интеграции с платформами и устройствами от компании Apple. Кроме бесплатного пакета есть платные – с более широкими параметрами.</p>
<p>Weather Kit предусматривает глобальное покрытие, а также комплексные возможности прогнозирования, включая текущую ситуацию с погодой, почасовые и ежедневные прогнозы. А вот исторические данные здесь ответствуют.</p>
<p>Параметры интеграции Weather Kit хорошо интегрированы с платформами и устройствами Apple, поэтому интеграция проходит максимально плавно. Настройки ограничиваются только экосистемой компании.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="Tomorrowio"></span>Tomorrow.io<span class="ez-toc-section-end"></span></h3>
<p>API Tomorrow.io – еще один интерфейс для предоставления данных о погоде с глобальным охватом. Он является условно бесплатным – основная масса функций здесь не требует дополнительных вложений.</p>
<p>Позволяет получать данные разного типа:</p>
<ul>
<li>погодную историю;</li>
<li>почасовые прогнозы;</li>
<li>ежедневные прогнозы;</li>
<li>текущие погодные условия.</li>
</ul>
<p>Разработчики вместе с Tomorrow.io получают расширяемый и гибкий «сервис». Он позволит адаптировать данные о погоде. API предусматривает высокий уровень безопасности и безотказной работы.</p>
<p>Что такое free API weather, понятно. И зачем такие интерфейсы нужны, тоже. Научиться использовать представленные «сервисы» (и не только их) на своих порталах и в приложениях помогут дистанционные компьютерные курсы.</p>
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a href="https://otus.ru/?utm_source=oj" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external" class="wpel-icon-right">Otus<span class="wpel-icon wpel-image wpel-icon-6"></span></a>!</em> </p>
</div><!-- .post-content -->
<div class="the-post-foot cf">
<div class="tag-share cf">
<div class="post-tags"><a href="https://otus.ru/journal/tag/api/" rel="tag" data-wpel-link="internal">API</a><a href="https://otus.ru/journal/tag/programmirovanie/" rel="tag" data-wpel-link="internal">программирование</a></div>
<div class="post-share">
<div class="post-share-icons cf">
<span class="counters">
</span>
<a href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fotus.ru%2Fjournal%2Fapi-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih%2F" class="link facebook wpel-icon-right" target="_blank" title="Share on Facebook" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-facebook"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fapi-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih%2F&text=API%20%D0%B4%D0%BB%D1%8F%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%BE%20%D0%BF%D0%BE%D0%B3%D0%BE%D0%B4%D0%B5%20%D0%BD%D0%B0%20%D1%81%D0%B2%D0%BE%D0%B8%D1%85%20%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0%D1%85%3A%20%D0%A2%D0%9E%D0%9F%20%D0%BB%D1%83%D1%87%D1%88%D0%B8%D1%85" class="link twitter wpel-icon-right" target="_blank" title="Share on Twitter" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-twitter"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fotus.ru%2Fjournal%2Fapi-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih%2F" class="link linkedin wpel-icon-right" target="_blank" title="LinkedIn" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-linkedin"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fapi-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih%2F&media=https%3A%2F%2Fotus.ru%2Fjournal%2Fwp-content%2Fuploads%2F2024%2F12%2Foj-1080x720-42.jpg&description=API%20%D0%B4%D0%BB%D1%8F%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%BE%20%D0%BF%D0%BE%D0%B3%D0%BE%D0%B4%D0%B5%20%D0%BD%D0%B0%20%D1%81%D0%B2%D0%BE%D0%B8%D1%85%20%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0%D1%85%3A%20%D0%A2%D0%9E%D0%9F%20%D0%BB%D1%83%D1%87%D1%88%D0%B8%D1%85" class="link pinterest wpel-icon-right" target="_blank" title="Pinterest" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-pinterest-p"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
</div>
</div>
</div>
<div class="post-nav">
<div class="post previous cf">
<a href="https://otus.ru/journal/android-programmist-opisanie-professii/" title="Prev Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-left"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/android-programmist-opisanie-professii/" class="image-link" rel="previous" data-wpel-link="internal">
<img width="150" height="106" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20106%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="Android-программист: описание профессии" decoding="async" data-srcset="https://otus.ru/journal/wp-content/uploads/2024/12/oj-1080x720-41-150x106.jpg 150w, https://otus.ru/journal/wp-content/uploads/2024/12/oj-1080x720-41-300x212.jpg 300w, https://otus.ru/journal/wp-content/uploads/2024/12/oj-1080x720-41-1024x724.jpg 1024w, https://otus.ru/journal/wp-content/uploads/2024/12/oj-1080x720-41-768x543.jpg 768w, https://otus.ru/journal/wp-content/uploads/2024/12/oj-1080x720-41-1536x1086.jpg 1536w" data-src="https://otus.ru/journal/wp-content/uploads/2024/12/oj-1080x720-41-150x106.jpg" data-sizes="(max-width: 150px) 100vw, 150px" title="Android-программист: описание профессии" /> </a>
<div class="post-meta">
<span class="label">Prev Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/android-programmist-opisanie-professii/" data-wpel-link="internal">Android-программист: описание профессии</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/android-programmist-opisanie-professii/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2024-12-10T21:55:14+00:00">10 декабря, 2024</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">6 Mins Read</span>
</div>
</div> </div>
</span>
</div>
<div class="post next cf">
<a href="https://otus.ru/journal/custom-keyboard-chto-nuzhno-znat/" title="Next Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-right"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/custom-keyboard-chto-nuzhno-znat/" class="image-link" rel="next" data-wpel-link="internal">
<img width="150" height="106" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20106%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="Custom Keyboard – что нужно знать" decoding="async" data-srcset="https://otus.ru/journal/wp-content/uploads/2024/12/oj-1080x720-43-150x106.jpg 150w, https://otus.ru/journal/wp-content/uploads/2024/12/oj-1080x720-43-300x212.jpg 300w, https://otus.ru/journal/wp-content/uploads/2024/12/oj-1080x720-43-1024x724.jpg 1024w, https://otus.ru/journal/wp-content/uploads/2024/12/oj-1080x720-43-768x543.jpg 768w, https://otus.ru/journal/wp-content/uploads/2024/12/oj-1080x720-43-1536x1086.jpg 1536w" data-src="https://otus.ru/journal/wp-content/uploads/2024/12/oj-1080x720-43-150x106.jpg" data-sizes="(max-width: 150px) 100vw, 150px" title="Custom Keyboard – что нужно знать" /> </a>
<div class="post-meta">
<span class="label">Next Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/custom-keyboard-chto-nuzhno-znat/" data-wpel-link="internal">Custom Keyboard – что нужно знать</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/custom-keyboard-chto-nuzhno-znat/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2024-12-11T20:15:15+00:00">11 декабря, 2024</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">7 Mins Read</span>
</div>
</div> </div>
</span>
</div>
</div>
<section class="related-posts grid-3">
<h4 class="section-head"><span class="title">Читать ещё</span></h4>
<div class="ts-row posts cf">
<article class="post col-4">
<a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" title="Уровень готовности CTO к 2026" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Уровень готовности CTO к 2026" title="Уровень готовности CTO к 2026" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" class="post-link" data-wpel-link="internal">Уровень готовности CTO к 2026</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-16T19:50:59+00:00">16 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" title="Новые уроки ноября: только топ-темы по программированию" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Новые уроки ноября: только топ-темы по программированию" title="Новые уроки ноября: только топ-темы по программированию" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" class="post-link" data-wpel-link="internal">Новые уроки ноября: только топ-темы по программированию</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-09T23:24:11+00:00">9 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/schjot-idjot-na-chasy/" title="Счёт идёт на часы" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Счёт идёт на часы" title="Счёт идёт на часы" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-370x245.png 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/schjot-idjot-na-chasy/" class="post-link" data-wpel-link="internal">Счёт идёт на часы</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-10-30T15:04:59+00:00">30 октября, 2025</time>
</div>
</div>
</article >
</div>
</section>
</article> <!-- .the-post -->
</div>
<aside class="col-4 sidebar">
<div class="inner">
<ul>
<li id="search-2" class="widget widget_search"><h5 class="widget-title"><span>Поиск по блогу</span></h5>
<form method="get" class="search-form" action="https://otus.ru/journal/">
<label>
<span class="screen-reader-text">Search for:</span>
<input type="search" class="search-field" placeholder="Введите запрос и нажмите Enter" value="" name="s" title="Search for:" />
</label>
<button type="submit" class="search-submit"><i class="fa fa-search"></i></button>
</form>
</li>
<li id="tag_cloud-5" class="widget widget_tag_cloud"><h5 class="widget-title"><span>Метки</span></h5><div class="tagcloud"><a href="https://otus.ru/journal/tag/android-2/" class="tag-cloud-link tag-link-74 tag-link-position-1" style="font-size: 12.472222222222pt;" aria-label="Android (34 элемента)" data-wpel-link="internal">Android</a>
<a href="https://otus.ru/journal/tag/c-3/" class="tag-cloud-link tag-link-91 tag-link-position-2" style="font-size: 10.916666666667pt;" aria-label="C (23 элемента)" data-wpel-link="internal">C</a>
<a href="https://otus.ru/journal/tag/c-2/" class="tag-cloud-link tag-link-81 tag-link-position-3" style="font-size: 12.666666666667pt;" aria-label="C# (35 элементов)" data-wpel-link="internal">C#</a>
<a href="https://otus.ru/journal/tag/c/" class="tag-cloud-link tag-link-20 tag-link-position-4" style="font-size: 12.472222222222pt;" aria-label="c++ (34 элемента)" data-wpel-link="internal">c++</a>
<a href="https://otus.ru/journal/tag/computer-science/" class="tag-cloud-link tag-link-209 tag-link-position-5" style="font-size: 15.972222222222pt;" aria-label="computer science (78 элементов)" data-wpel-link="internal">computer science</a>
<a href="https://otus.ru/journal/tag/css/" class="tag-cloud-link tag-link-288 tag-link-position-6" style="font-size: 8.6805555555556pt;" aria-label="CSS (13 элементов)" data-wpel-link="internal">CSS</a>
<a href="https://otus.ru/journal/tag/data-science/" class="tag-cloud-link tag-link-151 tag-link-position-7" style="font-size: 8pt;" aria-label="Data Science (11 элементов)" data-wpel-link="internal">Data Science</a>
<a href="https://otus.ru/journal/tag/devops/" class="tag-cloud-link tag-link-98 tag-link-position-8" style="font-size: 10.138888888889pt;" aria-label="devops (19 элементов)" data-wpel-link="internal">devops</a>
<a href="https://otus.ru/journal/tag/docker/" class="tag-cloud-link tag-link-143 tag-link-position-9" style="font-size: 8.2916666666667pt;" aria-label="Docker (12 элементов)" data-wpel-link="internal">Docker</a>
<a href="https://otus.ru/journal/tag/gamedev/" class="tag-cloud-link tag-link-25 tag-link-position-10" style="font-size: 11.694444444444pt;" aria-label="gamedev (28 элементов)" data-wpel-link="internal">gamedev</a>
<a href="https://otus.ru/journal/tag/hr/" class="tag-cloud-link tag-link-103 tag-link-position-11" style="font-size: 8pt;" aria-label="hr (11 элементов)" data-wpel-link="internal">hr</a>
<a href="https://otus.ru/journal/tag/html/" class="tag-cloud-link tag-link-217 tag-link-position-12" style="font-size: 11.208333333333pt;" aria-label="HTML (25 элементов)" data-wpel-link="internal">HTML</a>
<a href="https://otus.ru/journal/tag/ios/" class="tag-cloud-link tag-link-101 tag-link-position-13" style="font-size: 8.9722222222222pt;" aria-label="iOS (14 элементов)" data-wpel-link="internal">iOS</a>
<a href="https://otus.ru/journal/tag/it/" class="tag-cloud-link tag-link-50 tag-link-position-14" style="font-size: 10.527777777778pt;" aria-label="IT (21 элемент)" data-wpel-link="internal">IT</a>
<a href="https://otus.ru/journal/tag/java/" class="tag-cloud-link tag-link-75 tag-link-position-15" style="font-size: 15.680555555556pt;" aria-label="Java (73 элемента)" data-wpel-link="internal">Java</a>
<a href="https://otus.ru/journal/tag/javascript/" class="tag-cloud-link tag-link-83 tag-link-position-16" style="font-size: 14.319444444444pt;" aria-label="JavaScript (53 элемента)" data-wpel-link="internal">JavaScript</a>
<a href="https://otus.ru/journal/tag/linux/" class="tag-cloud-link tag-link-141 tag-link-position-17" style="font-size: 11.888888888889pt;" aria-label="Linux (29 элементов)" data-wpel-link="internal">Linux</a>
<a href="https://otus.ru/journal/tag/machine-learning/" class="tag-cloud-link tag-link-167 tag-link-position-18" style="font-size: 8.6805555555556pt;" aria-label="Machine Learning (13 элементов)" data-wpel-link="internal">Machine Learning</a>
<a href="https://otus.ru/journal/tag/otus-book/" class="tag-cloud-link tag-link-261 tag-link-position-19" style="font-size: 9.9444444444444pt;" aria-label="otus book (18 элементов)" data-wpel-link="internal">otus book</a>
<a href="https://otus.ru/journal/tag/php/" class="tag-cloud-link tag-link-45 tag-link-position-20" style="font-size: 10.527777777778pt;" aria-label="PHP (21 элемент)" data-wpel-link="internal">PHP</a>
<a href="https://otus.ru/journal/tag/python/" class="tag-cloud-link tag-link-27 tag-link-position-21" style="font-size: 16.944444444444pt;" aria-label="Python (99 элементов)" data-wpel-link="internal">Python</a>
<a href="https://otus.ru/journal/tag/qa/" class="tag-cloud-link tag-link-155 tag-link-position-22" style="font-size: 11.402777777778pt;" aria-label="qa (26 элементов)" data-wpel-link="internal">qa</a>
<a href="https://otus.ru/journal/tag/sql/" class="tag-cloud-link tag-link-38 tag-link-position-23" style="font-size: 12.861111111111pt;" aria-label="SQL (37 элементов)" data-wpel-link="internal">SQL</a>
<a href="https://otus.ru/journal/tag/team-lead/" class="tag-cloud-link tag-link-364 tag-link-position-24" style="font-size: 9.9444444444444pt;" aria-label="team lead (18 элементов)" data-wpel-link="internal">team lead</a>
<a href="https://otus.ru/journal/tag/unity/" class="tag-cloud-link tag-link-24 tag-link-position-25" style="font-size: 8pt;" aria-label="unity (11 элементов)" data-wpel-link="internal">unity</a>
<a href="https://otus.ru/journal/tag/algoritmy/" class="tag-cloud-link tag-link-30 tag-link-position-26" style="font-size: 9.9444444444444pt;" aria-label="Алгоритмы (18 элементов)" data-wpel-link="internal">Алгоритмы</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh/" class="tag-cloud-link tag-link-40 tag-link-position-27" style="font-size: 10.138888888889pt;" aria-label="Базы данных (19 элементов)" data-wpel-link="internal">Базы данных</a>
<a href="https://otus.ru/journal/tag/matematika/" class="tag-cloud-link tag-link-44 tag-link-position-28" style="font-size: 10.916666666667pt;" aria-label="Математика (23 элемента)" data-wpel-link="internal">Математика</a>
<a href="https://otus.ru/journal/tag/arhitektura-po/" class="tag-cloud-link tag-link-10 tag-link-position-29" style="font-size: 9.4583333333333pt;" aria-label="архитектура ПО (16 элементов)" data-wpel-link="internal">архитектура ПО</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh-2/" class="tag-cloud-link tag-link-251 tag-link-position-30" style="font-size: 10.138888888889pt;" aria-label="базы данных (19 элементов)" data-wpel-link="internal">базы данных</a>
<a href="https://otus.ru/journal/tag/vebinar/" class="tag-cloud-link tag-link-201 tag-link-position-31" style="font-size: 13.930555555556pt;" aria-label="вебинар (48 элементов)" data-wpel-link="internal">вебинар</a>
<a href="https://otus.ru/journal/tag/dajdzhest/" class="tag-cloud-link tag-link-308 tag-link-position-32" style="font-size: 10.722222222222pt;" aria-label="дайджест (22 элемента)" data-wpel-link="internal">дайджест</a>
<a href="https://otus.ru/journal/tag/zapis-vebinara/" class="tag-cloud-link tag-link-226 tag-link-position-33" style="font-size: 14.902777777778pt;" aria-label="запись вебинара (61 элемент)" data-wpel-link="internal">запись вебинара</a>
<a href="https://otus.ru/journal/tag/zapis-uroka/" class="tag-cloud-link tag-link-272 tag-link-position-34" style="font-size: 16.069444444444pt;" aria-label="запись урока (80 элементов)" data-wpel-link="internal">запись урока</a>
<a href="https://otus.ru/journal/tag/informacionnaya-bezopasnost/" class="tag-cloud-link tag-link-232 tag-link-position-35" style="font-size: 10.138888888889pt;" aria-label="информационная безопасность (19 элементов)" data-wpel-link="internal">информационная безопасность</a>
<a href="https://otus.ru/journal/tag/karera-v-it/" class="tag-cloud-link tag-link-292 tag-link-position-36" style="font-size: 9.9444444444444pt;" aria-label="карьера в IT (18 элементов)" data-wpel-link="internal">карьера в IT</a>
<a href="https://otus.ru/journal/tag/podborka/" class="tag-cloud-link tag-link-7 tag-link-position-37" style="font-size: 12.666666666667pt;" aria-label="подборка (35 элементов)" data-wpel-link="internal">подборка</a>
<a href="https://otus.ru/journal/tag/podborka-statej/" class="tag-cloud-link tag-link-219 tag-link-position-38" style="font-size: 15.777777777778pt;" aria-label="подборка статей (75 элементов)" data-wpel-link="internal">подборка статей</a>
<a href="https://otus.ru/journal/tag/programmirovanie/" class="tag-cloud-link tag-link-65 tag-link-position-39" style="font-size: 22pt;" aria-label="программирование (332 элемента)" data-wpel-link="internal">программирование</a>
<a href="https://otus.ru/journal/tag/proekt/" class="tag-cloud-link tag-link-321 tag-link-position-40" style="font-size: 11.888888888889pt;" aria-label="проект (29 элементов)" data-wpel-link="internal">проект</a>
<a href="https://otus.ru/journal/tag/proektnaya-rabota/" class="tag-cloud-link tag-link-310 tag-link-position-41" style="font-size: 11.597222222222pt;" aria-label="проектная работа (27 элементов)" data-wpel-link="internal">проектная работа</a>
<a href="https://otus.ru/journal/tag/seti/" class="tag-cloud-link tag-link-181 tag-link-position-42" style="font-size: 12.958333333333pt;" aria-label="сети (38 элементов)" data-wpel-link="internal">сети</a>
<a href="https://otus.ru/journal/tag/testirovanie/" class="tag-cloud-link tag-link-69 tag-link-position-43" style="font-size: 13.930555555556pt;" aria-label="тестирование (48 элементов)" data-wpel-link="internal">тестирование</a>
<a href="https://otus.ru/journal/tag/upravlenie-komandoj/" class="tag-cloud-link tag-link-63 tag-link-position-44" style="font-size: 11.694444444444pt;" aria-label="управление командой (28 элементов)" data-wpel-link="internal">управление командой</a>
<a href="https://otus.ru/journal/tag/habr-2/" class="tag-cloud-link tag-link-203 tag-link-position-45" style="font-size: 13.930555555556pt;" aria-label="хабр (48 элементов)" data-wpel-link="internal">хабр</a></div>
</li>
</ul>
</div>
</aside>
</div> <!-- .ts-row -->
</div> <!-- .main -->
<footer class="main-footer dark bold">
<section class="lower-footer cf">
<div class="wrap">
<div class="links">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov-1" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
<p class="copyright"> © 2015-2026 OTUS </p>
<div class="to-top">
<a href="#" class="back-to-top"><i class="fa fa-angle-up"></i> Top</a>
</div>
</div>
</section>
</footer>
</div> <!-- .main-wrap -->
<div class="mobile-menu-container off-canvas" id="mobile-menu">
<a href="#" class="close"><i class="fa fa-times"></i></a>
<div class="logo">
</div>
<ul class="mobile-menu"></ul>
</div>
<div class="search-modal-wrap">
<div class="search-modal-box" role="dialog" aria-modal="true">
<form method="get" class="search-form" action="https://otus.ru/journal/">
<input type="search" class="search-field" name="s" placeholder="Search..." value="" required />
<button type="submit" class="search-submit visuallyhidden">Submit</button>
<p class="message">
Type above and press <em>Enter</em> to search. Press <em>Esc</em> to cancel. </p>
</form>
</div>
</div>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/js/url-span.js" id="wbcr-comments-plus-url-span-js"></script>
<script type="text/javascript" id="ez-toc-scroll-scriptjs-js-extra">
/* <![CDATA[ */
var eztoc_smooth_local = {"scroll_offset":"30"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/smooth_scroll.min.js" id="ez-toc-scroll-scriptjs-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/js-cookie/js.cookie.min.js" id="ez-toc-js-cookie-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/sticky-kit/jquery.sticky-kit.min.js" id="ez-toc-jquery-sticky-kit-js"></script>
<script type="text/javascript" id="ez-toc-js-js-extra">
/* <![CDATA[ */
var ezTOC = {"smooth_scroll":"1","visibility_hide_by_default":"","scroll_offset":"30","fallbackIcon":"<span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span>"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/front.min.js" id="ez-toc-js-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/custom-script.js" id="custom-script-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/magnific-popup.js" id="magnific-popup-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.fitvids.js" id="jquery-fitvids-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/imagesloaded.min.js" id="imagesloaded-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/object-fit-images.js" id="object-fit-images-js"></script>
<script type="text/javascript" id="contentberg-theme-js-extra">
/* <![CDATA[ */
var Bunyad = {"custom_ajax_url":"\/journal\/api-dlya-ispolzovaniya-dannyh-o-pogode-na-svoih-servisah-top-luchshih\/"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theme.js" id="contentberg-theme-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theia-sticky-sidebar.js" id="theia-sticky-sidebar-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.slick.js" id="jquery-slick-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jarallax.js" id="jarallax-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/masonry.min.js" id="masonry-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.masonry.min.js" id="jquery-masonry-js"></script>
</body>
</html>
<!-- Cache served by breeze CACHE - Last modified: Tue, 10 Mar 2026 08:20:50 GMT -->