• Авторизация


посоветуйте алгоритмы lj_ru_programming / lj_ru_programming : 24-08-2022 00:23


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

как угадать угол наклона картинки и/или сдвиг каждой следующей строки относительно предыдущей? угол небольшой и сдвиг будет менее чем, например, 1 пиксель на 5 строк.

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

картинка для привлечения внимания:

https://ru-programming.livejournal.com/1374048.html

комментарии: 0 понравилось! вверх^ к полной версии
Установка свойства vba с помощью jxl lj_ru_programming / lj_ru_programming : 17-12-2021 17:14


Захотелось странного. Как можно установить свойство forceFullCalculation Excel c помощью фреймворка Jxl? Дело всё в том, что в древнем Jasper есть только Jxl. Как можно обратиться к этому свойству через jxl? Гугл ничего не подсказал. Возможно ли это в принципе?
В файле устанавливаю свойство forceFullCalculation=true руками. Затем записываю туда данные и сохраняю. Открываю файл ещё раз, вижуу foceFullCalculation=false

https://ru-programming.livejournal.com/1373908.html

комментарии: 0 понравилось! вверх^ к полной версии

Отслеживание соединений БД Postgresql lj_ru_programming / lj_ru_programming : 28-09-2021 11:00


Какие есть средства для сабжа? Удалось нагуглить таблицу pg_stat_activity и кучу коммерческих средств. Может, есть ещё возможности?
Отдельный вопрос - можно ли отследить соединения с помощью spring aop? Я пытался, но у меня ничего не получилось. Отладчиком я в нужное место попаадаю, а в аспект, который должен отрабатывать - нет.
Использование таблицы смущает тем, что для подключения к ней тоже нужно соединение, а проблема как раз в том, что они иногда как-то быстро кончаются.
Заранее спасибо за советы

https://ru-programming.livejournal.com/1373599.html

комментарии: 0 понравилось! вверх^ к полной версии
Postgresql, Hibernate и materialized view lj_ru_programming / lj_ru_programming : 13-08-2021 18:07


В приложении на Hibernate с Postgresql есть materialized view. Её надо время от времени обновлять.
Я написал такой код:
public void refreshView() {
getSession().createSQLQuery("REFRESH MATERIALIZED VIEW myView").executeUpdate();
}
Когда ту же sql команду я запускаю из Dbeaver, то есть, напрямую из sql, она отрабатывает за довольно короткое время - от нескольких миллисекунд до 30 секунд, что, конечно, много но терпимо. Если же я вызываю в приложении вышеописанный метод, она повисает надолго -самое большое значение было минут 40, дальше ждать мне лени не хватило. Я понимаю, что я что-то делаю не так, но не понимаю где и что. Заранее благодарен за советы.
Upd. Помогло добавление ключевого слова concurrently:
refresh materialized view concurrently myView

https://ru-programming.livejournal.com/1373311.html

комментарии: 0 понравилось! вверх^ к полной версии
Вопрос по Hibernate lj_ru_programming / lj_ru_programming : 21-04-2021 16:13


Вопрос по hibernate. При сохранении новых данных в БД происходит странное. Hibernate меняет одно из полей в методе dirtyCheck() класса org.hibernate.event.internal.DefaultFlushEntityEventListener. Вопрос - что это и как это можно победить?
Заранее спасибо
UPD. Установил перед коммитом setFlushMode(FlushMode.MANUAL). Ничего не изменилось

https://ru-programming.livejournal.com/1373034.html

комментарии: 0 понравилось! вверх^ к полной версии
Конвертирование Xls в Pdf lj_ru_programming / lj_ru_programming : 09-04-2021 16:00


Вопрос. Что может подсказать сообщество по конвертированию xls файлов в pdf? Гугление дало несколько платных библиотек(aspose, free.spire.xls). Нет ли каких-нибудь библиотек с бесплатной лицензией типа Apache? Нужно для работы.
Вроде говорят, что poi это умеет, но я не нашёл. Ткните, пожалуйста, носом, если я неправ.

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

upd. Имеется в виду, как это сделать из java кода в корпоративном приложении.

https://ru-programming.livejournal.com/1372881.html

комментарии: 0 понравилось! вверх^ к полной версии
Организационная сторона свободного опенсорса? lj_ru_programming / lj_ru_programming : 12-12-2020 14:19


Всегда волновало, как умудряются выживать проекты по созданию некоммерческого свободного опенсорссного П/О. Откуда получают средства на свою деятельность, чем заманивают и мотивируют контрибуторов, как выстраивают и поддерживают порядок в рядах и организацию? Есть что-нибудь об этом почитать? Эдакую инструкцию по запуску нового полномасштабного оперсорсного проекта.

https://ru-programming.livejournal.com/1372439.html

комментарии: 0 понравилось! вверх^ к полной версии
gtk, виджет lj_ru_programming / lj_ru_programming : 08-10-2020 22:12


Хочу примерно вот такое:



суть: можно и с клавиатуры ТОЧНО ввести, можно и мышкой/пальцем примерно прикинуть, можно уточнять в любой момент в любое поле.

сходу в гтк такого готового не нашел.

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

https://ru-programming.livejournal.com/1372252.html

комментарии: 0 понравилось! вверх^ к полной версии
POI и tomcat lj_ru_programming / lj_ru_programming : 24-09-2020 23:19


На одной машине развернуто два tomcat сервера. Так сложилось, оба начали читать разные xls файлы. Двльше я вижу по логу одного из томкатов, что он видит вкладки файла, которые в тот же момент читает приложение на другом томкате. Сам понимаю, что фигня какая-то, но других объяснений нет. На обоих томкатах - одно и то же приложение, которое читает xls файлы последовательно. Единственный подозрительный момент - в обоих случаях используются stream, но именно stream(), а не parallelStream(). Кроме того, в логе я вижу, что исполнение идёт последовательно, файл за файлом, в противном случае я бы видел в логе немного другую картину. В FAQ по Apache POI сказано:
In short: Handling different document-objects in different threads will work. Accessing the same document in multiple threads will not work.

This means the workbook/document/slideshow objects are not checked for thread safety, but any globally held object like global caches or other data structures are guarded against multi threaded access accordingly.
(https://poi.apache.org/help/faq.html#faq-N10224)
То есть, если из разных потоков вызывается WorkbookFactory.creat(file), всё должно быть нормально?

Понимаю, что формулирую мутно, но сам не могу понять, что происходит. Может кто-нибудь что-нибудь посоветовать?

https://ru-programming.livejournal.com/1371991.html

комментарии: 0 понравилось! вверх^ к полной версии
OutOfMemoryError lj_ru_programming / lj_ru_programming : 22-09-2020 15:30


Вопрос. Как можно бороться с OutOfMemoryError? Поставил ключи DXX:+HeapDumpOnOutOfMemoryError и -DXX:HeapDumpPath=D:\dumps, но дамп не создаётся. В hs_err_pid<>.log файле есть сообщение Failed to write core dump. В связи с этим вопросы:
1. Как можно использовать информацию из hs_err_pid<>.log файла?
2. Как добиться создания нормального core dump, который потом можно скормить jvisualvm?
3. Любые другие советы по теме
4. Корректна ли приведённая выше опция HeapDumpPath, если такой каталог существует?
Заранее спасибо
UPD. Прочитал https://www.oracle.com/java/technologies/javase/felog.html
UPD2. Убрал опцию HeapDumpPath. Жду следующего oom.
Яснее не стало. Вот фрагмент из hs_err_pid.log файла:

Heap after GC invocations=2760 (full 49):
PSYoungGen total 632832K, used 18626K [0x00000000d5580000, 0x0000000100000000, 0x0000000100000000)
eden space 566784K, 0% used [0x00000000d5580000,0x00000000d5580000,0x00000000f7f00000)
from space 66048K, 28% used [0x00000000fbf80000,0x00000000fd1b0800,0x0000000100000000)
to space 66048K, 0% used [0x00000000f7f00000,0x00000000f7f00000,0x00000000fbf80000)
ParOldGen total 1215488K, used 402921K [0x0000000080000000, 0x00000000ca300000, 0x00000000d5580000)
object space 1215488K, 33% used [0x0000000080000000,0x000000009897a718,0x00000000ca300000)
Metaspace used 534857K, capacity 582147K, committed 588416K, reserved 1546240K
class space used 71902K, capacity 85206K, committed 91264K, reserved 1048576K
}
UPD.3. Вчера по совету pesec сделал минимальный размер кучи равный максимальному. Всё равно упало с oom, дамп кучи не создался. Единственное, на что обратил внимание: во всех файлах есть следующее сообщение:
Native memory allocation (malloc) failed to allocate 131088 bytes for Chunk::new
И ниже:
Stack: [0x0000000008420000,0x0000000008520000]
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [jvm.dll+0x3169ba
Вопрос: как можно по адресу понять, в какой функции это происходит?

https://ru-programming.livejournal.com/1371740.html

комментарии: 0 понравилось! вверх^ к полной версии
Автоматическое создание импортов lj_ru_programming / lj_ru_programming : 17-07-2020 19:43


Поставили задачу. Есть файл с исходным кодом Groovy класса. В коде не хватает импортов, их надо автоматически создать
Вопросы:
1. Сколько времени просить на эту задачу?
2. Как хотя бы приблизительно подойти к её решению? Пока я вижу только одно: разбить код на отдельные слова пробелами, отфильтровать те, что начинаются с большой буквы, и искать их среди имён стнадартных Groovy и Java классов. Но это как-то блин заморочно. Может, кто подскажет какой лайфхак?
Заранее спасибо

https://ru-programming.livejournal.com/1371506.html

комментарии: 0 понравилось! вверх^ к полной версии
Вопрос по tomcat 8 Windows Service lj_ru_programming / lj_ru_programming : 02-05-2020 15:53


Вопрос. Как установить параметры, в частности spring.profiles.active в tomcat8 Windows Service?
Как я понимаю, всякие catalina.bat и catalina.properties игнорируются. По меньшей мере, я пытался задавать параметры внутри них, и видел, что загружалось приложение без учёта профайла.
Подскажите, пожалуйста.
Заранее благодарен.
UPD. Решено. Добавил параметр в service.bat. Работает.

https://ru-programming.livejournal.com/1371365.html

комментарии: 0 понравилось! вверх^ к полной версии
CUBA и TeamCity lj_ru_programming / lj_ru_programming : 26-03-2020 12:04


Вопрос: как настроить деплой из TeamCity?С
частности, как задеплоить на сервер сгенерированные варники? Читал доку, но не понял. Как указать путь к варникам? Как перезапустить соответствующий сервис на сервере? Помогите, если не сложно.
Собственно, вопрос вот в чём.
Вот что сказано в доке https://doc.cuba-platform.com/manual-latest-ru/tomcat_war_deployment.html:
Скопируйте сгенерированный WAR файл(-ы) в подкаталог webapps сервера Tomcat.

Не совсем понятно, как это делать.

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

https://ru-programming.livejournal.com/1370973.html

комментарии: 0 понравилось! вверх^ к полной версии
Вопрос по CUBA lj_ru_programming / lj_ru_programming : 23-03-2020 15:01


Как наиболее грамотно сделать поиск в таблице в CUBA? Пока я нашёл только Query, в которые можно писать SQL-запросы. Можно ли как-то искать без SQL, в стиле hibernate? Типа getCriteria().add(Restrictions.eq(...)).list()?

https://ru-programming.livejournal.com/1370718.html

комментарии: 0 понравилось! вверх^ к полной версии
Вопрос по Jasypt lj_ru_programming / lj_ru_programming : 04-03-2020 20:08


Есть properties файл в котором есть зашифрованные jasypt настройки. То есть файл выглядит примерно так:
propA = ddd
propB = fff
propC = ENC(....) // на самом деле eee

EncryptableProperties читает этот файл на ура, но когда я пытаюсь его записать, получается такое:

propA = ddd
propB = fff
propC = eee

Как сделать так, чтобы зашифрованные настройки при сохранении оставались зашифрованными?
Заранее спасибо.
UPD. Понял, что никак. Решение: вычитать тот же файл обычным Properties и его записать.

https://ru-programming.livejournal.com/1370603.html

комментарии: 0 понравилось! вверх^ к полной версии
JSON.stringify() какой-то подземный стук... lj_ru_programming / lj_ru_programming : 28-01-2020 17:17


Господа или дамы, знакомые со всякими веб-делами, помогите.

Безобразие происходит в JScript в WSH (не спрашивайте почему, так получилось). Пишу скрипт, работающий с JSON-запросами под виндой. Столкнулся с непонятным.

Имею простой тест:
  var X = JSON.stringify(["123","456"]);
  WScript.Echo(X);

Ожидаю вывод строки в квадратных скобках, т.е.:
  ["123","456"]

А получаю не массив, а индексированный обьект:
  {"0":"123","1":"456"}

Знает ли кто-нибудь, что это за чудо и как лечить?

PS. Для эмуляции JSON в JScript делаю как в интернетах советовали:
  var htmlfile = WSH.CreateObject('htmlfile'), JSON;
  htmlfile.write('');
  htmlfile.close(JSON = htmlfile.parentWindow.JSON);

https://ru-programming.livejournal.com/1370344.html

комментарии: 0 понравилось! вверх^ к полной версии
А как нормально надо было поступить? lj_ru_programming / lj_ru_programming : 16-12-2019 20:19


собрал на стм32ф4дискавери usb-eem сетевушку. отладил на линуксе. всё работает примерно как предполагалось. в броузере картинка, кнопки работают быстро.

беру физическую машину с вин7, пихаю туда устройство. машина в сети без интернета - драйвер не найден, не буду не хочу ошибка.

тащу какой-то левый драйвер из непонятных источников. драйвер не подписан, ошибка-ошибка.

тащу драйвер usbnet.sys + .inf плюс еще один файлик. аккуратно смотрю вендор_ид, девайс_ид, ставлю нужные. смотрю свойства этого .sys -- подпись есть, подписан микрософт. но при установке опять - драйвер не подписан, ошибка-ошибка.

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

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

ps: про "RNDIS"

Patents. Microsoft has patents that may cover your implementations of the technologies described in the Open Specifications. Neither this notice nor Microsoft's delivery of the documentation grants any licenses under those or any other Microsoft patents. However, a given Open Specification may be covered by Microsoft


я правильно перевел, что микрософт МОЖЕТ меня покарать, если я сделаю устройство по этому протоколу?

https://ru-programming.livejournal.com/1370039.html

комментарии: 0 понравилось! вверх^ к полной версии
Вопрос по ZipInputStream lj_ru_programming / lj_ru_programming : 13-12-2019 18:07


Есть некое приложение, которое работает под 6-й java. Я знаю, что версия древняя, но сейчас менять версию - не вариант.
Программа пытается считать zip-файл, в котором лежат файлы с именами, содержащими русские символы, причём, как я понимаю, не в utf-8 кодировке.
При чтении архива я получаю эксепшен следующего содержания:
java.lang.IllegalArgumentException: MALFORMED
at java.util.zip.ZipCoder.toString(ZipCoder.java:58)
at java.util.zip.ZipInputStream.readLOC(ZipInputStream.java:300)
at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:122)
...
Я убедился, что это эксепшен кидается, только если в архиве лежат файлы с именами, содержащими кириллические символы. Если файл не содержит кириллических символов, чтение проходит успешно.
Вопрос: как это можно решить? Есть ли какая-нибудь бесплатная альтернатива ZipInputStream, которая может решить данную проблему?
Заранее спасибо.

https://ru-programming.livejournal.com/1369734.html

комментарии: 0 понравилось! вверх^ к полной версии
embedded + web lj_ru_programming / lj_ru_programming : 09-12-2019 20:44


вдруг кому интересно скооперироваться?
я разбираюсь в embedded, но практически не разбираюсь в веб-технологиях.

хочу собрать устройство для аккуратного точного разделения небольших количеств жидкостей (например, отделения розового масла из лепестков шиповника, разгонки их на компоненты, купажирования, итп). для разделения браги на пищевой спирт и примеси так, чтоб спирт был без видимого запаха-привкуса, технология тоже пригодна, но придется сооружать установку покрупнее. (на всякий случай - в россии производить для себя спирт можно, а вот чтоб продавать нужны разнообразные разрешения. так что само по себе производство не нарушает).

поскольку в устройство можно без проблем сунуть достаточно мощный управляющий комп (stm32f407 - arm, ~300VHz, 192kb ram, 1Mb flash, аппаратный USB), возникла идея - вместо того, чтоб писать управляющие программы под все возможные ос, тупо сделать так, чтоб этот arm притворялся сетевой картой, за которой сеть, в которой всякие там arp/dns/dhcp плюс вебсервер, и для управления устройством нужно/можно/достаточно зайти броузером на этот "сайт", нажать нужные кнопочки, выбрать из меню, итп.

в принципе, меня больше всего интересует "как наваять сайт" в этом контексте, плюс "какие типовые сервисы там должны быть". сайт - буквально одна-семь однотипных страниц с 1-7 показометрами и ручками управления на каждой. супердизайн не нужен, нужно нечто уверенно работающее, итого вписывающееся в примерно 0.5Мб места на "диске" на сервере, позволяющее выбрать рецепт из хардкоженого списка или последовательность рецептов, оперативно отображать стадию процесса, срочно выключать. ручки и показометры на сайте берут/дают данные в/из реального техпроцесса.

как я понимаю, мне нужен фронт-энд сообшник. :)
проект некоммерческий - делаю для себя и для удовольствия. сырцы по gpl/bsd/апач/"qt", главная цель - собрать-настроить удобную для себя хрень, с кучей обратных связей и автоматизации, чтоб установка и сама работала и через веб отображала состояние и позволяла управлять.

Кому интересно, пишите в камменты, в личку, в почту.

ps: если тут это на грани оффтопа, посоветуйте, где стОит такое обсуждать.

https://ru-programming.livejournal.com/1369352.html

комментарии: 0 понравилось! вверх^ к полной версии
Perl под Винду Same_Clone / community_coding : 01-08-2008 16:11


Хэлп ми.
Перл под винду поставила (ActivePerl-5.6.1.638-MSWin32-x86)
проблема в установке DBI модуля.
действие
code:

PPM> install DBI
Install package 'DBI?' (y/N): y
Installing package 'DBI'...
Error installing package 'DBI': Could not locate a PPD file for package DBI


как видите не помогло. что нужно чтобы поставить этот модуль? какие пакеты и где их найти если что?
комментарии: 0 понравилось! вверх^ к полной версии