Date | Title | Description |
03.11.2024 | Fedora Linux 41: A Leap Forward in Open Source Innovation | On October 29, 2024, the Fedora Project unveiled Fedora Linux 41, a significant upgrade that showcases the evolution of open-source software. This release is not just a collection of updates; it’s a bold step into the future of Linux distri... |
03.11.2024 | Cloudflare выпустила Pingora v0.4.0 с экспериментальной поддержкой Windows и Rustls в качестве альтернативы OpenSSL | 1 ноября 2024 года Cloudflare представила четвертый публичный релиз открытого проекта Pingora v0.4.0. Это асинхронный многопоточный фреймворк на Rust, который помогает создавать прокси-сервисы HTTP. Проект используется для создания сервисов... |
25.09.2024 | Navigating the Complexities of Go: From 4-Chan Programming to gRPC Test Coverage | In the world of programming, simplicity often hides complexity. This is especially true in Go, a language that embraces concurrency and efficiency. Two recent articles delve into the intricacies of Go programming, exploring both the whimsic... |
24.09.2024 | Системный аналитик с ЗП 400+. Найти за 30 дней. Часть 2 «Проверка на прочность» | Собеседование на системного аналитика — это проверка теоретической базы, гибкости мышления и способности решать сложные задачи на лету.
Кому предложат ЗП 200-, а кому 400+? Собеседование расставит всё на свои места.
Знакомство и остальные к... |
23.09.2024 | Визуализация покрытия автотестами для gRPC сервисов | Вступление
В данной статье хочу рассказать про инструмент измерения покрытия gRPC сервисов tests-coverage-tool, написанный на языке Golang. Основная задача инструмента — автоматическое измерение покрытия требований на основе proto контракто... |
22.09.2024 | Системный аналитик. Краткий гайд по профессии. Часть 4. Синхронные и асинхронные интеграции. REST, gRPC, Kafka, RabbitMQ | Из этой статьи вы узнаете об основных наиболее часто используемых типах интеграции приложений и распределенных систем, таких как REST, gRPC, Kafka, RabbitMQ, WebSocket.
Системный аналитик. Краткий гайд по профессии. Часть 1. Основы взаимоде... |
16.09.2024 | gRPC: проблемы и решения при переходе с REST | Вот уже 24 года мы используем сложный для понимания, завязанный на особенности HTTP REST-протокол. Не пора ли переходить к чему-то более современному?
Привет! Меня зовут Игорь Алексеев и я работаю бэкенд-разработчиком в компании Garage Eigh... |
04.09.2024 | Давайте работать с proto ошибками правильно :) | В программировании всегда есть несколько способов решения одной и той же проблемы. Но не все они одинаково эффективны. Сегодня поговорим о способах обработки ошибок в gRPC — удачных и не очень.
message Result { oneof response { error.v1.Err... |
01.09.2024 | Navigating the Docker Landscape: A Guide to Mastering Containerization | In the world of software development, Docker has emerged as a game-changer. It’s like a magician, transforming how applications are built, shipped, and run. The book "Docker: Up & Running, 3rd Edition" by Sean P. Kane and Karl... |
29.08.2024 | Собираем данные из сотни микросервисов, или Как мы разобрали Ozon на кубики, а потом собрали заново | Всем привет! Меня зовут Саша, я руковожу группой разработки Composer Core в Ozon Tech. В этой статье я расскажу о том, как устроена пользовательская часть одного из ведущих российских маркетплейсов, в развитии которой на момент написания ст... |
09.08.2024 | Микросервисы на Go: Как заставить систему работать на тебя | Когда-то мне пришлось перелопатить сотни статей, пролистать горы книг и выпить не одну чашку кофе, чтобы разобраться в микросервисной архитектуре. Я искал ответы на вопросы, которые появлялись на каждом шагу: как заставить микросервисы рабо... |
29.07.2024 | Тысяча и одна библиотека С++ | В жизни каждого программиста С++ рано или поздно возникает задача, которую кто-либо уже решил. Однако найти это решение бывает очень непросто в силу разных причин: оно недостаточно разрекламировано, либо имеет нечеткую документацию, или воз... |
27.07.2024 | The Power of gRPC: A Bridge for Cloud-Native Applications | In the realm of cloud-native applications, communication is the lifeblood. Just as rivers connect distant lands, gRPC connects diverse components of software systems. It’s a tool that transforms how applications interact, making them faster... |
24.07.2024 | Сила gRPC в облачных окружениях | При разработке исходно облачных (cloud-native) приложений требуется наладить гладкую и эффективную коммуникацию между различными компонентами. Для начала давайте рассмотрим весь спектр инструментов от XML до gRPC, которые обеспечивают и улу... |
20.07.2024 | Освоение gRPC на Python: Продвинутые техники. Часть III | После рассмотрения прошлых тем gRPC на Python:
Введение в gRPC: Основы, применение, плюсы и минусы. Часть I.
Основы работы с gRPC на Python: создание сервиса с использованием FastAPI. Часть II.
Перейдем к третьей (завершающей) части, в кото... |
11.07.2024 | gRPC-сервер на C++ | Всем привет. На Хабре есть довольно большое количество примеров реализации gRPC-серверов на GO, чуть в меньшей степени на python, еще меньше - на других языках. Поиск примеров данного проекта для C++ дал мне не так много информации, как хот... |
21.06.2024 | Руководство по началу с нуля настройки решений речевой аналитики Яндекс SpeechSense и документации по платформе | Если у вас имеется собственный контактный центр, задача найти упоминание чего-либо конкретного в большом количестве аудиофрагментов возникает регулярно. Недавно нам удовлетворили заявку на доступ к prewiev режиму сервиса Яндекса Speech Sens... |
16.06.2024 | Об одном использовании gRPC: HTTP-прокси pog-server | HTTP-прокси - это программа для для выполнения HTTP-запросов клиента с другого IP-адреса.
gRPC - система передачи данных на HTTP/2-транспорте и в качестве языка интерфейсов использующая Protocol Buffers.
Я разработал HTTP-прокси pog-server,... |
05.06.2024 | Введение в gRPC: Основы, применение, плюсы и минусы. Часть I | Что такое gRPC?
gRPC (gRPC Remote Procedure Call) — это современная высокопроизводительная фреймворк для удаленных вызовов процедур, разработанная Google. gRPC позволяет клиентам и серверам общаться напрямую, используя протокол HTTP/2 и Pro... |
20.05.2024 | Как я бэкенд для интернет-магазина пилил… | Привет, читатель! Это моя самая первая статья на тему программирования, на написание которой меня побудил интерес к микросервисной архитектуре.
Моя история начинается с конца июля 2023 года - того времени, когда я имея опыт программирования... |
15.05.2024 | Реализуем балансировку нагрузки на сервер с помощью Envoy и gRPC API на Kotlin | В наши дни архитектуры на базе микросервисов стали внедряться практически повсеместно. И нередки ситуации, когда какая-нибудь бизнес-функция может генерировать большое количество сетевого трафика в форме обмена сообщениями между несколькими... |
07.05.2024 | Разработчикам: рецензия на книгу «Node.js: разработка приложений в микросервисной архитектуре с нуля» | Компактная книга "Node.js: разработка приложений в микросервисной архитектуре с нуля" Юлии Поповой — выпущена в апреле 2024 г. как практическое руководство для разработчиков уровня джун и выше. Описан процесс создания микросервисо... |
18.04.2024 | Классифицируем клиент-серверное взаимодействие от А до Kafka | Всем привет, меня зовут Александр Карташов, я Java-бэкенд разработчик в Альфа-Банке. Работаю в проекте Альфа Бизнес Мобайл, мобильное приложение для юрлиц. В рамках проекта мне часто приходилось интегрироваться с разными банковскими система... |
29.03.2024 | Проектируем микросервисы с Reactive Manifesto: 4 принципа распределенных систем | Работаете с распределенными системами или только пытаетесь к ним подобраться? Проектировать их с нуля бывает сложно и страшно: чтобы учесть все нюансы, нужен определенный багаж знаний.
На помощь приходит Reactive Manifesto — документ, котор... |
24.03.2024 | Современный способ организации зависимостей в Android. Version catalog и Gradle convention plugin | Я — Денис, Middle Android-разработчик в «Лайв Тайпинге». В этой статье я расскажу о современном подходе организации зависимостей в Android. Вы узнаете как использовать version catalog и convention plugin в вашем проекте. История организации... |
22.03.2024 | YandexMapKit и SwiftUI: обратный геокодинг | Дано
Разработка мобильного приложения под IOS для мониторинга автотранспорта
Минимальная версия IOS - 15.5, SwiftUI
Использование YandexMapKit для отображения местоположения автомобилей на карте
Данные получаем по API с использованием GRPCЦ... |
16.02.2024 | Микросервисы и RabbitMQ в Docker | Микросервисная архитектура предполагает декомпозицию монолитного приложения на несколько полностью независимо развёртываемых и масштабируемых сервисов. За пределами этого базового определения, то, что представляет собой микросервис, может б... |
13.01.2024 | Сжатие целых чисел | Сжатие целых чисел
Цель статьи осветить state of the art методы сжатия целых чисел, чтобы сэкономить в будущем время исследования алгоритмов и терминологии. При этом описание части алгоритмов может быть упрощено для понимания. Сравнение алг... |
08.12.2023 | Своё кастомное межсервисное взаимодействие с блекджеком и gRPC | Привет, Хабр! Меня зовут Ильяс. Мы с командой делаем собственный Service Mesh в Ozon Tech, и в этой статье я расскажу, как можно за вечер реализовать свое супер кастомное межсервисное взаимодействие. К концу статьи мы с вами напишем совреме... |
21.11.2023 | От внешнего интерфейса к серверному с помощью FastAPI | Создано DALL-E-3 Что такое API простым языком?
Представьте, что вы в ресторане и вам очень хочется вкусной еды. Вы садитесь за столик и с нетерпением ждете меню. В этом сценарии меню похоже на API (интерфейс прикладного программирования).
М... |
18.11.2023 | Пишем gRPC сервис на Go — сервис авторизации | В этой статье мы научимся писать полноценный gRPC сервис на Go на примере сервера авторизации с полноценной архитектурой, готовой к продакшену. Мы напишем как серверную часть, так и клиентскую. В качестве клиента мы возьмём мой сервис — URL... |
07.10.2023 | Масштабирование приёмочных тестов | Эта глава является продолжением главы "Введение в приёмочные тесты". Готовый код этой главы можно найти на GitHub.
Приёмочные тесты очень важны, они напрямую влияют на вашу способность уверенно развивать систему с течением времени... |
20.07.2023 | Как построить систему, способную выдерживать нагрузку в 5 млн rps | Всем привет!
Меня зовут Владимир Олохтонов, я руковожу командой разработки в отделе Message Bus, который является частью платформы Ozon. Мы занимаемся разработкой самых разных систем вокруг Kafka, etcd и Vault. В этой статье я расскажу о то... |
21.06.2023 | Авакари — сервис для публикации и подписки на релевантные сообщения | В предыдущей статье "Дерево Киви для поиска шаблона по тексту" я рассказывал, как можно эффективно находить по входящему сообщению все удовлетворяющие "поисковые запросы", избегая их перебора "в лоб" и прямого ... |
25.04.2023 | Сравнение TCP и QUIC | Прим. переводчика: Джефф Хьюстон — главный научный сотрудник Азиатско-Тихоокеанского сетевого информационного центра (APNIC). Специализируется на исследованиях, связанных с инфраструктурой Интернета, IP-технологиями и политикой распределени... |
07.04.2023 | Мир приключений по API-серверу Kubernetes. Часть 2. Наблюдение и кэширование | В нашей предыдущей статье про приключения сервера Kubernetes API мы рассмотрели интерфейс хранилища и исследовали единственную реализацию в дереве: etcd3. Однако внимательное прочтение сносок в этом посте показало, что мы были не совсем чес... |
06.04.2023 | Добро пожаловать в мир приключений по API-серверу Kubernetes. Часть 1 | Kubernetes состоит из нескольких компонентов, где значительная часть взаимодействий итогового пользователя с системой осуществляется при помощи API-сервера. Он представляет собой отправную точку для многих функций, которые проект создал за ... |
26.02.2023 | Пишем простой чат с консольным интерфейсом используя трубно-ориентированное программирование с котами | Если в процессе изучения gRPC хотите попрактиковаться с Bidirectional Streaming (двунаправленная потоковая передача данных), c запросами в рамках одного соединения, инициированием событий со стороны сервера, то создание простого чата может ... |
20.02.2023 | Schema Registry с Protobuf в Kafka — зачем оно надо? | Всем привет. Меня зовут Нина Пакшина, я разработчик в отделе Разработки и управления цифровыми продуктами и часть операционной команды в сервисе доставки продуктов «Лента Онлайн». Наш стек PHP + Python + Go.
Недавно я столкнулась с довольно... |
09.02.2023 | Как создать микросервис на Rust при помощи gRPC | ❯ Введение
В сегодняшнем туториале по Rust мы откроем для себя мир gRPC. Для этого создадим очень простой микросервис с единственной конечной точкой, который будет отзеркаливать то сообщение, что мы ему пошлем. Чтобы протестировать наш микр... |
01.02.2023 | Что выбрать для очередного API: HTTP или gRPC | Команда VK Cloud перевела статью с подробным техническим сравнением двух типов API: HTTP и gRPC. Автор рассказывает о своем опыте работы и описывает нюансы, преимущества и недостатки каждой технологии.
Разработка API на базе HTTP
Самые совр... |
16.11.2022 | API для Инвестиций, или Как написать торгового робота | На связи команда Тинькофф Инвестиций. В этой статье разберем, как клиенты с минимальными навыками программирования создают торговых роботов. Базой будет API брокера Тинькофф Инвестиций — Tinkoff Invest API. Добро пожаловать на борт! Немного... |
15.11.2022 | Руководство по созданию облачного приложения под Microsoft Azure на основе опенсорсных технологий. Часть 1 | “Cloud Native” (или «облачно-ориентированный») — это подход к разработке приложений, который нацелен упростить процессы их создания и развертывания, а также улучшить их масштабируемость и удобство сопровождения. Моя цель в этой статье — пок... |
14.11.2022 | TCP — плохой вариант для дата-центров. Встречайте новый протокол Homa | Несмотря на свою феноменальную успешность на протяжении всей истории интернета, TCP — плохой транспортный протокол для современного дата-центра. Джон Остерхаут из Стэнфордского университета в научной статье «Пришло время заменить TCP в дата... |
06.10.2022 | Пишем сложные операторы Kubernetes | Советы по созданию операторов уровня продакшена с помощью Kubebuilder.
В этой статье рассматривается простой пример оператора для сценария автоматического создания ServiceAccount и ClusterRoleBinding с помощьюKubebuilder.
Не всякий оператор... |
26.08.2022 | Taneleer на смену Thanos – как мы поменяли подход к обнаружению скомпрометированных паролей | Привет, Хабр! Мы – команда информационной безопасности Почты Mail.ru. Уже много лет мы постоянно совершенствуем текущие и внедряем новые механизмы безопасности и технологии беспарольного входа, которые направлены на защиту аккаунтов пользов... |
19.06.2022 | Как использовать gRPC-клиент в проекте на Kotlin Multiplatform Mobile | Привет! На связи команда разработчиков из Новосибирска.
Нам давно хотелось рассказать сообществу о том, как мы разрабатываем фичи в KMM-проектах, и вот на одном из них подвернулась хорошая нестандартная задача. На ней, помимо собственно реш... |
01.06.2022 | Web Testing Specific | Анатолий Рыжаков
QA Engineer в Space307
Салют, Хабр!
Меня зовут Анатолий, и я работаю в компании Space307 в должности QA-инженер.
Долгим и упорным трудом я искал и собирал воедино, на мой взгляд, самую полезную информацию, которая поможет р... |
31.05.2022 | АДСМ6. Интерфейсы взаимодействия с сетевыми устройствами | Это вторая статья - техническо-практический разбор протоколов и интерфейсов автоматизации сети.
Если хочется исторической справки, я отсылаю читателя к статье-спутнику, в которой мы двигаемся от начала времён в будущее человечества. Какую р... |
31.05.2022 | АДСМ5. История сетевой автоматизации | Это первая статья - историческая ретроспектива технологий и интерфейсов автоматизации сети. Если хочется более практического разбора, я отсылаю читателя к статье-спутнику, в которой мы собираем лабу, дёргаем апишки, настраиваем коробки.
В э... |
28.04.2022 | Тинькофф Инвестиции про новую версию API и конкурс торговых роботов | Привет! На связи команда Тинькофф Инвестиций. Мы запустили новую версию программного интерфейса для алгоритмического трейдинга. Расскажем про Tinkoff Invest API и что новенького в сервисе.Что такое Tinkoff Invest API
Tinkoff Invest API — пр... |
07.03.2022 | Разрабатываем приложение на Golang + gRPC + gRPC Gateway | Сегодня я хотел бы поделиться особенностью разработки сервисов на Golang вместе с протоколом gRPC. В этой статье я не буду рассказывать, что такое gRPC, protobuf и для чего они нужны, вместо этого я сосредоточусь на технической части.
Мы на... |
21.02.2022 | gRPC на практике: особенности, преимущества и недостатки | Разрабатывая экосистему для «Метр квадратный», мы со старта проекта планировали большую линейку продуктов. Поэтому подбирали стек, который поможет реализовать максимум идей. В итоге мы пришли к протоколу gRPC.
В этом материале я расскажу:
о... |
25.01.2022 | Go и плагины | Не нужны эти ваши плагины
Go многими воспринимается как средство для написания микросервисов, тем не менее, сам он является языком общего назначения и позволяет писать приложения любого рода, в том числе, поддерживающие модули расширения.
П... |
20.12.2021 | Распределенные сервисы с применением gRPC | Часто бывает так, что эффективная коммуникация – один из основных движущих факторов в современных программных системах, даже в мире, живущем по законам микросервисной архитектуры. Технология gRPC может справляться с этими требованиями. В эт... |
18.11.2021 | JavaScript: заметка о WebAssembly | Привет, друзья!
В 2019 году WebAssembly (далее — WA или wasm) стал четвертым "языком" веба. Первые три — это, разумеется, HTML, CSS и JavaScript. Сегодня wasm поддерживается 94% браузеров. Он, как утверждается, обеспечивает скорос... |
27.04.2017 | Google Assistant SDK launches for developers and device makers | We are excited to bring Transform 2022 back in-person July 19 and virtually July 20 - 28. Join AI and data leaders for insightful talks and exciting networking opportunities. Register today!
Google today opened the software development kit ... |
27.04.2017 | Google Assistant SDK launches for developers and device makers | Google today opened the software development kit (SDK) of its Google Assistant, allowing tinkerers and companies making devices to incorporate Google Assistant into products like smart speakers, cars, or robots. An SDK means people can shop... |
01.03.2017 | Google contributes its gRPC framework to the Cloud Native Computing Foundation | Google today announced that it is donating gRPC, its high performance remote procedure call (RPC) framework, to the Cloud Native Computing Foundation (CNCF). The CNCF is already the open-source home of the Google-incubated Kubernetes contai... |
13.04.2016 | Google launches distributed version of its TensorFlow machine learning system | Google today announced the launch of version 0.8 of TensorFlow, its open source library for doing the hard computation work that makes machine learning possible. Normally, a small point update like this wouldn’t be all that interesting, but... |
- | Hexagon — гексогональная архитектура для Kotlin Backend | В математике идеальной фигурой является шар. В мире микросервисов близкой к идеальной можно считать шестиугольник. Сегодня мы поговорим о преимуществах и недостатках гексагональной архитектуры и относительно новой, но перспективной библиоте... |
- | Использование Gatling. Тестирование gRPC | Всем привет! Команда тестирования производительности Тинькофф продолжает цикл статей о нагрузочном тестировании различных протоколов с помощью Gatling.
В прошлой статье мы показали, как протестировать JDBC-протокол с помощью Gatling. В этой... |