так как там пока запросов немного, лучше сейчас. Зато теперь не надо писать всякий мусороклеевой код тоннами на каждый чих. Попробую и если что верну rusqlite и где-то там была либа, которая может модели в параметры превращать автоматом...можно заюзать ее. Квери билдеры я не шибко люблю, но попробую.
один, удививший меня костыль. Просят что бы в миграциях (таблицах) и в моделях порядок полей совпадал :)
Еще не запускал но дизель оказался не страшный
diesel::insert_into(settings::table)
.values(&setting)
.on_conflict(key)
.do_update()
.set(value.eq(excluded(value)))
.execute(&mut conn)
.context("Error saving new post")?;
правда генерит всякое и надо утилиту запускать, но я подозреваю можно и обойтись, разбираться не стану пока что.
Чиним YouTube на уровне роутера
Всех категорический приветствую. Буквально первого августа, прямо в ночь, стал у меня жутко лагать YouTube. Естественно, мне это сильно не понравилось. Ну, что же, давайте разбираться, почему и как это исправить в условиях моей личной сети. Что случилось? Хорошо описано произошедшее здесь, на хабре - https://habr.com/ru/articles/832678/ Если совсем кратко, своими словами - во время установки SSL соединения в открытом виде домен передается к которому мы подключаемся(так называемое SNI). И если это googlevideo.com то начинают твориться "интересные вещи". Можно проверить это локально коммандами из статьи. $ curl https://speedtest.selectel.ru/100MB -o/dev/null
https://habr.com/ru/articles/833564/
#youtube #замедление #dpi #goodbyedpi #linux #embedded #keenetic #openwrt #роскомнадзор #блокировки
Вырезание anyhow из хэловорда прошло в мирной обстановке с охреневанием лишь по началу. В итоге пришлось сделать ошибку с контекстом (нравится) и внутри нее ошибку конвертер с помощью thiserror куда просто добавить все типы ошибок, что есть в приложении, там их штук десять может, включая зонтичные от либ. В итоге контроль над кодами ответов прямой, контексты есть, а добавление новой ошибки это две строки...ну три, копипастой. Удобство осталось, зато никаких макросов.
Напишу десериализатор кастомный и постараюсь универсальный для расширения документа...если надо будет еще. Тогда та рдф либа комбайнер и не нужна будет, опираться буду на имена полей, если вдруг столкнусь с нарушением соглашения о именах, там можно будет думать о комбайнах
Сериализатор так по умолчанию работает. Так что можно. При этом неясно зачем мне айдишники по спеке если по ним ищутся имена, а они по спеке же одинаковые у всех, то есть вроде бы мапить айдишник в имя нет смысла так как контекст один, лишняя работа. При этом готового способа я не нашел расшярять автоматически документ что бы мне это не писать. Так что кажется не надо мне либу...зато я теперь знаю какого хрена они нагородили. Пусть будет проще, десериализитором и моделями. Все сложное потом.
Там и не надо было бы эту либу но у нее плюс есть, можно искать айдишники из спеки, а находить данные в присланном. Вроде пока что кажется, что это удобно, но я почти решил, что нет. Так как я могу просто сериалазатор настроить пропускать незнакомые поля, а на остальное модели написать, в которых только нужное. Не знаю могу ли я так serde настроить, но если она не говно, смогу :) С либой только более "официально" что ли, вот смотрите, юзаем по спеке айдишники, красотень...не уверен.
О, по моей баге в мастодон что то там пилят. Какой-то стандарт на аутентификацию, так как бага балы про юзабельную дырку
https://github.com/mastodon/mastodon/issues/21991#issuecomment-1336311205
И спек там много, но оказалось, что они все просто XSD по сути, описывают типы и назначение полей и все. Так что все шерстить и не надо, только основную погляжу. Отлегло.
Свое придется писать, но немного, а то оно в сеть ходит за каждой мелочью. Оказалось там все расширяемое и достать данные не сложно. Прикручу какое то КВ хранилко мелкое для этой цели поди.
Теперь я еще не знаю толком как доставать данные из этой штуки, так как там спека во все поля, но оно вроде пашет. Не уверен, что не придется в итоге писать свое, ибо готовое возможно будет жирное или еще что, но пока пойдет, потом свое, и так много.
Зря я гнал на либу. Дело было в том, что я не допер что значит ошибка, а так же в том, что поискав методы автодополнением, оно не сработало так как ломается все время. Вот единственное, что меня напрягает это ошибки, которые показывает компилер. Из-за того, что там все во все превращается иногда ошибка показывается где угодно, но не там где она произошла и описывает все, что угодно кроме произошедшего. Но может я не привык еще, сейчас легче чем по началу.
Медитирую, люблю смотреть научпоп лекции в ютубе, гулять. По субботам хожу в баню потом сижу в кондитерской и читаю. Обожаю музеи современного искусства. Предпочту посидеть у озера и посмотреть на горы. Этот инстанс мой. Еще есть канал https://youtube.com/@user-tc9eq9pz2q?si=uPmChHjU3UyZIDET
Демократы, либералы, либертарианцы, анархисты, исламисты, христиане и представители прочих религий никогда не перестанут конфликтовать до тех пор пока не поймут что добрососедские отношения намного ценнее всех их религий.
Я (с)