Обновить
65
0
Павел Кириенко@Spym

Архитектор

Отправить сообщение

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

Было бы интересно ознакомиться с вашими требованиями. Возможно, вы слышали про наш опенсорсный проект UAVCAN, созданный специально для транспортных систем. Мы ищем критику от команд примерно вашего профиля.

С момента публикации статьи у нас появился канал в телеграме: t.me/uavcan_ru

Исходник на си без ключей компилятора смысла никакого не имеет. Утверждение автора о том, что обобщенный код numpy работает быстрее, чем захардкоженный цикл на си выдаёт полное невладение матчастью. Зачем вы этот мусор сюда тащите?

Сопоставление с образцом и оператор ветвления — вещи принципиально разные, хотя второе реализует подмножество поведений первого. В других языках для этого обычно используется как раз match (например, Rust, Nemerle).

Написано терпимо для гуглоперевода, но как образовательному ресурсу вам следует знать, что pattern matching по-русски называется "сопоставление с образцом".

Контраст совсем не звонкий.

А какая разница? Если написано, что щелочная — должна быть щелочная. Надпись PROMO совершенно нерелевантна.

В исходных требованиях вы, кажется, не писали о том, что формат должен быть самоописывающим (self-describing). Во встраиваемых системах это применяется сравнительно редко. Мы решали схожую задачу в протоколе, ссылку на статью о котором я давал в комментарии к вашей прошлой публикации; если интересно, можете взглянуть здесь: https://uavcan.org/specification/UAVCAN_Specification_v1.0-beta.pdf#page=15 (раздел "data structure description language"). Удаление метаданных из сериализованного сообщения не только уменьшает избыточность (что важно в вашем случае, как я вижу из требований), но и уменьшает вариативность представлений (есть только один способ закодировать данные, в то время как в TLV формате можно, к примеру, поменять местами поля структуры, не затронув семантику сообщения; этот вопрос рассматривается в спецификациях ASN.1 тоже), что удешевляет тестирование в отказоустойчивых приложениях.

Ещё инструкцию по пользованию зубочисткой не забудьте.

Спасибо. Я присматриваю одним глазом за этой разработкой и нахожу интересной критику модели OSI от разработчиков QUIC.


По поводу вашего вокабуляра
имплементация

реализация


гайды

руководства


кастомной

самостоятельной

На самом деле в России не все так плохо. У моих студентов и стажеров есть доступ к самому современному хардверу. И инвестиции на полезный проект всегда можно найти.

Коллега выше не говорит о том, что инвестиции нельзя найти. Он говорит, что инвестиционный климат в России плох, с чем сложно не согласиться, учитывая экономические реалии и количество единорогов на единицу населения. Их этого следует низкая представленность россиян в высокозатратных/высокорисковых проектах.

Высказывания в стиле «мне не нравится, потому что по-детски» — это не критика. И личное мнение — это тоже не критика

Согласен. Я говорю о том, что кубики не являются адекватной заменой критике или даже положительной обратной связи. В здоровом коллективе можно просто подойти (написать) и сказать "ты неправ, потому что <корректная причина>; я считаю, что надо <предложение>, потому что <обоснование>". На месте ГК Ланит я бы озаботился обучением сотрудников основам конструктивного диалога.

Поддерживаю. Корень проблемы, по-видимому, в неспособности сотрудников ГК Ланит принимать критику и в склонности к конфликтам. Я всегда считал (на основании личных наблюдений, не претендуя на истину), что сильная сторона корпоративной культуры восточной Европы в способности людей говорить прямо, без издержек политкорректности. Если так, то кубики это убивают.

Дайте ссылку на вашу статистику-то.

Я порылся в вашем профиле, ожидая увидеть их в англоязычном разделе хабра, но ничего не нашёл. Оставите ли вы ссылки здесь? Спасибо заранее.

Не планируете ли вы опубликовать этот материал на английском?

Вы не упомянули формат XCDR, используемый в свежих версиях DDS. По мере роста системы вы неизбежно столкнётесь с необходимостью модификации форматов данных без поломки обратной совместимости. Это может оказаться более сложным, чем кажется на первый взгляд.


Я недавно писал о смежных вещах здесь, в т.ч. поверхностно затрагивая вопросы сериализации: https://habr.com/ru/post/512570/


В какой отрасли работает ваша распределённая система?

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность