RU

Пишем свой PHP-экстеншен на Rust

Когда речь заходит о разработке PHP-расширений, многие сразу представляют C, Zend API и сложную систему сборки. Но сегодня есть более удобный путь.…

rustphp
Habr
RU

Свой продукт для управления корпоративами: от MVP за 2 месяца до успешной версии 4.0

Привет, Хабр! Меня зовут Женя, я занимаюсь развитием цифровых продуктов в Sminex. В статье поделюсь опытом разработки и запуска Sminex Event — собст…

мобильная разработкакорпоративная культураreact nativerustсотрудникимероприятияандроидприглашенияавтоматизация бизнес-процессовразработка
Habr
RU

Что там с trait upcasting: год спустя

Приветствую. В Rust есть целый класс костылей, который лежит буквально в каждом крейте с API на dyn старше пары лет. Методы вида as_super , as_debug…

rust
Habr
RU

unissh – современный, опенсорсный SSH клиент с selfhosted zero-knowledge сервером для синхронизации данных

Доброго времени суток, читатели! Хочу представить вам unissh – современный, простой опенсорсный SSH клиент с selfhosted zero-knowledge сервером для…

sshrustterminalcrossplatformself-hostedssh-clientsftp
Habr
RU

1500 строк красного: как обновление одного плагина на Rust-сервере съедает вечер — и почему виноват diff

Выходит обновление плагина, он дописывает свои ключи в ваш конфиг и заодно меняет порядок остальных. Через сутки в дискорде жалобы, вы открываете бэ…

rustc#.netavaloniajson
Habr
RU

Нагрузочный тест Sockudo: два бага в чужом Rust‑коде, которые кладут сервис на ровном месте

Я делаю NotiBox — Pusher‑совместимый сервис realtime уведомлений. Под капотом я использую Sockudo  — WebSocket сервер на Rust. П…

rustopen sourcesockudoнагрузочное тестированиеотладкаgdbweb socketpusher
Habr
RU

64 байта и одна константа: разбор переключения контекста в ядре на Rust

В прошлый раз я писал про потерянное пробуждение и получил в комментариях справедливое замечание, что примитив там классический. Так и есть. Сегодня…

rustассемблерпереключение контекстаядрооперационные системысистемное программированиеx86-64no_stdfpuxsave
Habr
RU

Родитель засыпал навсегда: чего Rust не делает за вас в ядре ОС

Я пишу ядро операционной системы на Rust. Не потому что собираюсь заменить Linux, а потому что мне интересно, что получится, если закладывать безопа…

rustядрооперационные системымногопоточностьunsafeконкурентность
Habr
RU

Вслед за Эдвардом Сьоре, или как я писал свою реализацию on disk B+Tree-индекса на Rust

Вслед за Эдвардом Сьоре, или как я писал свою реализацию on disk B+Tree-индекса на Rust. В этой статье попытаюсь осветить нюансы написание своего иг…

rustиндексыбазы данныхбазы данных деревьяsqlструктуры данных
Habr
RU

Если вы думаете, что знаете, чем отличается «Expression» от «Statement», то, скорее всего, вы ошибаетесь

Я занимаюсь изучением синтаксиса языков программирования и пытаюсь отделить фундаментальные закономерности от исторических случайностей. Одна из так…

lisprustfortranc++algolexpressionstatement
Habr
RU

«lock xadd, и это весь Arc::clone? Не совсем

Ну, привет. lock xadd . Вот и весь Arc::clone на x86. Одна инструкция. Заглядываешь в дизассемблер и даже немного обидно: столько разговоров про ато…

rust
Habr
RU

Четыре f64 за одну инструкцию не делают вас быстрыми: как я векторизовал торговый движок на Rust и словил CI на лжи

Я добавил в Quince AVX2, FMA и немного unsafe. По всем красивым схемам торговая VM после этого должна была полететь. Она не полетела… Сначала SIMD п…

rusthfthft-трейдингкриптовалютатрейдингоптимизацияsimdвиртуальная машинаязыки программированияopen source
Habr
RU

Как запустить Telegram в России без VPN: TGLock 2.0 для Windows, macOS и Linux

Если Telegram в России зависает на «Подключение», отправляет сообщения через раз или перестаёт загружать фото, можно пустить его трафик другим маршр…

telegramобход блокировки telegramtglockmtproto proxywebsocket proxyrusttaurimacoswindowslinux
Habr