Size: a a a

Rust — русскоговорящее сообществo

2020 September 10

DO

Do c Tor O r` Ry in Rust — русскоговорящее сообществo
🎄ANONIM🎄
Не хочу тратить прям много времени, студент, но и брать что-то готовое не хочется, простой прототип с комнатами обменом малых файлов, ну что-то на уровне сегодняшних клиентов matrix если понимаешь
Даже если и реализовывать какой-то готовый уже протокол нужно будет потратить прилично времени чтобы разобраться с их доками 😶
Если студент, то пиши что хочешь, учись, хоть криптоскойно, хоть нет. Главное пиши и улучшай. Скил оттачивай
источник

H

Heorhi in Rust — русскоговорящее сообществo
для изучения раста со всеми фтутурами советую сначала проксик сделать
источник

H

Heorhi in Rust — русскоговорящее сообществo
ато бэкенд месенджера каждый дурак делает, фронтенды делать некому :(
источник

DO

Do c Tor O r` Ry in Rust — русскоговорящее сообществo
Heorhi
ато бэкенд месенджера каждый дурак делает, фронтенды делать некому :(
источник

H

Heorhi in Rust — русскоговорящее сообществo
у меня фронтенд это molt shell пока :(
источник

🎄

🎄ANONIM🎄 in Rust — русскоговорящее сообществo
Heorhi
ато бэкенд месенджера каждый дурак делает, фронтенды делать некому :(
Я попутно пилю на флаттере фронт🌚
Честн странные какие-то ощущения, вроде не сложно конструкции лёгкие но... Чёт не так вообщем)
Пока с firebase комуницирует но это не надолго
источник

H

Heorhi in Rust — русскоговорящее сообществo
я думаю scitter прикрутить... но сначала надо чтобы сообщения хотябы ходили в моей супер-пупер архитектуре, в которой сервер сообщения не может читать... ато я уже обломался с nonce
источник
2020 September 11

A

Adv0cat in Rust — русскоговорящее сообществo
🎄ANONIM🎄
Не хочу тратить прям много времени, студент, но и брать что-то готовое не хочется, простой прототип с комнатами обменом малых файлов, ну что-то на уровне сегодняшних клиентов matrix если понимаешь
Даже если и реализовывать какой-то готовый уже протокол нужно будет потратить прилично времени чтобы разобраться с их доками 😶
Сокеты ваше все, это по сути тот TCP коннект, только не закрывающийся, можно конечно Http 3 какой-то рассмотреть, он не хуже сокета будет, но WebSocket на столько простой в общении и как раз то что вам нужно))
Как раз есть то, что вам нужно у actix-web фреймворка https://github.com/actix/examples/tree/master/websocket-chat Там есть еще разные примеры, можете присмотреться
источник

A

Adv0cat in Rust — русскоговорящее сообществo
Alexander Zaitsev
а где-нибудь есть нормальные бенчи rocksdb vs sled vs lmdb какой-нибудь? Если есть, то киньте в меня ссылкой, пожалуйста
нашёл только вот это: https://github.com/tokahuke/sled-vs-rocksdb
А что вы хотите узнать от этих бенчей?) просто все что вы предложили имеет внутри разные структуры данных.
У sled (это бд еще имеет статус beta) это микс LSM и прочего с явным преимуществом в скорости вставки данных, но с минусами в виде чтения и размера данных на диске (не помню есть ли у sled WAL).
У RocksDB тоже LSM, но там внутри есть сжатие данных, поэтому не так много занимает места на диске по сравнению с sled + оверхед в виде WAL.
У LMDB тоже B+tree, но чтение не блокируется ничем и самое быстрое из всех этих бд, а на запись у вас только 1 транзакция, которая пишет только когда нет транзакций на чтение, + нет WAL из-за особенностей архитектуры, но при этом отсутствие WAL не делает эту бд плохой по Durability.
Так же у LMDB есть лучший клон - libmdbx. Эта бд лучше во всем от LMDB - много что пофикшено, много какие лимиты увеличены, производительность везде увеличина. Можете ознакомиться с их бенчмарками на их странице https://github.com/erthink/libmdbx
P.s. Плюс еще материал для обдумывания очень интересное сравнение lsm vs btree есть у TiKV базы данных, советую к прочтению https://tikv.org/deep-dive/key-value-engine/b-tree-vs-lsm/
источник

