LINUX.ORG.RU

Сообщения mazdai

 

Библиотека абстрактного CRUD для FastAPI+SQLModel: нужно ли?

Поздравляю всех с наступающим/наступившим новым годом!

Очередной проект на Python, включающий в себя операции с реляционными данными и API для доступа к ним, но для работы которого функционал Django избыточен, делаю на FastAPI – в этот раз с SQLModel, что объединяет модели и схемы сущностей в одном определении класса (с прямым доступом к SQLAlchemy при необходимости) и работает с валидаторами Pydantic. Заметил, что в очередной раз пишу примерно один и тот же boilerplate код для реализации CRUD-операций и накатал (пока что не очень хорошего) качества код, что работает со схемами Pydantic и моделями SQLModel, оборачивая обработчики эндпойнтов в декораторы, что исполняют сами запросы.

Погуглил альтернативы – и они есть (quickcrud, simple-crud), в связи с чем стало интересно, используют ли подобные библиотеки в продакшн и имеет ли смысл их применять. Большинство запросов так или иначе можно обернуть в Query той же SQLAlchemy и с помощью композиции добавлять во время запроса к БД; с другой стороны, явный и чистый код может быть ценнее короткого кода со стопкой декораторов над каждым обработчиком, и самому писать этот код может быть предпочтительнее.

Интересно ваше мнение, имеет ли смысл выносить свой код из проекта в отдельную библиотеку (третью или которую там по счету) и дописывать под распространенные задачи и области применения. Что бы потребовалось из минимального функционала такой библиотеке?

 , , , ,

mazdai
()

Забан провокатора

Не могу ничего переместить и создать в /desktop

Как верно отметил анонимус в конце треда, посетителей форума просят помочь в совершении действий, подпадающих под УК РФ. Прошу модераторов ознакомиться и выставить на мороз ТС

 ,

mazdai
()

Долгая загрузка Plasma 5.20.2 после старта SDDM

Всем привет! Дистрибутив, на котором это происходит – KDE neon соотв. версии (последняя стабильная). Корень на SSD, домашней директории лет семь и сейчас она находится на относительно быстром 2.5" HDD. В $(journalctl -b) ничего особо интересного (похоже, для профайлинга следует скомпилировать плазму для отладки, чего очень не хочется делать).

Подозрение падает на загрузку startplasma_x11 файлов из домашней директории – в связи с этим я пытался чистить .config, .cache, точечно директории kde и plasma в .local, а также отключать службы (очевидно, прироста особого последнее не дает, но я все равно попробовал после того, как заново настроил профиль пользователя). Свежесозданные пользователи грузятся мгновенно.

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

 , , ,

mazdai
()

Нет ботов в Unreal Gold

Решил запустить нативный анрил, в версии Unreal Gold 436 их что-то нет, ни в ботматче, ни на выделенном серве, команда addbots ... распознается, но ботов не появляется, а в консоли пусто. Если кто сталкивался, подскажите в чем может быть проблема)

 ,

mazdai
()

Neovim рисует мусорные символы в QTerminal

При входе в командный режим терминал рисует символ, который я не вводил (буферы чисты и макросов нет) в строке состояния и в поле ввода текста, также периодически ломает отрисовку: https://youtu.be/0tSFZ6s16zs Проблема наблюдается только в QTerminal, VT и xterm отображают все верно

Кто-нибудь сталкивался с подобным? Гуглеж ничего не показал, пока что не писал в баг-трекер

 , ,

mazdai
()

Конфликт пакетов одной версии из разных ppa в Aptitude

Добавил репозиторий KXStudio, установил оттуда несколько программ, потом оказалось, что пульса в нем тоже доступна, и aptitude видит конфликт этих пакетов с пакетами из официального репозитория:

[~] ❯ sudo aptitude install pulseaudio-module-jack
Следующие НОВЫЕ пакеты будут установлены:        
  pulseaudio-module-jack 
Следующие пакеты будут обновлены:
  libpulse0 pulseaudio 
