LINUX.ORG.RU

Сообщения pornandme

 

Вопрос про переносимость типов i386 -> amd64

Здравствуйте. Есть одна либа в исходных кодах. Там реализация бинарного протокола, соответственно перекладывание байтов (и битов!) всю дорогу. Либа портирована на ARM32, AVR и прочее. Всё «портирование» сводится к переопределению типов в зависимости от архитектуры. в частности, для gcc i386 там такой расклад:


/* Gcc for PC / Linux & Power PC / Linux */
#elif defined(__GNUC__) &&      \
      defined(__gnu_linux__) && \
      ( defined(__i386__) || defined(__PPC405__) )
typedef unsigned char      byte;
typedef unsigned char      int8u;            /* 8 bit unsigned  */
typedef char               int8s;            /* 8 bit signed    */
typedef unsigned short int int16u;           /* 16 bit unsigned */
typedef short int          int16s;           /* 16 bit signed   */
typedef unsigned int       int32u;           /* 32 bit unsigned */
typedef int                int32s;           /* 32 bit signed   */
typedef int                fast_int;

Есть небольшое желание собрать под x64, чтобы потом слепить биндинги для Rust. Но в этой архитектурной кухне я не в зуб ногой. Соответственно вопрос: если тупо к вышеприведенному добавить условие #if defined(__x86_64__) какой шанс что всё будет OK? Или придется как-то извращаться чтобы корректно заработало на x64?

 , ,

pornandme
()

Зачем федоре Java?

Здравствуйте. Такой вот глупый вопрос

Поставил федору на попробовать. UX расстроил после убунты и манжары. Неужто редхат не смог подкинуть пару баксов дизайнерам сборочки гнома. И за столько лет не обзавестись аналогом synaptic..

Но вопрос не в этом. Не смог понять, зачем дистрибутив Workstation она по умолчанию ставит Java?? Такое у меня впервые..

 

pornandme
()

Дедупликация и node_modules. Есть ли смысл?

Здравствуйте. Такой вопрос. Краем уха слышал про дедупликацию в файловых системах ZFS и BTRFS. Поможет ли эта дедупликация уменьшить размер папки с проектами на node.js и rust? В каждом проекте присутствует либо node_modules (сотни мегабайт) либо target (гигабайты), в которых зачастую полно повторяющихся файлов.

Действительно ли при использовании ZFS или BTRFS все одинаковые копии файлов будут указывать на один и тот же файл на диске?

Если да, то какая из ФС лучше подходит для такой задачи?

 , ,

pornandme
()

Не работает systemd --user в ubuntu

Здравствуйте, дорогие админы. Помогите советом добрым

Создал в убунте юзера терминального myserver (через useradd). Создал для того, чтобы запускать под ним сервис на node.js. Скопировал сервис. Положил myserver.service в $HOME/.config/systemd/user

Но вод беда. Ни одна команда с префиксом systemd –user не работает. Пишет всегда одно и то же:

$ systemctl --user start myserver
Failed to connect to bus: No such file or directory

В гугле гуглил, но ничего не помогло. Очевидно, проблема в dbus. В графической сессии переменная DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus. В сесси юзера myserver же эта переменная пустая.

  • пакет dbus-user-session – стоит
  • sudo loginctl enable-linger myserver – сделано

Как чинить?

 , , ,

pornandme
()

Ubuntu, Nvidia, Wayland

Здравствуйте, уважаемый ЛОР и его обитатели.

Являюсь счастливым обладателем мусора под названием TU117 [GeForce GTX 1650]

На винде всё прекрасно. 4К видео играются плавно. А на линуксе..

Драйвер nouveau загружает ubuntu в wayland, но интерфейс лагает в 4k.

Драйвер nvidia 460 не дает войти в сессию с wayland. Просто исчезает этот пункт когда установлен патентованый драйвер от нвидии. Однако на просторах интернета то тут, то там находил противоречивые сигналы, что якобы nvidia 460 умеет в wayland

Подскажите, может есть какая-та настройка в конфиге или иной лайфхак для разблокирования сессии с wayland?

 , ,

pornandme
()

Как вернуть длинный ряд после join?

Hello, LOR

Пишу веб сервис на typescript. Прислушавшись к громкому меньшинству, принял решение не испоьзовать ORM, а писать прям SQL-запросы (строковыми литералами).

Сперва все пошло более-менее ровно, пока не появился JOIN. Та самая хваленая оптимизация, делающая один запрос там, где какая-нибудь ORM делает N+1

Условно, есть таблица «товары» и таблица «свойства_товара». Наивным способом сначала загружаем список товаров, затем в цикле SELECT-им свойства каждого по uid.

Но мы же крутые. Обладая всей мощью SQL, делаем «товары LEFT JOIN свойства_товара». И получаем.. Херню мы получаем! Длинный ряд столбцов. С повторяющимися именами (в этих таблицах есть одноименные столбцы). А с учетом того, что заботливый драйвер postgres превращает ряды в словари, одинаковые имена просто схлопываются

Погуглил что предлагает коллективный надмозг. Надмозг предлагает жесть. Разделять столбцы разделителями и потом програмно собирать эту змею в объекты:

---- foo, bar из первой таблицы. baz, bang из второй
SELECT foo, bar, '|', baz, bang

Подскажите, есть ли более лучший способ? Postgresql декларируется как фичастый и объектный. Должен же быть способ получше? Как вернуть из базы ответ в более структурированном виде? Может есть способ при селекте как-то скомбинировать поля и вернуть одним полем. Или еще как-то?

 ,

pornandme
()

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