Show newer

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

Show thread

Но в целом это все вызывает иногда большой геморрой, раздражающий, но редко и все реже.

Show thread

Поискал. По сути это те же макросы, но для макросов запилили, а для этого нет. Загадочно.

Show thread

Если бы была кнопень "развернуть преобразования" в среде разработки, я был бы доволен. Надо поискать, может есть такая. Макросы можно разворачивать нередко.

Show thread

Например есть енам ошибки. Он реализует трейт фром для кучи других и есть обертка, к которой этот енам автоматом можно привести. В итоге я могу в коде сразу вызвать метод обертки. Компилер поймет, что ошибку А можно привести к Б, а Б к В, а у В есть метод context(). В итоге в коде написано только чтото.context() все остальное магия компилятора и автоматического дерефа и прочих конвертаций типа фром. Я привык к тому, что всю цепочку легко отследить и пройти по шагам...тут же иногда не так.

Show thread

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

Show thread

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

Show thread

Мне пока только не нравится то, что иногда я не понимаю где искать трейты. Написано 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 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