The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Создать новую тему
 - Свернуть нити
Пометить прочитанным
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Архив | Избранное | Мое | Новое | | |  
Форум Программирование под UNIX
Код нейронной сети, !*! BuxarNET, (Библиотеки, функции) 12-Авг-23, 04:32  [ | | | ] [линейный вид] [смотреть все]
Есть ли в открытом доступе код нейронной сети?

Есть несколько проектов

1. Нужно нейронку научить русскому языку - в частности грамматике, что бы из слов могла и корни определять и речевые обороты строить и т.п.

2. Нужно нейронку научить анализировать фото и 100% разпознавать разновидность растений.

Может уже и готовые есть подобные решения с открытым кодом?

ldapsearch и bash, !*! sarge, (Shell скрипты) 16-Мрт-16, 21:24  [ | | | ] [линейный вид] [смотреть все]
Добрый вечер. Я новичек в скриптинге на bash так что не судите строго.

Столкнулся с такой проблемой. В bash если запускаю данную команду, то все работает
ldapsearch  -H ldap://server -w password -b "DC=domain,DC=local" -s sub -D
'CN=user,DC=domain,DC=local' -x "(objectClass=user)" sn cn mail
-----------------------

но если начинаю использовать переменные, а точнее в параметре -D то выскакивает ошибка:
LDAPSERVER='ldap://server'
PASSWORD='password'
BINDPATH='DC=domain,DC=local'
DN='CN=user,DC=domain,DC=local'
FILTER='(objectClass=user)'
ATTRIB='sn cn mail'
ldapsearch  -H $LDAPSERVER -w $PASSWORD -b $BINDPATH -s sub -D $DN -x $FILTER $ATTRIB

ldap_bind: Invalid credentials (49)
        additional info: 80090308: LdapErr: DSID-0C0903AA, comment:
AcceptSecurityContext error, data 525, v1772

------------------------
ldapsearch  -H $LDAPSERVER -w $PASSWORD -b $BINDPATH -s sub -D 'CN=user,DC=domain,DC=local' -x $FILTER $ATTRIB
так работает если для параметра -D непосредственно в строке прописать.

------------------------
подскажите в чем может быть проблема.
Debian8.3

ldapsearch:
        buildd@x86-csail-01:/build/openldap-EAKxYy/openldap-2.4.40+dfsg/debian/build/clients/tools
        (LDAP library: OpenLDAP 20440

ошибка в команде wget, !*! Chainikk, (Shell скрипты) 04-Мрт-24, 01:32  [ | | | ] [линейный вид] [смотреть все]
Граждане дорогие. Не первый раз обращаюсь на Ваш спасительный форум)
Нынче бьюсь над командой получить научные данные.
Если просто запустить из адресной строки броузера, то данные мне выдаются:

https://lgdc.uml.edu/common/DIDBGetValues?ursiCode=AT138&cha... fromDate=2024%2F03%2F01+00%3A00%3A00&toDate=2024%2F03%2F02+05%3A00%3A00

Но нужен скрипт на shell, чтобы запускать автоматически.
Вставляю я во wget, но увы, в результате создается папка AT138202403f.txt с файлом "DIDBGetValues?ursiCode=AT138"

и файл этот вместо данных содержит назидательное содержимое:

To access this servlet use format: DIDBGetValues?ursiCode=CODE&charName=NAME&fromDate=yyyy.mm.dd%20(...)%20hh:mm:ss&toDate=yyyy.mm.dd%20(...)%20hh:mm:ss
For example: DIDBGetValues?ursiCode=DB049&charName=foF2&fromDate=2007.06.25%20(...)%2000:00:00&toDate=2007.06.26%20(...)%2000:00:00
or: DIDBGetValues?ursiCode=DB049&charName=foF2&fromDate=2007.06.25&toDate=2007.06.26

