SpaceWeb открыл расширенную API-документацию для веб-мастеров и DevOps-инженеров
SpaceWeb расширил публичную API-документацию. В открытом доступе появились методы для управления ключевыми облачными сервисами: балансировщиками нагрузки, бэкапами, мониторингом, базами данных, почтой и DNS-записями.
Раньше эти операции выполнялись только через веб-интерфейс панели управления. Теперь разработчики и системные администраторы могут автоматизировать их через API.
Что изменилось
В документации появились полноценные методы для работы с основными сервисами платформы:
балансировщик нагрузки;
облачные бэкапы;
управление IP-адресами;
мониторинг ресурсов;
почтовые сервисы;
DBaaS;
DNS-управление.
API позволяет выполнять полный цикл задач — от создания и конфигурирования ресурсов до масштабирования и наблюдения за ними. Разработчики могут автоматизировать процессы резервного копирования, настраивать фильтрацию, выполнять операции с базами данных и управлять DNS-записями.
Зачем это нужно
Расширенная API-документация помогает специалистам глубже контролировать инфраструктуру и встраивать управление ресурсами в собственные процессы.
Теперь пользователи могут:
отслеживать метрики потребления и интегрировать их во внутренние системы мониторинга;
ускорять развертывание окружений;
автоматизировать управление политиками бэкапов и масштабирование сервисов.
SpaceWeb продолжает развивать платформенное API и движется к модели Infrastructure as Code. В ближайших релизах появится поддержка Terraform и Ansible, чтобы пользователи могли включать управление облачными ресурсами в CI/CD-пайплайны, автоматизировать инфраструктуру и сокращать время вывода IT-продуктов на рынок. Ознакомиться с API-документацией можно на сайте SpaceWeb
Vacuum – сверхбыстрый и лёгкий инструмент линтера и проверки качества OpenAPI, написанный на Golang и вдохновлённый Spectral. Он также совместим с существующими наборами правил Spectral.
Ключевые изменения релиза - исправление ряда ошибок.
Вы же не из тех, кто думает, что docker ps показывает список процессов? Давайте проверим ваш реальный уровень знаний Docker за 6 каверзных вопросов! Так вы сможете узнать, где «плаваете» и какие темы стоит освежить, чтобы работать увереннее.
Привет, Хабр. Делимся подборкой открытых уроков, которые скоро пройдут в Otus в рамках онлайн-курсов. Это живые лекции с преподавателями-практиками — отличная возможность протестировать формат обучения и задать вопросы экспертам. Участие бесплатное, нужна только регистрация. Присоединяйтесь:
Сегодня в 15:00 — новый выпуск прямого эфира «Стальной микрофон» с директором по информационным технологиям «Северстали». Герой нового эфира — врач! Знакомьтесь:
Николай Сорокин — доктор медицинских наук, профессор факультета фундаментальной медицины МГУ им. М. В. Ломоносова, врач-уролог, онколог, онкохирург.
Вместе с гостем обсудим: - Когда пора идти к профильному врачу? - Будет ли полная роботизация медицины? - Дети врачей и айтишников — это будущие врачи и айтишники?
Расскажем, как проводить нагрузочное тестирование на Python
Ждем вас через час, в 18:30 мск, на митапе для Python-специалистов. Как обычно, поговорим обо всем, что волнует сообщество. Сделаем глубокий разбор экосистемы mypy и протестируем ее. Выясним, как запускать задачи по расписанию от cron/systemd timers до чистого Python. Узнаем, насколько сильно можно нагрузить систему, прежде чем она сломается. Все это — в компании экспертных спикеров из Selectel, Яндекса и Райффайзен Банка.
Приходите лично или подключайтесь к трансляции.
Программа
18:35-19:05 — mypy в неестественной среде обитания Сделаем обзор gradual typing в Python и экосистемы mypy, разберем отличия от линтеров и других анализаторов типа.
19:05-19:35 — Все идет по cron-у. Или нет? Поговорим о том, как запускать задачи по расписанию: от cron/systemd timers до чистого Python и библиотек вроде APScheduler, Celery, а также Kubernetes CronJob и Redis Queue.
19:35-20:00 — Ломай меня полностью Разберемся, зачем и как проводить нагрузочное тестирование.
Техническое интервью становится решающим этапом отбора в крупные технологические компании. Проектирование масштабируемых систем требует глубоких знаний и опыта — без правильной подготовки кандидат рискует потерять шанс получить работу мечты.
Поэтому Кирилл Борисов, SRE в VK, вместе с Владимиром Невзоровым, Senior backend developer, покажут реалистичный опыт прохождения технического интервью.
Для кого этот вебинар?
⭐️ Для тех, кто готовится к техническим интервью в крупных компаниях
⭐️ Для разработчиков, желающих углубить свои знания в проектировании систем
⭐️ Для всех, кто хочет повысить шансы на успешное прохождение технических собеседований
После вебинара вы поймете структуру и логику System Design интервью, ознакомитесь с алгоритмами проектирования высоконагруженных систем, чтобы в дальнейшем избежать распространённых ошибок.
Бывает, что работа надоедает — хочется попробовать себя в чём-то новом, но останавливает страх начинать с нуля. Спокойно: построить карьеру в IT можно и без глубоких знаний программирования или технического образования.
Есть профессии, где важнее внимательность, креатив и аналитическое мышление, а базовые знания можно получить за несколько месяцев. Собрали для вас топ-5 профессий с низким порогом входа — выбирайте, что по душе.
Всем привет! С вами Дарья Морозова, специальный корреспондент Мир Plat.Form. Мы продолжаем серию репортажей с крупнейших ИТ-конференций страны. И в этот раз мы отправились на конференцию Joker — место сбора Java-разработчиков из Санкт-Петербурга и не только.
Смотрите, как мы вычисляем джависта, проверяем, сможет ли ИИ нас заменить, придумываем смешные ИТ-поговорки и оцениваем мем рабочей недели (особенно актуально перед шестидневкой).
Создатель архитектурного стиля RESTРой Филдинг — считает, что REST-архитектура должна соответствовать пяти обязательным ограничениям. У него довольно жёсткая позиция, что если API не выполняет хотя бы одного ограничения, то это не RESTful API. И тут ничего не поделаешь, как автор идеи считает, так и правильно. Далее я буду говорить, что api REST или не REST именно по Филдингу.
Но шутка в том, что хотя каждый уважающий себя бекендер знает про REST, почти никто не делает RESTful API. Но не потому что это недостижимый идеал, а потому что REST для апи, почти никому не нужен.
В смысле не нужен? А вот так, давайте взглянем на модель зрелости REST сервисов Леонарда Ричардсона. На первом и втором уровне находятся ресурсы и http-глаголы, вещь полезная, я понимаю их пользу и ничего против них не имею. А вот на третьем уровне мы видим hypermedia controls, о котором я бы хотел поговорить подробнее.
Гипермедиа как средство управления состоянием приложения или HATEOAS. Благодаря этому ограничения клиент и сервер могут развиваться независимо друг от друга, а вся необходимая информация о том, что можно делать ресурсом, содержится в ответе этого ресурса. В общем, классический сайт. Мы открываем главную или какую-нибудь другую страницу и переходим между страницами. На страницах есть ссылки на другие страницы и формы для редактирования. Вот что говорит сам автор:
«REST API следует вводить без каких-либо предварительных знаний, кроме начального URI и набора стандартных типов данных. Все переходы состояний приложения должны определяться исходя из представлений или пользовательских манипуляций с ними, полученных клиентом от сервера»
— Рой Филдинг, Архитектурные стили и проектирование сетевых архитектур программного обеспечения.
Для меня это звучит так: вот у нас сайт, соответствующий принципам REST архитектуры, тогда он может отдавать свои ресурсы в разных представлениях — например, в виде html или json. HTML — это обычная веб страница, а json содержит только данные, без визуала. Нетрудно понять, что REST клиент для json представления выглядит не очень привлекательно.
Филдинг предполагал, что сервер может менять контракт как захочет, а клиент сможет его понять на основании гипермедиа. Вы встречали таких клиентов? На самом деле они есть, но про них мало кто знает. На практике в API HATEOAS не нужен ни программисту, ни программному клиенту. Программисту нужно описание контракта, с чем прекрасно справляются OpenAPI/Swagger, желательно автогенерённые из кода. А клиенту нужен четкий контракт, как создать товар или показать ленту. И меньше всего клиент хочет, чтобы контракт менялся, и тем более не хочет поддерживать средства обнаружения и подстройки под изменённый контракт.
В итоге перед программистом встаёт дилемма:
Не делать HATEOAS. Но тогда его апи нельзя называть RESTful.
ДелатьHATEOAS. Но тогда ему нужно будет "напихать ссылок" в ответы своего апи и поддерживать их просто чтобы называться RESTful. При этом, эти ссылки никто не будет использовать.
В итоге мы живём в мире, где бэкенд часто разрабатывают с использованием принципов REST, но при этом почти не существует RESTful апи. А те, что существуют, имеют пародийное название REST-like API или pragmatic REST. А 2-й уровень зрелости REST звучит так, как будто мы остановились на полпути к идеалу. Но ведь это не идеал: 3-й уровень зрелости часто бессмысленен или даже вреден.
На практике, все насколько смирились с ситуацией, что ослабили значение термина и называют api RESTful, даже если оно только частично следует принципам REST.
А было бы круто, если бы кто-то придумал новый, хороший термин для архитектурных практик, которые бы взяли всё лучшее и полезное из REST применительно к современным Web-api. Тогда бы начинающие бэкендеры сразу осваивали актуальные подходы, а не книги Филдинга из 2000-х, как я когда-то.
Сегодня — тот самый день, когда решительность имеет цену.
Скидка 15% на все IT-курсы, стартующие в октябре, действует до конца суток. Завтра она снизится до 10%. Ещё через несколько дней — до 5%. А потом и вовсе исчезнет.
Базовая книга по инжинирингу платформ – новому подходу к управлению программными системами, при работе с которыми требуется обслуживать множество разных аппаратных архитектур и операционных систем. Показано развитие концепции DevOps и объяснено, как учитывать запросы и возможности пользователей независимо от способа работы с приложением, минимизировать задержки при обработке данных и упрощать масштабирование и поддержку многоплатформенных продуктов. Описан комплексный подход к управлению продуктом с учетом потребностей клиентов, разработчиков, системных администраторов и предприятия в целом, актуальный на любых программных платформах.
Для специалистов DevOps, системных администраторов, руководителей команд
Все ждут «идеального момента», чтобы начать учиться новому. Спойлер: его не будет. Будет обычный день, как сегодня, и вы возьмете и начнете. Чтобы набрать темп, предлагаем залететь на нашу витрину за бесплатными курсами от известных школ. Забирайте и заряжайтесь мотивацией на большее:
Чтобы код был понятным, структурированным и компилировался без ошибок нужно постоянно совершенствовать свои навыки.
А лучшие помощники в этом — хорошие курсы, которые дают возможность углубиться в любимый язык программирования и разобраться во всех его тонкостях. Погнали разбираться вместе:
Java. Приложения для бизнеса, банковские системы, корпоративные сервисы и масштабные веб-приложения.
Python. Веб-сайты, скрипты для автоматизации и анализ данных.
PHP. Динамические сайты, CMS, интернет-магазины и серверная часть веб-платформ.
C++. Драйверы, ПО для железа и высокопроизводительные приложения.
Rust. Безопасное и производительное ПО, системное программирование, микросервисы и backend
Еще немного про доходы разработчиков - вот очень наглядный график диапазонов зарплат по разным странам, до налогов. Данные двухлетней давности, но наглядности это не уменьшает.
Актуально и для других айтишников, там цифры будут поменьше.
Парсинг Сохранённых сообщений Телеграм в локальный каталог
Всем привет. Позвольте рассказать вам, как скачать содержимое Сохранённых сообщений Телеграм к себе на ПК.
Для начала, ознакомьтесь с предыдущей статьёй - Парсинг чатов Телеграм. В ней описан процесс установки и первичной настройки десктоп клиента. Кратко, что у вас должно быть настроено: 1. Путь к хранилищу (локальная БД SQLite). 2. Путь к файлу сессии (в нём сохраняется служебная текущая сессия подключения). 3. Регистрация приложения на сайте Телеграм. 4. Настройки подключения клиента (хранится в таблице приложений).
Страница настроек
После успешного подключения к Телеграм, откроется доступ к меню Сохранённые сообщения. Заходим на третью вкладку Скачать, кликаем по кнопке Сбросить по-умолчанию, указываем локальный каталог на диске для скачивания файлов (например C:\OpenTgResearcher\SavedMessages). По необходимости, отредактируем первый ИД и количество потоков. Всё готово, кликаем по кнопке Запустить парсинг Телеграм. После чего можно идти пить кофе, пока ожидаем результат работы парсинга. Файлы будут скачаны в локальный каталог, а сообщения в соответствующую таблицу, их можно будет посмотреть на вкладке Содержимое.
Если вам нужна заказная разработка приложений либо вы в поисках разработчика моего уровня, сообщите пожалуйста мне в личку.
🧠 Стек технологий: - Разработка ПО: Console, ASP.NET Core Web API, Blazor, WinForms, WPF, UWP, WinUI - Хранение и передача информации: JSON, XML, SQLite - БД и ORM: MS SQL Server / PostgreSQL / SQLite, EF Core - Веб технологии: REST API / RESTful API, HTTP, TCP/IP, HttpClient, WebSocket - Брокеры сообщений: RabbitMQ (готов быстро освоить Kafka) - Контейнеризация: Docker / Compose (готов быстро освоить Kubernetes) - Архитектура ПО: ООП, шаблоны проектирования (Design Patterns) - Архитектурные подходы: TDD, DRY, KISS, SOLID, YAGNI, Clean Architecture, N-Tier Architecture - Фронт: небольшой опыт разработки Angular
Привет, Хабр. Сегодня делимся подборкой открытых уроков, которые пройдут в Otus на этой неделе. Уроки проводят преподаватели курсов в формате живых вебинаров — это шанс не только получить нужные знания, но и задать свои вопросы экспертам. Участие бесплатное (нужно только зарегистрироваться). Присоединяйтесь!
Мы знаем, что найти работу мечты — тот еще квест. Часто мешает даже не отсутствие опыта, а неуверенность в себе. Кажется, что все вокруг специалисты намного круче и вообще: зачем стараться, если все равно ничего не получится?
На самом деле все иначе: уверенность приходит в процессе — вместе с опытом и новыми прокаченными скиллами.
Мне только что пришло интересное письмецо от Vaadin :)
Hi everyone,
This message is going out to the whole Vaadin community, as the news comes directly from years of your feedback, ideas, and passion for building better web apps in Java.
Now we’re taking another big step forward and Hilla will be merged into Vaadin Flow and discontinued it as a separate product, and our main focus will move fully toward building web UIs in pure Java.
Whether you’ve been with Vaadin since the early days or just joined recently, we need your input to make it useful and helpful in your work, so let us know what you think. Thank you!
on behalf of the Vaadin Team
Sami
Если вкратце, Vaadin Flow - это "классический Vaadin", а Hilla - его React-версия.
Поэтому те, кто сидят на Vaadin Hilla, подумайте о переходе на Vaadin Flow. Ну или на чистый React :)