2 пакетов обновлено, 1 установлено новых, 0 пакетов отмечено для удаления, и 7 пакетов не обновлено.
Необходимо получить 1 474 kБ архивов. После распаковки 1 930 kБ будет занято.
Следующие пакеты имеют неудовлетворённые зависимости:
 libpulsedsp : Зависит: libpulse0 (= 1:8.0-0ubuntu3.3) но будет установлен 1:8.0-0ubuntu3.3+kxstudio1.
 libpulse-mainloop-glib0 : Зависит: libpulse0 (= 1:8.0-0ubuntu3.3) но будет установлен 1:8.0-0ubuntu3.3+kxstudio1.
 pulseaudio-module-x11 : Зависит: libpulse0 (= 1:8.0-0ubuntu3.3) но будет установлен 1:8.0-0ubuntu3.3+kxstudio1.
                         Зависит: pulseaudio (= 1:8.0-0ubuntu3.3) но будет установлен 1:8.0-0ubuntu3.3+kxstudio1.
 pulseaudio-utils : Зависит: libpulse0 (= 1:8.0-0ubuntu3.3) но будет установлен 1:8.0-0ubuntu3.3+kxstudio1.

У apt-get все в порядке:

[~] ❯ sudo apt-get install pulseaudio-module-jack 
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
  libpulse-mainloop-glib0 libpulse0 libpulsedsp pulseaudio pulseaudio-module-x11 pulseaudio-utils
Предлагаемые пакеты:
  pavumeter paman paprefs
НОВЫЕ пакеты, которые будут установлены:
  pulseaudio-module-jack
Пакеты, которые будут обновлены:
  libpulse-mainloop-glib0 libpulse0 libpulsedsp pulseaudio pulseaudio-module-x11 pulseaudio-utils
обновлено 6, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 3 пакетов не обновлено.
Необходимо скачать 1 830 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 1 929 kB.
Хотите продолжить? [Д/н]

Просветите плиз, что я делаю не так?

 , , , ,

mazdai
()

Собрал vim-qt под Ubuntu 16.04, помогите опакетить

Долго до этого писал equalsraf на ланчпаде, но он упорно молчит. На ланчпаде последняя версия под 14.04 и вручную ставиться не хочет, версии уже не те.
К тому же в master у них давно завезли поддержку Qt5, а так как нужна нормальная оболочка (gvim даже собственное окно нормально распахнуть не может, в отличие от), решил собрать и опакетить самостоятельно. Выкачал репозиторий https://bitbucket.org/equalsraf/vim-qt, более-менее оформил, перетащил ман от консольного vim в директорию debian/, собрал через dpkg-buildpackage.
Но он, похоже, засунул в пакет полный дистрибутив vim, из-за чего dpkg при установке пакета конфликтует с уже имеющимся в системе; дерево исходников большое и как его сконфигурировать так, чтобы он не генерировал gvimtutor, xxd и прочие, не знаю. Запускал configure с параметрами --prefix=/usr --with-features=huge --enable-gui=qt.
Буду благодарен помощи, если получится собрать грамотно - выложу в сеть :)

 , , , ,

mazdai
()

Объясните прикол с 32 марта

maxcom, как ты реализовал 32 марта на лоровском движке? Любопытно

 

mazdai
()

KDE и злосчастная переключалка раскладок

Переключалка перестает работать при смене фокуса окна, вкладки хрома или даже отдельного фрейма - русская раскладка просто выпадает и сочетание клавиш переключения раскладки игнорируется, пока не залезешь в настройки и не удалишь/добавишь 'ru' заново.
Кто с этим сталкивался? Работать нереально, а идей, как это исправить, у меня не осталось.

 , , ,

mazdai
()

Курсор дрожит, чем чистить коврик?

Мышь - говнотек X7 750BH пятилетней давности. Полгода назад купил коврик, так как стол уже продран ей основательно. До недавнего времени пользоваться еще было можно, теперь же мышь стала впадать в полный неадекват при незначительном перемещении (курсор дрожит как руки алкоголика). Причем на непродранной части стола не дрожит, только на ковре.
Пробовал чистить коврик одежной щеткой с мылом. Выглядит теперь как из коробки, но курсор дрожать меньше не стал. Что посоветуете?

 ,

mazdai
()

Ubuntu 14.04 и мейнтейнеры, криво упаковавшие Qt5 (не могу поставить LXQt и Musescore 2.0)

