Обновить
33
Данила Горнушко@okhsunrog

Rust Developer

0,2
Рейтинг
19
Подписчики
Отправить сообщение

Ну вот, ваше внимание привлекло - значит, сработало :)

Достаточно просто купить Google Pixel в Цифрус, там никакого российского софта нет.

Читаю статью - и мозг постоянно цепляется за нейросетевые паттерны текста. Автор, признайся честно - нейросетка писала статью?

В чём проблема пересборки бинарника?

Неправда. Всё можно сделать, вопрос только в том, какие инструменты дать нейронке. Если очевидно, что не хватает инструментов - либо искать MCP под нужную задачу, либо написать самому. Вот, например, нашёл MCP для GBD:
https://github.com/Ipiano/gdb-mcp
https://github.com/signal-slot/mcp-gdb

Но проверку на ноль и панику он не выкинул. Именно это я имел в виду, никакого UB. Спасибо за замечание

А вот что происходит в Rust

Да, в Rust нет UB при делении на ноль, всегда паника, и даже если значения одинаковы и не известны, компилятор не будет пытаться оптимизировать. black box именно это и делает, прячет значение от компилятора, чтобы он не мог на основе его оптимизировать код, это я сделал чтобы не писать ввод из stdin, он не доступен в rust playground

Да, тут всё относительно, конечно. Просто из моего опыта: постоянно использую serde в embedded, и бинари весят десятки килобайт всегда, никаких аномальных размеров. Согласен, конечно, что нужно бенчить

serde прекрасно дружит с no_std. Именно дефолтный, просто указываете defaul-feautures = false для отключения std. Какое там разбухание бинаря? Обычная бинарная сериализация через postcard. Только что проверил, создал no_std проект, добавил serde и postcard, создал три типа (сложные enum и struct, вложенные один в другой), добавил сериализацию и десериализацию. Скомпилировал с O3 и FullLTO. Оверхед 3 килобайта. Всё инлайнится прекрасно. На esp32 от 4 до 16 мегабайт флеша. При таком объеме флеша не стоит экономить пару килобайт ценой ухудшения кода.

Зачем писать бинарный протокол вручную? Есть такие крейты как serde, postcard.

Есть прям побитово – есть крейт proc-bitfield. А вы сделали в сишном стиле.

А почему не взяли VictoriaMetrics?

https://code.claude.com/docs/en/discover-plugins
Есть же плагин jdtls-lsp
Разве его недостаточно?

CRUD-конечная точка

Господи, да зачем переводить слово endpoint...

Есть реализация стека USB Power Delivery на JS? :)

Многие STM32 микроконтроллеры обладают CAN трансивером.

Всё же CAN-контроллерами они обладают, а не CAN-трансиверами, исправьте.

А почему не использовать OpenCode?

Одно дело – прочитать и примерно понять логику. И совсем другое – поддерживать такой код.

Ну, если вы работаете джейсоноукладчиком – тогда AI вполне может справиться со всеми вашими задачами.

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

Ну-ну. То есть, вы утверждаете, что ИИ не нужен читабельный код? Вы серьезно думаете, что если у вас код без комметариев, без нормальной архитектуры, с одной гигантской функцией main и переменными с именами a,b,c, без строгой типизации и с размазанной по всех кодовой базе логикой, то нейронка сможет так же легко читать и поддерживать этот код? Sweet summer child...

А ещё я бы не разделял код на "оптимизированный для LLM" и "оптимизированный для человека". LLM обучили работать с кодом так же, как это делает человек. Они так же юзают grep для навигации по кодовой базе, запускают тесты, линтер, читают логи, анализируют коды ошибок. Если кодовая база написана хорошо, есть тесты, правильное разбиение на модули, логирование, правильная обработка ошибок - то поддерживать это будет легко как человеку, так и нейронке. Если код изначально написан плохо - то плохо будет для обоих. Но только опытный разработчик может решить, что пора всё отрефакторить, переписать. Выкинуть старую архитектуру на определённом этапе и сделать хорошо. А нейронка будет вставлять костыли, фиксить одно, и в то же время ломая другое.

1
23 ...

Информация

В рейтинге
3 642-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Инженер встраиваемых систем
Старший
SQL
Python
Linux
Docker
Английский язык
Bash
C
Программирование микроконтроллеров
Embedded linux
Rust