Удобство работы это на практике, а вот на глаз прям приятно вышло, все как то само раскладывается.
В расте модули могут быть мод файлом в папке и просто файлом. Решил перекинуть модели, которые связаны с апи в мод файлы апи, рядом с самим апи, а если несколько апи юзают, в мод файл уровнем выше. Они же даже называются мод как модели :) Так же с моделями дтошками сущностей базы данных в мод файлы рядом с репозиториями, интересно насколько это будет удобно. В противном случае надо параллельные иерархии делать, или не дай бог домен выделять, я закопаюсь с этим всем нахрен, так что выдумываю.
Поржал...поржал?
В проекте 4.5к строк. Заменил либу одну, по дороге переосмыслил ряд абстракций, получилось удобнее, практика покажет, ну и получше разобрался в генерикотрейтах растовых по дороге. Вроде, если новая либа заработает база с логином готова, можно переходить постепенно на токены. Правда пока не запускал и что новая либа выдаст не знаю, но добью, она обещает хорошие вещи. Плюс добил свой формат идентификаторов, приятная штука получилась. Еще заседание или два и будет норм.
Плюс надо проверить, что я логику отображения случайно в нетуда не засунул где-то. И уж потом продолжу
Сегодня думал доделаю сессионный лошин, но передумал и решил заменить еще одну либу. Будет экономить до 40 байт, в нужном мне (хочется) месте, а это уже немало. В итоге споткнулся о ассоциированный тип трейта валидации, чето он требует для кастомного валидатора много, буду продолжать в следующее заседание.
О, оказалось это мне не кажется! В итоге я теперь только автодополнение использую и один раз заготовку прошу написать. Когда первый вариант порта делал "толькотс ии" я как раз проверял как оно и понял, что плохо.
Исследование METR: использование Cursor замедляет опытных разработчиков на 19 % / Хабр https://share.google/hbinbc6TuZt4vqhIN
Практически добил регистрацию и логин. Плюс значительная часть инструментов для оауса готова. Сменил либу одну, экономия 24 байт в нужном месте :) Может потом сменю еще одну, там байтов сорок, а это уже вес. Развлекаюсь. Страниц уже больше трех добавилась про ошибки и про подтверждение почты. Если еще пара дней будет, думаю с этой частью я таки закончу. Проект перевалил за 4к строк, это только раст код.
Но пока пойдет, что я знаю эту странность. Надо вернуть значение с временами жизни когда оно точно владеет данными, укажи время жизни в сигнатуре функции и возврата.
Обнаружил странную штуку с временами жизни в расте, которую не понимаю. Есть структура, которая держит ссылки. Ей во владение передается данные, не просто ссылки. Она возвращается из функции. Если указать время жизни в сигнатуре функции, то все пашет, не указать компилятор ругается, что передающая структура живет недостаточно. Но указание в сигнатуре не связывает возвращаемое значение с передающим, она там просто написана и все. Пока что не понимаю что вдруг borrow вдруг работает.
Под выдуманные мной (но ложащиеся в стандарт) механизмы упрощенной аутентификации нет либ, там в принципе немного, упрощенный же, но пилю свое все. Когда с уровня базовой базы типа "ошибки по людски показать" поднятно, далее легко шпарить, уже просто бизнес логика. Так как она сильно необычная не стал нейронку просить, дольше объяснять, только как автодополнение.
Нашел офигенный макрос. Бывают случаи когда функция принимает более 8ми параметров, линтер ругается, а что сделать это создание сущности в базе. Тогда расчехляется билдер и пилится сущность дтошная. Но, этот макрос умеет это все делать сам. Ставишь его у функции с кучей параметров и билдер готов, можно вызвать "эту функцию" как билдер сразу. Он сгенерит просто конструктор билдера. Экономит массу возни. Помимо того, что он и обычные билдеры отлично генерит, да еще и компайл тайм проверяемые.
Сколько я косяков и глупостей вынимаю из генеренного кода, долго рассказывать, но все же не с нуля писать, я бы там поля сопоставлял с таблицами возюкался в разных местах, она это шпарит легко, а логику и глупости всякие выметаю я.
Я еще нейронку попросил стиль спереть красивый когда она странички генерила, показал какой, они такие прям приятные получаются :) В общем я очень доволен тем, что выходит пока что. Судя по всему примлемый для меня метод разработки с нейронкой найден. Прям хорошо идет.
Буду тестить скоро, нарыл какой-то простой майл сервер для проверочных почт, уже можно будет заругаться и посмотреть письмо. Потом пойду пилить OAuth2.0 Authorization flow, но там меньше чем уже написано, всего несколько эндпоинтов и страничек парочка. Никакой oxide-auth использовать не стану, он так плохо написан и докуентирован, что там написать дырявое нечто намного проще чем я сам напишу, плюс я сам сделаю это очень простым способом с минимумом таблиц, так как не хочу утонуть.
Медитирую, люблю смотреть научпоп лекции в ютубе, гулять. По субботам хожу в баню потом сижу в кондитерской и читаю. Обожаю музеи современного искусства. Предпочту посидеть у озера и посмотреть на горы. Этот инстанс мой. Еще есть канал https://youtube.com/@user-tc9eq9pz2q?si=uPmChHjU3UyZIDET
Демократы, либералы, либертарианцы, анархисты, исламисты, христиане и представители прочих религий никогда не перестанут конфликтовать до тех пор пока не поймут что добрососедские отношения намного ценнее всех их религий.
Я (с)