Достаточно давно решил обновить Musescore до 2.0, тогда он ругался на то, что зависимость от виртуального пакета qtbase-abi-5-2-1 невозможно удовлетворить, хотя установлен предоставляющий его пакет libqt5core5a.
Забил на это, пользовался GP6, пока не вперло поставить LXQt и все началось по новой:

root@rustam:~# apt-get install lxqt-metapackage 
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Некоторые пакеты невозможно установить. Возможно, вы просите невозможного,
или же используете нестабильную версию дистрибутива, где запрошенные вами
пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, поможет вам:

Пакеты, имеющие неудовлетворённые зависимости:
 lxqt-metapackage : Зависит: lxqt-session но он не будет установлен
                    Зависит: lxqt-panel но он не будет установлен
                    Рекомендует: lxqt-about но он не будет установлен
                    Рекомендует: lxqt-globalkeys но он не будет установлен
                    Рекомендует: lxqt-policykit но он не будет установлен
                    Рекомендует: lxqt-powermanagement но он не будет установлен
                    Рекомендует: lxqt-openssh-askpass но он не будет установлен
                    Рекомендует: lxqt-runner но он не будет установлен
                    Рекомендует: lxqt-notificationd но он не будет установлен
                    Рекомендует: lxqt-config но он не будет установлен
                    Рекомендует: lxqt-qtplugin но он не будет установлен
                    Рекомендует: lxqt-admin но он не будет установлен
                    Рекомендует: lxqt-sudo но он не будет установлен
                    Рекомендует: lxqt-connman-applet но он не может быть установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
root@rustam:~# apt-get install lxqt-session
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Некоторые пакеты невозможно установить. Возможно, вы просите невозможного,
или же используете нестабильную версию дистрибутива, где запрошенные вами
пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, поможет вам:

Пакеты, имеющие неудовлетворённые зависимости:
 lxqt-session : Зависит: liblxqt0 (>= 0.9.0+20150911) но он не будет установлен
                Зависит: libqt5xdg1 (>= 1.0.0) но он не будет установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
root@rustam:~# apt-get install liblxqt0
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Некоторые пакеты невозможно установить. Возможно, вы просите невозможного,
или же используете нестабильную версию дистрибутива, где запрошенные вами
пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, поможет вам:

Пакеты, имеющие неудовлетворённые зависимости:
 liblxqt0 : Зависит: libqt5xdg1 (>= 1.0.0) но он не будет установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
root@rustam:~# apt-get install libqt5xdg1
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Некоторые пакеты невозможно установить. Возможно, вы просите невозможного,
или же используете нестабильную версию дистрибутива, где запрошенные вами
пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, поможет вам:

Пакеты, имеющие неудовлетворённые зависимости:
 libqt5xdg1 : Зависит: qtbase-abi-5-2-1
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
root@rustam:~# apt-get install qtbase-abi-5-2-1
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Пакет qtbase-abi-5-2-1 — виртуальный, его функции предоставляются пакетами:
  libqt5core5a 5.2.1+dfsg-1ubuntu14.3 [Нет версии-кандидата]
  libqt5core5a 5.2.1+dfsg-1ubuntu14 [Нет версии-кандидата]

E: Для пакета «qtbase-abi-5-2-1» не найден кандидат на установку
root@rustam:~# apt-get install libqt5core5a 
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Уже установлена самая новая версия libqt5core5a.
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 41 пакетов не обновлено.

Не, ну круто ваще. Есть какие-нибудь варианты что-то сделать с этой зависимостью и не апгрейдиться с LTS?

 , , ,

mazdai
()

Как отключить лигатуры (склеивание символов) в G/QVim?

http://itmag.es/5yHrY

Короче, Vim поддерживает и насильно включает лигатуры, а шрифт Menlo for Powerline, от которого отказываться очень не хочется, соответственно их не поддерживает и вместо моноширинного текста я вижу пропорциональный со всеми вытекающими в виде битой отрисовки символов и невозможности его редактирования (особенно строки с буквосочетаниями fi, fl). В GVim и QVim эта штука присутствует, в Konsole - нет. Никто не знает, как её можно отключить?

 , ,

mazdai
()

Как бороться с множеством WiFi-сетей с одинаковым SSID?

