LINUX.ORG.RU

Сообщения pol01

 

Помогите настроить kafka consumer

Приветствую всех.

Собственно сабж.

Одно приложение публикует сообщение, второе его принимает, и отправляет ответ.

То, которое отправляет ответ, не стартует. Пишет:

java.lang.IllegalStateException: a KafkaTemplate is required to support replies

Вот настройки consumera:

( читать дальше... )

Бин kafkaTemplate в контексте есть.

Кто подскажет как настроить правильно потребитель?

 , ,

pol01
()

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

Приветсвую всех.

Помогите начинающему настроить маршрутиризацию.

Есть удаленный сервер, на котором на порту 1080 работает прокси.

С локальной машины отправляем запрос, например, на 192.168.15.22

Нужно перенаправить его на удаленный прокси.

Как это сделать?

 ,

pol01
()

SSL не работает на некоторых сайтах

Приветствую всех.

Некоторые сайты не открываются по https.

Например:

( читать дальше... )

Хотя до недавнего времени всё работало, и все сайты открывались без проблем.

Вопросы традиционные: кто виноват и что делать?

 ,

pol01
()

Как в xmonad поменять местами активное окно с окном на другом workspace?

Приветствую всех.

Собственно сабж.

Есть workspace. На нём открыта одна программа.

Активным является другой workspace, в нём активна другая программа.

Нужна фукция, которая меняет их местами.

Наверняка, кто-нибудь уже писал подобное.

Поделитесь наработками или подскажите как написать.

 ,

pol01
()

Как связать два класса с полями типа Map<String, String> отношением @OneToMany ?

Приветствую всех.

Знатоки hibernate и JPA помогите связать две сущности, у которых есть поля типа Map<String, String>, отношением @OneToMany.

Сам код вот:

@Entity
class Entity1 {
    @Id
    @Column(name="entity1_id")
    private Long id;

    @Column(name="entity1_name")
    private String name;

    @ElementCollection
    @CollectionTable(
        name = "map1",
        joinColumns = @JoinColumn(name = "entity1_id"))
    @MapKeyColumn(name = "map1_key")
    @Column(name = "map1_value")
    private Map<String, String> map1 = new HashMap<>();

    ...
}

@Entity
class Entity2 {
    @Id
    @Column(name="entity2_id")
    private Long id;

    @Column(name="entity2_name")
    private String name;

    @ElementCollection
    @CollectionTable(name = "map2",
        joinColumns = @JoinColumn(name = "entity2_id"))
    @MapKeyColumn(name = "map2_key")
    @Column(name = "map2_value")
    private Map<String, String> map2 = new HashMap<>();

    // не работает
    @OneToMany(cascade = CascadeType.ALL)
    @JoinTable(
            name = "map2",
            joinColumns = @JoinColumn(name = "entity2_id"),
            inverseJoinColumns = @JoinColumn(name = "entity1_id"))
    private Set<Entity1> entity1s;
    ...
}

База данных создается скриптом:

create table entity1
(
  entity1_id   int         not null unique,
  entity1_name varchar(10) not null,
  primary key (entity1_id)
);

create table map1
(
  entity1_id  int     not null,
  map1_key    int     not null,
  map1_value  decimal not null,
  primary key (entity1_id, map1_key),
  foreign key (entity1_id) references entity1 (entity1_id)
    on delete cascade
    on update cascade
);

create table entity2
(
  entity2_id   int         not null unique,
  entity2_name varchar(20) not null,
  primary key (entity2_id)
);

create table map2
(
  entity2_id int     not null,
  map2_key   int     not null,
  map2_value decimal not null,
  entity1_id    int     not null,
  primary key (entity2_id, entity2_key),
  foreign key (entity2_id) references entity2 (entity2_id)
    on delete cascade
    on update cascade,
  foreign key (entity1_id) references entity1 (entity1_id)
    on delete cascade
    on update cascade
);

insert into entity1 (entity1_id, entity1_name)
values (1, 'entity11'),
       (2, 'entity12'),
       (3, 'entity13');