AZ

Alexander Zaitsev in Rust — русскоговорящее сообществo
Adv0cat
А что вы хотите узнать от этих бенчей?) просто все что вы предложили имеет внутри разные структуры данных.
У sled (это бд еще имеет статус beta) это микс LSM и прочего с явным преимуществом в скорости вставки данных, но с минусами в виде чтения и размера данных на диске (не помню есть ли у sled WAL).
У RocksDB тоже LSM, но там внутри есть сжатие данных, поэтому не так много занимает места на диске по сравнению с sled + оверхед в виде WAL.
У LMDB тоже B+tree, но чтение не блокируется ничем и самое быстрое из всех этих бд, а на запись у вас только 1 транзакция, которая пишет только когда нет транзакций на чтение, + нет WAL из-за особенностей архитектуры, но при этом отсутствие WAL не делает эту бд плохой по Durability.
Так же у LMDB есть лучший клон - libmdbx. Эта бд лучше во всем от LMDB - много что пофикшено, много какие лимиты увеличены, производительность везде увеличина. Можете ознакомиться с их бенчмарками на их странице https://github.com/erthink/libmdbx
P.s. Плюс еще материал для обдумывания очень интересное сравнение lsm vs btree есть у TiKV базы данных, советую к прочтению https://tikv.org/deep-dive/key-value-engine/b-tree-vs-lsm/
Это я примерно знаю. Я хочу увидеть более-менее реальные числа перфа для различных операций чтения и записи, например. Внутреннее устройство меня как пользователя не особо интересует
источник

AZ

Alexander Zaitsev in Rust — русскоговорящее сообществo
Примерно как авторы badger сделали, например
источник

JG

JeisonWi Garrison in Rust — русскоговорящее сообществo
Разработчики Enso language (бывший Luna language) тоже переписывают его со Scala (puke) на Rust https://github.com/enso-org/enso/issues/435
источник

JG

JeisonWi Garrison in Rust — русскоговорящее сообществo
источник

AT

Alexander Tchitchigi... in Rust — русскоговорящее сообществo
На Java + Rust, если точнее. При этом, на Rust там (Web) Front-End. 😃
А сам интерпретатор на Java + Truffle — поэтому, собственно, Java, а не Scala/Kotlin (Truffle их очень плохо прожёвывает).
источник

JG

JeisonWi Garrison in Rust — русскоговорящее сообществo
Но почему бы интерпретатор тоже на Rust не переписать?
источник

JG

JeisonWi Garrison in Rust — русскоговорящее сообществo
Они парсер же переписывают
источник

IB

Ivan Boldyrev in Rust — русскоговорящее сообществo
JeisonWi Garrison
Но почему бы интерпретатор тоже на Rust не переписать?
Например, чтобы не трахаться со своим сборщиком мусора, а использовать готовый, над которым уже потрудились десятки не самых глупых инженеров.
источник

AT

Alexander Tchitchigi... in Rust — русскоговорящее сообществo
JeisonWi Garrison
Но почему бы интерпретатор тоже на Rust не переписать?
Вы же знаете, что такое Truffle?
источник

AT

Alexander Tchitchigi... in Rust — русскоговорящее сообществo
Ivan Boldyrev
Например, чтобы не трахаться со своим сборщиком мусора, а использовать готовый, над которым уже потрудились десятки не самых глупых инженеров.
Скорее, не GC, а JIT. 😊
источник

AT

Alexander Tchitchigi... in Rust — русскоговорящее сообществo
В первую очередь, в смысле.
источник