Show newer

Мне пока только не нравится то, что иногда я не понимаю где искать трейты. Написано into() а во что оно и как превратится, хз, приходится не просто нажать на методе и попасть в имплементацию для структуры, а открывать структуру (иногда еще поди пойми какую) и там просматривать код в поисках. Не найду никак быстрый способ искать такое.

Show thread

Надо потом упороться и прочитать как асинк работает в расте, подробно. Хорошо бы столкнуться с проблемой конкретной, но пока таковых нет.

Попробовал 6мин+180гр. Хорошо бы 6мин 30с. Все же, а не 7мин. Но в этот раз 6мин мне понравилось больше. Прям на грани, но весь желток жидкий, чуть мало. Попробую может 200гр или 220.

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

Але, диспетчер! Мы падаем! Падаем!

Понял, вычеркиваю!

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

Show thread

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

Show thread

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

Show thread

Маппинги из базы стали тоже простыми. В базу я не использую так как удобнее видеть, что и как берется, а написать их быстро так как автодополнение есть. Вот из базы удобнее что бы само делалось что бы не писать бесконечные entity.get("field_name"). С новым валидатором и прочими штуками все теперь удобно и быстро, без лишней писанины. При этом банальности всякие на моделях генерятся сами собой. Красотень, вот теперь я доволен и это похоже на то, что надо.

Следующую квартиру буду искать с кондеем и посудомойкой. А то так и жизнь кончится.

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

Show thread

Нашел как еще сократить писанину, оказывается не только меня раздражает писать тривиальные Deref. Есть готовые макросы.

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

Перехватчики я сделал, а вот само форматирование, выклупывание деталей и прочее, ну нафиг пока.

Show thread

Единственное, форматирование ошибок пока оставлю, очень лень им заниматься сейчас, там масса простой возни. Пусть какие вылетают, такие вылетают. Главное статусы верные.

Show thread

Уже почти есть все, что надо, так что бы не было мучительно больно постоянно писать клеекод всякий. Осталось вычистить то, что на куролесил пока выбирал подходы, где не лень будет. Потом можно далее ползти.

Show thread

Хэловорд немного подрос

language files code comment blank total
Rust 49 1,755 209 350 2,314

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

Show thread

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

Show older
MustUdon

I like Twitter, but, Mastodon it is so excited! Feel free to register it is server just for fun! Usefull links https://instances.social https://www.reddit.com/r/Mastodon/comments/yugh2o/some_useful_mastodon_lists/?utm_source=share&utm_medium=web2x&context=3