insert into map1 (entity1_id, map1_key, map1_value)
values (1, 0, 0.1),
       (1, 1, 0.1),
       (1, 2, 0.1),
       (2, 3, 0.2),
       (2, 4, 0.2),
       (2, 5, 0.2),
       (3, 6, 0.3),
       (3, 7, 0.3),
       (3, 8, 0.3);

insert into entity2 (entity2_id, entity2_name)
values (1, 'entity21'),
       (2, 'entity22'),
       (3, 'entity23');

insert into map2 (entity2_id, map2_key, map2_value, entity1_id)
values (1, 0, 10, 1),
       (1, 1, 20, 1),
       (1, 2, 10, 2),
       (1, 3, 10, 2),
       (2, 0, 20, 2),
       (2, 1, 20, 2),
       (2, 2, 20, 3),
       (2, 3, 20, 3),
       (3, 0, 10, 3),
       (3, 1, 10, 3),
       (3, 2, 10, 1),
       (3, 3, 10, 1);

На уровне базы данных всё работает. То есть, заполняем таблицы entity1 & 2, вводим (key, value) для entity1. Затем вводим ключи и значения для entity2, и одновременно устанавливаем связи.

Как это реализовать с помощью hibernate?

 , , ,

pol01
()

Как редактировать xmonad.hs в intellij ?

Приветствую всех.

Хочу редактировать файл настройки xmonad в intellij, чтобы были доступны автодополнение, навигация по коду, документация и остальные фичи idea.

Кто подскажет как это сделать правильно?

 , ,

pol01
()

xmobar, terminus и кириллица

Всех приветствую.

После обновления кириллица не корректно отображается в xmobar.

До обновления всё работало без проблем вот с такими настройками:

cat xmobarrc
font = "xft:terminus:size=12:antialias=true"

cat .Xresources
URxvt.font: xft:terminus:size=12

Версии пакетов:

terminus-fonts-4.47-3.fc29.src.noarch
terminus-fonts-console-4.47-3.fc29.noarch
xmobar-0.27-1.fc29.src.rpm

Как правильно настраивать terminus & xmobar?

 , ,

pol01
()

Как сохранить матрицу в БД?

Как правильно сохранить в postgresql экземпляр вот такого класса:

@Table(name="matrix")
class Matrix {

@Id
@GeneratedValue
private Long id;

private int[][] data;

// getters, setters etc...
}

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

Для записи поля data, как бинарного блоба, какие аннотации и типы данных в БД использовать? Буду рад любым примерам.

 , ,

pol01
()

Последовательный обход списка несколькими потоками

Приветствую всех.

Разбираюсь с многопоточностью в java, и пытаюсь решить следующую задачу.

Есть два списка, в одном хранятся некоторые объекты, в другом треды. На первом этапе, предположим, что объекты не изменяются, и список в котором они хранятся тоже не изменяется. Для ясности предположим, что у меня пять тредов и миллиард объектов в другом списке.

Мне нужно гарантировать последовательный обход элементов списка тредами, т.е.:

  1. первый элемент обрабатывается thread1 (остальные четыре ждут);
  2. thread1 переходит на 2ой элемент, thread2 обрабатывает 1ый (три ждут);
  3. thread1 на 3, thread2 на 2, thread3 на освободившийся 1 и т.д.

При этом потоки не должны «обгонять» друг друга — сначала по элементам проходит thread1, потом thread2 и т.д.

Synchronized гарантирует, что с некоторым куском кода будет работать только один поток. Мне нужно гарантировать, не просто доступ к объекту одного потока, а потока с конкретным номером.

Готового кода не прошу, подскажите по алгоритму решения, и какие примитивы синхронизации лучше использовать.

На втором этапе, планирую менять значения полей объектов в обрабатываемом списке, удалять элементы из списка и убивать потоки. Т.е. в какой-то момент может остаться работающими (например): thread2, thread3 и thread5, но последовательность обхода должна остаться та же (2 обходит все, затем 3, и затем 5).

Любые подсказки и ссылки категорически приветствую.

 ,

pol01
()

Редактировать настройки сетевых подключений в NetworkManager: Xmonad vs XFCE

Приветствую всех.

На одном компьютере установлены Xmonad и XFCE.

