All streams
Search
Write a publication
Pull to refresh

Comments 18

Ссылка на проект с utm-меткой _source=chatgpt.com". В связи с этим сразу вопрос - сколько кода было написано LLM, а сколько человеком?

Юзалось для спелчекера и оформления)

По поводу кода, использовалось вспомогательно, почему бы и нет? Много Валидации, документации, юнит тестов и всего прочего.

А какое это имеет значение?

"Ты абсолютно прав! В данный момент проект имеет недостаток - он не имеет значения, написан он ChatGPT или нет. Сейчас перепишу весь проект, чтобы он имел значение"

API нужно делать на C, иначе кроме как из C++ вызвать это будет ни откуда нельзя

есть как раз для C, экспортируются все функции внутри библиотеки

https://github.com/DEgITx/librats/blob/master/src/librats_c.h (весь список экспортируемых функций)
https://github.com/DEgITx/librats/blob/master/src/librats_c.cpp

это интерфейс как раз и используется для биндингов в другие языки

можно посмотреть примеры использования внутри unit-теста ( https://github.com/DEgITx/librats/blob/master/tests/test_librats_c_api.cpp )

в частности при линковке должно быть ок

[builder@degitx lib]$ nm --defined-only librats.a|grep "T rats_"
0000000000005bb0 T rats_accept_file_transfer
0000000000002ac1 T rats_announce_for_hash
00000000000021f5 T rats_broadcast_binary
0000000000002794 T rats_broadcast_json
0000000000004e2a T rats_broadcast_message
00000000000005ca T rats_broadcast_string
0000000000006294 T rats_cancel_file_transfer
00000000000003f9 T rats_connect
0000000000001aba T rats_connect_with_strategy
000000000000011f T rats_create
0000000000000326 T rats_destroy
...


я добавил еще в сам пост пример использование C-шных вариантов API

Это очень круто! Не думали на базе вашей библиотеки реализовать не только текстовый, но и аудио-видео чаты?

Ну для этого собственно в том числе и идёт разделение данных: для этого как раз функции обмена бинарными данными. В основе обычные сокеты, то что делегирует на себя библиотека это в основном поиск и нахождение участников и контроль над этим всем. Так что да, аудио-видео пожалуйста).

Как у этой системы с защитой от флуда? Другими словами, смогу я, поправив код библиотеки, положить всю вашу сеть?

Интересуюсь потому что лично мне не известны по-настоящему распределённые системы, которые от этого защищены.

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

Переформулирую вопрос: вы думаете что в принципе удастся решить вопрос с флудом?

Потому что если ответ "да", то эта библиотека станет решением целой кучи задач (распределённый по-настоящему децентрализованный мессенджер, распределённый децентрализованный DNS и т.п.). И, как вы понимаете, эти цели стоят перед человечеством давно, но так и не были решены

Стоит переформулировать определение «флуда» в смысле доверия участникам сети: zero-trust (см. блокчейн) vs. некий сетевой анархо-социализм (см. Solid от W3C), это принципиально разные постановки задачи, включающие спектр промежуточных градаций.

А у вас на сайте под заголовком librats vs libp2p (JavaScript) - это сравнение джаваскриптового биндинга libp2p с программой librats на плюсах?

Если так, то, наверное, корректнее дождаться биндинга на джавскрипт для librats и тогда сравнить.

Ну скажем так, это будет обычная прослойка на плюсах из C++ для V8, из моего предыдущего опыта общения с node-gyp разница с обычно плюсовой программой минимальна, да есть затраты на вызов api из js, но это все погрешности, потому что таких вызовов в коде минимальное количество.

Из всего этого пока что предварительно могу сказать, что я как доделаю биндинги, перетестирую конечно цифры из статьи, чтобы было правильно, как нужно. Но радикальных изменений не жду: реализация у librats - нэтивная, у libp2p на js на куче библиотек с зависимостями на js. Отсюда и разница.

Поставь эксперимент, пускай все клиенты крутят список рандомных сообщений и друг другу шлют и посмотри как быстро между ними будет обновляться инфа

Привет, вы используете эту библиотеку в каком-то продуктовом решении, или это исключительно фундаментальный концепт (just for fun, academic, etc.)?

ну в статье как раз написано что будет частью rats-search (база данных по торрентам), постепенно интегрирую туда.

Sign up to leave a comment.

Articles