#protobuf — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #protobuf, aggregated by home.social.
-
The official Protobuf CLI now comes with LSP server. Yeah 🎉
-
🎉 Wow, congratulations! 🎉 After years in the wilderness, #Protobuf finally caught up to 2016 with #LSP #support. Someone give these folks a #participation #trophy 🏆 for joining the club where everyone else was already dancing. 💃🕺
https://buf.build/blog/protobuf-lsp #technews #development #HackerNews #ngated -
Protobuf has LSP support. You're welcome
https://buf.build/blog/protobuf-lsp
Comments: https://news.ycombinator.com/item?id=49322573
#HackerNews #Protobuf #LSP #LSPsupport #programming #languages #developer #tools
-
Как я придумывал замену Redis и что из этого получилось
Некоторое время назад мне пришла задача спроектировать высокопроизводительный балансировщик нагрузки для протокола Diameter. Через 3 месяца задача исчезла, так как как оказалось слишком долго и дорого, но в итоге балансировщик был сделан и имеется его MVP которое готово к установке как на реальное железо так и в облаке. В итоге продукт получился неплохим, и он с лихвой выигрывал имееющееся решение в той компании, по производительности был выигрыш раз в 6 по ресурсам раз в 100. Но суть не в этом, а в том что балансировщик был кластерным и умел хранить сессии в Redis. Решение было сделано, оно показало работоспособность, все хорошо, но меня не устраивала производительность. В тот момент я столкнулся с очень интересной проблемой - по каким то причинам я не мог пробить барьер в 5-7К Diameter Transactions per second. В принципе 5-7К TPS было неплохо, но проблемным участком как показал анализ был Redis. Проведя немного времени я смог добиться приемлемого результать и производительность поднялась до 20К TPS но там были другие проблемы.
https://habr.com/ru/articles/1067130/
#c++ #redis #grpc #protobuf #inmemory_database #highload #keyvalue #cache #latency #redisdb
-
🪧 The CPU Cost of Protobuf Varints in Go: Do fixed-size integers serialize faster than varints? We benchmark the CPU overhead of continuation-bit parsing using Go, vtprotobuf, and hyperpb.
https://kmcd.dev/posts/protobuf-varint-vs-fixed/
#Protobuf #Go #Performance #Software-architecture -
🪧 The CPU Cost of Protobuf Varints in Go: Do fixed-size integers serialize faster than varints? We benchmark the CPU overhead of continuation-bit parsing using Go, vtprotobuf, and hyperpb.
https://kmcd.dev/posts/protobuf-varint-vs-fixed/
#Protobuf #Go #Performance #Software-architecture -
CONTRACT: одна схема вместо N×M сериализаторов
Одна C+±схема — protobuf, binary, JSON, YAML и structured logging без ручных маппингов. В статье разбираю, как CONTRACT отделяет стабильный контракт типа от конкретных форматов, зачем нужны BASE, PROPERTY и REFERENCE и как атрибуты полей задают общую политику для разных адаптеров. Всё - на реальном коде из репозитория: YAML-конфиг, структурированный лог и сравнение производительности с libprotobuf. GitHub.
https://habr.com/ru/articles/1065488/
#c++ #c++26 #c++_библиотеки #open_source #protobuf #сериализация #logger #config #json #yaml
-
Как мы сделали протобаф-адаптер CONTRACT быстрее libprotobuf
CONTRACT умеет писать protobuf-совместимый wire-формат — и в 20 из 28 замеров обогнал по скорости настоящий libprotobuf, включая его собственный сгенерированный protoc-код. Разбираем три инженерных решения, которые это дали, и два сценария, где не получилось. CONTRACT — это C++ библиотека сериализации без кодогена и рантайм-рефлексии: схема объявляется один раз, в самой C+±структуре, и работает сразу под разные форматы.
-
🪧 It's Time for ConnectRPC to Adopt HTTP QUERY:
https://kmcd.dev/posts/connectrpc-http-query/
#Connectrpc #Http #Networking #Api #Protobuf #Golang -
🪧 It's Time for ConnectRPC to Adopt HTTP QUERY:
https://kmcd.dev/posts/connectrpc-http-query/
#Connectrpc #Http #Networking #Api #Protobuf #Golang -
Как я посадил WireMock.Net на gRPC стероиды
WireMock.Net умеет мокать gRPC . Но для этого он заставляет разработчика таскать .proto файлы и поддерживать лишнюю конфигурацию. Я контрибьютил в проект несколько месяцев, разобрался в кишках и написал своё расширение WireMock.Grpc.Protobuf Пакет предлагает gRPC моки через типизированные контракты Google.Protobuf . Получилось короче, надёжнее и заметно удобнее. В статье покажу, почему мой способ удобнее стандартного, как всё устроено под капотом и зачем вашему проекту пакет WireMock.Grpc.Protobuf Кстати, подобные инженерные разборы, open-source и внутренности .NET я регулярно публикую в Telegram-канале StepOne . Если статья зайдёт — заглядывайте. dotnet add package WireMock.Grpc.Protobuf
https://habr.com/ru/articles/1063162/
#grpc #proto #protobuf #wiremock #google #csharp #dotnet #nuget #github #mock
-
🪧 Beating Go's encoding/json with Schema-Guided ProtoJSON: How protojsonx compares to standard protojson, JSON, and vtproto.
https://kmcd.dev/posts/benchmarking-protojsonx/
#Protobuf #Go #Performance #Json #Protojsonx -
🪧 gRPC-Web Should Have Fixed gRPC: gRPC-Web should have been the pressure that made gRPC simpler, more inspectable, and better suited for the web.
https://kmcd.dev/posts/grpc-web-should-have-fixed-grpc/
#Grpc #Grpc-web #Protobuf #Connectrpc -
🪧 gRPC-Web Should Have Fixed gRPC: gRPC-Web should have been the pressure that made gRPC simpler, more inspectable, and better suited for the web.
https://kmcd.dev/posts/grpc-web-should-have-fixed-grpc/
#Grpc #Grpc-web #Protobuf #Connectrpc -
Великая ересь, или Как использовать protobuf без контракта
Привет! На связи Влад, разработчик product-facade — сердца витрины Ozon и одного из самых высоконагруженных сервисов, который выдерживает до 2,2 млн RPS. В прошлой моей статье я рассказывал об одном из архитектурных вызовов, с которым мы столкнулись в процессе работы. В этот раз продолжим тему микросервисной архитектуры и поговорим о том, что происходит, когда привычная строгость контрактов начинает мешать. Одна из ключевых причин использования gRPC для связи между сервисами — строгий protobuf-контракт. Он даёт типизацию, фиксирует схему данных и снижает риск случайно сломать интеграцию. Но иногда случаются ситуации, когда эти плюсы загоняют нас в рамки. Например, когда сервис просто передаёт данные дальше, но его всё равно приходится обновлять из-за изменений, которые нужны только конечному потребителю. В таких случаях полезно знать, какие механизмы protobuf позволяют работать с контрактом более гибко, не отказываясь от него полностью. В статье расскажу о трёх из них и приведу примеры, для чего они могут применяться.
https://habr.com/ru/companies/ozontech/articles/1057468/
#gRPC #protobuf #микросервисы #контракт #проксирование #передачаданных #строгийконтракт #механизмыprotobuf #обновлениесервиса #ozon_tech
-
Protobuf-py: Protobuf for Python, without compromises
https://buf.build/blog/protobuf-py
Comments: https://news.ycombinator.com/item?id=48827058
#HackerNews #Protobuf #Python #data #serialization #technology #coding
-
🪧 Making Dynamic Protobuf Fast in Go: Using Buf’s hyperpb to speed up FauxRPC’s runtime-loaded Protobuf request path.
https://kmcd.dev/posts/dynamic-protobuf-in-go/
#Protobuf #Go #Performance #Software-architecture -
🪧 Making Dynamic Protobuf Fast in Go: Using Buf’s hyperpb to speed up FauxRPC’s runtime-loaded Protobuf request path.
https://kmcd.dev/posts/dynamic-protobuf-in-go/
#Protobuf #Go #Performance #Software-architecture -
🪧 Speeding Up ProtoJSON: Benchmarking protojsonx: How protojsonx compares to standard protojson, JSON, and vtproto.
https://kmcd.dev/posts/benchmarking-protojsonx/
#Protobuf #Go #Performance #Json #Protojsonx -
🪧 Proxy, Record, and Mock gRPC APIs with FauxRPC: Stop writing mock stubs by hand. How FauxRPC uses smart proxying, reflection, and CEL to automate your API testing.
https://kmcd.dev/posts/fauxrpc-proxy/
#Fauxrpc #Connectrpc #Grpc #Protobuf #Api #Rpc #Go #Golang #Http3 -
🪧 Proxy, Record, and Mock gRPC APIs with FauxRPC: Stop writing mock stubs by hand. How FauxRPC uses smart proxying, reflection, and CEL to automate your API testing.
https://kmcd.dev/posts/fauxrpc-proxy/
#Fauxrpc #Connectrpc #Grpc #Protobuf #Api #Rpc #Go #Golang #Http3 -
Как пробросить свой UDP-транспорт через RustDesk без патча сервера
Привет, Хабр! Есть RustDesk-инфраструктура: rendezvous-сервер ( hbbs ) для NAT traversal и relay ( hbbr ) для проброса трафика, когда P2P не получился. И есть свой UDP-транспорт реального времени для видео (у меня это EVRT), который хочется гнать напрямую между пирами , минуя relay — ради задержки. Вопрос: как двум пирам договориться о прямом UDP-канале, если они общаются только через RustDesk? Ответ короткий: RustDesk relay — это «тупая труба» . Он передаёт зашифрованные PeerMessage между пирами и не парсит их содержимое . Значит, в эти сообщения можно подложить свои данные — и сервер прозрачно их пробросит, ничего не зная про твой протокол.
https://habr.com/ru/articles/1052332/
#rustdesk #rust #udp #nat_traversal #p2p #protobuf #relay #сетевые_протоколы #видеостриминг #transport
-
🪧 Exploring Protocol Buffers Interactively: Announcing protobuf.kmcd.dev, an interactive explainer and playground for exploring the binary details of Protocol Buffers.
https://kmcd.dev/posts/interactive-protobuf/
#Protobuf #Wasm #Go #Webassembly #Dataviz -
🪧 Exploring Protocol Buffers Interactively: Announcing protobuf.kmcd.dev, an interactive explainer and playground for exploring the binary details of Protocol Buffers.
https://kmcd.dev/posts/interactive-protobuf/
#Protobuf #Wasm #Go #Webassembly #Dataviz -
🪧 Introducing ProtoDocs: A protobuf-first documentation browser for APIs that deserve better than ugly generated docs.
https://kmcd.dev/posts/introducing-protodocs/
#Protobuf #Grpc #Connectrpc #Documentation #Go #Rpc -
🪧 Introducing ProtoDocs: A protobuf-first documentation browser for APIs that deserve better than ugly generated docs.
https://kmcd.dev/posts/introducing-protodocs/
#Protobuf #Grpc #Connectrpc #Documentation #Go #Rpc -
Mapping dynamic JSON objects to `google.protobuf.Struct` in your Go APIs? You might actually be hurting your performance. Unstructured Protobuf loses the compression benefits of static schemas, meaning a simple key and value can take up nearly double the space of compact JSON.
I wrote about the hidden structural costs and what the wire format actually looks like under the hood: https://kmcd.dev/posts/hidden-cost-of-google-protobuf-value/ #go #protobuf #performance #softwarearchitecture