Было бы неплохо, если сеть можно было найти не только по имени, или генерировать уникальные номера для каждой точки доступа (дом.ру так сейчас делает, правда, номера у них 4-значные). Куча сетей с названиями вроде «home.net», «ASUS», «D-Link DIR-300» заколебала. Приходишь к человеку комп чинишь и хрен пойми куда подключаться)

 ,

mazdai
()

Qt Creator 3.1.1 зависит от несуществующих пакетов (Ubuntu 14.04)

[/etc/apt/sources.list.d] ↳ sudo apt install qtcreator
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Некоторые пакеты невозможно установить. Возможно, вы просите невозможного,
или же используете нестабильную версию дистрибутива, где запрошенные вами
пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, поможет вам:

Пакеты, имеющие неудовлетворённые зависимости:
 qtcreator : Зависит: qtdeclarative5-controls-plugin но он не будет установлен
             Зависит: qtbase-abi-5-2-1
             Зависит: qtdeclarative-abi-5-2-1
             Рекомендует: qmlscene
             Рекомендует: qtcreator-doc но он не будет установлен
             Рекомендует: qtcreator-plugin-cmake но он не будет установлен
             Рекомендует: qtcreator-plugin-remotelinux но он не будет установлен
             Рекомендует: qtcreator-plugin-valgrind но он не будет установлен
             Рекомендует: qtcreator-plugin-qnx но он не будет установлен
             Рекомендует: qtdeclarative5-dev но он не будет установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.

Подключал репозиторий ubuntu-sdk-team c ровно тем же результатом. Пакета qtbase-abi-5-2-1, к примеру, нет, равно как и нет пакета, предоставляющего этот, даже в transitional его не найти

[/etc/apt/sources.list.d] ↳ apt-cache policy qtcreator
qtcreator:
  Установлен: (отсутствует)
  Кандидат:   3.1.1-0ubuntu7~0trusty1
  Таблица версий:
     3.1.1-0ubuntu7~0trusty1 0
        500 http://ppa.launchpad.net/ubuntu-sdk-team/ppa/ubuntu/ trusty/main amd64 Packages
     3.0.1-0ubuntu4 0
        500 http://ru.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages

Есть идеи? Такая хурма произошла, когда обновлял musescore, он притащил с собой Qt5 и снес мне Qt Creator на Qt4, который с тех пор не ставится.

 , , ,

mazdai
()

SDL2: Xlib вызывает segfault при работе SDL_Quit

имею код:

  7 SDL_Window *window = NULL;
  8 SDL_Surface *screenSurface = NULL;
  9 SDL_Surface *picture = NULL;

...

 43 void shutdown(void) {
 44     SDL_FreeSurface(picture);
 45     picture = NULL;
 46     SDL_DestroyWindow(window);
 47     window = NULL;
 48     SDL_Quit();
 49 }
 50 
 51 int main(int argc, char* args[]) {

...

 55     shutdown();
 56     return 0;
 57 }

Вкратце, весь код отрабатывает безупречно, но при завершении работы программы происходит segfault, когда вызывается SDL_Quit. При отладке gdb показывает, что дело в libX11.so:

X11_VideoQuit (_this=<optimized out>)
    at /home/rustam/src/SDL2-2.0.2/src/video/x11/SDL_x11video.c:651
651	    if (data->im) {
(gdb) 
652	        X11_XCloseIM(data->im);
(gdb) 

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6bbbd67 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libX11.so.6

Занятно... погуглил на эту тему и вот эту статью: http://www.remlab.net/op/xlib.shtml

Хочется понять, это я неправильно завершаю программу или Xlib вставляет палки в колеса. Неприятно, когда сегфолты на пустом месте.

Кстати, некоторое время назад этого не происходило, с SDL 1.2 вообще никогда не сталкивался

Буду рад советам

 , , , ,

mazdai
()

Ubuntu: громкость меняется сама по себе

дистр ubuntu 13.04

во время воспроизведения звука через pulseaudio громкость очень быстро меняется от 0 до 100% и наоборот, создавая пропуски

это на ядре liquorix, на том, что шло в дистрибутиве звук просто через случайный промежуток времени вырубается (mute)

все в /etc/pulse перетыкал - ничего так до конца и не помогло

заранее спасибо

 , ,

mazdai
()

RSS подписка на новые темы