В Xmonad настраиваю подключение PPPoE в NetworkManager. Подключение настраивается без вопросов. Но его не возможно потом редактировать.

В XFCE такой проблемы нет.

С чем это может быть связано и как это исправить?

 , ,

pol01
()

Как правильно написать PATCH запрос?

Приветствую всех. Как правильно написать PATCH запрос для REST контроллера в Spring Boot?

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

От клиента приходит запрос, в теле которого указано только новое значение для строки, остальные поля — null. Нужно обновить только строку, значение числа оставить без изменения, а массив, если он пропущен, можно затереть.

Помогите написать PATCH запрос, а то во 99% туториалах разбирают только POST и GET.

 , ,

pol01
()

Fedora 29: libgit2 conflicting requests

Приветствую всех.

Помогите установить gitg:

# dnf install gitg
Last metadata expiration check: 0:20:16 ago on Mon 12 Nov 2018 08:14:26 AM +04.
Error: 
 Problem: conflicting requests
  - package gitg-3.30.1-1.fc29.x86_64 requires libgit2-glib-1.0.so.0()(64bit), but none of the providers can be installed
  - package gitg-3.30.1-1.fc29.i686 requires libgit2-glib-1.0.so.0, but none of the providers can be installed
  - package libgit2-glib-0.27.7-1.fc29.x86_64 requires libgit2.so.27()(64bit), but none of the providers can be installed
  - package gitg-3.26.0-8.fc29.x86_64 requires libgit2.so.27()(64bit), but none of the providers can be installed
  - package libgit2-glib-0.26.4-4.fc29.x86_64 requires libgit2.so.27()(64bit), but none of the providers can be installed
  - package libgit2-glib-0.27.7-1.fc29.i686 requires libgit2.so.27, but none of the providers can be installed
  - package libgit2-glib-0.27.7-1.fc29.i686 requires libgit2(x86-32) >= 0.25.0, but none of the providers can be installed
  - package gitg-3.26.0-8.fc29.i686 requires libgit2.so.27, but none of the providers can be installed
  - package libgit2-glib-0.26.4-4.fc29.i686 requires libgit2.so.27, but none of the providers can be installed
  - package libgit2-glib-0.26.4-4.fc29.i686 requires libgit2(x86-32) >= 0.25.0, but none of the providers can be installed
  - package libgit2-0.27.4-1.module_2222+9bfbc8d7.x86_64 is excluded
  - package libgit2-0.27.7-1.module_2334+e7fbee10.x86_64 is excluded
  - package libgit2-0.27.5-1.fc29.i686 is excluded
  - package libgit2-0.27.5-1.fc29.x86_64 is excluded
  - package libgit2-0.27.7-1.fc29.i686 is excluded
  - package libgit2-0.27.7-1.fc29.x86_64 is excluded

Если нужны какие-нибудь логи или конфиги, говорите, буду выкладывать.

 , ,

pol01
()

inotyfy max_user_watches gentoo way

Как правильно установить значение max_user_watches в gentoo?

Сейчас делаю вот так:

echo 524288 >> /proc/sys/fs/inotify/max_user_watches

При перезагрузке значение не сохраняется. Хочу чтобы сохранялось.

 , ,

pol01
()

Откуда fc-match берет настройки?

Есть две машины с установленной gentoo и настроенной infinality.

На обоих машинах нет файлов:

~/.fonts.conf
~/config/fontconfig/fonts.conf
/etc/fonts/local.conf
Выполняю вот такую команду на одной машине:
$ fc-match terminus
arial.ttf: "Arial" "Regular"
И на второй машине:
$ fc-match terminus
ter-x16n.pcf.gz: "Terminus" "Regular"
Вопроса два:

  1. Откуда fc-match считывает настройки на второй машине?
  2. Как на первой машине добавить шрифт terminus в fc-match?

 , ,

pol01
()

Вопрос по repeated tasks

Приветствую всех.

Вопрос знатокам org-mode и lisp'а.

Есть todo лист:

*TODO item1
<SCHEDULED 2016-09-01>

*TODO item2
<SCHEDULED 2016-09-02 +3d>