Пробовала как написано в файле, - результат такой же((

То есть что-то в грамматике запроса не то.

Может кто знает в чем дело??

(Мой запрос: wget -N -P /var/папка такая-то/AT138202403f.txt https://lgdc.uml.edu/common/DIDBGetValues?ursiCode=AT138&cha...)

Посоветуйте мультиформатный пакетировщик!, !*! Гарло дАо, (Разное) 25-Мрт-23, 00:30  [ | | | ] [линейный вид] [смотреть все]
На что посмотреть для мультиформатного опакечивания в Deb/Rpm/SFX-Tar и др.?

Своё написано. Осталось неудовлетворённым чувство прекрасного. Перед следующим заходом хочется попользоваться написанным другими.

На что посмотреть, что попробовать? Чтобы похожее на: даю цель install для make, а оно в ответ собирает, в chroot, и отдаёт собранное в пакетах разных форматов.


Как предложить функциональность в ядро Linux, !*! Аноним, (Средства разработки) 27-Фев-24, 17:08  [ | | | ] [линейный вид] [смотреть все]
Подскажите пожалуйста, куда писать с предложением функциональности в ядро Linux. Конкретно хочется добавить функционал в vfs fs/open.c. Сам наколеночный патч у меня есть и вроде всё работает, но его такой не примут в mainline и стыдно слать, сами они сделают круче - стеково или ещё как. Поэтому не берусь сам программировать, но идея интересная и хочется чтоб её реализовали.
Спасибо.
Подскажите, как в git такую разработку вести?, !*! КриоМух, (Контроль версий, Git, SVN, Bazaar, Mercurial) 26-Фев-24, 15:37  [ | | | ] [линейный вид] [смотреть все]
Добрый день, Уважаемые!

Скажите пожалуйста, есть проект в git. В нём такое дерево файлов:

- index.html
- INSTANCE/
         - INST_1/
               - inst1.html
               .......
         - INST_2/
               - inst2.html
               .......

Как вести разработку условно общей части этого проекта в который не должны входить все директории в INSTANCE/, а эти директории были бы как отдельные подпроекты? Чтобы при клонировании общего проекта, не переносились бы данные всех подпроектов из INSTANCE/*, а их бы уже отдельно разворачивал что-то типа:
cd INSTANCE/
развернуть INST_1 # и в INSTANCE/ появилась бы вся поддиректория INST_1

Извините, что коряво, но как сумел объяснил :)

Как непросто учится СИ, !*! dcc0, (C/C++) 17-Сен-16, 15:38  [ | | | ] [линейный вид] [смотреть все]
У меня почти весь ушёл на одну мизерную программу, чтобы написать без ошибок и то сомневаюсь.
Ищет символ в строке. Большего ничего не делает:

#include <stdio.h>

int main(int argc, char *argv[])
{
    char * str=argv[2];
    char * patrn=argv[1];
            
             if (argc < 2) {
             printf("Enter a symbol and string\n");
             return 0;
           }
             if (patrn[1] !='\0') {
             printf("Enter just one symbol\n");
             return 0;
           }
            if (argc < 3 ) {
             printf("Enter pattern and string\n");
             return 0;
           }
             if (argc > 3 ) {
             printf("Use double \" \" quotes for strings containing spaces\n");
             return 0;
           }
            
             int j =0;
             while (str[j] != 0) {
                  if (patrn[0] == str[j]) {
                  printf("Found: %c in position %d", str[j], j);
                  break;
                  return 1;            
                  }            
                  ++j;
             }
            
             return 0;        
}



Новогодний bash, !*! pavlinux, (Shell скрипты) 22-Дек-23, 17:47  [ | | | ] [линейный вид] [смотреть все]
Дано:  Текстовая строка TEXT="Happy New Year";

Вывести на консоль используя только bash:  

1. Текст в верхнем регистре  (HAPPY NEW YEAR)
2. Текст в нижнем регистре   (happy new year)
3. Текст с инвертированным регистром (hAPPY nEW yEAR)


P.S.
Примитивная долбёжка каждого символа конечно засчитается,
но это скучно и уже есть в коде самого bash.
if  ( 0x61 < с || с < 0x7A ) ля-ля-ля...  if  ( 0x41 < с || с < 0x5A ) ля-ля-ля...  

Сборка vhci_hcd для ядра 6.6, !*! Анон70, (C/C++) 03-Янв-24, 17:19  [ | | | ] [линейный вид] [смотреть все]
Здравствуйте. Есть такой проект virtual usb dirver https://github.com/linuxbuh/vhci_hcd.
Он без проблем собирается на ядрах от 5.х до 6.1. Однако на 6.6 завершается ошибкой:
/home/arch/abs/testing/vhci-hcd/src/build/vhci-hcd/1.15/build/usb-vhci-iocifc.c:1072:10: error: ‘struct class’ has no member named ‘owner’
1072 |         .owner = THIS_MODULE,
      |          ^~~~~
In file included from ./include/linux/linkage.h:7,
                 from ./arch/x86/include/asm/cache.h:5,
                 from ./include/linux/cache.h:6,
                 from ./include/linux/time.h:5,
                 from ./include/linux/stat.h:19,
                 from ./include/linux/module.h:13:
./include/linux/export.h:29:21: error: initialization of ‘const char *’ from incompatible pointer type ‘struct module *’ [-Werror=incompatible-pointer-types]
   29 | #define THIS_MODULE (&__this_module)
      |                     ^
/home/arch/abs/testing/vhci-hcd/src/build/vhci-hcd/1.15/build/usb-vhci-iocifc.c:1072:18: note: in expansion of macro ‘THIS_MODULE’
1072 |         .owner = THIS_MODULE,
      |                  ^~~~~~~~~~~
./include/linux/export.h:29:21: note: (near initialization for ‘vhci_iocifc_class.name’)
   29 | #define THIS_MODULE (&__this_module)
      |                     ^
/home/arch/abs/testing/vhci-hcd/src/build/vhci-hcd/1.15/build/usb-vhci-iocifc.c:1072:18: note: in expansion of macro ‘THIS_MODULE’
1072 |         .owner = THIS_MODULE,
      |                  ^~~~~~~~~~~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: /home/arch/abs/testing/vhci-hcd/src/build/vhci-hcd/1.15/build/usb-vhci-iocifc.o] Error 1

Вот кусок кода
static struct class vhci_iocifc_class = {
    .owner = THIS_MODULE,
    .name = driver_name
};

#define CHARDEV_NAME "usb-vhci"

static struct device vhci_iocifc_device = {
    .class = &vhci_iocifc_class,
    .release = vhci_iocifc_device_release,
#ifndef NO_DEV_INIT_NAME
    .init_name = CHARDEV_NAME,
#endif
    .driver = &vhci_iocifc_driver.driver
};

Как это исправить ?

Нужно записать видео/аудио Telegram-трансляции , !*! strannik7j, (Разное) 04-Дек-23, 02:33  [ | | | ] [линейный вид] [смотреть все]
Нужно написать скрипт (желательно на python) для записи видео/аудио из telegram-трансляции.
Я пытался найти ответ в документации таких библиотек, как tgcalls, pytgcalls, ntgcalls, но то ли это пока невозможно, то ли я плохо искал. А может есть другие подходящие библиотеки.
Задача Java-кодирования: особенности манипулирования датами, !*! Программирование, (Java) 28-Ноя-23, 11:16  [ | | | ] [линейный вид] [смотреть все]
В настоящее время я работаю над проектом Java, включающим манипулирование датами, и наткнулся на неожиданную проблему в своем коде. Вот упрощенная версия проблемы:


import java.text.SimpleDateFormat;
import java.util.Date;

public class DateManipulation {

    public static void main(String[] args) {
        // Attempting date manipulation
        Date currentDate = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String formattedDate = sdf.format(currentDate);

        // Output the formatted date
        System.out.println("Formatted Date: " + formattedDate);
    }
}

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

Какой язык функционального программирования учить?, !*! Аноним, (Средства разработки) 11-Мрт-21, 12:32  [ | | | ] [линейный вид] [смотреть все]
Доброго! Уважаемые анонимусы, подскажите, какому языку посвятить свое драгоценное время?
Давно изучаю и программирую на ++, сейчас потянуло на что-то новенькое.
Присматриваюсь к Elang, Haskell, Sсala.
Хотелось бы в последствии пофрилансить и поваять свои проекты для души.
Интересуют задачи типа бэкэнда торговой платформы.


сборка meson 0.59 из исходников, !*! executor, (Языки программирования) 04-Окт-23, 17:22  [ | | | ] [линейный вид] [смотреть все]
Кто-нибудь подскажите пожалуйста в чем у меня ошибка пытаюсь собрать meson 0.59 из исходников согласно

https://linuxfromscratch.org/lfs/view/11.0/chapter08/meson.html однако в конце система пишет что мезона нет что делать?
meson


WARNING:root:could not open file '/etc/apt/sources.list'

The program 'meson' is currently not installed. You can install it by typing:
apt install meson
/usr/share/bash-completion/completions/meson
bash: /usr/share/bash-completion/completions/meson: Permission denied

Ниже привожу листинг сборки  

sed -i "s/return 'lib32'/return 'lib'/g" /tmp/meson\-0\.59\.0/mesonbuild/mesonlib/universal.py

python3.6 /tmp/meson\-0\.59\.0/setup.py build

running build

python3.6 /tmp/meson\-0\.59\.0/setup.py install --root=dest

running install
running build
running install_data
creating dest
creating dest/usr
creating dest/usr/local
creating dest/usr/local/share
creating dest/usr/local/share/man
creating dest/usr/local/share/man/man1
copying man/meson.1 -> dest/usr/local/share/man/man1
creating dest/usr/local/share/polkit-1
creating dest/usr/local/share/polkit-1/actions
copying data/com.mesonbuild.install.policy -> dest/usr/local/share/polkit-1/actions
running install_egg_info
running egg_info
creating UNKNOWN.egg-info
writing UNKNOWN.egg-info/PKG-INFO
writing dependency_links to UNKNOWN.egg-info/dependency_links.txt
writing top-level names to UNKNOWN.egg-info/top_level.txt
writing manifest file 'UNKNOWN.egg-info/SOURCES.txt'
reading manifest file 'UNKNOWN.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no directories found matching 'test?cases'
warning: no directories found matching 'manual?tests'
warning: no files found matching '__main__.py'
writing manifest file 'UNKNOWN.egg-info/SOURCES.txt'
Copying UNKNOWN.egg-info to dest/usr/local/lib/python3.6/site-packages/UNKNOWN-0.0.0-py3.6.egg-info
running install_scripts

cd /tmp/meson\-0\.59\.0

cp -rv dest/* /


'dest/usr/local/share/man/man1/meson.1' -> '/usr/local/share/man/man1/meson.1'
'dest/usr/local/share/polkit-1' -> '/usr/local/share/polkit-1'
'dest/usr/local/share/polkit-1/actions' -> '/usr/local/share/polkit-1/actions'
'dest/usr/local/share/polkit-1/actions/com.mesonbuild.install.policy' -> '/usr/local/share/polkit-1/actions/com.mesonbuild.install.policy'
'dest/usr/local/lib/python3.6/site-packages/UNKNOWN-0.0.0-py3.6.egg-info' -> '/usr/local/lib/python3.6/site-packages/UNKNOWN-0.0.0-py3.6.egg-info'
'dest/usr/local/lib/python3.6/site-packages/UNKNOWN-0.0.0-py3.6.egg-info/SOURCES.txt' -> '/usr/local/lib/python3.6/site-packages/UNKNOWN-0.0.0-py3.6.egg-info/SOURCES.txt'
'dest/usr/local/lib/python3.6/site-packages/UNKNOWN-0.0.0-py3.6.egg-info/top_level.txt' -> '/usr/local/lib/python3.6/site-packages/UNKNOWN-0.0.0-py3.6.egg-info/top_level.txt'
'dest/usr/local/lib/python3.6/site-packages/UNKNOWN-0.0.0-py3.6.egg-info/dependency_links.txt' -> '/usr/local/lib/python3.6/site-packages/UNKNOWN-0.0.0-py3.6.egg-info/dependency_links.txt'
'dest/usr/local/lib/python3.6/site-packages/UNKNOWN-0.0.0-py3.6.egg-info/PKG-INFO' -> '/usr/local/lib/python3.6/site-packages/UNKNOWN-0.0.0-py3.6.egg-info/PKG-INFO'
install -vDm644 data/shell-completions/bash/meson /usr/share/bash-completion/completions/meson
'data/shell-completions/bash/meson' -> '/usr/share/bash-completion/completions/meson'
install -vDm644 data/shell-completions/zsh/_meson /usr/share/zsh/site-functions/_meson
install: creating directory '/usr/share/zsh/site-functions'
'data/shell-completions/zsh/_meson' -> '/usr/share/zsh/site-functions/_meson'

meson


WARNING:root:could not open file '/etc/apt/sources.list'

The program 'meson' is currently not installed. You can install it by typing:
apt install meson
/usr/share/bash-completion/completions/meson
bash: /usr/share/bash-completion/completions/meson: Permission denied

Что тут не так?

nasm, деление, !*! ivan, (Разное) 24-Сен-23, 08:42  [ | | | ] [линейный вид] [смотреть все]
Добрый день.
Потребовалось выполнить деление на 1 со знаком.
mov eax, 0
mov ebx, 0
mov, ax, 0xc9
mov bl, 1
idiv bl
Получил исключение. Если вместо 8 битного операнда использовать 16 битовый
idiv bx
то все хорошо.
В чем причина? 0xc9 / 1 = 0xc9 и должно поместиться в al
Проблема при сборке Linux From Scratch, пакет Gettext-0.22, !*! vvm13, (Компиляция) 14-Сен-23, 13:35  [ | | | ] [линейный вид] [смотреть все]
/Надо отметить, что с C/C++ не работаю и с Linux'ом не очень дружен/

Итак, развлекаюсь со сборкой LFS в виртуалке с Fedora 32.
Всё шло более-менее хорошо, прошёл довольно далеко. И вдруг неожиданно и с размаху налетел на проблему.
Итак, https://www.linuxfromscratch.org/lfs/view/stable-systemd/cha...
Глава 8.32. Gettext-0.22.

Я получаю ошибку в
libtool: link:  gcc -shared  -fPIC -DPIC  -Wl,--whole-archive ./.libs/libgnu.a -Wl,--no-whole-archive  -lc  -g -O2   -Wl,-soname -Wl,libgettextpo.so.0 -Wl,-version-script -Wl,.libs/libgettextpo.ver -o .libs/libgettextpo.so.0.5.9
/usr/bin/ld:.libs/libgettextpo.ver:2: syntax error in VERSION script

Внутри libgettextpo.ver фигня:
[root@fedora .libs]# cat libgettextpo.ver
{ global:
local: *; };

Претензия, видимо, к тому, что после global: должен быть список external-зависимостей a la
{ global:
libgettextpo_version;
local: *; };
, но он пустой.

Формируется он на основе файла .libs/libgettextpo.exp:

libtool: link: /usr/bin/nm -B   ./.libs/libgnu.a | /usr/bin/sed -n -e 's/^.*[    ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[         ][      ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | /usr/bin/sed '/ __gnu_lto/d' | /usr/bin/sed 's/.* //' | sort | uniq > .libs/libgettextpo.exp
libtool: link: /usr/bin/grep -E -e "^([^l]|l[^i]|li[^b]|lib[^g]|libg[^e]|libge[^t]|libget[^t]|libgett[^e]|libgette[^x]|libgettex[^t]|libgettext[^p]|libgettextp[^o]|libgettextpo[^_]|libgettextpo_version).*" ".libs/libgettextpo.exp" > ".libs/libgettextpo.expT"


Первая команда даёт непустой список:

(lfs chroot) root:/sources/src/gettext-0.22/gettext-tools/libgettextpo# /usr/bin/nm -B   ./.libs/libgnu.a | /usr/bin/sed -n -e 's/^.*[    ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[         ][      ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | /usr/bin/sed '/ __gnu_lto/d' | /usr/bin/sed 's/.* //' | sort | uniq
libgettextpo_asnprintf
libgettextpo_printf_fetchargs
libgettextpo_printf_parse
libgettextpo_rpl_fopen
libgettextpo_vasnprintf

Но вторая его обнуляет!
libtool: link: /usr/bin/grep -E -e "^([^l]|l[^i]|li[^b]|lib[^g]|libg[^e]|libge[^t]|libget[^t]|libgett[^e]|libgette[^x]|libgettex[^t]|libgettext[^p]|libgettextp[^o]|libgettextpo[^_]|libgettextpo_version).*" ".libs/libgettextpo.exp"
даёт пустой список.

Предполагаю, что на самом деле имеется в виду вырезать всё, кроме "libgettextpo_version". Но этой строки почему-то нет.

Вот то, что я понял из происходящего. И что libgettextpo_version - это какая-то переменная в одном из C-файлов. Но что с ней не так? И ведь не сам же я писал все эти скрипты. И gcc три раза перекомпилён.

Linux + java + firebird embedded, !*! 111, (Firebird, Interbase) 13-Сен-23, 11:40  [ | | | ] [линейный вид] [смотреть все]
Доброго дня, коллеги. Не знаю в какую тему писать. Уж простите.
Помогите с решением. Есть связка приложение написанное под openjdk-8 + firebird 3 embedded.
Вопрос. Это чудо совершенно спокойно работает под astra (alce-2.12.46.6-17.04.2023_15.09.iso) и под RedOS (redos-MUROM-7.3.3-20230815.0-Everything-x86_64-DVD1.iso), и вылетает с ошибкой "Unable to load library 'fbclient': Native library (linux-x86-64/libfbclient.so) not found in resource path" под ubuntu, debian, rocky. Т.е. архив с приложением и всеми конфигурациями в части firebird с "рабочей" системы переносим на "нарабочую" и получаем эту ошибку. Эксперимента ради сносилась через apt purge openjdk с астры, скачивался через apt download сам пакет openjdk, распаковывался без установки и запускалось приложение - полет нормальный. По lsof видно, что в "рабочем" варианте идет обращение к каталогу где находится libfbclient.so, в "нерабочем" - нет. Перед запуском приложения определяются переменные окружения, согласно документации на firebird
export PATH=$PATH:`pwd`/fbembed
export LD_LIBRARY_PATH=`pwd`/fbembed
export FIREBIRD=`pwd`/fbembed
Где проблема закопалась?
Чтоб не телепатить, выводы каких команд предоставить?
Заранее спасибо.

  • так а прочитать что ему надо и поставить никак apt install libfbclient2 в дебиан, !*! Ann None (?), 15:25 , 13-Сен-23 (1)
    > Native library (linux-x86-64/libfbclient.so) not found in resource path

    так а прочитать что ему надо и поставить никак?
    apt install libfbclient2 в дебиане/убунте, dnf install libfbclient2 из epel репы в редхетоподобных

    сообщить модератору +/ответить
  • gt оверквотинг удален Проблема, с которой вы сталкиваетесь, связана с тем, что, !*! 23213 (?), 19:52 , 14-Сен-23 (6)
    >[оверквотинг удален]
    > openjdk, распаковывался без установки и запускалось приложение - полет нормальный. По
    > lsof видно, что в "рабочем" варианте идет обращение к каталогу где
    > находится libfbclient.so, в "нерабочем" - нет. Перед запуском приложения определяются
    > переменные окружения, согласно документации на firebird
    > export PATH=$PATH:`pwd`/fbembed
    > export LD_LIBRARY_PATH=`pwd`/fbembed
    > export FIREBIRD=`pwd`/fbembed
    > Где проблема закопалась?
    > Чтоб не телепатить, выводы каких команд предоставить?
    > Заранее спасибо.

    Проблема, с которой вы сталкиваетесь, связана с тем, что ваше Java-приложение не может найти библиотеку `libfbclient.so`, которая требуется для работы с встроенной базой данных Firebird.

    Судя по вашему описанию, в Ubuntu, Debian и Rocky не удается найти библиотеку `libfbclient.so` в переменных окружения `LD_LIBRARY_PATH`. В Ubuntu и Debian библиотеки часто хранятся в других каталогах по умолчанию, и они не могут быть найдены, если не добавлены в переменную `LD_LIBRARY_PATH`.

    Чтобы решить эту проблему, вам нужно убедиться, что `libfbclient.so` может быть найден в переменной `LD_LIBRARY_PATH` или в путях поиска библиотек (как `LD_LIBRARY_PATH` в Ubuntu, Debian и Rocky). Вот несколько шагов, которые могут помочь:

    1. Убедитесь, что `libfbclient.so` находится в каталоге, указанном в `LD_LIBRARY_PATH`. Если нет, вы можете скопировать библиотеку в этот каталог или добавить каталог, содержащий `libfbclient.so`, в переменную `LD_LIBRARY_PATH`.

    2. Вместо того, чтобы устанавливать `LD_LIBRARY_PATH` в каждый раз, когда вы запускаете приложение, вы можете добавить его к конфигурации вашей системы. Например, в Ubuntu и Debian можно создать файл в каталоге `/etc/ld.so.conf.d/` (например, `firebird.conf`), содержащий путь к каталогу с `libfbclient.so`, а затем выполнить команду `sudo ldconfig`, чтобы обновить кэш библиотек.

    3. Убедитесь, что переменная `LD_LIBRARY_PATH` устанавливается до запуска вашего Java-приложения. Вы можете добавить эту настройку в скрипт запуска вашего приложения или в файлы настройки окружения, такие как `.bashrc` или `.profile`.

    4. Если `libfbclient.so` установлена системным пакетом, удостоверьтесь, что этот пакет установлен и доступен для вашего пользователя или системы.

    После внесения соответствующих изменений попробуйте снова запустить ваше Java-приложение. Это должно позволить ему успешно найти библиотеку `libfbclient.so` и исправить ошибку "Native library (linux-x86-64/libfbclient.so) not found in resource path".

    сообщить модератору +/ответить
JAVA EE в Intellij IDEA, !*! korbnik, (Java) 26-Май-23, 16:16  [ | | | ] [линейный вид] [смотреть все]
Добрый день!

Подскажите, пожалуйста, в Intellij IDEA в версии Community Edition (бесплатная версия) есть Java EE?

Или надо приобретать версию Ultimate?

Заранее спасибо. Борис.

Установка eclipse, !*! korbnik, (Java) 17-Май-23, 12:08  [ | | | ] [линейный вид] [смотреть все]
Добрый день!

Подскажите, пожалуйста, как установить eclipse (под Windows, linux) без intrnet-а.
На компьютере нет Internet-а, но дистрибутив eclipse можно скачать.
Я пробовал устанавливать, выдается ошибка - недоступен ресурс.

Ошибка понимания списка Python: неожиданный вывод, !*! Jeevan11, (Языки программирования) 01-Сен-23, 13:47  [ | | | ] [линейный вид] [смотреть все]
Я столкнулся с неожиданным результатом при использовании понимания списка в Python. Я пытаюсь создать список квадратов значений четных чисел в заданном диапазоне, но результат не тот, который я ожидал. Вот код, который я использую:

even_numbers = [x for x in range(10) if x % 2 == 0]
squared_values = [x**2 for x in even_numbers]

print(squared_values)

Я ожидал, что результат будет [0, 4, 16, 36, 64], но вместо этого я получаю [0, 4, 16]. Кажется, что последнее четное число (8) и соответствующее ему квадратное значение (64) отсутствуют.

Может ли кто-нибудь помочь мне понять, почему это происходит и как исправить мой код понимания списка, чтобы получить желаемый результат? Есть ли что-то, что я упускаю из виду в своем подходе? Ваши идеи будут очень признательны. Спасибо!

Форвардинг/проксирование TCP/UDP пакетов , !*! akahan, (Rust) 11-Авг-23, 16:44  [ | | | ] [линейный вид] [смотреть все]
Привет всем. Не уверен в каком именно разделе нужно разместить, но суть в сетевом программировании. Это мой первый опыт в таком программировании, поэтому не ругайте, если что))

Я пишу связку ПО реализующую VPN на основе WireGuard с конечным выходом пакетов в интернет через удаленную программу (далее прокси) и обратно.

Общими словами, есть 3 устройства. Клиент, сервер и прокси. На сервере WireGuard интерфейс слушает на UDP порту подключения от клиентов и от прокси. Создает с ними одну сеть.

В целом, средствами обычных конфигов WireGuard это реализуется как тут https://habr.com/ru/companies/xakep/articles/699000/. Все работает. Но в своей реализации я застрял с прокси.
В статье с хабра прокси - это сервер с конфигом wg-external.conf. Там есть выполнение PostUp сркрипта с настройкой iptables, но это не нужно, так как связка работает и без этого правила.

Я пишу код на rust, реализовал сетевой стек в юзер-спейс (smoltcp). Юзерспейс - это важно. Получаю на прокси расшифрованные пакеты с сервера WireGuard. Не понимаю как мне проксировать их в интернет и отдавать обратно на сервер с последующей передачей ответов клиенту обратно.  

Я понимаю, что нужно подменять адреса получателя в IP-пакетах, но как их отправлять в интернет и потом передавать обратно в WireGuard? Нет четкого понимания - застрял. Кто понимает о чем речь укажите направление, подскажите, что нужно сделать, чтобы реализовать мою связку?

Правка header в fasta, !*! labradorka2112, (Shell скрипты) 12-Авг-23, 12:22  [ | | | ] [линейный вид] [смотреть все]
Добрый день! Вероятно, совсем простая задачка, решается многими способами, но я что-то пока не нашел подходящего.

Входные данные:
есть файл txt, в нем, в том числе, есть строки вида >NC00001 (прочее из этих строк удалено sed -r 's/xxxxx.+//' ) файл.ext
Таких строк 5572 штуки (всего строк в файле существенно больше), т.е. имеем диапазон строк указанного вида >NC00001 - >NC05572, между которыми другие строки. Количество других строк между целевыми строками вида >NC00001 рандомное, но уменьшается к концу файла.

Задача:
получить уникальные числа после константного тэга >NC, так чтобы строка вида >NC****** встечались только один раз в файле )

Условия: 1) нужно чтобы в числовой части строки присутствовало не более одной цифры 0
         2) В подстановке допустимы только цифры, не более 5-6 знаков(цифр) после >NC.
         3) Могут быть в порядке возрастания
         3) нужна проверка вхождения, т.е. что каждый из полученных идентификаторов уникален.
         4) решить на bash, можно и python

Что нашел: если вместо 0000 тупо клеить какие-нибудь числа, с учетом количества строк,очевидно, возникают повторы.
Рассматриваю sed, rev, tac, seq, grep, uniq
Из любопытного, но пока не разобрался : cut -d'' -f1|sort|uniq-c|grep -Ev'^[[:space:]]+1[[:space:]]'

  • gt оверквотинг удален Написал говнокод генератора для подстановки в строки, но, !*! labradorka2112 (ok), 15:13 , 12-Авг-23 (1)
    >[оверквотинг удален]
    >          3) Могут быть
    > в порядке возрастания
    >          3) нужна проверка
    > вхождения, т.е. что каждый из полученных идентификаторов уникален.
    >          4) решить на
    > bash, можно и python
    > Что нашел: если вместо 0000 тупо клеить какие-нибудь числа, с учетом количества
    > строк,очевидно, возникают повторы.
    > Рассматриваю sed, rev, tac, seq, grep, uniq
    > Из любопытного, но пока не разобрался : cut -d'' -f1|sort|uniq-c|grep -Ev'^[[:space:]]+1[[:space:]]'

    Написал говнокод генератора для подстановки в строки, но мне нужны 6-ти значные числа, а тут цифры только 1-9 судя по первой странице.

    import random

    f = open('randlist.txt', "w")
    S = ""
    D = (random.sample(range(321456, 879456), k=5675))
    for i in D:
        S = S + str(i)
    f.write('\n'. join(S))
    f.close()

    сообщить модератору +/ответить
Проблема обмена данными через виртуальный USB-com порт, !*! EdiRu, (C/C++) 02-Авг-23, 17:31  [ | | | ] [линейный вид] [смотреть все]
Добрый день! Жизнь заставила переходить с виндов на Linux, столкнулся с проблемой: работаю с железкой по USB через виртуальный ком-порт в Qt Creator. В консольном приложении всё идет на "ура", так же если делаю библиотеку и вызываю через консольное приложение - железка получает команды и отвечает как надо. Попытка использования оконного приложения или "даблклика" по файлу консольного приложения без запуска терминала приводит к тому, что функция read, возвращая нужное количество прочитанной информации, возвращает массив заполненный нулевыми значениями (0х00). Пробовал менять тип массива с char на wchar_t, все равно и старшие и младшие байты нули. Может кто чего подскажет? Примерная последовательность действий:

    int fd = open("/dev/ttyACM0", O_RDWR);
    if (fd < 0) { // обработка ошибок сокращена    }
    fcntl(fd, F_SETFL, 0);
    struct termios oldsettings, newsettings;
    tcgetattr(fileno(stdin), &oldsettings);
    newsettings = oldsettings;
    cfsetospeed(&newsettings, B4000000);
    cfsetispeed(&newsettings, B4000000);
    newsettings.c_lflag &= ~(PARENB|CSTOP|CSIZE);
    newsettings.c_lflag |= CS8;
    newsettings.c_cc[VMIN] = 0;
    newsettings.c_cc[VTIME] = 10;
    newsettings.c_ispeed = 12000000;
    newsettings.c_ospeed = 12000000;
    if (tcsetattr(fd, TCSANOW, &newsettings) < 0) {// обработка ошибок сокращена }

    char buf[50];
    char bufin[2048];
    tcflush(fd, TCIOFLUSH);
    int rP, crd;
// заполнение буфера сокращено, rP=длина буфера
    int cnt = write(fd, &buf, rP);
// обработка ошибок сокращена
    timeval timeout;
    timeout.tv_sec = 0;
    timeout.tv_usec = 100000;
    fd_set fs;
    FD_ZERO(&fs);
    FD_SET(fd, &fs);
    int res = select(fd+1, &fs, NULL, NULL, &timeout);
    if(res==0) {// обработка ошибок сокращена }
    else if(res<0) {// обработка ошибок сокращена }
    else if(FD_ISSET(fd, &fs))
    {
       memset(bufin, 0x00, sizeof(bufin));
       crd = 20; // устанавливаем с запасом, т.к. заранее не знаем, сколько придет
       cnt = read(fd,&bufin,crd);
// cnt = 19 - пришло сколько нужно, bufin[0] = 0x00, bufin[1] = 0x00 и т.д.

Xterm Почему не каждый цветной терминальный вывод виден в Popen, !*! xintrea, (Python) 25-Апр-23, 17:14  [ | | | ] [линейный вид] [смотреть все]
Имеется процесс xterm, который "вставлен" в Tk-окно:

class Terminal(tk.Frame):

    def __init__(self, parent):
        ...
        # Получение tty с которым будет работать терминал (грубый хак)
        os.system('xterm -into %d -geometry 160x50 -sb -e "tty > /tmp/ttyinfo.txt"' % self.wid)
        fp=open('/tmp/ttyinfo.txt', 'r')
        self.tty=fp.readline().strip();
        fp.close();
        print("tty info: "+self.tty)

        # Открытие терминала с bash. Перед запуском bash выводится рабочий tty
        os.system('xterm -into '+str(self.wid)+' -geometry 160x50 -sb -e "tty ; bash -norc" &')


Выполнение команд в этом xterm-терминале сделано двумя способами:

* Через os.system().
* Через Popen+communicate.

Для теста я использую две команды, которые генерируют цветной вывод:


1. ip -color addr
2. ansible-playbook ourPlaybook.yml

И вот какая проблема проявилась:

* Способ запуска через os.system() всегда работает правильно. Для обеих команд вывод в xterm цветной.
* Способ запуска через Popen+communicate() правильно работает только для "ip -color addr". Но для Ansible почему-то генерируется монохромный вывод.

А нужно чтобы и через Popen+communicate() правильно генерировался цветной вывод в терминал для любой команды. Потому что только этим способом можно получить stdOut + stdErr + errCode. Ведь в os.system доступен только код возврата.

Для демонстрации я сделал минимальный пример. Функции запуска выглядят так:


    # Выполнение команды в терминале - вариант 1
    def doCommand1(self, text) :
        cmdLine="(%s) <%s >%s 2> %s" % (text, self.tty, self.tty, self.tty)
        result=os.system(cmdLine)
        ...
        return result

    # Выполнение команды в терминале - вариант 2
    def doCommand2(self, text) :
        cmdLine="%s" % (text)
        resultTriada=command.run(cmdLine)
        log.echo("* Результат: "   +resultTriada[0])
        log.echo("* Вывод ошибок: "+resultTriada[1])
        log.echo("* Код возврата: "+str(resultTriada[2]))
        ...
        # Возвращается кортеж из stdOut, stdErr, errCode
        return resultTriada


Во втором случае используется метод с вызовом Popen+communicate():

class Command():

  # Запуск внешней программы
  def run(self, cmd):
    p=Popen(cmd, stdout=PIPE, shell=True)
    stdOutData, stdErrData = p.communicate()
    errCode=p.returncode

    outData=""
    errData=""

    if not stdOutData is None :
      outData=stdOutData.decode()

    if not stdErrData is None :
      errData=stdErrData.decode()

    # Убирается последний перенос строк, чтобы в конце небыло пустой строки
    outData=re.sub("\n$", '', outData)
    errData=re.sub("\n$", '', errData)

    return(outData, errData, errCode)


В примере сделано 4 кнопки (то есть, со всеми возможными вариантами):

- IP адрес (os.system)
- IP адрес (Popen)
- Ansible (os.system)
- Ansible (Popen)

Первые три генерируют цветной вывод, а четвертая - монохромный.

Так вот, надо добиться, чтобы и вариант на 4-й кнопке, обязательно делал цветной вывод.

Ссылка на пример: https://files.fm/u/ex9nfywf2

Скриншот: https://i.ibb.co/FKZQYkt/screenshot-2023-04-25-15-45-51.png
(На нем видна часть цветного вывода 3-й кнопки, и монохромный вывод 4-й кнопки).

  • Чем ты там занимаешься, чувак почему вместо гуя с кнопками нельзя сделать шелл-, !*! Аноним (1), 09:22 , 26-Апр-23 (1)
    Чем ты там занимаешься, чувак? почему вместо гуя с кнопками нельзя сделать шелл-алиасы?

        alias a='ansible-playbook ourPlaybook.yml'

    Все. Печатаешь "a" [Enter] -- и команда запустится. Не намного медленнее, чем тыкать на кнопки. Код ошибки последней команды можно показывать в PS1. Всяко гибче и удобнее.

    сообщить модератору +/ответить
Организация boot сектора Compact Flash (Unix-like System), !*! SergeKS, (Отладка и профилирование) 31-Июл-23, 10:18  [ | | | ] [линейный вид] [смотреть все]
Здравствуйте!

Промышленное оборудование управляется ПК на котором стоит операционная система реального времени (ОСРВ) VxWorks.

Жесткий диск ПК представляет собой Compact Flash (CF).

CF отказала. Купили новую. Завод производитель прислал файлы которые должны быть на этой CF но не в виде образа а в виде архива *.zip.

Простым копированием естественно ОСРВ не стартует.

Нужна геометрия CF.

Подскажите пожалуйста располагает ли кто ни будь информацией о геометрии CF для VxWorks?

Спасибо!  

Как экранировать символы гравис и $ в переменной с помощью sed, !*! Владимир, (Shell скрипты) 19-Июл-23, 11:13  [ | | | ] [линейный вид] [смотреть все]
Добрый день!
есть переменная a, в  которой предполагается хранить команды shell любой сложности для последующей записи этой команды в БД. Для этого мне нужно экранировать все спецсимволы $, чтобы bash не обрабатывал конструкцию $(..), которая будет возвращать результат выполнения команды.
Я думаю решить эту задачу с помощью sed, как указано в скрипте:

#!/bin/bash
a="for personal in $(/bin/awk -F":" '{ if ( $5 ~ /Admin / && $3 > 100 ) print $1 }' /etc/passwd); do passwd -S $personal;done"
b=$(sed 's,$,\\$,g' <<< $a)
echo $b

Но результат получается не тот, который я ожидал:  
for personal in user1\$ user2\$ user3;do passwd -S ;done\$
Очевидно сработала обработка bash подстановки команды.

Если бы я в строке руками экранировал все символы $:
#!/bin/bash
a="for personal in \$(/bin/awk -F":" '{ if ( \$5 ~ /Admin / && \$3 > 100 ) print \$1 }' /etc/passwd); do passwd -S \$personal;done"
echo $a

То результат был бы правильным:
for personal in $(/bin/awk -F":" '{ if ( $5 ~ /Admin / && $3 > 100 ) print $1 }' /etc/passwd); do passwd -S $personal;done

Видимо, что-то я не так делаю в команде sed. Если есть идеи, буду очень признателен.

Программирование изображений, !*! Anonymooum, (Разное) 20-Мрт-21, 19:24  [ | | | ] [линейный вид] [смотреть все]
Изображения – крайне значительная часть компьютера для пользователей. Сегодня. Сколько изображений Вы просматриваете загрузив компьютер к моменту 'рабочего стола', если он у Вас есть? Я думаю что во всяком случае одну.

Именно по этой причине меня заинтересовала тема программирования изображений. И у меня случилась тотальная попболь. :(

Хотите знать почему? С:

Libpng не имеет документации на русском, magickwand не имеет, libraw не имеет документации на русском языке, первая статья про программирование tiff/bmp двухтысячного года с использованием самописной библиотеки и то у меня не заработала. Сколько дней нужно потратить на изучение документации libpng? Я вот целый день как бы читаю с учётом неосиляторства английского. Ничего не понял и у меня случилась попболь.

Как вкатиться в программирование. Изображений? КАК Вы в этом программируете?



Tkinter - не пойму в какой момент виджет был размещен в окне, !*! xintrea, (Tcl/Tk) 06-Апр-23, 13:39  [ | | | ] [линейный вид] [смотреть все]
В нижеприведенном коде есть создание переменной app. Она является экземпляром класса Example, который в свою очередь является расширением от класса Frame.

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

Как это происходит? Сам код:


from tkinter import Tk, Frame, Checkbutton
from tkinter import BooleanVar, BOTH

class Example(Frame):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.master.title("Флажки")
        self.pack(fill=BOTH, expand=True)
        self.var = BooleanVar()

        cb = Checkbutton(self, text="Показать заголовок", variable=self.var, command=self.onClick)
        cb.select()
        cb.place(x=50, y=50)

    def onClick(self):
        if self.var.get():
            self.master.title("Флажки")
        else:
            self.master.title("")


def main():
    root = Tk()
    root.geometry("250x150+300+300")
    app = Example()
    root.mainloop()


if __name__ == '__main__':
    main()

Random и Zeromemory, !*! kapibara, (C/C++) 13-Мрт-21, 01:06  [ | | | ] [линейный вид] [смотреть все]
Как реализовать следующие криптографические функции в юникс: генерация случайных данных (да, знаю что истинно случайных данных нет, но все же) и secure_zero_memory, т.е. гарантированная очистка данных в памяти? Может есть какие-то готовые либы, примеры етц.
Qt отключил разработчиков из России, !*! kalpa, (GUI, XWindow, Qt, GTK) 03-Мрт-22, 18:14  [ | | | ] [линейный вид] [смотреть все]
Господа!

Qt отключил пользователей в России.
С утра 22.03.03 добавление и обновление модулей через MaintenanceTool невозможен.
Разумеется, пока тексты доступны в github, но это пока...
Если github тоже будет отключен, то встанет вопрос форка и самостоятельной поддержки текстов
силами разработчиков из России.

Кто что думает по этому вопросу.



Как сгенерировать заданный код выхода/exit code одной командой?, !*! xintrea, (Shell скрипты) 26-Апр-23, 14:53  [ | | | ] [линейный вид] [смотреть все]
Мне нужно выполнить такую команду, которая бы возвратила заданный код возврата. Код возврата принимается из входного потока.

Пытаюсь сделать так:

> echo 32 | xargs exit
xargs: exit: Нет такого файла или каталога

Неожиданный сюрприз. Какого-то черта xargs не работает со встроенными командами шелла...

Как по-другому можно решить эту задачу?



 
Пометить прочитанным Создать тему
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Архив | Избранное | Мое | Новое | | |



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру