barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

пятница, 4 августа 2017 г.

Citrix + RDP: передача Alt+Tab на удаленную машину

В настройках RDP-соединения можно установить передачу комбинаций клавиш (таких, как Alt+Tab) на удаленную машину, но вот при использовании RDP через Citrix эта настройка почему-то не работает - Alt+Tab все равно переключает окна на локальной машине.
Выход - установка ключей реестра
HKEY_LOCAL_MACHINE \SOFTWARE\Citrix\ICAClient\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Keyboard\TransparentKeyPassthrough 
или
HKEY_CURRENT_USER\SOFTWARE\Citrix\ICAClient\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Keyboard\TransparentKeyPassthrough 
в значение "Remote".

вторник, 11 июля 2017 г.

access-лог во встроенном Weblogic 12c

Проблема

Есть JDeveloper 12.1.3 и идущий вместе с ним в комплекте Weblogic. Пытаюсь настроить на нем access-логирование, но почему-то вообще ничего не вижу в access-логе несмотря на активное обращение к задеплоенному на weblogic приложению.

Причина

Weblogic почему-то не пишет в access-лог обращения, если они идут к localhost / 127.0.0.1. Если попытаться обратиться к задеплоенному приложению по внешнему IP рабочей машины, лог пишется.

вторник, 27 июня 2017 г.

ktpass: ошибка "Password set failed! 0x00000020"

Проблема

Пытаюсь связать kerberos-принципала с пользователем утилитой ktpass:
ktpass -princ HTTP/MYSERVER@DOMAIN.LOCAL -mapuser MYSERVER$@DOMAIN.LOCAL -crypto ALL -ptype KRB5_NT_SRV_HST +rndpass -out C:\TMP\MYSERVER.keytab
Получаю ошибку:
Reset MYSERVER$'s password [y/n]?  y
Password set failed! 0x00000020Aborted.
Причина

В DN объекта MYSERVER$ есть кириллица.

Решение

Перенести MYSERVER$ таким образом, чтобы в его DN не было кириллицы.

вторник, 13 июня 2017 г.

Установка плагинов на старые версии Java VisualVM

Проблема

Есть некая старая версия Java VisualVM, к примеру, поставляемая с JDK 6 или JDK 7. При попытке установить на нее плагин через Tools -> Plugins (к примеру, Visual GC плагин для мониторинга GC) получаем ошибку скачивания некоторого файла с домена java.net.

Решение

Домен java.net закрыт, плагины для VisualVM теперь хостятся на visualvm.github.io. На странице https://visualvm.github.io/pluginscenters.html можно найти подходящий центр плагинов, который нужно прописать в Tools -> Plugins -> Settings вместо прописанного там центра.


вторник, 18 апреля 2017 г.

pgAdmin III и Avast!

С определенного момента антивирус Avast! стал мешать запуску pgAdmin III (1.20.0). Процесс pgAdmin вроде бы появляется в диспетчере, но самого приложения не видно. Выход - добавить папку C:\Program Files\PostgreSQL\9.4\* в исключения экрана файловой системы Avast (Настройки -> Активная защита -> Экран файловой системы -> Настройки -> Исключения).

среда, 15 февраля 2017 г.

PostgreSQL: Дамп функций из определённой схемы БД

Определения функций из определенной схемы БД PostgreSQL выгружаются следующим запросом:
SELECT pg_get_functiondef(f.oid)
FROM pg_catalog.pg_proc f
INNER JOIN pg_catalog.pg_namespace n ON (f.pronamespace = n.oid)
WHERE n.nspname = 'myschema';
Осталось только записать вывод этого запроса в файл с разделителем строк ";" - и вуаля, sql-дамп всех функций готов к накату на другие БД.