*TODO item3
<SCHEDULED 2016-09-03>

  1. Как в org-mode построить расписание или todo лист только из повторяющихся заданий?

    То есть из todo списка, приведенного выше, оставить только item2, а остальное не показывать?

  2. Как узнать, повторяющееся задание item2 выпадает на определенную дату или нет?

 , ,

pol01
()

effort estimate & tags

Приветствую всех.

В org-mode задаю оценку по времени (org-set-effort) и определенный тег для каждого элемента todo списка. Затем вывожу расписание только для определенного тега, и включаю просмотр в виде таблицы (column view).

При этом в колонке еffort напротив дня недели показывается суммарное время для всех элементов todo списка, независимо от назначенных им тегов, то есть запланированное дело в расписании не показывается (отфильтровано по тегу), а оценка времени для этого действия включается в итоговую цифру.

Расписание для определенных тегов строю вот так:

(setq org-agenda-custom-commands
      '(;; commands:
        ("w" "Work related task" agenda ""
         ((org-agenda-tag-filter-preset '("+WORK"))))
        ;; next command
        ("h" "Home related task" agenda ""
         ((org-agenda-tag-filter-preset '("+HOME"))))
        ))

Column view настроен вот так:

#+COLUMNS: %7TODO(To Do) %40ITEM(Task) %TAGS(Tags) %8Effort{:} %6CLOCKSUM(Clock)
Можно при просмотре расписания напротив дня недели показывать суммарную оценку по времени только для тегов, по которым построено это расписание, а не для абсолютно всех запланированных на этот день действий?

 ,

pol01
()

Настройка agenda view

Приветствую всех.

В org-mode можно не показывать слово scheduled при просмотре своего расписания?

Поясню вопрос на примере. Написал todo список из трех заданий; для двух назначил дату исполнения, а для третьего дату и время. Нажал (C-c a-a), получил вот такое расписание:

Friday 19 August 2016
Task1: Scheduled: TODO [#A] Do something 1 :HOME:
Task2: Scheduled: TODO [#A] Do something 2 :HOME:
Task3: 18:00-20:00 Scheduled: TODO [#A] Do something 3 :HOME:

Слово «Scheduled:», по-моему, только место в расписании занимает.

Можно его убрать?

В идеале хочется получить вот такой вид расписания:

Friday 19 August 2016
Task1: TODO [#A] Do something 1 :HOME:
Task2: TODO [#A] Do something 2 :HOME:
Task3: 18:00-20:00: TODO [#A] Do something 3 :HOME:

То есть, запланировали таск на дату — в расписании таск показался; запланировали на дату и время — в расписании перед TODO появилось заданное время.

 ,

pol01
()

thunderbird: назначить браузер по умолчанию

Приветствую всех.

Раньше ссылки из thunderbird открывал хромом. Сейчас перешел с хрома на файрфокс, а хром удалил.

Thunderbird перестал открывать ссылки вообще.

Как настроить thunderbird открывать ссылки файрфоксом?

 ,

pol01
()

Отступы в буфере python в win7.

Приветствую всех.

Вопрос тем, кто использует emacs для программирования на python.

Как у вас работают автоматические отступы при вводе кода в буфере с ipython?

Настраиваю emacs, установленный в linux, и в win7.

Вот картинки c буфером ipython в linux: первая, вторая.

Вопрос по emacs в linux: как добавлять автоматические отступы при вводе кода (см. картинки выше).

В win7 иная картина: один, два.

То есть отступы добавляются, но не в том месте.

Вопрос по emacs в win7: как автоматически добавлять нужные отступы и удалить не нужные (см. картинки выше).

 , ,

pol01
()

Как настроить подключение pppoe в Networkmanager?

В системе установлены:

Networkmanager

[I] net-misc/networkmanager
     Available versions:  1.0.6-r1 1.0.10-r1{tbz2} 1.0.12{tbz2} 1.0.12-r1{tbz2} {bluetooth connection-sharing consolekit +dhclient dhcpcd gnutls +introspection +modemmanager ncurses +nss +ppp resolvconf selinux systemd teamd test vala +wext +wifi zeroconf ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32" KERNEL="linux"}
     Installed versions:  1.0.12-r1{tbz2}(11:25:41 PM 05/07/2016)(bluetooth connection-sharing consolekit dhclient introspection modemmanager ncurses nss ppp wext wifi -dhcpcd -gnutls -resolvconf -selinux -systemd -teamd -test -vala -zeroconf ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="32 64 -x32" KERNEL="linux")
     Homepage:            https://wiki.gnome.org/Projects/NetworkManager
     Description:         A set of co-operative tools that make networking simple and straightforward

rp-pppoe

[I] net-dialup/rp-pppoe
     Available versions:  3.8-r2 (~)3.11-r2 3.11-r3 (~)3.12 {X tk}
     Installed versions:  3.12(10:33:36 PM 11/16/2015)(-tk)
     Homepage:            http://www.roaringpenguin.com/pppoe/
     Description:         A user-mode PPPoE client and server suite for Linux

Ядро 4.4.6, вот выжимка из конфига:

CONFIG_PPP=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_FILTER=y
CONFIG_PPP_MPPE=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPPOATM=m
CONFIG_PPPOE=m
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m

В логах получаю вот это:

Jun  6 17:08:50 tux NetworkManager[1335]: <info>  (enp4s0): Activation: starting connection 'DSL connection 1' (fbacd2ac-f292-4750-b950-2088ab49e9d6)
Jun  6 17:08:50 tux NetworkManager[1335]: <info>  (enp4s0): device state change: disconnected -> prepare (reason 'none') [30 40 0]
Jun  6 17:08:50 tux NetworkManager[1335]: <info>  NetworkManager state is now CONNECTING
Jun  6 17:08:50 tux NetworkManager[1335]: <info>  (enp4s0): device state change: prepare -> config (reason 'none') [40 50 0]
Jun  6 17:08:50 tux NetworkManager[1335]: <info>  (enp4s0): device state change: config -> ip-config (reason 'none') [50 70 0]
Jun  6 17:08:50 tux NetworkManager[1335]: <info>  starting PPP connection
Jun  6 17:08:50 tux NetworkManager[1335]: <info>  pppd started with pid 1996
Jun  6 17:08:50 tux pppd[1996]: Plugin /usr/lib64/pppd/2.4.7/nm-pppd-plugin.so loaded.
Jun  6 17:08:50 tux pppd[1996]: pppd 2.4.7 started by root, uid 0
Jun  6 17:08:50 tux pppd[1996]: Using interface ppp0
Jun  6 17:08:50 tux pppd[1996]: Connect: ppp0 <--> /dev/pts/2
Jun  6 17:08:50 tux NetworkManager[1335]: <info>  (ppp0): new Generic device (carrier: UNKNOWN, driver: 'unknown', ifindex: 7)
Jun  6 17:08:50 tux pppoe[1999]: PADS: Service-Name: ''
Jun  6 17:08:50 tux pppoe[1999]: PPP session is 48767 (0xbe7f)
Jun  6 17:09:19 tux NetworkManager[1335]: <warn>  pppd timed out or didn't initialize our dbus module
Jun  6 17:09:19 tux NetworkManager[1335]: <info>  (enp4s0): device state change: ip-config -> failed (reason 'ppp-failed') [70 120 14]
Jun  6 17:09:19 tux NetworkManager[1335]: <info>  NetworkManager state is now DISCONNECTED
Jun  6 17:09:19 tux pppd[1996]: Terminating on signal 15
Jun  6 17:09:19 tux NetworkManager[1335]: <warn>  (enp4s0): Activation: failed for connection 'DSL connection 1'
Jun  6 17:09:19 tux NetworkManager[1335]: <info>  (enp4s0): device state change: failed -> disconnected (reason 'none') [120 30 0]
Jun  6 17:09:21 tux NetworkManager[1335]: <warn>  (ppp0): failed to disable userspace IPv6LL address handling
Jun  6 17:09:22 tux pppoe[1999]: read (asyncReadFromPPP): Session 48767: Input/output error
Jun  6 17:09:22 tux pppoe[1999]: Sent PADT

Вопрос: как настроить подключение pppoe в networkmanager?

(если нужны какие-нибудь логи или настройки, говорите, буду добавлять)

 ,

pol01
()

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