mastodon.world is one of the many independent Mastodon servers you can use to participate in the fediverse.
Generic Mastodon server for anyone to use.

Server stats:

8.5K
active users

#websocket

0 posts0 participants0 posts today

gRPC, HTTP, Websocket — и все это один сервер

Однажды передо мной встала довольно интересная задача: обеспечить взаимодействие стороннего веб-приложения - и набора сервисов, имеющих gRPC интерфейс. Нужно было проводить обработку данных от веб-приложения через конвейеры AI-агентов, собирать конечный результат, и отдавать его приложению. А также, что немаловажно, обеспечить наглядность мониторинга и управления всем хозяйством. Мне потребовалось разработать собственный сервер на PHP, в котором поддержать три типа интерфейсов. Во-первых, RestAPI для веб-приложения. Во-вторых, gRPC-сервис для взаимодействия с AI-агентами. В-третьих, HTTP + Websocket для интерактивного мониторинга и управления. Для этого пришлось создать новый продукт - который, возможно, кажется полезен и вам.

habr.com/ru/articles/925172/

ХабрgRPC, HTTP, Websocket — и все это один серверОднажды передо мной встала довольно интересная задача: обеспечить взаимодействие стороннего веб-приложения - и набора сервисов, имеющих gRPC интерфейс. Нужно было проводить обработку данных от...

Как биржи манипулируют книжкой ордеров: технический анализ стакана и ботов

Механика биржевой торговли в криптовалютах нередко воспринимается как нейтральная инфраструктура: вы выставляете лимитный ордер, он попадает в стакан, и дальше всё решает рынок. На практике это не совсем так. Ретейл-участник видит лишь результат исполнения, в то время как большинство решений принимаются до фактической сделки — на уровне реакции на сам факт появления вашего ордера . Эти реакции происходят за миллисекунды , и инициируют их не люди, а торговые боты, встроенные в инфраструктуру самой платформы или подключённые к ней через публичные API . В этой статье мы разберём, как устроен order book на биржах типа Binance, OKX и Bybit, и какие манипуляционные паттерны можно наблюдать в реальном времени. Мы изучим:

habr.com/ru/articles/913696/

ХабрКак биржи манипулируют книжкой ордеров: технический анализ стакана и ботовМеханика биржевой торговли в криптовалютах нередко воспринимается как нейтральная инфраструктура: вы выставляете лимитный ордер, он попадает в стакан, и дальше всё решает рынок. На практике это не...

Pocupochki: когда лень писать список покупок, но есть 2 часа и доступ к Gemini

Рассказываю, как с помощью Google Stitch за 30 секунд получил готовый дизайн приложения, а потом с Gemini за пару часов превратил его в работающий сервис с голосовым вводом. Посмотреть

habr.com/ru/articles/913004/

ХабрPocupochki: когда лень писать список покупок, но есть 2 часа и доступ к GeminiВступление Привет, Хабр! Опять я со своим "а что если попросить artificial intelligence...". В этот раз попросил сразу две — одна нарисовала интерфейс, вторая написала код. Получилось настолько...

Почему я ушёл с VK Play и сделал все механики и лаунчер с нуля для моей Battle Royale игры на Unreal Engine 5 в 15 лет

Когда я только начал делать игру в жанре battle royale , я сразу хотел, чтобы это была не просто "игра для себя", а что-то реальное — с возможностью выложить, показать другим, и может даже зарабатывать. Ранее я уже пытался делать игры, но это были проекты которые через 2-3 дня либо лежали в корзине либо пылились в папке забытыми. Но с этим я решил идти по полной и до конца. Во время начала разработки я сразу посмотрел, куда можно загрузить игру — и выбрал VK Play . Казалось удобным: русская платформа, выплаты, публикация и всё такое. Родители согласились помочь если нужно будет с платёжной частью (так как мне 15, сам я не могу вбить свои данные), и на этом этапе всё было ок. Но дальше я столкнулся с проблемами, которые полностью поменяли моё отношение к платформам и подход к разработке в целом.

habr.com/ru/articles/911156/

ХабрПочему я ушёл с VK Play и сделал все механики и лаунчер с нуля для моей Battle Royale игры на Unreal Engine 5 в 15 летПривет! Мне 15 и я делаю свою игру на UE5 — и вот почему я ушёл с VK Play Когда я только начал делать игру в жанре battle royale , я сразу хотел, чтобы это была не просто «игра...

Как я ушёл с Kotlin (Spring Boot) на Go (Gin) и сделал AI-чат с WebSocket и GPT-4

Меня зовут Артём, я занимаюсь коммерческой разработкой с 2019 года. Последние несколько лет я активно использовал Spring Boot для создания backend-сервисов на Java и Kotlin. Но в какой-то момент захотелось попробовать что-то новое. Не потому что Spring надоел, а просто чтобы выйти из зоны комфорта и узнать, как чувствует себя проект на другом языке. Я решил: возьму уже начатый pet-проект, перепишу его на Go — и посмотрю, как изменится подход, скорость разработки, ощущения.

habr.com/ru/articles/910122/

ХабрКак я ушёл с Kotlin (Spring Boot) на Go (Gin) и сделал AI-чат с WebSocket и GPT-4Меня зовут Артём, я занимаюсь коммерческой разработкой с 2019 года. Последние несколько лет я активно использовал Spring Boot для создания backend-сервисов на Java и Kotlin. Но в какой-то момент...
#go#gpt4#websocket

Wormhole Messenger — минималистичный P2P-мессенджер на Rust с end-to-end шифрованием

Во вселенной распределённых систем существует древний цифровой организм — Wormhole , или, как его называют в инженерных кругах, Хранитель туннелей . Он не живёт в серверах, не привязан к IP-адресам и не сохраняет ничего в облаке. Его среда — шум пустоты между узлами. Он рождается каждый раз, когда два устройства обмениваются публичными ключами. Его тело состоит из энергии шифрования , а глаза — это криптографические nonce, всегда уникальные, всегда непредсказуемые. Он не говорит. Он доставляет . Каждое сообщение, проходя через его туннель, исчезает для всего мира — кроме одного получателя. Он не знает, что вы говорите, но знает, что это должно остаться между вами. Когда вы запускаете Wormhole Messenger — вы не просто открываете чат. Вы пробуждаете существо, которое живёт между пингами, между кадрами WebSocket. Маскот — это визуальный облик этого криптографического духа, появляющегося каждый раз, когда вы выбираете приватность.

habr.com/ru/articles/907934/

ХабрWormhole Messenger — минималистичный P2P-мессенджер на Rust с end-to-end шифрованиемMascot История маскота: Хранитель туннелей Во вселенной распределённых систем существует древний цифровой организм — Wormhole , или, как его называют в инженерных кругах, Хранитель туннелей . Он не...
#Rust#WebSocket#P2P

Снижение затрат на разработку микросервисов

💻 Снижение затрат на разработку микросервисов Оптимизация микросервисов без DevOps: NGinx для паузы запросов при перезапуске backend, шина событий на Bun для бесшовного рестарта реплик через общий порт для разных процессов. Код и конфиги

habr.com/ru/articles/906204/

ХабрСнижение затрат на разработку микросервисовИсходный код, разобранный в статье, опубликован в этом репозитории. На текущий момент backend-решения принято разрабатывать на основе микросервисов. Однако без команды DevOps сложно масштабировать...

New Kitten release 🎉

kitten.small-web.org

• New: Lovely new icons¹ and new callouts in Kitten Settings²

• New: Markdown now supports attributes and bracketed spans³

• New: client-side `kitten` global with `trigger` function for triggering events on the server from the client. (Useful when streaming client-side JavaScript when using Kitten’s Streaming HTML⁴ workflow. e.g., when you have to use a client-only web API like the Clipboard API but you want to keep all your logic on your server-side page.⁵)

• Fixed: The bound render function returned by `KittenComponent` class’s `component` getter now correctly awaits asynchronous templates. (In Kitten, you don’t have to care whether your templates contain promises. Kitten handles all that for you.)

Enjoy! :kitten:💕

¹ kitten.small-web.org/reference

² mastodon.ar.al/@aral/114381983

³ kitten.small-web.org/reference (also see mastodon.ar.al/@aral/114381462)

kitten.small-web.org/tutorials

⁵ e.g., See how I use this to implement a copy to clipboard button in the database page of Kitten’s Settings: codeberg.org/kitten/app/src/br Of course, you don’t have to use this and you can just write client-side JavaScript or use the built-in Alpine.js integration. e.g., how I do it on the (older) settings/identity page: codeberg.org/kitten/app/src/br

#Kitten#SmallWeb#web

Масштабируемая архитектура дёшево и сердито

🖥️ Микросервисы дёшево и сердито В стате разобран кейс масштабирования websocket сервера между произвольным количеством реплик. Реплики обрабатывают один порт ( SO_REUSEPORT ), а значит, продолжение обслуживания клиента при неполадках осуществляется бесшовно. Для взаимодействия между репликами используется шина событий IPC как наиболее оптимальный вариант в условиях ограниченного бюджета

habr.com/ru/articles/903222/

ХабрМасштабируемая архитектура дёшево и сердитоИсходный код, разобранный в статье, опубликован в этом репозитории На текущий момент backend решения принято писать на микросервисах. Однако, в условиях отсутствия DevOps, микросервисы...