Show newer

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

Show thread

Как ни странно в макросах ошибки понятны сразу, так как они показываются там где произошли, ни разу затыка не было с этим. А вот с автовыаодом, бывает сложно. Единственный метод пока это все выделять в отдельные переменные (среда может по кнопке) и смотреть там типы. В простых случаях это помогает сразу и не надо, а в сложных среда типы частично :) При этом ладно получить исходящий тип, а входящий вообще по сути никак и тут, на входе миллион границ, а на выходе кусок типа, крутись :)

Show thread

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

Show thread

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

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 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