172 похожих чатов

Блин, у раста рили проблемы с диаем. @p0lunin у тебя

твой фреймворк рили работает? Если да то я мб попробовал бы его заюзать. Ты смог сделать скопед-депенденси на FromRequest?

24 ответов

0 просмотров

Да. Я уже скидывал тебе пример. Если ещё будут вопросы или что-то непонятное - пиши. https://github.com/p0lunin/teloc/blob/master/examples/actix_example/src/services.rs#L39 вот пример конструктора который на вход получает &Method из scoped HttpRequest

Αλεχ-Zhukovsky Автор вопроса
Dmytro Polunin
Да. Я уже скидывал тебе пример. Если ещё будут воп...

ну ок, попробую. Но если будут вопросы - то я тут писать буду. Не обессудь

а shaku не устраивает/пробовал?

Αλεχ-Zhukovsky Автор вопроса
Artem Medvedev
а shaku не устраивает/пробовал?

не пробовал. В планах попробовать полунинскую поделку, но пока до раста руки не доходят

Αλεχ Zhukovsky
не пробовал. В планах попробовать полунинскую поде...

С teloc тоже хочу покапаться как-нибудь, но по беглому взгляду эксамплов/тестов - функциональных различий особо не вижу 🤔

Artem Medvedev
С teloc тоже хочу покапаться как-нибудь, но по бег...

Основное различие - добавление teloc в проект практически не требует никаких изменений в старом коде. Единственное что требуется - это навесить один макрос #[teloc::inject] на конструкторы для нужных типов, после чего создать одну структуру. Для rocket есть поддержка у shaku. На данный момент у teloc нет. Также при нежелании использовать dyn Trait в shaku придется писать вот такие портянки https://github.com/p0lunin/teloc/issues/8 Ну и в целом идеология teloc - как можно меньше макросов. По сути для полноценной работы необходим лишь один макрос. В shaku основа - динамические трейт-обжекты, там основной упор сделан на них, как в большинстве других диаев.

Dmytro Polunin
Основное различие - добавление teloc в проект прак...

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

Dmytro Polunin
Основное различие - добавление teloc в проект прак...

И как я понимаю, интеграцию для актикса не получится так просто заюзать, если у меня роуты макросами actix’a обозначены (аля #[get("/some_resource”)] ). Поправь, если не так

Artem Medvedev
И как я понимаю, интеграцию для актикса не получит...

Хм. Я и забыл про наличие такого макроса. Как будет время, попробую.

Αλεχ-Zhukovsky Автор вопроса
Artem Medvedev
И как я понимаю, интеграцию для актикса не получит...

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

Αλεχ Zhukovsky
не люблю эти макросы, с ними неудобно продвинутые ...

хм, гварды там можно навешивать точно, разве что это не всегда удобно

Αλεχ-Zhukovsky Автор вопроса
Artem Medvedev
хм, гварды там можно навешивать точно, разве что э...

так ты же сам пилил под это дело крейт: https://t.me/rustlang_ru/351577 Не очень звучит как "можно навешивать" если пришлось это пилить

Αλεχ Zhukovsky
так ты же сам пилил под это дело крейт: https://t....

Там крейт немного для другого все же) Гвардом тоже можно навесить, просто когда гварды с кастомными параметрами например - действительно удобнее в коде

Αλεχ Zhukovsky
не люблю эти макросы, с ними неудобно продвинутые ...

Жду когда можно будет писать макросы в стиле функций macro fn has_role(fun: Function) -> Function { expr! { fn $fun.name($fun.args) { check_role(); $fun.call($fun.args); } } } Вот что-то такое было бы бомбой

Αλεχ-Zhukovsky Автор вопроса
folex
https://github.com/rust-lang/rfcs/blob/master/text...

Не. Это опять же - макросы над token tree. Хочу макросы над внутренним представлением.

Dmytro Polunin
Не. Это опять же - макросы над token tree. Хочу ма...

насколько внутренним? syn повыше чем токены

Roma S
насколько внутренним? syn повыше чем токены

Настолько, чтобы знать конечные типы, методы, реализуемые трейты и т.п.

Dmytro Polunin
Настолько, чтобы знать конечные типы, методы, реал...

это проблема курицы и яйца получится — чтобы узнать реализуемые трейты, нужно знать для чего они реализуемы, а макрос ещё не выплюнул ничего

Vlad Frolov
это проблема курицы и яйца получится — чтобы узнат...

кажется, с multi stage можно такое делать, в духе http://okmij.org/ftp/ML/MetaOCaml.html

Αλεχ-Zhukovsky Автор вопроса
Vlad Frolov
это проблема курицы и яйца получится — чтобы узнат...

не курицы и яйца, циклов-то у тебя не будет. А так да, у тебя вывод может зависеть от чего-то

Vlad Frolov
это проблема курицы и яйца получится — чтобы узнат...

Выплевывать экспанд всех макросов сначала, а только потом чекать типы конечно

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Добрый день. Хочу сделать отрисовку по команде на панели. Почему-то рисуется только при втором вызове. С чем может быть связано, не подскажете? procedure TForm1.FormDblClick(...
Kirill Filippenok
20
Всем доброго дня! Подскажите может кто использовал связку Pagebuilder + Clientsetting. Сами параметры с типом pagebuilder в модуле Clientsetting работают нормально, можно такж...
Александр Добриков
12
А почему в си некоторые вещи работают с двойными кавычками некоторые с одинарными? Нельзя было все сделать с одними или чтоб работало с разными? например чтоб выводить строки ...
.
15
Всем привет! Нужен совет от опытных. Переношу свой проект с Делфи 10.2 Токио на Лазарус 3.2 установленный через инсталлятор fpcupdeluxe-x86_64-win64. При импортировании проект...
Дмитрий Завгородний
7
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Good afternoon, I just started learning php in conjunction with mysql. I am registering a system on a local Mamp server using phpMyAdmin. It seems to be stored normally in the...
ManGo
1
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Добрый день! Такая проблема возникла, написал код на Python, который компилирует, собирает и запускает файлы .s А в случае работы нужно то же самое делать для .asm Чем эти фа...
A Mori
5
Всем привет! procedure TForm1.FormCreate(Sender: TObject); type TStartEnd = record S: Byte; E: Byte; end; var a, b: TStartEnd; begin {1} a.S := 1; {2} a.E := 2; ...
Руслан Михайлович
10
Карта сайта